Cluster of processing nodes with distributed global flash memory using commodity server technology
First Claim
1. A distributed storage system, comprising:
- a plurality of nodes, wherein each node of the plurality of nodes executes one or more application processes that access persistent shared memory, wherein each of the one or more application processes is maintained on a respective node of the plurality of nodes;
the persistent shared memory, wherein the persistent shared memory is implemented by solid state devices maintained on the plurality of nodes;
a scoreboard implemented in the persistent shared memory, the scoreboard storing one or more scoreboard entries corresponding to a respective outstanding data access operation for accessing data stored in the persistent shared memory, each of the one or more scoreboard entries including;
data identifying a respective outstanding data access operation;
a thread ID identifying a thread, of the one or more application processes, that initiated the respective outstanding data access operation; and
a completion status associated with the respective outstanding data access operation,a shared data fabric to enable the one or more application processes to access the persistent shared memory; and
a process in a first node of the plurality of nodes to update a first scoreboard entry of the one or more scoreboard entries, the first scoreboard entry corresponding to a first data access operation performed by an application process executed by the first node.
5 Assignments
0 Petitions
Accused Products
Abstract
Approaches for a distributed storage system that comprises a plurality of nodes. Each node, of the plurality of nodes, executes one or more application processes which are capable of accessing persistent shared memory. The persistent shared memory is implemented by solid state devices physically maintained on each of the plurality of nodes. Each the one or more application processes, maintained on a particular node, of the plurality of nodes, communicates with a shared data fabric (SDF) to access the persistent shared memory. The persistent shared memory comprises a scoreboard implemented in shared DRAM memory that is mapped to a persistent storage. The scoreboard provides a crash tolerant mechanism for enabling application processes to communicate with the shared data fabric (SDF).
-
Citations
11 Claims
-
1. A distributed storage system, comprising:
-
a plurality of nodes, wherein each node of the plurality of nodes executes one or more application processes that access persistent shared memory, wherein each of the one or more application processes is maintained on a respective node of the plurality of nodes; the persistent shared memory, wherein the persistent shared memory is implemented by solid state devices maintained on the plurality of nodes; a scoreboard implemented in the persistent shared memory, the scoreboard storing one or more scoreboard entries corresponding to a respective outstanding data access operation for accessing data stored in the persistent shared memory, each of the one or more scoreboard entries including; data identifying a respective outstanding data access operation; a thread ID identifying a thread, of the one or more application processes, that initiated the respective outstanding data access operation; and a completion status associated with the respective outstanding data access operation, a shared data fabric to enable the one or more application processes to access the persistent shared memory; and a process in a first node of the plurality of nodes to update a first scoreboard entry of the one or more scoreboard entries, the first scoreboard entry corresponding to a first data access operation performed by an application process executed by the first node. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for accessing data in a distributed storage system, the method comprising:
at a first node in a distributed storage system comprising a plurality of nodes, performing operations comprising; executing one or more application processes that access persistent shared memory, wherein; executing the one or more application processes includes performing a first data access operation, the persistent shared memory is implemented by solid state devices maintained on the plurality of nodes, and a shared data fabric enables the one or more application processes to access the persistent shared memory; determining whether a data object is in a memory of the node; in accordance with a determination that the data object is not in the memory of the node; creating a first scoreboard entry to be stored in a scoreboard implemented in the persistent shared memory, wherein the scoreboard stores one or more scoreboard entries, including the first scoreboard entry, corresponding to a respective outstanding data access operation for accessing data stored in the persistent shared memory, and wherein the first scoreboard entry corresponds to the first data access operation, each of the one or more scoreboard entries including; data identifying a respective outstanding data access operation; a thread ID identifying a thread, of the one or more application processes, that initiated the respective outstanding data access operation; and a completion status associated with the respective outstanding data access operation; and updating the first scoreboard entry. - View Dependent Claims (7, 8, 9, 10, 11)
Specification