Issues in developing a thread-safe MPI implementation

被引:0
|
作者
Gropp, William [1 ]
Thakur, Rajeev [1 ]
机构
[1] Argonne Natl Lab, Div Math & Comp Sci, Argonne, IL 60439 USA
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The MPI-2 Standard has carefully specified the interaction between MPI and user-created threads, with the goal of enabling users to write multithreaded programs while also enabling MPI implementations to deliver high performance. In this paper, we describe and analyze what the MPI Standard says about thread safety and what it implies for an implementation. We classify the MPI functions based on their thread-safety requirements and discuss several issues to consider when implementing thread safety in MPI. We use the example of generating new context ids (required for creating new communicators) to demonstrate how a simple solution for the single-threaded case cannot be used when there are multiple threads and how a naive thread-safe algorithm can be expensive. We then present an algorithm for generating context ids that works efficiently in both single-threaded and multithreaded cases.
引用
收藏
页码:12 / 21
页数:10
相关论文
共 50 条
  • [1] (Quasi-) thread-safe PVM and (quasi-) thread-safe MPI without active polling
    Plachetka, T
    RECENT ADVANCES IN PARALLEL VITUAL MACHINE AND MESSAGE PASSING INTERFACE, PROCEEDINGS, 2002, 2474 : 296 - 305
  • [2] Thread-safe access to collections
    Kleber, Jeff
    C/C++ Users Journal, 2000, 18 (05): : 38 - 39
  • [3] Thread-Safe Reactive Programming
    Drechsler, Joscha
    Mogk, Ragnar
    Salvaneschi, Guido
    Mezini, Mira
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [4] Thread-Safe Reactive Programming
    Drechsler, Joscha
    Mogk, Ragnar
    Salvaneschi, Guido
    Mezini, Mira
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [5] A Thread-Safe Communication Mechanism for Message-Passing Interface based on MPI Standard
    Gomes Junior, Augusto Mendes
    Kakugawa, Fernando Ryoji
    Bianchini, Calebe de Paula
    Massetto, Francisco Isidro
    JCPC: 2009 JOINT CONFERENCE ON PERVASIVE COMPUTING, 2009, : 173 - +
  • [6] Towards Generating Thread-Safe Classes Automatically
    Wang, Haichi
    Wang, Zan
    Sun, Jun
    Liu, Shuang
    Sadiq, Ayesha
    Li, Yuan-Fang
    2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 943 - 955
  • [7] Cuckoo: a language for implementing memory-safe and thread-safe system
    West, R
    Wong, GT
    PLC '05: PROCEEDINGS OF THE 2005 INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGES AND COMPILERS, 2005, : 94 - 100
  • [8] A Highly Efficient, Thread-Safe Software Cache Implementation for Tightly-Coupled Multicore Clusters
    Pinto, Christian
    Benini, Luca
    PROCEEDINGS OF THE 2013 IEEE 24TH INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS (ASAP 13), 2013, : 281 - 288
  • [9] Fyr: a memory-safe and thread-safe systems programming language
    Weis, Torben
    Waltereit, Marian
    Uphoff, Maximilian
    SAC '19: PROCEEDINGS OF THE 34TH ACM/SIGAPP SYMPOSIUM ON APPLIED COMPUTING, 2019, : 1574 - 1577
  • [10] TOSThreads: Thread-safe and Non-invasive Preemption in TinyOS
    Klues, Kevin
    Liang, Chieh-Jan Mike
    Paek, Jeongyeup
    Musaloiu-E, Razvan
    Levis, Philip
    Terzis, Andreas
    Govindan, Ramesh
    SENSYS 09: PROCEEDINGS OF THE 7TH ACM CONFERENCE ON EMBEDDED NETWORKED SENSOR SYSTEMS, 2009, : 127 - 140