发明名称 |
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 |