Patent ID: 7827435
Filing Date: 2010-11-02
Classification: G06F

Abstract:
1. In an information processing system comprising at least one cluster, the cluster comprising a plurality of processing nodes, a method for scheduling jobs among the processing nodes, comprising steps of: collecting node related failure and performance parameters for each of the plurality of processing nodes, the node related failure parameters comprising at least one of: an error rate and a failure rate for each processing node; the node related performance parameters comprising at least one of: network connectivity, processor utilization, and bandwidth; wherein the collecting is performed by manipulating individual node parameters by a total number of cluster wide parameters; determining whether a job must be submitted or scheduled before triggering a node ranking; selecting node ranking parameters from the node related failure and performance parameters for the plurality of processing nodes; determining if any existing node ranking parameters need to be changed; determining whether there exist any topology constraints and choosing an algorithm to implement said topology constraints when they exist; assigning a weight value to each node ranking parameter to derive weighted node ranking parameters, wherein a total value of the weight values is equal to one; calculating node rankings based on the weighted node ranking parameters, wherein the node rankings indicate an ability of each processing node to execute a job in an efficient manner; ordering the processing nodes based on the node rankings, from highest ability to lowest ability; scheduling the jobs among the processing nodes according to the ordering of the processing nodes, wherein scheduling the jobs comprises assigning the jobs to the processing nodes with the highest ability to run said jobs; reporting any events happening on the processing nodes to an event logger for future preparation of node rankings; selecting any backfilling and job migration for the processing nodes not selected; and re-calculating the node rankings if necessary, wherein the node rankings are re-calculated based on at least one selected from a group consisting of: failure of the processing node, service maintenance of the node, new processing node added, processing node deleted, and change in the weight assigned to the node ranking parameter.