The documents distributed by this server have been provided by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a noncommercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.
Publications of SPCL
|Active RDMA - new tricks for an old dog|
(Presentation - presented in Gleneden Beach, OR, USA, Apr. 2016, Invited talk at Salishan Meeting )
AbstractRemote memory access or partitioned global address space programming have been around for more than a decade. Their original idea was to allow put/get access to remote memory to enable a programming model similar to shared memory but with two explicit levels of locality. Remote direct memory access (RDMA) hardware enabled the basic put/get mechanisms at very high speeds. Will show with three examples how simple additional hardware functions can improve performance of various application classes significantly. For example, to implement a producer/consumer pattern, put/get is not sufficient but needs to be extended with a consistent notification mechanism. Furthermore, some simple but data-intensive computations can be moved to the data and can be processed by a handler on data access. Last but not least, one could envision global transactions similar to transactional memory which can accelerate irregular applications using optimistic concurrency control. After outlining these techniques and results, we want to stir the discussion to design and implement such features in hardware RDMA systems.