Automatic and transparent optimizations of an application's MPI communication

3Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.
Get full text

Abstract

HPC users frequently develop and run their MPI programs without optimizing communication, leading to poor performance on clusters connected with regular Gigabit Ethernet. Unfortunately, optimizing communication patterns will often decrease the clarity and ease of modification of the code, and users desire to focus on the application problem and not the tool used to solve it. In this paper, our new method for automatically optimizing any application's communication is presented. AU MPI calls are intercepted by a library we inject into the application. Memory associated with MPI requests is protected using hardware supported memory protection. The request can then continue in the background as an asynchronous operation while the application is allowed to continue as if the request is finished. Once the data is accessed by the application, a page fault will occur, and our injected library will wait for the background transfer to finish before allowing the application to continue. Performance close to that of manual optimization are observed on our test-cases when run on Gigabit Ethernet clusters. © Springer-Verlag Berlin Heidelberg 2007.

Cite

CITATION STYLE

APA

Natvig, T., & Elster, A. C. (2007). Automatic and transparent optimizations of an application’s MPI communication. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4699 LNCS, pp. 208–217). Springer Verlag. https://doi.org/10.1007/978-3-540-75755-9_26

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free