Communication and process migration protocols for distributed heterogeneous computing
AssigneeIllinois Institute of Technology
InventorsXian-He Sun, Kasidit Chanchio
Life of this patent
Estimating the term…
Abstract
Communication and Process Migration Protocols instituted in an independent layer of a virtual machine environment allow for heterogeneous or homogeneous process migration. The protocols manage message traffic for processes communicating in the virtual machine environment. The protocols manage message traffic for migrating processes so that no message traffic is lost during migration, and proper message order is maintained for the migrating process. In addition to correctness of migration operations, low overhead and high efficiency is achieved for supporting scalable, point-to-point communications.
Claims17
Computer-readable media or memory having software embodied therein for controlling message traffic and migration of a process, the process including an execution state, a memory state and a communication state;
- from a first computer to a second computer in a distributed computing virtual machine, the virtual machine including a scheduler, peer processes in addition to the process intended for migration, and communication links between processes, comprising:
- a) communications protocols and process migration protocols allowing point-to-point communication between processes;
- and
- b) the software being an independent layer over standard communication protocols and operating systems of the virtual machine;
- and wherein;
- c) all processes are allotted a received-message-list memory location in which messages for their processes can be stored;
- d) when a migration request is granted for the process in the first computer to migrate to the second computer the process in the first computer becomes a migrating process, the migrating process then sends out marker messages to each connected peer process with which it is in communication indicating the migrating process has sent its last message;
- e) the connected peer processes acknowledge the migrating process marker message with their own marker message, where after the communication link between the acknowledging connected peer processes and the migrating process is closed;
- f) when all connected peer process communication links with the migrating process are closed, migration operations begin to transfer the migrating process from the first computer to the second computer;
- g) migration operations include the virtual machine verifying that the second computer has an initialized process as an executable copy of the migrating process, whereupon the migrating process sends at least its received-message-list as the communication state of the process to the initialized process, and the execution state and memory state of the migrating process are gathered from the migrating process and sent to the second computer for use by the initialized process;
- h) peer process connection requests for a communications link to the migrating process are refused during migration operations, a peer process upon receiving a refusal to its connection request will request a new location of the initialized process at the second computer, whereby all message traffic during migration is routed to the initialized process in the second computer and stored in order of receipt in the received-message-list of the initialized process;
- i) all process execution, memory, and communication states are restored in the second computer to create a migrated process;
- and
- i) migrated process location information is undated in each peer process which has been informed of the migrated process location;
- k) wherein the migrating process is identified by a non-negative integer rank number at the application level;
- l)wherein the migrating process is identified by a rank number and computer location at the virtual machine level;
- and
- m) wherein the migration operations include the virtual machine loading an executable copy of the process programming on the second computer.
A method for controlling message traffic and transfer of a migrating process from a first computer to a second computer in a distributed computing virtual machine environment, the environment including peer processes on computers in the virtual machine in addition to the first computer and the second computer, the software comprising communications protocols and process migration protocols allowing point-to-point communication between computers;
- the software being an independent layer over standard communication protocols and operating systems of the computers in the virtual machine;
- in which all processes have a memory allocation for their message storage, the method comprising the steps of:
- a) granting a communication connection to enable migration of the migrating process in the first computer to migrate to the second computer;
- b) sending out marker messages from the migrating process to each connected peer process with which the migrating process is in communication, the marker messages indicating the migrating process has sent its last message;
- c) loading an executable copy of the migrating process programming on the second computer;
- d) having peer processes respond to the marker message with an acknowledgement message;
- e) having the migrating process close communication with a peer process when that peer process acknowledgement message is received by the migrating process;
- f) having the first computer perform migration operations including sending the Execution state, Memory state, and Communications state of the migrating process to an initialized process on the second computer when all peer process communications are closed;
- g) refusing peer process connection requests to the migrating process during migration operations;
- h) having the peer processes, upon receiving a refusal to a connection request, request new location information of the migrating process;
- i) rerouting all refused peer process messages during migration operations to the initialized process and compiling the rerouted messages in order in a memory location of the initialized process;
- j) restoring all migrating process memory and communication states in the second computer to create a migrated process;
- k) resuming execution of the migrated process on the second computer;
- and
- l) updating the location of the migrated process for each peer process requesting a connection to the migrated process.
The computer-readable media or memory having software embodied therein for controlling message traffic and migration of a process, the process including an execution state, a memory state and a communication state;
- from a first computer to a second computer in a distributed computing virtual machine, the virtual machine including a scheduler, peer processes in addition to the process intended for migration, and FIFO communication links between processes, comprising:
- a) communications protocols and process migration protocols allowing point-to-point communication between processes;
- b) the software being an independent layer over standard communication protocols and operating systems of the virtual machine;
- c) all processes are allotted a received-message-list memory location in which messages for their processes can be stored;
- d) when a migration request is granted for the process in the first computer to migrate to the second computer the process in the first computer becomes a migrating process, the migrating process then sends out marker messages to each connected peer process with which it is in communication indicating the migrating process has sent its last message;
- e) the connected peer processes receive messages from the FIFO communication link, store them in order into the receive-message-list, and acknowledge the migrating process marker message with their own marker message;
- f) the migrating process receives messages from the FIFO communication link and stores them in order into the receive-message-list until all the acknowledgement marker messages from the connected peers are received, whereafter the communication link between the acknowledging connected peer processes and the migrating process is closed;
- g) when all connected peer process communication links with the migrating process are closed, migration operations begin to transfer the migrating process from the first computer to the second computer;
- h) migration operations include the virtual machine verifying that the second computer has an initialized process as an executable copy of the migrating process, whereupon the migrating process sends at least its received-message-list as the communication state of the process to the initialized process, and the execution state and memory state of the migrating process are gathered from the migrating process and sent to the second computer for use by the initialized process;
- i) peer process connection requests for a communications link to the migrating process are refused during migration operations, a peer process upon receiving a refusal to its connection request will request from the scheduler a new location of the initialized process at the second computer, whereby all message traffic during migration is routed to the initialized process in the second computer and stored in order of receipt in the received-message-list of the initialized process;
- j) all process execution, memory, and communication states are restored in the second computer to create a migrated process;
- k) the reconstruction of the communication state of the process on the second computer is accomplished by inserting the content of the receive-message-list sent from the migrating process on the first computer to the front of the receive-message-list of the initialized process on the second computer;
- and
- l) migrated process location information is updated in each peer process which has been informed of the migrated process location.
The computer-readable media or memory having software embodied therein for controlling message traffic and migration of a process, the process including an execution state, a memory state and a communication state;
- from a first computer to a second computer in a distributed
- computing virtual machine, the virtual machine including a scheduler, peer processes in addition to the process intended for migration, and FIFO communication links between processes, comprising:
- a) communications protocols and process migration protocols allowing point-to-point communication between processes;
- b) the software being an independent layer over standard communication protocols and operating systems of the virtual machine;
- c) the communication protocols having algorithms including:
- i) a Connect algorithm for managing connection requests, denials and rerouting requests between sender and receiver computers,
- ii) a Send algorithm for allowing a sender computer to send messages to a receiver computer by verifying that a sender computer connection is established with a receiver computer process before messages are exchanged, and the send algorithm coded as:
- send (m. dest)
- 1:
- if (dest>Connected) then
- 2:
- cc[dest]=connect (dest);
- 3:
- end if
- 4:
- send m along the cc[dest]communication channel:
- iii) a Receive algorithm for managing transfer of messages between peer processes whether said processes have migrated or not;
- managing communication link maintenance or cancellation, and storing of messages in the correct order in a received-message-list of a particular process;
- and
- d) the process migration protocol having algorithms including:
- i) a Migration algorithm for informing the scheduler of a process migration;
- managing acceptance of communications link between processes during migration operations;
- managing the gathering of the execution, memory, and communication state of the migrating process, and
- ii) an Initialization algorithm for restoring the execution, memory, and communication state of the migrating process as necessary to restart the migrating process at the second computer.
A method for controlling message traffic and transfer of a migrating process from a first computer to a second computer in a distributed computing virtual machine environment, the environment including peer processes on computers in the virtual machine in addition to the first computer and the second computer, the software comprising communications protocols and process migration protocols allowing point-to-point communication between computers;
- the software being an independent layer over standard communication protocols and operating systems of the computers in the virtual machine;
- in which all processes have a memory allocation for their message storage, the method comprising the steps of:
- a) granting a migration of the migrating process in the first computer to migrate to the second computer;
- b) loading an executable copy of the migrating process programming on the second computer and wait for the execution, memory, and communication state information of the migrating process;
- c) sending out marker messages from the migrating process to each connected peer process with which the migrating process is in communication, the marker messages indicating the migrating process has sent its last message;
- d) having peer processes receive incoming messages from the migrating process into its received-message-list until the marker message from the migrating process is received and respond to the marker message with an acknowledgement message;
- e) having the migrating process receive incoming messages from the peer processes into its received-message-list until the marker messages from all the connected peer processes are received and close communication with a peer process when that peer process acknowledgement message is received by the migrating process;
- f) having the first computer perform migration operations including sending the Execution state, Memory state, and Communications state of the migrating process to an initialized process on the second computer when all peer process communications are closed;
- g) refusing peer process connection requests to the migrating process during migration operations;
- h) having the peer processes, upon receiving a refusal to a connection request, request new location information of the migrating process from the scheduler;
- i) updating the location of the migrated process for each peer process requesting a connection to the migrated process,
- j) rerouting all refused peer process messages during migration operations to the initialized process and compiling the rerouted messages in order in a memory location of the initialized process;
- k) restoring all migrating process execution, memory, and communication states in the second computer to create a migrated process;
- and
- l) resuming execution of the migrated process on the second computer.
Dependencies are inferred from the claim text.