Patent ID: 8516487

Claim:
A computer implemented method for dynamically relocating a job executing on a plurality of compute nodes in a high performance computing (HPC) system comprising: a relocation manager performs the steps of: 1a) determining to dynamically relocate the job executing on the plurality of compute nodes of the HPC system, where determining to dynamically relocate the job includes accessing a dynamic relocation control parameter in a job record associated with the job to determine if dynamic relocation is currently allowed for the job; 2a) signaling the plurality of compute nodes to pause execution at the next global collective operation using a message passing interface (MPI) to ensure a quiesced messaging state; 3a) waiting until the plurality of compute nodes of the job have signaled they have paused in response to a global collective operation; 4a) moving the job to a new location on the multi-node computer system; and 5a) resuming the job at the new location; wherein each compute node performs the steps of: 1b) receiving the signal to pause execution; 2b) setting a global collective trap in response to the signal to pause execution by a relocation trap mechanism associated with an operating system kernel at the next global collective operation; 3b) the job calling the global collective operation to the message passing interface; 4b) stopping the job and signaling the relocation manager in response to the global collective operation; and wherein the job includes a job record stored on a service node having data elements of job name, job executable, job description, historical I/O utilization, and the dynamic relocation control parameter; and the relocation trap mechanism is a routine to intercept the signal from the relocation manager and incorporates hardware to determine when the plurality of compute nodes have accessed the global collective operation and to notify the operating system kernel.