Method for assigning job in parallel processing method and parallel processing method
First Claim
1. In a parallel processing method for parallelly processing a plurality of jobs comprising communication processing between a host computer and a plurality of processors and calculation processing in said processors by said plurality of processors in a computer system comprising said host computer and said plurality of processors connected to said host computer through a common bus, a job assignment method in a parallel processing method characterized in that jobs are assigned to said processors in such a manner that an average value of ratios between communication times and calculation times of said job falls within a predetermined value;
- anda job assignment method in a parallel processing method characterized in that jobs are assigned to said respective processors in such a manner that an average value of ratios between communication times and calculation times of said jobs becomes equal to 1/(the number of said processors) when a whole communication time of said plurality of jobs is nearly equal to a total amount of calculation times in one job obtained when a plurality of jobs are equally assigned to said plurality of jobs.
2 Assignments
0 Petitions
Accused Products
Abstract
When parallel processing is executed by parallel computers composed of a host computer and a plurality of processors connected to the host computer through a common bus, there is provided a method of assigning jobs to respective processors with high efficiency. A job in which a ratio between a communication time and a calculation time is larger than a predetermined value or larger than a fraction of processors and a job in which a ratio between a communication time and a calculation time is smaller than a predetermined value or smaller than a fraction of processors can be alternately assigned to respective processors. Alternatively, jobs are assigned to respective processors in such a manner that a plurality of processors and a plurality of jobs are divided into a plurality of groups in a one-to-one relation, jobs in which sizes comprising communication time and calculation time and ratios between the communication times and the calculation times approximate to each other may belong to different job groups and the order in which the jobs in which the sizes comprising the communication time and the calculation time and the ratios between the communication times and the calculation times approximate to each other are assigned within respective job groups may differ from each other among a plurality of job groups.
28 Citations
31 Claims
-
1. In a parallel processing method for parallelly processing a plurality of jobs comprising communication processing between a host computer and a plurality of processors and calculation processing in said processors by said plurality of processors in a computer system comprising said host computer and said plurality of processors connected to said host computer through a common bus, a job assignment method in a parallel processing method characterized in that jobs are assigned to said processors in such a manner that an average value of ratios between communication times and calculation times of said job falls within a predetermined value;
- and
a job assignment method in a parallel processing method characterized in that jobs are assigned to said respective processors in such a manner that an average value of ratios between communication times and calculation times of said jobs becomes equal to 1/(the number of said processors) when a whole communication time of said plurality of jobs is nearly equal to a total amount of calculation times in one job obtained when a plurality of jobs are equally assigned to said plurality of jobs.
- and
-
2. In a parallel processing method for parallelly processing a plurality of jobs comprising communication processing between a host computer and a plurality of processors and calculation processing in said processors by said plurality of processors in a computer system comprising said host computer and said plurality of processors connected to said host computer through a common bus, a job assignment method in a parallel processing method characterized in that jobs are assigned to said processors in such a manner that an average value of ratios between communication times and calculation times of said job falls within a predetermined value;
- and
a job assignment method in a parallel processing method characterized in that jobs in which ratios between communication times and calculation times is larger than said predetermined value or 1/(the number of said processors) and jobs in which ratios between communication times and calculation times are smaller than said predetermined value or 1/(the number of said processors) are alternately assigned to respective processors.
- and
-
3. In a parallel processing method for parallelly processing a plurality of jobs comprising communication processing between a host computer and a plurality of processors and calculation processing in said processors by said plurality of processors in a computer system comprising said host computer and said plurality of processors connected to said host computer through a common bus, a job assignment method in a parallel processing method characterized in that said plurality of jobs are continuously numbered by integers ranging from N (N is an integer) to M (integer greater than N), a job that is numbered as N+(M−
- J−
1) is assigned to the processor as the next job if the number J of the job that has been assigned just before is not greater than (N+M)/2 and a job that is numbered as N+(M−
J) is assigned to the processor as the next job if the number J of the job that has been assigned just before is greater than (N+M)/2, otherwise a job that is numbered as N+(M−
J) is assigned to the processor as the next job if the number J of the job that has been assigned just before is less than (N+M)/2 and a job that is numbered as N+(M−
J−
1) is assigned to the processor as the next job if the number J of the job that has been assigned just before is not less than (N+M)/2 and respective jobs are assigned to processors in such a manner that an average value of ratios between said communication times and said calculation times falls within a predetermined value.
- J−
-
4. In a method for parallel processing of a plurality of jobs, comprising a host computer and a plurality of processors connected by common bus, communication processing between said host computer and said processors, and calculation processing in said processors:
- a job assignment method wherein;
said plurality of processors is divided into G (G is an integer not less than
2) processor groups wherein the number of processors is equal within each group;said jobs are divided into G job groups in which the number of jobs is equal within each group; said processor groups and said job groups being associated with each other in a one-to-one relation; jobs in each job group being assigned to processors within the corresponding processor group; jobs in which sizes, said sizes comprising communication time and calculation time and ratios between said communication time and said calculation time, are approximately equal to each other belong to different job groups; and jobs in which said sizes are approximately equal to each other are assigned to processors in such a manner that the assignment order of said jobs within said job groups differ from each other within said plurality of job groups. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
- a job assignment method wherein;
-
15. In a parallel processing method in which molecular orbital calculation for calculating energy of molecule expressed by n (n is a positive integer) contracted shells is executed by a computer system comprising a host computer and a plurality of processors, with respect to all matrix elements F(I, J) of Fock matrix F expressed in the form of a sum concerning all of primitive basis functions contained in contracted basis functions I, J composed of primitive basis functions i, j in a calculation of a sum f(I, J)=f1 (I, J)+f2(I, J), an outermost loop is selected as a loop concerning a combination of said contracted shell R and T which can satisfy relationships of R≦
- n max (n max represents the maximum value of numbers assigned to n contracted shells) and T≦
R,a second loop in the inside of said outermost loop is selected as a loop concerning said contracted shell S, a third loop in the inside of said second loop is selected as a loop concerning said contracted shell U, or said second loop is selected as a loop concerning said contracted shell U and said third loop is selected as a loop concerning said contracted shell S, a range of values which said contracted shell S can take is selected to be not greater than R, a range of values which said contracted shell U can take is selected to be not greater than R, a predetermined two-electron integral and a part of a predetermined Fock matrix element using the result of said predetermined two-electron integral are calculated at the inside of said third loop, said second and third loops are collected as one job unit and processing is assigned to said processor at said job unit, a parallel processing method characterized in that said jobs are formed in such a manner that a low number is assigned to a job whose orbital quantum number of said contracted shell R is large and a high number is assigned to a job whose orbital quantum number of said contracted shell R is small, wherein f1(I, J) represents the sum concerning all contracted basis functions of products A1·
P(K, L)·
g(i,j, k, l) with a coefficient A1;f2(i, j) represents the sum concerning all contracted basis functions of a product A2·
P(K, L)·
g(i, k, j, l) with a coefficient A2,g(i, j, k, l) represents the function value of a two-electron integral function g expressed by using primitive basis functions i, j, k, l which are components of primitive shells r, s, t, u contained in contracted shell R, D, T, U as indexes; and P(K, L) represents the element of density matrix P expressed by using a contracted basis function K composed of said primitive basis function k and a contracted basis function L composed of said primitive basis function I as indexes. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
- n max (n max represents the maximum value of numbers assigned to n contracted shells) and T≦
Specification