Method and apparatus for batch scheduling, and computer product
First Claim
Patent Images
1. A non-transitory computer-readable recording medium that stores a computer program for scheduling a parallel program to be executed as a batch job by a parallel computer, wherein the computer program, when executed by a processor, causes a computer to execute a method comprising:
- determining a priority of the parallel program based on a parallelization efficiency that is defined as (a sum of execution times of a plurality of CPUs that are utilized to execute the parallel program during the execution of the parallel program)÷
(the maximum execution time among the execution times of the plurality of CPUs that are utilized to execute the parallel program)÷
(number of the CPUs); and
scheduling the parallel program based on the priority determined,wherein the determining includes;
determining priorities of a predetermined number of parallel programs as high priorities, and priorities of other parallel programs as low priorities, anddetermining threshold values in such a way that a predetermined number of parallel programs achieve the respective threshold values for all of the parallelization efficiency, a cache miss rate, and a floating-point-operation performance, andsetting priorities of the predetermined number of parallel programs that achieves the respective threshold values as high priorities,wherein the threshold values are the values used for determining the priorities of the parallel programs as high or low.
1 Assignment
0 Petitions
Accused Products
Abstract
A batch scheduling apparatus that performs a scheduling of a parallel program to be executed as a batch job by a parallel computer includes a priority determining unit that determines a priority of the parallel program based on an index that indicates a level of utilization of the parallel computer by the parallel program; and a scheduling unit that schedules the parallel program based on the priority determined.
25 Citations
6 Claims
-
1. A non-transitory computer-readable recording medium that stores a computer program for scheduling a parallel program to be executed as a batch job by a parallel computer, wherein the computer program, when executed by a processor, causes a computer to execute a method comprising:
-
determining a priority of the parallel program based on a parallelization efficiency that is defined as (a sum of execution times of a plurality of CPUs that are utilized to execute the parallel program during the execution of the parallel program)÷
(the maximum execution time among the execution times of the plurality of CPUs that are utilized to execute the parallel program)÷
(number of the CPUs); andscheduling the parallel program based on the priority determined, wherein the determining includes; determining priorities of a predetermined number of parallel programs as high priorities, and priorities of other parallel programs as low priorities, and determining threshold values in such a way that a predetermined number of parallel programs achieve the respective threshold values for all of the parallelization efficiency, a cache miss rate, and a floating-point-operation performance, and setting priorities of the predetermined number of parallel programs that achieves the respective threshold values as high priorities, wherein the threshold values are the values used for determining the priorities of the parallel programs as high or low. - View Dependent Claims (2, 3, 4)
-
-
5. A method of scheduling a parallel program to be executed as a batch job by a parallel computer, the method comprising:
-
determining a priority of the parallel program based on a parallelization efficiency that is defined as (a sum of execution times of a plurality of CPUs that are utilized to execute the parallel program during the execution of the parallel program)÷
(the maximum execution time among the execution times of the plurality of CPUs that are utilized to execute the parallel program)÷
(number of the CPUs); andscheduling the parallel program based on the priority determined, wherein the determining includes; determining priorities of a predetermined number of parallel programs as high priorities, and priorities of other parallel programs as low priorities, and determining threshold values in such a way that a predetermined number of parallel programs achieve the respective threshold values for all of the parallelization efficiency, a cache miss rate, and a floating-point-operation performance, and setting priorities of the predetermined number of parallel programs that achieves the respective threshold values as high priorities, wherein the threshold values are the values used for determining the priorities of the parallel programs as high or low.
-
-
6. A batch scheduling apparatus comprising:
-
a non-transitory computer-readable recording medium that stores a computer program, wherein the computer program, when executed by a processor, performs a scheduling method of a parallel program to be executed as a batch job by a parallel computer, the batch scheduling apparatus performing the scheduling method including; determining a priority of the parallel program based on a parallelization efficiency that is defined as (a sum of execution times of a plurality of CPUs that are utilized to execute the parallel program during the execution of the parallel program)÷
(the maximum execution time among the execution times of the plurality of CPUs that are utilized to execute the parallel program)÷
(number of the CPUs); andscheduling the parallel program based on the priority determined, wherein the determining includes; determining priorities of a predetermined number of parallel programs as high priorities, and priorities of other parallel programs as low priorities, and determining threshold values in such a way that a predetermined number of parallel programs achieve the respective threshold values for all of the parallelization efficiency, a cache miss rate, and a floating-point-operation performance, and setting priorities of the predetermined number of parallel programs that achieves the respective threshold values as high priorities, wherein the threshold values are the values used for determining the priorities of the parallel programs as high or low.
-
Specification