Skip to content

Recent Posts

Here is a detailed list of the packages that handles RDMA in most popular Linux distributions, separated in categories. There names may be slightly different in different distributions. Those packages may contain executables, libraries and headers. Most libraries are separated…

Deployment of an RDMA setup isn’t trivial, but it’s not rocket science. In the next few posts, I will describe how to deploy a small RDMA-enabled setup from scratch; from a host point of view. This tutorial will cover deployment…

By default, all Work Requests generate Work Completions when their processing is finished. However, Send Request may or may not generate Work Completions when their processing is finished – this is fully controllable by the application and this is called…

Solicited Event is a mechanism for the requester side to send a message that will generate a special (i.e. solicited) event at the responder side when the message is received. The event will be generated for the message when a…

Sometimes, within an InfiniBand fabric (i.e. a set of endnodes physically connected by cables to switches and routers) there is a need to provide an isolation between specific nodes and create “virtual fabrics” that only they will be able to…

What is RDMA? Direct memory access (DMA) is an ability of a device to access host memory directly, without the intervention of the CPU(s). RDMA (Remote DMA) is the ability of accessing (i.e. reading from or writing to) memory on…

Introduction to Endianness Let’s start by answering the first question: “what is machine Endianness”? Machine Endianness refer to the way that bytes (i.e. 8 bit values) of word are ordered within memory. Bit Endian – the lower bits are saved…

General In RDMA there are two options for establishing a connection between two sides: Changing the QP state explicitly in the application by calling ibv_modify_qp() Using librdmacm (in iWARP this is the only way to do it) In this post,…

The Linux kernel networking stack is dynamic and growing steadily in afast-paced progress; during the last years, there were a lot ofchanges and updates. Many features were added and a lot of developmentwas done. However, for almost a decade there…

What is Fence? In the Send Queue there are operations that only send data from a local host to a remote one and there are operations that read data from a remote host and store it locally. Sometimes, there is…