Providing shared memory in a distributed computing system
AssigneeHewlett-Packard Development Company, L.P.
InventorAhmed K. Ezzat
Life of this patent
Estimating the term…
Abstract
A distributed computing system includes a plurality of processors and shared memory service entities executable on the processors. Each of the shared memory service entities is associated with a local shared memory buffer. A producer is associated with a particular shared memory service entity, and the producer provides data that is stored in the local shared memory buffer associated with the particular shared memory service entity. The shared memory service entities propagate content of the local shared memory buffers into a global shared memory, wherein propagation of content of the local shared memory buffers to the global shared memory is performed using a procedure that relaxes guarantees of consistency between the global shared memory and the local shared memory buffers.
Claims19
A distributed computing system, comprising:
- a plurality of processors;
- shared memory service entities executable on the processors in the distributed computing environment, wherein each of the shared memory service entities is associated with a local shared memory buffer;
- a producer executable on at least one of the plurality of processors, the producer being associated with a particular shared memory service entity, and the producer to provide data,
- wherein the local shared memory buffer associated with the particular shared memory service entity is to store the data provided by the producer,
- wherein the shared memory service entities are executable to propagate content of the local shared memory buffers into a global shared memory, wherein propagation of content of the local shared memory buffers to the global shared memory is performed using a procedure that relaxes guarantees of consistency between the global shared memory and the local shared memory buffers.
A method of providing a shared memory architecture in a distributed computing environment, comprising:
- providing an abstraction of a shared memory to producers and consumers in the distributed computing environment, wherein the abstraction includes shared memory service entities that execute on processors of the distributed computing environment;
- associating a local memory with each of the shared memory service entities, wherein each local memory is to store data provided by the corresponding producers associated with a corresponding shared memory service entity;
- and
- synchronizing content of the local memories with a global shared memory as a background process.
An article comprising at least one computer-readable storage medium containing instructions that upon execution by a computing node of a distributed computing environment cause the computing node to:
- associate a local shared memory buffer with a shared memory service entity executing in the computing node;
- execute a producer that outputs data;
- propagate the data from the producer into the local shared memory buffer;
- and synchronize content of the local shared memory buffer with a global shared memory that also is synchronized with content of at least one other local shared memory buffer associated with at least one other shared memory service entity on another computing node, wherein the synchronizing employs a procedure that relaxes guarantees of consistency between the global shared memory and the local shared memory buffers.
Dependencies are inferred from the claim text.