Litcius/Paper detail

StRoM

David Sidler, Zeke Wang, Monica Chiosa, Amit Kulkarni, Gustavo Alonso

202084 citationsDOI

Abstract

Big data applications often incur large costs in I/O, data transfer and copying overhead, especially when operating in cloud environments. Since most such computations are distributed, data processing operations offloaded to the network card (NIC) could potentially reduce the data movement overhead by enabling near-data processing at several points of a distributed system. Following this idea, in this paper we present StRoM, a programmable, FPGA-based RoCE v2 NIC supporting the offloading of application level kernels. These kernels can be used to perform memory access operations directly from the NIC such as traversal of remote data structures as well as filtering or aggregation over RDMA data streams on both the sending or receiving sides. StRoM bypasses the CPU entirely and extends the semantics of RDMA to enable multi-step data access operations and in-network processing of RDMA streams. We demonstrate the versatility and potential of StRoM with four different kernels extending one-sided RDMA commands: 1) Traversal of remote data structures through pointer chasing, 2) Consistent retrieval of remote data blocks, 3) Data shuffling on the NIC by partitioning incoming data to different memory regions or CPU cores, and 4) Cardinality estimation on data streams.

Topics & Concepts

Computer scienceRemote direct memory accessTree traversalUniprocessor systemOperating systemOverhead (engineering)Parallel computingProgramming languageMultiprocessingAdvanced Data Storage TechnologiesCloud Computing and Resource ManagementInterconnection Networks and Systems