A Case Study in Tightly Coupled Multi-paradigm Parallel Programming
Workshop on Languages and Compilers for Parallel Computing (LCPC) 2008
Publication Type: Paper
Repository URL: lcpcMultiParadigm
Abstract
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 feature-rich
unstructured mesh framework. We show how this approach boosts
performance and productivity for an application developed using
this framework.
TextRef
Sayantan Chakravorty, Aaron Becker, Terry Wilmarth, and Laxmikant V. Kale
A Case Study in Tightly Coupled Multi-Paradigm Parallel Programming
Proceedings of Languages and Compilers for Parallel Computing (LCPC '08), 2008
People
Research Areas