mpi4py.futures: MPI-Based Asynchronous Task Execution for Python']Python

被引:4
|
作者
Rogowski, Marcin [1 ,2 ]
Aseeri, Samar [1 ]
Keyes, David [1 ,2 ]
Dalcin, Lisandro [1 ]
机构
[1] King Abdullah Univ Sci & Technol KAUST, Extreme Comp Res Ctr ECRC, Thuwal 239556900, Saudi Arabia
[2] King Abdullah Univ Sci & Technol KAUST, Comp Sci Program, Thuwal 239556900, Saudi Arabia
关键词
MPI; !text type='Python']Python[!/text; parallelism; master-worker; parallel programming models; distributed computing; high performance computing; task execution; multiprocessing;
D O I
10.1109/TPDS.2022.3225481
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We present mpi4py.futures, a lightweight, asynchronous task execution framework targeting the Python programming language and using the Message Passing Interface (MPI) for interprocess communication. mpi4py.futures follows the interface of the concurrent.futures package from the Python standard library and can be used as its drop-in replacement, while allowing applications to scale over multiple compute nodes. We discuss the design, implementation, and feature set of mpi4py.futures and compare its performance to other solutions on both shared and distributed memory architectures. On a shared-memory system, we show mpi4py.futures to consistently outperform Python's concurrent.futures with speedup ratios between 1.4X and 3.7X in throughput (tasks per second) and between 1.9X and 2.9X in bandwidth. On a Cray XC40 system, we compare mpi4py.futures to Dask - a well-known Python parallel computing package. Although we note more varied results, we show mpi4py.futures to outperform Dask in most scenarios.
引用
收藏
页码:611 / 622
页数:12
相关论文
共 17 条
  • [1] Performance of MPI Codes Written in Python']Python with NumPy and mpi4py
    Smith, Ross
    [J]. PROCEEDINGS OF PYHPC2016: 6TH WORKSHOP ON PYTHON FOR HIGH-PERFORMANCE AND SCIENTIFIC COMPUTING, 2016, : 45 - 51
  • [2] Performance Evaluation of Python']Python Parallel Programming Models: Charm4Py and mpi4py
    Fink, Zane
    Liu, Simeng
    Choi, Jaemin
    Diener, Matthias
    Kale, Laxmikant, V
    [J]. PROCEEDINGS OF SIXTH INTERNATIONAL IEEE WORKSHOP ON EXTREME SCALE PROGRAMMING MODELS AND MIDDLEWARE (ESPM2 2021), 2021, : 38 - 44
  • [3] Asynchronous Execution of Python']Python Code on Task-Based Runtime Systems
    Tohid, R.
    Wagle, Bibek
    Shirzad, Shahrzad
    Diehl, Patrick
    Serio, Adrian
    Kheirkhahan, Alireza
    Amini, Parsa
    Williams, Katy
    Isaacs, Kate
    Huck, Kevin
    Brandt, Steven
    Kaiser, Hartmut
    [J]. PROCEEDINGS OF 2018 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON EXTREME SCALE PROGRAMMING MODELS AND MIDDLEWARE (ESPM2 2018), 2018, : 37 - 45
  • [4] OMB-Py: Python']Python Micro-Benchmarks for Evaluating Performance of MPI Libraries on HPC Systems
    Alnaasan, Nawras
    Jain, Arpan
    Shafi, Aamir
    Subramoni, Hari
    Panda, Dhabaleswar K.
    [J]. 2022 IEEE 36TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW 2022), 2022, : 870 - 879
  • [5] MPI-based Asynchronous Simulation of Spiking Neural Networks on the Grid
    Joldos, Marius
    Vinteler, Octavian
    Peter, Ioan Radu
    Muntean, Ioan Lucian
    [J]. 2013 15TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2013), 2014, : 481 - 487
  • [6] Asynchronous progress design for a MPI-based PGAS one-sided communication system
    Zhou, Huan
    Gracia, Jose
    [J]. 2016 IEEE 22ND INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS), 2016, : 999 - 1006
  • [7] ARCH, an object oriented MPI-based library for asynchronous and loosely synchronous parallel system programming
    Adamo, JM
    [J]. RECENT ADVANCES IN PARALLEL VIRTUAL MACHINE AND MESSAGE PASSING INTERFACE, 1997, 1332 : 67 - 74
  • [8] Monetary Cost Optimizations for MPI-Based HPC Applications on Amazon Clouds: Checkpoints and Replicated Execution
    Gong, Yifan
    He, Bingsheng
    Zhou, Amelie Chi
    [J]. PROCEEDINGS OF SC15: THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2015,
  • [9] MULTI-OBJECTIVE TASK SCHEDULING USING SMART MPI-BASED CLOUD RESOURCES
    Mokhtari, Mehran
    Bayat, Peyman
    Motameni, Homayun
    [J]. COMPUTING AND INFORMATICS, 2021, 40 (01) : 104 - 144
  • [10] Accelerating GPU-based Machine Learning in Python']Python using MPI Library: A Case Study with MVAPICH2-GDR
    Ghazimirsaeed, S. Mahdieh
    Anthony, Quentin
    Shafi, Aamir
    Subramoni, Hari
    Panda, Dhabaleswar K. Dk
    [J]. 2020 IEEE/ACM WORKSHOP ON MACHINE LEARNING IN HIGH PERFORMANCE COMPUTING ENVIRONMENTS (MLHPC 2020) AND WORKSHOP ON ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING FOR SCIENTIFIC APPLICATIONS (AI4S 2020), 2020, : 17 - 28