FINE-GRAINED MULTITHREADING SUPPORT FOR HYBRID THREADED MPI PROGRAMMING

被引:34
|
作者
Balaji, Pavan [1 ]
Buntinas, Darius [1 ]
Goodell, David [1 ]
Gropp, William [2 ]
Thakur, Rajeev [1 ]
机构
[1] Argonne Natl Lab, Math & Comp Sci Div, Argonne, IL 60439 USA
[2] Univ Illinois, Dept Comp Sci, Urbana, IL 61801 USA
关键词
MPI; threads; hybrid programming; fine-grained locks;
D O I
10.1177/1094342009360206
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
As high-end computing systems continue to grow in scale, recent advances in multi-and many-core architectures have pushed such growth toward more dense architectures, that is, more processing elements per physical node, rather than more physical nodes themselves. Although a large number of scientific applications have relied so far on an MPI-everywhere model for programming high-end parallel systems; this model may not be sufficient for future machines, given their physical constraints such as decreasing amounts of memory per processing element and shared caches. As a result, application and computer scientists are exploring alternative programming models that involve using MPI between address spaces and some other threaded model, such as OpenMP, Pthreads, or Intel TBB, within an address space. Such hybrid models require efficient support from an MPI implementation for MPI messages sent from multiple threads simultaneously. In this paper, we explore the issues involved in designing such an implementation. We present four approaches to building a fully thread-safe MPI implementation, with decreasing levels of critical-section granularity (from coarse-grain locks to fine-grain locks to lock-free operations) and correspondingly increasing levels of complexity. We present performance results that demonstrate the performance implications of the different approaches.
引用
收藏
页码:49 / 57
页数:9
相关论文
共 50 条
  • [21] Efficient support of fine-grained futures in Java']Java
    Zhang, Lingli
    Krintz, Chandra
    Soman, Sunil
    PROCEEDINGS OF THE 18TH IASTED INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING AND SYSTEMS, 2006, : 175 - +
  • [22] Legba: Fast hardware support for fine-grained protection
    Wiggins, A
    Winwood, S
    Tuch, H
    Heiser, G
    ADVANCES IN COMPUTER SYSTEMS ARCHITECTURE, 2003, 2823 : 320 - 336
  • [23] Quality of Service Support for Fine-Grained Sharing on GPUs
    Wang, Zhenning
    Yang, Jun
    Melhem, Rami
    Childers, Bruce
    Zhang, Youtao
    Guo, Minyi
    44TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA 2017), 2017, : 269 - 281
  • [24] READY: A Fine-Grained Multithreading Overlay Framework for Modern CPU-FPGA Dataflow Applications
    Da Silva, Lucas Braganca
    Ferreira, Ricardo
    Canesche, Michael
    Menezes, Marcelo M.
    Vieira, Maria D.
    Penha, Jeronimo
    Jamieson, Peter
    Nacif, Jose Augusto M.
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2019, 18 (05)
  • [25] Experience with mixed MPI/threaded programming models
    May, JM
    de Supinski, BR
    INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOL VI, PROCEEDINGS, 1999, : 2907 - 2912
  • [26] A Fine-Grained Open Learner Model for an Introductory Programming Course
    Barria-Pineda, Jordan
    Guerra-Hollstein, Julio
    Brusilovsky, Peter
    PROCEEDINGS OF THE 26TH CONFERENCE ON USER MODELING, ADAPTATION AND PERSONALIZATION (UMAP'18), 2018, : 53 - 61
  • [27] Global control constructs in fine-grained parallel programming environments
    Tudruj, M
    1ST AUSTRIAN-HUNGARIAN WORKSHOP ON DISTRIBUTED AND PARALLEL SYSTEMS, PROCEEDINGS, 1996, 1996 (09): : 209 - 210
  • [28] A Fine-Grained, Customizable Debugger for Aspect-Oriented Programming
    Yin, Haihan
    Bockisch, Christoph
    Aksit, Mehmet
    TRANSACTIONS ON ASPECT-ORIENTED SOFTWARE DEVELOPMENT X, 2013, 7800 : 1 - 38
  • [29] Efficient MPI Support for Advanced Hybrid Programming Models
    Hoefler, Torsten
    Bronevetsky, Greg
    Barrett, Brian
    de Supinski, Bronis R.
    Lumsdaine, Andrew
    RECENT ADVANCES IN THE MESSAGE PASSING INTERFACE, 2010, 6305 : 50 - +
  • [30] Fine-grained global control constructs for parallel programming environments
    Tudruj, M
    PARALLEL PROGRAMMING AND JAVA, 1997, 50 : 229 - 243