The implementation of the Cilk-5 multithreaded language
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Parallel programming: techniques and applications using networked workstations and parallel computers
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Using MPI-2: Advanced Features of the Message Passing Interface
Using MPI-2: Advanced Features of the Message Passing Interface
Concurrency and Computation: Practice & Experience
KAAPI: A thread scheduling runtime system for data flow computations on cluster of multi-processors
Proceedings of the 2007 international workshop on Parallel symbolic computation
Thread-safety in an MPI implementation: Requirements and analysis
Parallel Computing
Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation)
Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation)
Intel threading building blocks
Intel threading building blocks
IEEE Transactions on Parallel and Distributed Systems
Improving the dynamic creation of processes in MPI-2
EuroPVM/MPI'06 Proceedings of the 13th European PVM/MPI User's Group conference on Recent advances in parallel virtual machine and message passing interface
EuroPVM/MPI'06 Proceedings of the 13th European PVM/MPI User's Group conference on Recent advances in parallel virtual machine and message passing interface
Test suite for evaluating performance of MPI implementations that support MPI_THREAD_MULTIPLE
PVM/MPI'07 Proceedings of the 14th European conference on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Dynamic workload balancing deques for branch and bound algorithms in the message passing interface
International Journal of High Performance Systems Architecture
Hi-index | 0.00 |
In recent years, distributed platforms became largely used on HPC, and most of these architectures have different levels of parallelism. Hence, one of the key design stages in parallel programming is task mapping which attempts to maximise processor utilisation and minimise communication cost. However, this depends on a programming environment with efficient mapping scheme. This paper presents a library to MPI-2 (libSpawn) that implements a scheme to map tasks between processes and threads in order to minimise communications and task creation costs. We evaluated the libSpawn with two dynamic MPI programs: Fibonacci and Mergesort. Our experiments demonstrate that the mapping scheme offers significant performance improvements.