This Article 
 Bibliographic References 
 Add to: 
Grain Size Determination for Parallel Processing
January/February 1988 (vol. 5 no. 1)
pp. 23-32

A method called grain packing is proposed as a way to optimize parallel programs. A grain is defined as one or more concurrently executing program modules. A grain begins executing as soon as all of its inputs are available, and terminates only after all of its outputs have been computed. Grain packing reduces total execution time by balancing execution time and communication time. Used with an optimizing scheduler, it gives consistently better results than human-engineered scheduling and packing. The method is language-independent and is applicable to both extended serial and concurrent programming languages, including Occam, Fortran, and Pascal.

Index Terms:
grain size determination; parallel processing; grain packing; concurrently executing program modules; execution time; communication time; optimizing scheduler; concurrent programming languages; Occam; Fortran; Pascal; operating systems (computers); parallel programming; program compilers; scheduling
Boontee Kruatrachue, Ted Lewis, "Grain Size Determination for Parallel Processing," IEEE Software, vol. 5, no. 1, pp. 23-32, Jan.-Feb. 1988, doi:10.1109/52.1991
Usage of this product signifies your acceptance of the Terms of Use.