Lessons from the design of the Eiffel libraries
Communications of the ACM
Technical criteria for the specification and evaluation of object-oriented libraries
Software Engineering Journal - Object-oriented systems
Using MPI: portable parallel programming with the message-passing interface
Using MPI: portable parallel programming with the message-passing interface
How reuse influences productivity in object-oriented systems
Communications of the ACM
Efficient management of parallelism in object-oriented numerical software libraries
Modern software tools for scientific computing
An Empirical Study of Software Reuse vs. Defect-Density and Stability
Proceedings of the 26th International Conference on Software Engineering
Lifting sequential graph algorithms for distributed-memory parallel computation
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
PPM: a highly efficient parallel particle-mesh library for the simulation of continuum systems
Journal of Computational Physics
Design and implementation of a high-performance MPI for C# and the common language infrastructure
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Implementation and performance analysis of non-blocking collective operations for MPI
Proceedings of the 2007 ACM/IEEE conference on Supercomputing
AM++: a generalized active message framework
Proceedings of the 19th international conference on Parallel architectures and compilation techniques
Lithe: enabling efficient composition of parallel libraries
HotPar'09 Proceedings of the First USENIX conference on Hot topics in parallelism
Efficient MPI support for advanced hybrid programming models
EuroMPI'10 Proceedings of the 17th European MPI users' group meeting conference on Recent advances in the message passing interface
An overview of the HDF5 technology suite and its applications
Proceedings of the EDBT/ICDT 2011 Workshop on Array Databases
Generic topology mapping strategies for large-scale parallel architectures
Proceedings of the international conference on Supercomputing
Active pebbles: parallel programming for data-driven applications
Proceedings of the international conference on Supercomputing
Extending the MPI-2 generalized request interface
PVM/MPI'07 Proceedings of the 14th European conference on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Productive Parallel Linear Algebra Programming with Unstructured Topology Adaption
CCGRID '12 Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012)
Ownership passing: efficient distributed memory programming on multi-core systems
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
A fast and resource-conscious MPI message queue mechanism for large-scale jobs
Future Generation Computer Systems
Hi-index | 0.00 |
Modular programming is an important software design concept. We discuss principles for programming parallel libraries, show several successful library implementations, and introduce a taxonomy for existing parallel libraries. We derive common requirements that parallel libraries pose on the programming framework. We then show how those requirements are supported in the Message Passing Interface (MPI) standard. We also note several potential pitfalls for library implementers using MPI. Finally, we conclude with a discussion of state-of-the art of parallel library programming and we provide some guidelines for library designers.