Dynamic job processing based on estimated completion time and specified tolerance time
First Claim
1. A method for scheduling a plurality of jobs including the steps of:
- receiving at least one job to be processed from at least one customer, wherein said receiving further includes receiving at least one attribute specific to said at least one job to be processed including a tolerance time;
estimating a time for completion of processing for said at least one job to be processed;
placing said at least one job to be processed in a queue having other jobs to be processed, wherein each of said other jobs includes an estimate time for completion and a tolerance time;
sorting said at least one job and said other jobs to be processed in said queue based on said tolerance time and said estimated time for completion of said at least one job to be processed and said other jobs;
configuring dynamically at least one cluster of processing resources from a pool of processing resources responsive to said tolerance time and said estimate time for completion of said at least one job to be processed;
processing said at least one job to be processed from said sorted queue by assigning said at least one job to be processed to said at least one cluster of processing resources; and
making a result of said processing of said at least one job to be processed available to said at least one customer,wherein said tolerance time includes a time of completion acceptable to said at least one customer that is later in time than said estimated time for completion.
4 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a system and method for managing clusters of parallel processors for use by groups and individuals requiring supercomputer level computational power. A Beowulf cluster provides supercomputer level processing power. Unlike a traditional Beowulf cluster; however, cluster size in not singular or static. As jobs are received from users/customers, a Resource Management System (RMS) dynamically configures and reconfigures the available nodes in the system into clusters of the appropriate sizes to process the jobs. Depending on the overall size of the system, many users may have simultaneous access to supercomputer level computational processing. Users are preferably billed based on the time for completion with faster times demanding higher fees.
-
Citations
13 Claims
-
1. A method for scheduling a plurality of jobs including the steps of:
-
receiving at least one job to be processed from at least one customer, wherein said receiving further includes receiving at least one attribute specific to said at least one job to be processed including a tolerance time; estimating a time for completion of processing for said at least one job to be processed; placing said at least one job to be processed in a queue having other jobs to be processed, wherein each of said other jobs includes an estimate time for completion and a tolerance time; sorting said at least one job and said other jobs to be processed in said queue based on said tolerance time and said estimated time for completion of said at least one job to be processed and said other jobs; configuring dynamically at least one cluster of processing resources from a pool of processing resources responsive to said tolerance time and said estimate time for completion of said at least one job to be processed; processing said at least one job to be processed from said sorted queue by assigning said at least one job to be processed to said at least one cluster of processing resources; and making a result of said processing of said at least one job to be processed available to said at least one customer, wherein said tolerance time includes a time of completion acceptable to said at least one customer that is later in time than said estimated time for completion. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system including:
-
a request receiver element configured to receive at least one job to be processed from at least one customer, said request receiver element in communication with a pool of processing resources, wherein said request receiver element is further configured to receive at least one attribute specific to said at least one job to be processed including a tolerance time; a queue having jobs to be processed including said at least one job, wherein each of said jobs includes an estimated time for completion and a tolerance time, wherein said queue being sorted according to said tolerance time and said estimated time for completion of said jobs and said at least one job, said queue being in communication with said pool of processing resources; and said pool of processing resources configured to run jobs to be processed from said sorted queue, said pool of processing resources disposed to being dynamically divided into clusters of processing resources, which may run in parallel, in response to said estimated completion time and said tolerance time of said at least one job and said jobs, wherein said tolerance time includes a time later than an estimated time for completion of said at least one job to be processed. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for scheduling a plurality of jobs including the steps of:
-
receiving at least one job to be processed from at least one customer, wherein said receiving further includes receiving at least one attribute specific to said at least one job including at least the attribute of a tolerance time; estimating a time for completion of processing for said at least one job; placing said at least one job in a queue having at least a second job to be processed, wherein said second job includes an estimated time for completion and a tolerance time; sorting said queue in response to said tolerance time and said estimated time for completion of said at least one job and said second job; configuring dynamically at least one cluster of processing resources from a pool of processing resources responsive to said tolerance time and said estimate time for completion of said at least one job; processing said at least one job in said sorted queue by assigning said at least one job to said cluster of processing resources; and making a result of said processing of said at least one job available to said customer, wherein said tolerance time is a time of completion acceptable to said customer that is later in time than said estimated time for completion. - View Dependent Claims (13)
-
Specification