BSDCan2015 - ZI

BSDCan 2015
The Technical BSD Conference

Shany Michaely
Day Talks #1 - 12 June - 2015-06-12
Room DMS 1160
Start time 15:00
Duration 01:00
ID 586
Event type Lecture
Track Hacking
Language used for presentation English

Expanding RDMA (Remote Direct Memory Access) capability over Ethernet in FreeBSD

Introducing a new way to enable high-speed data transfers over an Ethernet network with minimal CPU involvement

RDMA (Remote Direct Memory Access) is growing in popularity in Linux and Windows systems as a way to transfer large amounts of data with low latency and minimal involvement from the CPU. However RDMA InfiniBand drivers in FreeBSD were not updated, requiring users to create or port their own implementation of RDMA, and RDMA over Ethernet was not available in FreeBSD. This talk will describe how RDMA works and review the new addition of RoCE (RDMA over Converged Ethernet) network drivers in FreeBSD, allowing easier implementation of rapid data transfers with low CPU utilization over Ethernet and InfiniBand. This also enables the use of iSCSI over RDMA via the iSER (iSCSI Extensions for RDMA) protocol.

One of InfiniBand’s valuable capabilities is its support for RDMA (Remote Direct Memory Access) operations across a network, which enable rapid data transfer without involvement of the host CPU in the data path, and data placement to the responder memory without requiring its CPU awareness.

RoCE (RDMA over Converged Ethernet) is a standard for RDMA over Ethernet.

It provides true RDMA semantics for Ethernet and allows InfiniBand transport applications to work over an Ethernet network.

FreeBSD is frequently used for storage purposes and RDMA capability has a high potential of improving performance in such storage applications.

A good example for that is iSER (iSCSI Extensions for RDMA), a module being developed nowadays for FreeBSD, which enables the use of iSCSI over RoCE.

The main idea of this talk is a short overview of RDMA – Its principles, key components and its main advantages. Additionally, it will cover the use of RoCE - implementation architecture, obstacles we overcame in the development, and a quick browse of RoCE’s different capabilities and milestones.