{"title":"Grain determination for parallel processing systems","authors":"B. Kruatrachue, T. Lewis","doi":"10.1109/HICSS.1988.11797","DOIUrl":null,"url":null,"abstract":"A method of parallel-program optimization called grain packing is introduced that reduces total execution time of a parallel program by balancing execution time and communication time. The new method is applicable to both extended serial and concurrent programming languages, and can be used in languages such as OCCAM, Fortran, and Pascal. It is shown by example that two misconceptions common among programmers can lead to nonoptimal use of parallel processors: (1) load balancing does not give optimal performance in all cases, and (2) explicit parallel constructions in programming languages often lead to nonoptimal partitioning of parallel programs. Grain packing, along with an optimizing scheduler, gives consistently better results than human-engineered scheduling and packing.<<ETX>>","PeriodicalId":148246,"journal":{"name":"[1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track","volume":"34 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HICSS.1988.11797","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
A method of parallel-program optimization called grain packing is introduced that reduces total execution time of a parallel program by balancing execution time and communication time. The new method is applicable to both extended serial and concurrent programming languages, and can be used in languages such as OCCAM, Fortran, and Pascal. It is shown by example that two misconceptions common among programmers can lead to nonoptimal use of parallel processors: (1) load balancing does not give optimal performance in all cases, and (2) explicit parallel constructions in programming languages often lead to nonoptimal partitioning of parallel programs. Grain packing, along with an optimizing scheduler, gives consistently better results than human-engineered scheduling and packing.<>