mpC: a multi-paradigm programming language for massively parallel computers
ACM SIGPLAN Notices
Global arrays: a nonuniform memory access programming model for high-performance computers
The Journal of Supercomputing
A study of common pitfalls in simple multi-threaded programs
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Parallel multilevel k-way partitioning scheme for irregular graphs
Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
MPI: The Complete Reference
OpenMP: An Industry-Standard API for Shared-Memory Programming
IEEE Computational Science & Engineering
Proceedings of the 11 IPPS/SPDP'99 Workshops Held in Conjunction with the 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing
UPC performance and potential: a NPB experimental study
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
Parallel programming in multi-paradigm clusters
HPDC '97 Proceedings of the 6th IEEE International Symposium on High Performance Distributed Computing
Porting a Vector Library: A Comparison of MPI, Paris, CMMD, and PVM (or, "I''ll never have to port CVL again")
Low-level language constructs considered harmful for distributed parallel programming
ACM-SE 42 Proceedings of the 42nd annual Southeast regional conference
Spacetime meshing with adaptive refinement and coarsening
SCG '04 Proceedings of the twentieth annual symposium on Computational geometry
Performance and modularity benefits of message-driven execution
Journal of Parallel and Distributed Computing
Dynamic Load Balancing of MPI+OpenMP Applications
ICPP '04 Proceedings of the 2004 International Conference on Parallel Processing
A Multi-Platform Co-Array Fortran Compiler
Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques
Performance evaluation of adaptive MPI
Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Optimizing communication for massively parallel processing
Optimizing communication for massively parallel processing
Multiple Flows of Control in Migratable Parallel Programs
ICPPW '06 Proceedings of the 2006 International Conference Workshops on Parallel Processing
Achieving high performance on extremely large parallel machines: performance prediction and load balancing
Multi-paradigm and Multi-grain Parallel Execution Model Based on SMP-Cluster
JVA '06 Proceedings of the IEEE John Vincent Atanasoff 2006 International Symposium on Modern Computing
ParFUM: a parallel framework for unstructured meshes for scalable dynamic physics applications
Engineering with Computers
Development of mixed mode MPI / OpenMP applications
Scientific Programming
Charisma: orchestrating migratable parallel objects
Proceedings of the 16th international symposium on High performance distributed computing
Hi-index | 0.00 |
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.