Patent ID: 9015724
Filing Date: 2015-04-21
Classification: G06F

Abstract:
1. A method for dispatching jobs from a job queue in a data processing system having a plurality of computational nodes, the method comprising the steps of: for each job, determining a number of nodes required and computational resource requirements for each node from scheduler records containing job characteristics for each job detailing nodes required for successful execution of the job and computations resource requirements for each node such as a number of CPUs in the node, an amount of node memory and/or memory restrictions for that node; for each node required, selecting an available node and determining from the scheduler records further containing a combination of job characteristics that can be concurrently executed successfully by that node whether the node can be assigned to the job being currently dispatched wherein the combination of job characteristics that can be concurrently executed successfully by that node include the computer resources available such as number of CPUs, amount of node memory and/or memory restrictions for that node when other jobs are being concurrently executed on that node, and if no scheduler record exists; analyzing whether the node can be assigned to the job being dispatched based upon the computational resources required by the job being dispatched and any computational resources required by jobs currently executing in the node to determine if the job being dispatched can be concurrently executed by the node while the other jobs assigned to the node are being executed, and assigning the node to the job if the computational resource requirements are met or selecting the next available node if this node does not meet the computational requirements while recording the results of such analysis of the node in the scheduler records; and determining when the number of nodes required is met and, if so, dispatching the job to the assigned nodes for execution, or, if the number of nodes required is not met, designating that the job cannot be executed at this time.