Multicomputer system
First Claim
1. A method for creation of a process in a multicomputer system which includes multiple sites interconnected by high speed data links, each site including a local processor and local memory and local serverized operating system which includes a local process manager server addressable through an associated process manager port identifier, the system further including a messaging facility for controlling the transfer of messages between different processes operative on different sites of the system, the method comprising the steps of:
- providing a process directory structure distributed across multiple sites such that different site memories include different fragments of the process directory structure, such fragmented process directory structure including a multiplicity of slots for referencing a multiplicity of process port identifiers;
providing a process directory port group structure in site memory of at least one of the sites which references respective port identifiers associated with respective process managers operative on respective sites for which respective process directory fragments include unallocated slots;
providing a process directory port group manager operative on at least one of the sites;
issuing call to a respective process manager server, such call requesting a create a new process operation;
transferring a first message from the respective process manager receiving the call to the process directory port group manager, such first message requesting allocation of a slot;
transferring a second message from the process directory port group manager to a process manager associated with one of the port identifiers stored in the process directory port group structure, such second message requesting to allocate a slot in the process directory fragment of such process manager receiving such second message;
completing the new process creation operation on the site that contains the process manager receiving the call requesting a create a new process operation; and
providing a reference to a new process port identification associated with the new process in a slot of the process directory fragment on the site of process manager receiving the second message.
14 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for responding to a computer system call requesting creation of such new process in a multicomputer system which includes multiple sites, each site including a local processor and local memory, and wherein the multicomputer system includes a distributed process directory which is distributed across multiple sites such that different site memories include different fragments of the process directory and such that the distributed process directory includes a multiplicity of slots, the method comprising the steps of: creating the new process on a respective site; providing in memory of at least one site a designation of sites for which respective process directory fragments include at least one unallocated slot; selecting a respective site from the designation; and referencing a respective process identification corresponding to the new process in a slot in a respective process directory fragment on the selected site.
169 Citations
10 Claims
-
1. A method for creation of a process in a multicomputer system which includes multiple sites interconnected by high speed data links, each site including a local processor and local memory and local serverized operating system which includes a local process manager server addressable through an associated process manager port identifier, the system further including a messaging facility for controlling the transfer of messages between different processes operative on different sites of the system, the method comprising the steps of:
-
providing a process directory structure distributed across multiple sites such that different site memories include different fragments of the process directory structure, such fragmented process directory structure including a multiplicity of slots for referencing a multiplicity of process port identifiers;
providing a process directory port group structure in site memory of at least one of the sites which references respective port identifiers associated with respective process managers operative on respective sites for which respective process directory fragments include unallocated slots;
providing a process directory port group manager operative on at least one of the sites;
issuing call to a respective process manager server, such call requesting a create a new process operation;
transferring a first message from the respective process manager receiving the call to the process directory port group manager, such first message requesting allocation of a slot;
transferring a second message from the process directory port group manager to a process manager associated with one of the port identifiers stored in the process directory port group structure, such second message requesting to allocate a slot in the process directory fragment of such process manager receiving such second message;
completing the new process creation operation on the site that contains the process manager receiving the call requesting a create a new process operation; and
providing a reference to a new process port identification associated with the new process in a slot of the process directory fragment on the site of process manager receiving the second message. - View Dependent Claims (2, 3)
wherein the process directory port group structure does not include the port identifier associated with the process manager receiving the call requesting a create a new process operation; - and
wherein said step of providing a reference to a new process port identification involves providing such reference in a process directory structure fragment slot on a site other than the site of the process manager receiving the call requesting a create a new process operation.
-
-
3. The method of claim 1,
wherein the process directory port group structure does not include the port identifier associateu with the process manager receiving the call requesting a create a new process operation; -
wherein said step of providing a reference to a new process port identification involves providing such reference in a process directory structure fragment slot on a site other than the site of the process manager receiving the call requesting a create a new process operation; and
including the further step of;
providing a new process structure associated in site memory with the new process, such new process structure providing a reference to the other site which includes the slot with the reference to the new process port identification.
-
-
4. A method of creating a process in a multicomputer system and then migrating the created process between sites in the multicomputer system which includes multiple sites interconnected by high speed digital links, each site including a local processor and local memory and local serverized operating system which includes a local process manager server addressable through an associated process manager port identifier, the system further including a messaging facility for controlling the transfer of messages between different processes operative on different sites of the system, the method comprising the steps of:
-
providing a process directory structure distributed across multiple sites such that different site memories include different fragments of the process directory structure, such fragmented process directory structure including a multiplicity of slots for referencing a multiplicity of process port identifiers;
providing a process directory port group structure in site memory of at least one of the sites which references respective port identifiers associated with respective process managers operative on respective sites for which respective process directory fragments include unallocated slots;
providing a process directory port group manager operative on at least one of the sites;
issuing a call to a first process manager server on a first site, such call requesting a create a process operation;
transferring a first slot allocation request message from the first process manager to the process directory port group manager;
transferring a second slot allocation request message from the process directory port group manager to a process manager associated with one of the port identifiers stored in the process directory port group structure;
allocating a slot in a process directory fragment on the site that includes the process manager receiving the second message;
providing a new process port identification for a new process;
completing the process creation operation on the first site;
providing a reference to the new process port identification in the allocated slot;
issuing a migration request to first process manager;
transferring a migration request message from the first process manager to a second process manager operative on a second site;
creating a copy of the respective new process on the second site; and
providing a structure associated in site memory with the copy process, such structure including a reference to the site in the aforementioned allocated slot with the reference to the new process port identification.
-
-
5. A method of implementing a global atomic operation upon a group of processes operative in a multicomputer system which includes multiple sites interconnected by high speed data links, each site including a local processor and local memory and a local process manager server, the system further including a messaging facility for controlling the transfer of messages between different processes operative on different sites of the system, the method comprising the steps of:
-
providing a process directory structure distributed across multiple sites such that different site memories include different fragments of the process directory structure, such fragmented process directory structure including a multiplicity of slots;
referencing respective processes operative on respective sites in the system in respective slots in the process directory structure;
providing respective process structures associated in respective site memories with respective processes that are respectively operative on respective sites, such respective structures respectively indicating group membership, if any, of their respective associated processes;
issuing a global atomic operation request to a first process manager operative on a first site, such request directed to the group of processes;
transferring a global atomic operation message by the first process manager to process managers operative on other sites, such request directed to the group of processes;
transferring, by each respective process manager receiving such global atomic operation message, a respective message from such respective process manager to each respective process referenced in a respective process directory structure fragment disposed on the same respective site as such respective process manager, such respective messages requesting performance of the atomic operation; and
completing the atomic operation by respective processes that are members of the group. - View Dependent Claims (6, 7)
wherein the step of transferring, by each respective process manager involves each respective process manager using the messaging facility to transfer such respective message requesting performance of the atomic operation to respective referenced processes operative on different respective sites. -
7. The method of claim 5 including the further step of:
referencing, by respective processes receiving such message, respective process structures associated with such respective receiving processes to determine whether such respective processes are members of the group.
-
-
8. A method of implementing a global atomic operation upon a group of processes operative in a multicomputer system which includes multiple sites interconnected by high speed data links, each site including a local processor and local memory and a local process manager server, the system further including a messaging facility for controlling the transfer of messages between different processes operative on different sites of the system, the method comprising the steps of:
-
providing a process directory structure distributed across multiple sites such that different site memories include different fragments of the process directory structure, such fragmented process directory structure including a multiplicity of slots for association with a multiplicity of process port identifiers;
associating respective slots in the process directory structure with respective process port identifiers that identify respective processes operative on respective sites in the system;
providing respective group information associated in respective site memories with respective processes that are respectively operative on such respective sites, such respective group information respectively indicating group membership, if any, of their respective associated processes;
issuing a global atomic operation request to a first process manager operative on a first site, such request directed to the group of processes;
transferring a global atomic operation message by the first process manager to ports of process managers operative on other sites, such request directed to the group of processes;
transferring, by each respective process manager receiving such global atomic operation message, a respective message from such respective process manager to each respective process port referenced in a respective process directory structure fragment disposed on the same respective site as such respective process manager, such respective messages requesting performance of the atomic operation;
referencing, by respective processes receiving such message, respective group information, if any, associated with such respective receiving processes to determine whether such respective processes are members of the group; and
completing the atomic operation by respective processes that are members of the group.
-
-
9. A method of failure recovery in a multicomputer system which includes multiple sites interconnected by high speed data links, each site including a local processor and local memory, the method comprising the steps of:
-
providing a process directory structure distributed across multiple sites such that different site memories include different fragments of the process directory structure, such fragmented process directory structure including a multiplicity of slots;
referencing in respective slots in the process directory structure, respective processes operative on respective sites in the system;
providing respective process structures corresponding to respective processes wherein such respective process structures are disposed on the respective sites on which their respective corresponding processes are operative and wherein such respective process structures provide respective references to respective sites which include respective slots that reference their respective corresponding processes;
identifying a failed site;
selecting a surviving site as a reconstruction host;
accessing respective process structures on respective non-failed sites to respectively identify respective processes, if any, operative on respective sites that have a respective operative process referenced in a respective process directory fragment of the failed site;
reconstructing a respective process directory fragment of the failed site on a reconstruction host site such that respective references to respective processes identified in said step of respectively accessing are provided in such reconstructed process directory fragment;
attempting to contact each respective process corresponding to a respective process referenced in any respective process directory fragment; and
removing from respective non-failed site process directory fragments respective references to respective that are not successfully contacted in the step of attempting to contact.
-
-
10. A method of failure recovery in a multicomputer system which includes multiple sites interconnected by high speed data links, each site including a local processor and local memory, the method comprising the steps of:
-
providing a process directory structure distributed across multiple sites such that different site memories include different fragments of the process directory structure, such fragmented process directory structure including a multiplicity of slots for referencing a multiplicity of process port identifiers;
associating respective slots in the process directory structure with respective process port identifiers that identify respective processes operative on respective sites in the system;
providing respective process structures corresponding to respective processes wherein such respective process structures are disposed on the respective sites on which their respective corresponding processes are operative and wherein such respective process structures provide respective references to respective sites which include respective slots that reference their respective corresponding process port identifiers;
identifying a failed site;
selecting a surviving site as a reconstruction host;
accessing respective process structures on respective non-failed sites to respectively identify respective processes, if any, operative on respective sites that have a respective operative process identified by a respective process port identifier referenced in a respective process directory fragment of the failed site;
reconstructing the respective process directory fragment of the failed site on the reconstruction host site such that respective processes identified in said step of respectively accessing are provided in such reconstructed process directory fragment;
attempting to contact each respective process corresponding to a respective process port identified in its respective process directory fragment; and
removing from respective non-failed site process directory fragments respective references to respective process port identifiers of respective processes that are not successfully contacted in said step of attempting to contact.
-
Specification