13:30
-
13:50
-
13:50
Day 1
So you want to do RDMA programming? RTRS: An easy to use, reliable high speed transport library over RDMA
<h2>Description</h2>
<ul>
<li>RDMA programming is comparatively complex to something like sockets.</li>
<li>RDMA is the industry standard for data centers and high-performance computing (HPC) environments.</li>
<li>RTRS is a reliable high speed transport library, which provides a simple interface to perform RDMA.
It is a stable, and proven transport library, running on more than 5000 servers across our data centers.</li>
<li>RTRS establishes a stateful session which provides features like multipath, heartbeats, reusability, etc.</li>
<li>It creates an optimal number of connections based on the number of CPUs, and uses IRQ pinning for data transfers.</li>
<li>It allows users to send and receive data in the form of sg lists.</li>
<li>RTRS is multipath capable (with different policies to choose from) and provides I/O fail-over and load-balancing functionality.</li>
<li>RTRS pre-allocates and pre-maps DMA buffers on the server side to speed up data paths.</li>
</ul>
<h2>Benefit to the ecosystem</h2>
<ul>
<li>An easy to use, reliable and stable RDMA transport library to build any kind of module upon.
RTRS will provide an entry point for newcomers to RDMA.</li>
<li>The pre mapping abilities have use-cases in high performance use cases like ML and AI training.</li>
</ul>
<h2>Link to the module</h2>
<p>https://elixir.bootlin.com/linux/v6.17.7/source/drivers/infiniband/ulp/rtrs</p>