FPGA Accelerator Disaggregation Using NVMe-over-Fabrics

Library Content Type:
Publish Date: 
Monday, September 24, 2018
Event Name: 
Focus Areas:

Leveraging the NVMe standard to present FPGA accelerators as NVMe namespaces allows user space code to access accelerators as simple block devices via standard in-box drivers. NVMe-over-Fabrics (NVMe-oF) is a network protocol for NVMe that is used to communicate between a host machine and NVMe devices over high-performance Ethernet networks. Leveraging NVMe-oF allows an accelerator, that presents as a standard NVMe namespace, to be shared across existing transports such as RDMA, TCP/IP or Fibre Channel. With NVMe-oF, client machines can borrow accelerators over the fabrics connection which can then be accessed as if they were local to the system, allowing the same user code to run on direct attached accelerators and over-Fabrics accelerators. The ease and granularity available when setting up the over-fabrics connections allows servers to share accelerators on demand, allowing for the disaggregation of acceleration compute resources. Using NVMe Controller Memory Buffer (CMB), the fabrics connection is further improved by allowing devices to send and receive data directory from the accelerator without accessing host memory. We will discuss the advantages of accelerator disaggregation and its impact on resource usage. Learning Objectives: 1. Advantages and performance of NVMe for storage workload acceleration 2. Performance of NVMe over Fabrics for storage workloads and acceleration 3. Advantages of using Controller Memory Buffer coupled with NVMe over Fabrics