-
公开(公告)号:US10810179B2
公开(公告)日:2020-10-20
申请号:US15154370
申请日:2016-05-13
Applicant: Microsoft Technology Licensing, LLC
Inventor: Knut Magne Risvik , Ming-Chuan Wu , Dushyanth Narayanan , Matthew Renzelmann , Alexander Shamis , Miguel Oom Temudo De Castro , Aleksandar Dragojevic , Chiranjeeb Buragohain , Richendra Khanna , Timothy Tan
IPC: G06F16/22 , G06F16/901 , G06F16/25 , G06F16/27 , G06F16/182 , G06F16/2458 , H04L29/08
Abstract: A distributed graph database that enables scaling and efficient processing is described. The distributed graph database can, for example, scale up to petabytes of data to enable transactional processing of graph data with low latency and low processing overhead. The distributed graph database can include a cluster of devices and a remote direct memory access (RDMA)-based communication layer to perform low latency messaging between devices of the cluster of devices. Additionally, the distributed graph database can include a shared memory layer that provides one or more data structures, a transaction layer to facilitate query processing, and a graph database layer stored in computer-readable media and executed on a processor to implement a graph data model. In at least one example, the graph data model can be mapped to the one or more data structures.
-
公开(公告)号:US10713210B2
公开(公告)日:2020-07-14
申请号:US14882357
申请日:2015-10-13
Applicant: Microsoft Technology Licensing, LLC
Inventor: Alexander Shamis , Yutaka Suzue
IPC: G06F15/173 , G06F16/22 , H04L12/933 , H04L29/08
Abstract: 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.
-
公开(公告)号:US10375167B2
公开(公告)日:2019-08-06
申请号:US14947473
申请日:2015-11-20
Applicant: Microsoft Technology Licensing, LLC
Inventor: Alexander Shamis , Yutaka Suzue , Knut Magne Risvik
IPC: H04L29/08 , G06F15/173 , G06F3/06
Abstract: A “Distributed Storage Controller” applies an RDMA-based memory allocator to implement a distributed thread-safe and lock-free storage system in shared memory distributed across multiple networked computers. The Distributed Storage Controller enables any number of client applications, processes, subroutines, etc., on any number of networked computers to concurrently perform self-directed lock-free allocations, de-allocations, reads, writes, etc., on the shared memory via sequences of one-way RDMA messages (e.g., RDMA reads, RDMA writes, and RDMA atomic compare and swap (CAS) operations) without requiring CPU locks. As such, the CPUs of computing devices hosting the shared memory do not need to be notified of RDMA-based reads, writes or CAS operations on that memory. Consequently, CPU utilization for computing devices hosting any portion of the shared memory is minimal, thereby enabling the Distributed Storage Controller to scale to very large numbers of concurrent accesses by very large numbers of networked computing devices.
-
14.
公开(公告)号:US09983959B2
公开(公告)日:2018-05-29
申请号:US14754316
申请日:2015-06-29
Applicant: Microsoft Technology Licensing, LLC
Inventor: Robert John Jenkins, Jr. , Parikshit S Gopalan , Cheng Huang , Edmund Bernard Nightingale , Alexander Shamis , Sergey Yekhanin
CPC classification number: G06F11/1084 , G06F11/1076 , G06F11/2094 , G06F11/3034 , G06F11/3409 , G06F11/3485 , H03M13/13 , H03M13/373
Abstract: The techniques and/or systems described herein implement erasure coding to generate various chunks for a data collection (e.g., data chunks and at least one encoding chunk). The chunks are then distributed and stored within an individual group (e.g., a pod) of storage units, where a pod of storage units is determined based on characteristics that affect an amount of time it takes to recover a data collection or to restore lost data.
-
公开(公告)号:US20170149890A1
公开(公告)日:2017-05-25
申请号:US14947473
申请日:2015-11-20
Applicant: Microsoft Technology Licensing, LLC
Inventor: Alexander Shamis , Yutaka Suzue , Knut Magne Risvik
IPC: H04L29/08 , G06F3/06 , G06F15/173
CPC classification number: H04L67/1097 , G06F3/0611 , G06F3/0631 , G06F3/067 , G06F15/17331
Abstract: A “Distributed Storage Controller” applies an RDMA-based memory allocator to implement a distributed thread-safe and lock-free storage system in shared memory distributed across multiple networked computers. The Distributed Storage Controller enables any number of client applications, processes, subroutines, etc., on any number of networked computers to concurrently perform self-directed lock-free allocations, de-allocations, reads, writes, etc., on the shared memory via sequences of one-way RDMA messages (e.g., RDMA reads, RDMA writes, and RDMA atomic compare and swap (CAS) operations) without requiring CPU locks. As such, the CPUs of computing devices hosting the shared memory do not need to be notified of RDMA-based reads, writes or CAS operations on that memory. Consequently, CPU utilization for computing devices hosting any portion of the shared memory is minimal, thereby enabling the Distributed Storage Controller to scale to very large numbers of concurrent accesses by very large numbers of networked computing devices.
-
公开(公告)号:US20170091246A1
公开(公告)日:2017-03-30
申请号:US15154370
申请日:2016-05-13
Applicant: Microsoft Technology Licensing, LLC
Inventor: Knut Magne Risvik , Ming-Chuan Wu , Dushyanth Narayanan , Matthew Renzelmann , Alexander Shamis , Miguel Oom Temudo De Castro , Aleksandar Dragojevic , Chiranjeeb Buragohain , Richendra Khanna , Timothy Tan
Abstract: A distributed graph database that enables scaling and efficient processing is described. The distributed graph database can, for example, scale up to petabytes of data to enable transactional processing of graph data with low latency and low processing overhead. The distributed graph database can include a cluster of devices and a remote direct memory access (RDMA)-based communication layer to perform low latency messaging between devices of the cluster of devices. Additionally, the distributed graph database can include a shared memory layer that provides one or more data structures, a transaction layer to facilitate query processing, and a graph database layer stored in computer-readable media and executed on a processor to implement a graph data model. In at least one example, the graph data model can be mapped to the one or more data structures.
-
-
-
-
-