Connected memory management
First Claim
1. A method of sharing data between two processes on a multi-node computing cluster comprising the steps of:
- determining that a data object needs to be updated by a first process operating on a first node of said cluster;
querying a lookup table to determine that said data object is located in a second process running on another computing node of said cluster, said lookup table having at least the location of data objects as either on said first computing node or on another computing node of said computing cluster;
sending a request for said data object to a first handler process running on said first computing node, said request being sent by said first process;
sending said request to a second handler process running on a second computing node wherein said second process is operating;
retrieving said data object from said second process by directly accessing the memory allocated for said second process;
transferring said data object to said first handler process; and
placing said data object directly into the memory allocated for said first process on said first computing node, said placing being accomplished by said first handler process.
1 Assignment
0 Petitions
Accused Products
Abstract
A multi-node computing cluster uses a table of data objects within each process to determine if a data object is locally available or on a remote computing node. For those data objects located remotely, a local handler process is able to communicate with a remote handler process on a remote node. The remote handler is capable of retrieving and sending the data object directly from or to the memory of a second process without disturbing the second process, thereby allowing the second process to continually compute. The remote handler may transfer the data object to the local handler, which in turn may place the data object into the memory of the first process.
43 Citations
22 Claims
-
1. A method of sharing data between two processes on a multi-node computing cluster comprising the steps of:
-
determining that a data object needs to be updated by a first process operating on a first node of said cluster;
querying a lookup table to determine that said data object is located in a second process running on another computing node of said cluster, said lookup table having at least the location of data objects as either on said first computing node or on another computing node of said computing cluster;
sending a request for said data object to a first handler process running on said first computing node, said request being sent by said first process;
sending said request to a second handler process running on a second computing node wherein said second process is operating;
retrieving said data object from said second process by directly accessing the memory allocated for said second process;
transferring said data object to said first handler process; and
placing said data object directly into the memory allocated for said first process on said first computing node, said placing being accomplished by said first handler process. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of sharing data between two processes on a multi-node computing cluster comprising the steps of:
-
determining that a data object needs to be updated by a first process operating on a first node of said cluster;
querying a lookup table to determine that said data object is located in a second process running on another computing node of said cluster, said lookup table having at least the location of data objects as either on said first computing node or on another computing node of said computing cluster;
sending said data object to a first handler process running on said first computing node, said data object being sent by said first process;
sending said data object to a second handler process running on a second computing node wherein said second process is operating; and
placing said data object into said second process by directly accessing the memory allocated for said second process. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method of sharing data between two processes on a multi-node computing cluster comprising the steps of:
-
determining that a data object needs to be updated by a first process operating on a first node of said cluster;
querying a lookup table to determine that said data object is located in a second process running on said first node of said cluster, said lookup table having at least the location of data objects as either on said first computing node or on another computing node of said computing cluster; and
placing said data object into said second process by directly accessing the memory allocated for said second process. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A multi-node computing system comprising:
-
a plurality of computers, each of said computers comprising at least one processor and a memory system;
at least one computational process operating on each of said plurality of computers and adapted to have a table of links for each data object associated with said computational processes and further adapted to indicate whether said data objects are located on the local node or a remote node;
a handler process operational on each of said plurality of computers and adapted to send and receive requests for data objects and further adapted to access the memory of the local processes in order to store and retrieve data objects from said memory without disturbing said local processes. - View Dependent Claims (20, 21, 22)
-
Specification