TY - GEN
T1 - A case study in tightly coupled multi-paradigm parallel programming
AU - Chakravorty, Sayantan
AU - Becker, Aaron
AU - Wilmarth, Terry
AU - Kalé, Laxmikant
PY - 2008
Y1 - 2008
N2 - Programming paradigms are designed to express algorithms elegantly and efficiently. There are many parallel programming paradigms, each suited to a certain class of problems. Selecting the best parallel programming paradigm for a problem minimizes programming effort and maximizes performance. Given the increasing complexity of parallel applications, no one paradigm may be suitable for all components of an application. Today, most parallel scientific applications are programmed with a single paradigm and the challenge of multi-paradigm parallel programming remains unmet in the broader community. We believe that each component of a parallel program should be programmed using the most suitable paradigm. Furthermore, it is not sufficient to simply bolt modules together: programmers should be able to switch between paradigms easily, and resource management across paradigms should be automatic. We present a pre-existing adaptive runtime system (ARTS) and show how it can be used to meet these challenges by allowing the simultaneous use of multiple parallel programming paradigms and supporting resource management across all of them. We discuss the implementation of some common paradigms within the ARTS and demonstrate the use of multiple paradigms within our featurerich unstructured mesh framework. We show how this approach boosts performance and productivity for an application developed using this framework.
AB - Programming paradigms are designed to express algorithms elegantly and efficiently. There are many parallel programming paradigms, each suited to a certain class of problems. Selecting the best parallel programming paradigm for a problem minimizes programming effort and maximizes performance. Given the increasing complexity of parallel applications, no one paradigm may be suitable for all components of an application. Today, most parallel scientific applications are programmed with a single paradigm and the challenge of multi-paradigm parallel programming remains unmet in the broader community. We believe that each component of a parallel program should be programmed using the most suitable paradigm. Furthermore, it is not sufficient to simply bolt modules together: programmers should be able to switch between paradigms easily, and resource management across paradigms should be automatic. We present a pre-existing adaptive runtime system (ARTS) and show how it can be used to meet these challenges by allowing the simultaneous use of multiple parallel programming paradigms and supporting resource management across all of them. We discuss the implementation of some common paradigms within the ARTS and demonstrate the use of multiple paradigms within our featurerich unstructured mesh framework. We show how this approach boosts performance and productivity for an application developed using this framework.
UR - http://www.scopus.com/inward/record.url?scp=58649120055&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=58649120055&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-89740-8_19
DO - 10.1007/978-3-540-89740-8_19
M3 - Conference contribution
AN - SCOPUS:58649120055
SN - 3540897399
SN - 9783540897392
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 279
EP - 291
BT - Languages and Compilers for Parallel Computing - 21st International Workshop, LCPC 2008, Revised Selected Papers
T2 - 21st International Workshop on Languages and Compilers for Parallel Computing, LCPC 2008
Y2 - 31 July 2008 through 2 August 2008
ER -