IL178606A

System and method for topology-aware job scheduling and backfilling in an hpc environment

Abstract

This record has no abstract on file.

IL178606A, drawing sheet 1
Sheet 1 of 11

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

30 claims: 3 independent, 27 dependent

  1. 1
    WHAT IS CLAIMED:1. A method for job management in a High Performance Computing (HPC) environment, comprising: selecting a HPC job to be performed from a sorted job queue;determining a virtual cluster of nodes from a plurality of HPC nodes according to predetermined policies based on the selected HPC job, each of the HPC nodes comprising an integrated fabric, the plurality of HPC nodes forming a three dimensional grid with an edgeless topology;determining a number of available nodes in the virtual cluster;determining an optimum shape of the selected HPC j ob;determining whether the selected HPC job and its optimum shape can be executed in the available nodes of the virtual cluster;executing the selected HPC job using at least a portion of the available nodes in the virtual cluster in response to the determination that the selected HPC job and its optimum shape can be executed therein.
  2. 2
    The method of Claim 1, wherein selecting the HPC job comprises selecting the HPC job from the job queue based on priority, the selected HPC job comprising an optimum shape less than or equal to a topology of the virtual cluster.
  3. 3
    The method of Claim 2, wherein selecting the HPC job from the sorted job queue based on priority comprises :sorting a job queue based on job priority;selecting a first HPC job from the sorted job queue;determining an optimum shape of the first HPC job with the topology of the virtual cluster;and in response to the optimum shape of the first HPC job being greater than the topology of the virtual cluster, selecting a second HPC job from the sorted job queue and returning the first HPC job to the sorted job queue pending restructuring of the virtual cluster.
  4. 4
    The method of Claim 2, wherein the optimum shape of the first HPC job is based, at least in part, on one or more job parameters and an associated policy.
  5. 5
    The method of Claim 2, further comprising-^ dynamically allocating a job space of available nodes from the virtual cluster based, at least in part, on the optimum shape of the selected HPC job;and wherein executing the selected HPC job comprises executing the selected HPC job using the dynamically allocated job space.
  6. 6
    The method of Claim 1, wherein the plurality of HPC nodes comprising a first plurality of nodes and a second plurality of nodes, the first plurality of nodes associated with the virtual cluster; and the method further comprising:determining that the optimum shape of the selected HPC job is greater than a topology of the first plurality of nodes;selecting one or more HPC nodes from the second plurality of nodes, each of the second HPC nodes comprising an integrated fabric;and adding the selected HPC nodes from the second plurality of nodes to the virtual cluster to satisfy the optimum shape of the selected HPC job.
  7. 7
    The method of Claim 6, further comprising returning the selected HPC nodes to the second plurality of nodes.
  8. 8
    The method of Claim 1, further comprising-^:determining that a second HPC job that was executing on a plurality of HPC nodes outside of the virtual cluster has failed;adding the plurality of HPC nodes outside of the virtual cluster to the virtual cluster;and adding the failed second HPC job to the sorted job queue .
  9. 9
    A computer readable medium including code for job management in a High Performance Computing (HPC) environment, the code operable to:select a HPC job to be performed from a sorted job queue;determine a virtual cluster from a plurality of HPC nodes according to predetermined policies based on the HPC job, each of the HPC nodes comprising an integrated fabric, the plurality of HPC nodes forming a three dimensional grid with an edgeless topology;determine a number of available nodes in the virtual cluster;determine an optimum shape of the selected HPC job;determine whether the selected HPC job and its optimum shape can be executed in the available nodes of the virtual cluster;execute the selected HPC job using at least a portion of the available nodes in the virtual cluster in response to the determination that the selected HPC job and its optimum shape can be executed therein.
  10. 10
    The computer readable medium of Claim 9, wherein the code operable to select the HPC job comprises code operable to select the HPC job from the sorted job queue based on priority, the selected HPC job comprising an optimum shape less than or equal to a topology of the virtual cluster.
  11. 11
    The computer readable medium of Claim 10, wherein the code operable to select the HPC job from the sorted job queue based on priority comprises code operable to:sort a job queue based on job priority;select a first HPC job from the sorted job queue;determine an optimum shape of the first HPC job with the topology of the virtual cluster;and in response to the optimum shape of the first HPC job being greater than the topology of the virtual cluster, select a second HPC job from the sorted job queue and returning the first HPC job to the sorted job queue pending restructuring of the virtual cluster.
  12. 12
    The computer readable medium of Claim 10, wherein the optimum shape of the first HPC job is based, at least in part, on one or more job parameters and an associated policy.
  13. 13
    The computer readable medium of Claim 10, wherein the code is further operable to dynamically allocate a job space of available nodes from the virtual cluster based, at least in part, on the optimum shape of the selected HPC job;and wherein the code is further operable to execute the selected HPC job comprises software operable to execute the selected HPC job using the dynamically allocated job space.
  14. 14
    The computer readable medium of Claim 9, wherein the plurality of HPC nodes comprising a first plurality of nodes and a second plurality of nodes, the first plurality of nodes associated with the virtual cluster; and the code further operable to:determine that the optimum shape of the selected HPC job is greater than a topology of the first plurality of nodes;select one or more HPC nodes from the second plurality of nodes, each of the selected HPC nodes comprising an integrated fabric;and add the selected HPC nodes from the second plurality of nodes to the virtual cluster to satisfy the optimum shape of the selected HPC job.
  15. 15
    The computer readable medium of Claim 14, wherein the code is further operable to return the selected HPC nodes to the second plurality of nodes.
  16. 16
    The computer readable medium of Claim 9, wherein the code is further operable to:determine that a second HPC job that was executing on a plurality of HPC nodes outside of the virtual cluster has failed;add the plurality of HPC nodes outside of the virtual cluster to the virtual cluster;and add the failed second HPC job to the sorted job queue .
  17. 17
    A system for job management in a High Performance Computing (HPC) environment comprising:a plurality of HPC nodes, each node including an integrated fabric, the plurality of HPC nodes forming a three dimensional grid with an edgeless topology;and a management node operable to: select a HPC job to be performed from a sorted job queue;determine an virtual cluster from the plurality of HPC nodes according to predetermined policies based on the selected HPC job;determine a number of available nodes in the virtual cluster;determine an optimum shape of the selected HPC job;determine whether the selected HPC job and its optimum shape can be executed in the available nodes of the virtual cluster;execute the selected HPC job using at least a portion of the available nodes in the virtual cluster in response to the determination that the selected HPC job and its optimum shape can be executed therein.
  18. 18
    The system of Claim 17, wherein the management node operable to select the HPC job comprises the management node operable to select the HPC job from the sorted job queue based on priority, the selected HPC job comprising an optimum shape less than or equal to a topology of the virtual cluster.
  19. 19
    The system of Claim 18, wherein the management node operable to select the HPC job from the sorted job queue based on priority comprises the management node operable to:sort a job queue based on job priority;select a first HPC job from the sorted job queue;determine an optimum shape of the first HPC job with the topology of the virtual cluster;and in response to the optimum shape of the first HPC job being greater than the topology of the virtual cluster, select a second HPC job from the sorted job queue and returning the first HPC job to the sorted job queue pending restructuring of the virtual cluster.
  20. 20
    The system of Claim 18, wherein the optimum shape of the first HPC job is based, at least in part, on one or more job parameters and an associated policy.
  21. 21
    The system of Claim 18, further operable to dynamically allocate a job space of available nodes from the virtual cluster based, at least in part, on the optimum shape of the HPC job;and wherein the management node operable to execute the selected HPC job comprises the management node operable to execute the selected HPC job using the dynamically allocated job space.
  22. 22
    The system of Claim 17, wherein the plurality of HPC nodes comprising a first plurality of nodes and a second plurality of nodes, the first plurality of nodes associated with the virtual cluster; and the management node is further operable to:determine that an optimum shape of the selected HPC job is greater than a topology of the first plurality of nodes;select one or more HPC nodes from the second plurality of nodes, each of the selected HPC nodes comprising an integrated fabric;and add the selected HPC nodes from the second plurality of nodes to the virtual cluster to satisfy the optimum shape of the selected HPC job.
  23. 23
    The system of Claim 22, the management node is further operable to return the selected HPC nodes to the selected plurality of nodes.
  24. 24
    The system of Claim 17, the management node node is further operable to:determine that a second HPC job that was executing on a plurality of HPC nodes outside of the virtual cluster has failed;add the plurality of HPC nodes outside of the virtual cluster to the virtual cluster;and add the failed second HPC job to the sorted job queue.
  25. 25
    The system of Claim 17, wherein the management node is operable to:select a second HPC job from the sorted job queue;determine an optimum shape of the second HPC job;determine whether the virtual cluster has a sufficient number of available nodes to execute the second HPC job according to the optimum shape of the second HPC job.
  26. 26
    The system of Claim 25, wherein the management node is further operable to:allocate nodes to execute the second HPC job from the sufficient number of available nodes.
  27. 27
    The system of Claim 26, wherein the management node is further operable to:recalculate a number of available nodes in the virtual cluster in response to the allocation.
  28. 28
    The system of Claim 26, wherein the management node is further operable to:execute the second HPC job on the allocated nodes.
  29. 29
    The system of Claim 25, wherein the management node is further operable to:select a third HPC job from the sorted job queue in response to the virtual cluster not having a sufficient number of available nodes to execute the second HPC job;determine an optimum shape of the third HPC job;determine whether the virtual cluster has sufficient available nodes to execute the third HPC job according to the optimum shape of the third HPC job.
  30. 30
    The system of Claim 17, wherein the management node is further operable to:return the selected HPC job to the job queue in response to the determination that the selected HPC job 5 and its optimum shape cannot be executed in the available nodes of the virtual cluster.
Independent claims30