Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Preserving the original MPI semantics in a virtualized processor environment
Rodrigues E., Navaux P., Panetta J., Mendes C. Science of Computer Programming78 (4):412-421,2013.Type:Article
Date Reviewed: Jun 11 2013

Virtualized resources add flexibility to computer architectures, and are especially useful with parallel applications using the message passing interface (MPI). One can use the virtualization strategy to test distributed memory parallel code on inexpensive shared memory computers. User-level tasks seem to be good candidates for the implementation of MPI processes, to minimize simulation overload. Unfortunately, global variables are shared among threads, while MPI imposes a strict, private memory policy.

This paper proposes leveraging the thread-local storage (TLS) mechanism typically used by kernel threads. The proposal introduces a new TLS data structure that each thread must use to indirectly perform memory accesses, ensuring that all MPI processes indeed only use private memory. This induces changes to the compiler (for example, the addition of the _thread specifier in the language), the linker (allocation and initialization of TLS data), and some libraries (memory management). The authors describe the design and implementation of this approach on top of the Converse runtime. Performance data is presented to illustrate the practicality of this technique over other approaches such as adaptive MPI (AMPI), based on some NAS kernels and the BRAMS weather forecasting application. A positive byproduct of this privatization technique is that process migration is easier to perform--a plus when trying to ensure load balancing via the dynamic preemptive management of processes.

This easy-to-read paper provides food for thought to software engineers interested in virtualization strategies and scientists looking to profit from this powerful productivity-enhancing tool.

Reviewer:  P. Jouvelot Review #: CR141270 (1309-0810)
Bookmark and Share
  Editor Recommended
 
 
Distributed Programming (D.1.3 ... )
 
 
Threads (D.4.1 ... )
 
 
Virtual Memory (D.4.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Distributed Programming": Date
Topics in distributed algorithms
Tel G., Cambridge University Press, New York, NY, 1991. Type: Book (9780521403764)
Sep 1 1992
Interacting processes
Francez N., Forman I., ACM Press/Addison-Wesley Publ. Co., New York, NY, 1996. Type: Book (9780201565287)
Jan 1 1997
Verification of sequential and concurrent programs (2nd ed.)
Apt K. (ed), Olderog E., Springer-Verlag New York, Inc., Secaucus, NJ, 1997. Type: Book (9780387948966)
Feb 1 1998
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy