US2017090807A1PendingUtilityA1

Technologies for managing connected data on persistent memory-based systems

44
Assignee: GUPTA VISHAKHAPriority: Sep 26, 2015Filed: Sep 26, 2015Published: Mar 30, 2017
Est. expirySep 26, 2035(~9.2 yrs left)· nominal 20-yr term from priority
G06F 12/0871G06F 2212/466G06F 12/0897G06F 2212/163G06F 2212/214G06F 16/90G06F 3/0631G06F 3/0683G06F 3/0604G06F 16/9024
44
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
1 . 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.