A “Key-Value Manager” applies an RDMA-based memory allocator to implement a distributed and lock-free B-Tree based key-value store. In various implementations, the Key-Value Manager is implemented as a standalone library running concurrently on large numbers of networked computing devices. The RDMA-based memory allocator of the Key-Value Manager allocates and accesses the memory of the key-value store via various sequences of RDMA messages (e.g., RDMA reads, RDMA writes, and RDMA atomic compare and swap (CAS) operations). As such, CPUs of computing devices hosting the memory of the key-value store do not need to be notified of or involved in RDMA-based reads and writes to that memory. Consequently, CPU utilization for any computing device that hosts any portion of the key-value store is minimal, thereby enabling the Key-Value Manager to scale to very large numbers of concurrent accesses by very large numbers of computing devices.
展开▼