发明名称 DISTRIBUTED LOCK-FREE RDMA-BASED MEMORY ALLOCATION AND DE-ALLOCATION
摘要 An “RDMA-Based Memory Allocator” applies remote direct memory access (RDMA) messaging to provide fast lock-free memory allocations and de-allocations for shared memory distributed across multiple servers in an RDMA-based network. Alternately, in various implementations, the RDMA-Based Memory Allocator combines RDMA messaging and remote procedure call (RPC) requests to provide fast lock-free memory allocations and de-allocations for shared memory distributed across multiple servers in an RDMA-based network. In either case, any of the networked servers can act as either or both a client for requesting (or releasing) memory allocations and a host for hosting a portion of the distributed memory. Further, any server (including the requesting client) may act as the host for the distributed memory being allocated or de-allocated by any client via RDMA messaging. Advantageously, being lock-free improves overall performance of memory access between networked computers by reducing overall system latency.
申请公布号 US2017075856(A1) 申请公布日期 2017.03.16
申请号 US201514852537 申请日期 2015.09.12
申请人 Microsoft Technology Licensing, LLC 发明人 Suzue Yutaka;Shamis Alexander;Risvik Knut Magne
分类号 G06F15/173;H04L29/08 主分类号 G06F15/173
代理机构 代理人
主权项 1. A computer-implemented process, comprising: a shared memory distributed across two or more networked computing devices; receiving a memory allocation request by a particular one of the networked computing devices acting as a client; determining a memory slab size and a particular one of the networked computing devices acting as a host from which to allocate a slab of the shared memory in response to the memory allocation request; applying an RDMA read of a plurality of memory block headers of the host; performing an RDMA read of a free slab map of the host, the free slab map corresponding to a memory block selected in response to receipt of the block headers; and allocating a selected free memory slab of the host by performing an RDMA CAS on the free slab map of the selected memory block.
地址 Redmond WA US