Dynamic job processing based on estimated completion time and specified tolerance time
First Claim
1. A computer-implemented method, comprising:
- receiving a first job to be processed by a first dynamic cluster of processing resources, the first job having a predetermined completion time requirement;
receiving processing information from a pool of processing resources, said processing information including at least completion time for each processing resource that is currently executing a job;
determining the first dynamic cluster of processing resources from the pool of processing resources to execute the first job in the future in response to the predetermined completion time requirement and the completion times of the processing resources that are currently executing a job;
receiving a second job to be processed by a second dynamic cluster of processing resources, the second job requiring less overall processing resources relative to the first job;
determining the second dynamic cluster of processing resources to complete execution of the second job prior to starting execution of the first job, the second dynamic cluster of processing resources differing in composition from the first dynamic cluster of processing resources while at least one of the processing resources of the second dynamic cluster of processing resources is also reserved for the first job in the first dynamic cluster of processing resources; and
enqueueing the first job to complete execution prior to starting execution of the second job, the second job completing execution prior to the predetermined completion time requirement.
2 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
14 Claims
-
1. A computer-implemented method, comprising:
-
receiving a first job to be processed by a first dynamic cluster of processing resources, the first job having a predetermined completion time requirement; receiving processing information from a pool of processing resources, said processing information including at least completion time for each processing resource that is currently executing a job; determining the first dynamic cluster of processing resources from the pool of processing resources to execute the first job in the future in response to the predetermined completion time requirement and the completion times of the processing resources that are currently executing a job; receiving a second job to be processed by a second dynamic cluster of processing resources, the second job requiring less overall processing resources relative to the first job; determining the second dynamic cluster of processing resources to complete execution of the second job prior to starting execution of the first job, the second dynamic cluster of processing resources differing in composition from the first dynamic cluster of processing resources while at least one of the processing resources of the second dynamic cluster of processing resources is also reserved for the first job in the first dynamic cluster of processing resources; and enqueueing the first job to complete execution prior to starting execution of the second job, the second job completing execution prior to the predetermined completion time requirement. - View Dependent Claims (2, 3, 4, 5, 6, 13, 14)
-
-
7. One or more processor readable storage devices having non-volatile processor readable code embodied on said storage devices, said processor readable code for programming one or more processors to perform a method comprising:
-
receiving a first job to be processed by a first dynamic cluster of processing resources, the first job having a predetermined completion time requirement; receiving processing information from a pool of processing resources, said processing information including at least completion time for each processing resource that is currently executing a job; determining the second dynamic cluster of processing resources to complete execution of the second job prior to starting execution of the first job, the second dynamic cluster of processing resources differing in composition from the first dynamic cluster of processing resources while at least one of the processing resources of the second dynamic cluster of processing resources is also reserved for the first job in the first dynamic cluster of processing resources; receiving a second job to be processed by a second dynamic cluster of processing resources, the second job requiring less overall processing resources relative to the first job; determining the second dynamic cluster of processing resources to complete execution of the second job prior to starting execution of the first job, at least one of the processing resources being also reserved for the first job in the first dynamic cluster of processing resources; and enqueueing the first job to complete execution prior to starting execution of the second job, the second job completing execution prior to the predetermined completion time requirement. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification