@inproceedings{5c5564471a2748689b9b2f11ce6317bc,
title = "Parallelizing MPI using tasks for hybrid programming models",
abstract = "Many-core architectures such as the Intel{\textregistered} Xeon PhiTM provide dozens of cores and hundreds of hardware threads. For these machines, a basic MPI implementation is inefficient, as it does not take advantage of the shared data across the ranks on the same node. A hybrid-programming model called MPI+X, where MPI is used between the nodes and a threading model X (Pthreads or OpenMP∗among others) can better utilize the compute and memory resources. In this paper, we investigate how the MPI library can run in parallel without competing with the threads of X that are running the application, and in particular without oversubscribing the available hardware resources. We assess whether MPI can use tasks that can be executed by idle threads in X. To prototype such a system, we have chosen X to be OpenMP. Our experimental results show that parallelizing MPI calls using OpenMP tasks can provide significant speedups.",
keywords = "Hybrid programming, MPI, OpenMP, OpenMP task, Thread oversubscription",
author = "Surabhi Jain and Gengbin Zheng and Maria Garzaran and Cownie, {James H.} and Taru Doodi and Wilmarth, {Terry L.}",
note = "Publisher Copyright: {\textcopyright} 2018 IEEE.; 32nd IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2018 ; Conference date: 21-05-2018 Through 25-05-2018",
year = "2018",
month = aug,
day = "3",
doi = "10.1109/IPDPSW.2018.00203",
language = "English (US)",
isbn = "9781538655559",
series = "Proceedings - 2018 IEEE 32nd International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2018",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "1303--1312",
booktitle = "Proceedings - 2018 IEEE 32nd International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2018",
address = "United States",
}