Multiple parallel-job scheduling method and apparatus
First Claim
1. A scheduling method of performing scheduling of execution of a plurality of jobs each including a serial computing part and a parallel computing part in a system having a plurality of processors, comprising the steps of:
- indicating, in said plurality of processors, a first serial processor for executing a serial computing part and a parallel computing part of a first job and a plurality of first parallel processors for executing the parallel computing part of said first job in parallel, said plurality of parallel processors including said first serial processor;
indicating, in said plurality of processors, a second serial processor, other than said first serial processor, for executing a serial computing part and a parallel computing part of a second job executed in parallel with said first job and a plurality of second parallel processors for executing the parallel computing part of said second job, said plurality of second parallel processors including said second serial processor and at least one of said plurality of first parallel processors; and
scheduling the execution of jobs such that during the execution of said parallel computing part of said first job in said plurality of first parallel processors, said serial computing part of said second job in said second serial processor is executed.
1 Assignment
0 Petitions
Accused Products
Abstract
Multiple parallel-job scheduling method and apparatus are provided which can improve the utilization of all processors in a system when a plurality of parallel jobs are executed concurrently. A plurality of processors constituting a computer system and each having the equal function are logically categorized into serial processors for executing a serial computing part or a parallel computing part of a parallel job and a parallel processor group consisting of multiple processors for executing the parallel computing part of the parallel job in parallel. In order that the parallel processors are shared by a plurality of parallel jobs, a synchronization range indicator is provided which can control by program whether the parallel processors are available in correspondence to the respective serial processors. In response to a request for using the parallel processors from a serial processor for which the parallel processors are so set as to be available by means of the synchronization range indicator, operation can be carried out without invoking an interrupt.
-
Citations
10 Claims
-
1. A scheduling method of performing scheduling of execution of a plurality of jobs each including a serial computing part and a parallel computing part in a system having a plurality of processors, comprising the steps of:
-
indicating, in said plurality of processors, a first serial processor for executing a serial computing part and a parallel computing part of a first job and a plurality of first parallel processors for executing the parallel computing part of said first job in parallel, said plurality of parallel processors including said first serial processor; indicating, in said plurality of processors, a second serial processor, other than said first serial processor, for executing a serial computing part and a parallel computing part of a second job executed in parallel with said first job and a plurality of second parallel processors for executing the parallel computing part of said second job, said plurality of second parallel processors including said second serial processor and at least one of said plurality of first parallel processors; and scheduling the execution of jobs such that during the execution of said parallel computing part of said first job in said plurality of first parallel processors, said serial computing part of said second job in said second serial processor is executed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A scheduling method for scheduling for the purpose of executing a plurality of jobs each including a serial computing part and a parallel computing part in a system having a plurality of processors, comprising the steps of:
-
indicating, in said plurality of processors, a first serial processor for executing a serial computing part and a parallel computing part of a first job and a plurality of first parallel processors for executing the parallel computing part of said first job in parallel, said plurality of first parallel processors including said first serial processor; indicating, in said plurality of processors, a second serial processor, other than said first serial processor, for executing a serial computing part and a parallel computing part of a second job which are executed in parallel with said first job and a plurality of second parallel processors for executing a parallel computing part of said second job, said plurality of second parallel processors including said second serial processor and at least one of said plurality of first parallel processors; waiting for synchronization before the execution of said parallel computing part of said first job in said plurality of first parallel processors is started; when said plurality of first parallel processors terminates the execution of said parallel computing part of said first job, executing a synchronization instruction; and when the execution of said parallel computing part of said first job in said plurality of first parallel processors is terminated, issuing a synchronization instruction to permit the execution of said parallel computing part of said second job in said plurality of second parallel processors. - View Dependent Claims (9)
-
-
10. A parallel-job scheduling method for scheduling a computer system having a plurality of processors each having the equal function so that they can be operated even when they are indicated so as to behave as either a serial processor or a parallel processor, a shared memory accessible from any of said plurality of processors, and a barrier synchronizer capable of establishing synchronization between desired ones of said processors, in which an object file of a job which said system is caused to execute is indicated to an operating system (OS) on the basis of a user input, said OS examines said object file to acquire the number of processors necessary for parallel execution when the job to be executed is a parallel computing job, said OS categorizes and indicates said processors into a parallel processor group for execution of only a parallel computing part of said job and a serial processor group for execution of a serial computing part and the parallel computing part when the job is about to be executed, said OS assigns said parallel processor group and one processor selected from said serial processor group to the job to be executed, said OS informs said barrier synchronizer that a plurality of assigned processors form one group, and said OS starts the execution of the job,
wherein said job performs the execution of the serial computing part on a serial processor selected from said serial processor group, the barrier synchronization is waited for in said parallel processor group, synchronization is established between said parallel processor group and said serial processor on the basis of a barrier synchronization instruction by said serial processor when the execution proceeds to the parallel computing part, said parallel computing part is executed synchronously on said plurality of processors, a barrier synchronization instruction is again issued from said OS at the end of said parallel computing part, and the succeeding serial computing part is started synchronously.
Specification