Evolution of a minimal parallel programming model
Abstract
Here, we take a historical approach to our presentation of selfscheduled task parallelism, a programming model with its origins in early irregular and nondeterministic computations encountered in automated theorem proving and logic programming. We show how an extremely simple task model has evolved into a system, asynchronous dynamic load balancing (ADLB), and a scalable implementation capable of supporting sophisticated applications on today’s (and tomorrow’s) largest supercomputers; and we illustrate the use of ADLB with a Green’s function Monte Carlo application, a modern, mature nuclear physics code in production use. Our lesson is that by surrendering a certain amount of generality and thus applicability, a minimal programming model (in terms of its basic concepts and the size of its application programmer interface) can achieve extreme scalability without introducing complexity.
 Authors:

 Argonne National Lab. (ANL), Argonne, IL (United States)
 Middle Tennessee State Univ., Murfreesboro, TN (United States)
 Publication Date:
 Research Org.:
 Argonne National Lab. (ANL), Argonne, IL (United States)
 Sponsoring Org.:
 USDOE Office of Science (SC), Basic Energy Sciences (BES) (SC22)
 OSTI Identifier:
 1400403
 Grant/Contract Number:
 AC0206CH11357
 Resource Type:
 Accepted Manuscript
 Journal Name:
 International Journal of High Performance Computing Applications
 Additional Journal Information:
 Journal Volume: 2017; Journal ID: ISSN 10943420
 Publisher:
 SAGE
 Country of Publication:
 United States
 Language:
 English
 Subject:
 97 MATHEMATICS AND COMPUTING
Citation Formats
Lusk, Ewing, Butler, Ralph, and Pieper, Steven C. Evolution of a minimal parallel programming model. United States: N. p., 2017.
Web. doi:10.1177/1094342017703448.
Lusk, Ewing, Butler, Ralph, & Pieper, Steven C. Evolution of a minimal parallel programming model. United States. doi:10.1177/1094342017703448.
Lusk, Ewing, Butler, Ralph, and Pieper, Steven C. Sun .
"Evolution of a minimal parallel programming model". United States. doi:10.1177/1094342017703448. https://www.osti.gov/servlets/purl/1400403.
@article{osti_1400403,
title = {Evolution of a minimal parallel programming model},
author = {Lusk, Ewing and Butler, Ralph and Pieper, Steven C.},
abstractNote = {Here, we take a historical approach to our presentation of selfscheduled task parallelism, a programming model with its origins in early irregular and nondeterministic computations encountered in automated theorem proving and logic programming. We show how an extremely simple task model has evolved into a system, asynchronous dynamic load balancing (ADLB), and a scalable implementation capable of supporting sophisticated applications on today’s (and tomorrow’s) largest supercomputers; and we illustrate the use of ADLB with a Green’s function Monte Carlo application, a modern, mature nuclear physics code in production use. Our lesson is that by surrendering a certain amount of generality and thus applicability, a minimal programming model (in terms of its basic concepts and the size of its application programmer interface) can achieve extreme scalability without introducing complexity.},
doi = {10.1177/1094342017703448},
journal = {International Journal of High Performance Computing Applications},
number = ,
volume = 2017,
place = {United States},
year = {2017},
month = {4}
}
Web of Science
Works referenced in this record:
Charge Form Factor and Sum Rules of Electromagnetic Response Functions in ${}^{12}\mathbf{C}$
journal, August 2013
 Lovato, A.; Gandolfi, S.; Butler, Ralph
 Physical Review Letters, Vol. 111, Issue 9
The Aurora orparallel Prolog system
journal, February 1990
 Lusk, Ewing; Butler, Ralph; Disz, Terrence
 New Generation Computing, Vol. 7, Issue 23
Monitors, messages, and clusters: The p4 parallel programming system
journal, April 1994
 Butler, Ralph M.; Lusk, Ewing L.
 Parallel Computing, Vol. 20, Issue 4
Monitors: an operating system structuring concept
journal, October 1974
 Hoare, C. A. R.
 Communications of the ACM, Vol. 17, Issue 10
Toward message passing for a million processes: characterizing MPI on a massive scale blue gene/P
journal, August 2009
 Balaji, Pavan; Chan, Anthony; Thakur, Rajeev
 Computer Science  Research and Development, Vol. 24, Issue 12
Quantum Monte Carlo calculations of $A=9,10\mathrm{}$ nuclei
journal, October 2002
 Pieper, Steven C.; Varga, K.; Wiringa, R. B.
 Physical Review C, Vol. 66, Issue 4
Scioto: A Framework for GlobalView Task Parallelism
conference, September 2008
 Dinan, James; Krishnamoorthy, Sriram; Larkins, D. Brian
 2008 37th International Conference on Parallel Processing (ICPP)
Legion: Expressing locality and independence with logical regions
conference, November 2012
 Bauer, Michael; Treichler, Sean; Slaughter, Elliott
 2012 SC  International Conference for High Performance Computing, Networking, Storage and Analysis, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis
p4Linda: a portable implementation of Linda
conference, January 1993
 Butler, R. M.; Leveton, A. L.; Lusk, E. L.
 [1993] The 2nd International Symposium on High Performance Distributed Computing, [1993] Proceedings The 2nd International Symposium on High Performance Distributed Computing
Experiments with resolutionbased theoremproving algorithms
journal, January 1982
 Lusk, E. L.; Overbeek, Ross A.
 Computers & Mathematics with Applications, Vol. 8, Issue 2
Quantum Monte Carlo methods for nuclear physics
journal, September 2015
 Carlson, J.; Gandolfi, S.; Pederiva, F.
 Reviews of Modern Physics, Vol. 87, Issue 3
An automated reasoning system
conference, January 1981
 Wos, L.; Winker, S. K.; Lusk, E. L.
 Proceedings of the May 47, 1981, national computer conference on  AFIPS '81
Swift: A language for distributed parallel scripting
journal, September 2011
 Wilde, Michael; Hategan, Mihael; Wozniak, Justin M.
 Parallel Computing, Vol. 37, Issue 9
CHARM++: a portable concurrent object oriented system based on C++
conference, January 1993
 Kale, Laxmikant V.; Krishnan, Sanjeev
 Proceedings of the eighth annual conference on Objectoriented programming systems, languages, and applications  OOPSLA '93
Parallel Programming with Migratable Objects: Charm++ in Practice
conference, November 2014
 Acun, Bilge; Gupta, Abhishek; Jain, Nikhil
 SC14: International Conference for High Performance Computing, Networking, Storage and Analysis
Quantum Monte Carlo calculations of $A=8\mathrm{}$ nuclei
journal, June 2000
 Wiringa, R. B.; Pieper, Steven C.; Carlson, J.
 Physical Review C, Vol. 62, Issue 1