Technologies for managing connected data on persistent memory-based systems
Abstract
Managing connected data, such as a graph data store, includes a computing device with persistent memory and volatile memory. The computing device stores a graph data store with a plurality of nodes and edges in persistent memory. Each of the edges defines the relationship between at least two of the nodes. The nodes and edges may contain tags and properties containing additional information. In response to a search request query, the computing device generates an iterator object stored in volatile memory with a reference to one or more nodes and/or edges in the graph data store. The split between volatile and persistent memory allocation could be used for other objects, such as allocators and transactions. Other embodiments are described and claimed.
Claims
exact text as granted — not AI-modified1 . A computing device comprising:
at least one processor; at least one memory controller to access a volatile memory device and a persistent memory device on a memory bus, the persistent memory device having stored therein a graph data store including a plurality of nodes relationally arranged with a plurality of edges, each of the plurality of edges defining a relationship between at least two of the plurality of nodes, the volatile memory device having stored therein a plurality of instructions that, when executed by the processor, causes the processor to: in response to an operation on the graph data store, partition data between the volatile memory device and the persistent memory device to minimize writes on the persistent memory device.
2 . The computing device of claim 1 , wherein at least a portion of the nodes are associated with at least one tag representing a classification of the node.
3 . The computing device of claim 1 , wherein at least a portion of the edges are associated with at least one tag representing a classification of the edge.
4 . The computing device of claim 3 , wherein the graph data store includes a tag sorted edge set to collate edges and associated nodes with identical tags.
5 . The computing device of claim 1 , wherein at least a portion of the nodes are associated with at least one property in the form of a key-value pair.
6 . The computing device of claim 1 , wherein at least a portion of the edges are associated with at least one property in the form of a key-value pair.
7 . The computing device of claim 1 , wherein the plurality of instructions further cause the processor to organize the nodes and/or edges of the graph data store in the persistent memory device as fixed size objects.
8 . The computing device of claim 7 , wherein the plurality of instructions further cause the processor to store at least one property and/or tag associated with a node and/or edge in-line in the fixed-size object representing the node and/or edge.
9 . The computing device of claim 8 , wherein the plurality of instructions further cause the processor to allocate, in response to the property and/or tag associated with the node and/or edge exceeding the size of the fixed-size object, a chunk of the persistent memory device separate from the fixed-size object.
10 . One or more machine readable storage media comprising a plurality of instructions stored thereon that, when executed, cause a computing device to:
store, on a persistent memory device, a graph data store comprising a plurality of nodes and a plurality of edges, each of the plurality of edges defining a relationship between at least two of the plurality of nodes; manage an operation on the graph data store by storing a first portion of resulting data on a volatile memory device and a second portion of the resulting data on the persistent memory device to minimize writes on the persistent memory device.
11 . The one or more machine readable storage media of claim 10 , wherein the plurality of instructions further cause the computing device to manage the operation by partitioning the first portion and the second portion of resulting data to minimize writes to the persistent memory device.
12 . The one or more machine readable storage media of claim 10 , wherein the plurality of instructions further cause the computing device to:
storie at least one property and/or tag associated with a node and/or edge in-line in a fixed-size object; and allocate, responsive to the property and/or tag associated with the node and/or edge exceeding the size of the fixed-size object, a chunk of the persistent memory device separate from the fixed-size object.
13 . The one or more machine readable storage media of claim 10 , wherein at least a portion of the nodes are associated with at least one tag representing a classification of the node.
14 . The one or more machine readable storage media of claim 10 , wherein at least a portion of the edges are associated with at least one tag representing a classification of the edge.
15 . The one or more machine readable storage media of claim 14 , wherein the graph data store includes a tag sorted edge set to collate edges with identical tags to allow efficient iteration over related edges.
16 . The one or more machine readable storage media of claim 10 , wherein at least a portion of the nodes are associated with at least one property in the form of a key-value pair.
17 . The one or more machine readable storage media of claim 10 , wherein at least a portion of the edges are associated with at least one property in the form of a key-value pair.
18 . A method for managing a graph data store on a persistent memory device, the method comprising:
storing, on a persistent memory device, a graph data store comprising a plurality of nodes and a plurality of edges, each of the plurality of edges defining a relationship between at least two of the plurality of nodes; and managing a operation on the graph data store by storing a first portion of resulting data on a volatile memory device and a second portion of the resulting data on the persistent memory device to minimize writes on the persistent memory device.
19 . The method of claim 18 , wherein the computing device manages the operation by partitioning the first portion and the second portion of resulting data to minimize writes to the persistent memory device.
20 . The method of claim 18 , further comprising:
storing at least one property and/or tag associated with a node and/or edge in-line in a fixed-size object; and allocating, responsive to the property and/or tag associated with the node and/or edge exceeding the size of the fixed-size object, a chunk of the persistent memory device separate from the fixed-size object.
21 . The method of claim 18 , wherein at least a portion of the nodes are associated with at least one tag representing a classification of the node.
22 . The method of claim 18 , wherein at least a portion of the edges are associated with at least one tag representing a classification of the edge.
23 . The method of claim 22 , wherein the graph data store includes a tag sorted edge set to collate edges with identical tags to allow efficient iteration over related edges.
24 . The method of claim 18 , wherein at least a portion of the nodes are associated with at least one property in the form of a key-value pair.
25 . The method of claim 18 , wherein at least a portion of the edges are associated with at least one property in the form of a key-value pair.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.