The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
As indicated above, a cluster selection process uses static and dynamic data about clusters to identify and select an optimal cluster for submitting a job when rnmning multiple batch clusters. An optimal cluster reflects one of a group of clusters that is determined to have the shortest wait time. Turning now to the drawings in greater detail, it will be seen that in
Turning now to
The multi-cluster job submitter 108 queries each cluster (104A, 104B) for a status regarding the number of jobs for the requested class that are waiting at step 204. This number is dynamic. At step 206, the multi-cluster job submitter 108 identifies the potential job slots for each job class within each cluster (104A, 104B). This relates to the number of jobs that could potentially run concurrently for that same job class in each cluster and is a static number.
At step 208, the multi-cluster job submitter 108 calculates the ratio of job slots and corresponding waiting jobs for each cluster. The multi-cluster job submitter 108 selects the cluster with the lowest ratio value for the job request. At step 210, the job is dispatched to the cluster selected in step 208 and the process ends at step 212.
By way of example, suppose that at the time of query, cluster 104A has 1000 potential job slots for class X and 95 jobs waiting for class X. The ratio would be calculated as 95/1000, or 0.095. Suppose also that cluster 104B has 100 job slots for class X and 9 jobs waiting for class X. The ratio for cluster 104B would be calculated as 9/100, or 0.09. Cluster 104B would be selected by the multi-cluster job submitter 108 for submission. At this time, the jobs waiting for class X in cluster 104B is 10 (one job added to the queue of nine jobs). If another job request is submitted at this time, the ratio for cluster 104A is still 0.095; however, the ratio for cluster 104B is now 10/100, or 0.10. Thus, this second job request would be assigned to cluster 104A since its' ratio is lower than that of cluster 104B.
The capabilities of the present invention can be implemented in software, firmware, hardware or some combination thereof.
As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.