Integrating OpenMP into the Charm++ programming model

Seonmyeong Bak, Harshitha Menon, Sam White, Matthias Diener, Laxmikant Kale

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The recent trend of rapid increase in the number of cores per chip has resulted in vast amounts of on-node parallelism. These high core counts result in hardware variability that introduces imbalance. Applications are also becoming more complex themselves, resulting in dynamic load imbalance. Load imbalance of any kind can result in loss of performance and decrease in system utilization. In this paper, we propose a new integrated runtime system that adds OpenMP shared-memory parallelism to the Charm++ distributed programming model to improve load balancing on distributed systems. Our proposal utilizes an infrequent periodic assignment of work to cores based on load measurement, in combination with tasks created via OpenMP’s parallel loop construct from each core to handle load imbalance. We demonstrate the benefits of using this integrated runtime system on the LLNL ASC proxy application Lassen, achieving speedups of 50% over runs without any load balancing and 10% over existing distributed-memory-only balancing schemes in Charm++.

Original languageEnglish (US)
Title of host publicationProceedings of ESPM2 2017
Subtitle of host publication3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis
PublisherAssociation for Computing Machinery, Inc
ISBN (Print)9781450351331
DOIs
StatePublished - Nov 12 2017
Event3rd International Workshop on Extreme Scale Programming Models and Middleware, ESPM2 2017 - Held in conjunction with the International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2017 - Denver, United States
Duration: Nov 12 2017Nov 17 2017

Publication series

NameProceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis

Other

Other3rd International Workshop on Extreme Scale Programming Models and Middleware, ESPM2 2017 - Held in conjunction with the International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2017
CountryUnited States
CityDenver
Period11/12/1711/17/17

Fingerprint

Resource allocation
Data storage equipment
Dynamic loads
Computer programming
Loads (forces)
Hardware

Keywords

  • Charm++
  • Load balancing
  • OpenMP

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Hardware and Architecture
  • Software

Cite this

Bak, S., Menon, H., White, S., Diener, M., & Kale, L. (2017). Integrating OpenMP into the Charm++ programming model. In Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis (Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis). Association for Computing Machinery, Inc. https://doi.org/10.1145/3152041.3152085

Integrating OpenMP into the Charm++ programming model. / Bak, Seonmyeong; Menon, Harshitha; White, Sam; Diener, Matthias; Kale, Laxmikant.

Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis. Association for Computing Machinery, Inc, 2017. (Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Bak, S, Menon, H, White, S, Diener, M & Kale, L 2017, Integrating OpenMP into the Charm++ programming model. in Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis. Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis, Association for Computing Machinery, Inc, 3rd International Workshop on Extreme Scale Programming Models and Middleware, ESPM2 2017 - Held in conjunction with the International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2017, Denver, United States, 11/12/17. https://doi.org/10.1145/3152041.3152085
Bak S, Menon H, White S, Diener M, Kale L. Integrating OpenMP into the Charm++ programming model. In Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis. Association for Computing Machinery, Inc. 2017. (Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis). https://doi.org/10.1145/3152041.3152085
Bak, Seonmyeong ; Menon, Harshitha ; White, Sam ; Diener, Matthias ; Kale, Laxmikant. / Integrating OpenMP into the Charm++ programming model. Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis. Association for Computing Machinery, Inc, 2017. (Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis).
@inproceedings{8d21180a4a62456899ce881a2df1fa45,
title = "Integrating OpenMP into the Charm++ programming model",
abstract = "The recent trend of rapid increase in the number of cores per chip has resulted in vast amounts of on-node parallelism. These high core counts result in hardware variability that introduces imbalance. Applications are also becoming more complex themselves, resulting in dynamic load imbalance. Load imbalance of any kind can result in loss of performance and decrease in system utilization. In this paper, we propose a new integrated runtime system that adds OpenMP shared-memory parallelism to the Charm++ distributed programming model to improve load balancing on distributed systems. Our proposal utilizes an infrequent periodic assignment of work to cores based on load measurement, in combination with tasks created via OpenMP’s parallel loop construct from each core to handle load imbalance. We demonstrate the benefits of using this integrated runtime system on the LLNL ASC proxy application Lassen, achieving speedups of 50{\%} over runs without any load balancing and 10{\%} over existing distributed-memory-only balancing schemes in Charm++.",
keywords = "Charm++, Load balancing, OpenMP",
author = "Seonmyeong Bak and Harshitha Menon and Sam White and Matthias Diener and Laxmikant Kale",
year = "2017",
month = "11",
day = "12",
doi = "10.1145/3152041.3152085",
language = "English (US)",
isbn = "9781450351331",
series = "Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis",
publisher = "Association for Computing Machinery, Inc",
booktitle = "Proceedings of ESPM2 2017",

}

TY - GEN

T1 - Integrating OpenMP into the Charm++ programming model

AU - Bak, Seonmyeong

AU - Menon, Harshitha

AU - White, Sam

AU - Diener, Matthias

AU - Kale, Laxmikant

PY - 2017/11/12

Y1 - 2017/11/12

N2 - The recent trend of rapid increase in the number of cores per chip has resulted in vast amounts of on-node parallelism. These high core counts result in hardware variability that introduces imbalance. Applications are also becoming more complex themselves, resulting in dynamic load imbalance. Load imbalance of any kind can result in loss of performance and decrease in system utilization. In this paper, we propose a new integrated runtime system that adds OpenMP shared-memory parallelism to the Charm++ distributed programming model to improve load balancing on distributed systems. Our proposal utilizes an infrequent periodic assignment of work to cores based on load measurement, in combination with tasks created via OpenMP’s parallel loop construct from each core to handle load imbalance. We demonstrate the benefits of using this integrated runtime system on the LLNL ASC proxy application Lassen, achieving speedups of 50% over runs without any load balancing and 10% over existing distributed-memory-only balancing schemes in Charm++.

AB - The recent trend of rapid increase in the number of cores per chip has resulted in vast amounts of on-node parallelism. These high core counts result in hardware variability that introduces imbalance. Applications are also becoming more complex themselves, resulting in dynamic load imbalance. Load imbalance of any kind can result in loss of performance and decrease in system utilization. In this paper, we propose a new integrated runtime system that adds OpenMP shared-memory parallelism to the Charm++ distributed programming model to improve load balancing on distributed systems. Our proposal utilizes an infrequent periodic assignment of work to cores based on load measurement, in combination with tasks created via OpenMP’s parallel loop construct from each core to handle load imbalance. We demonstrate the benefits of using this integrated runtime system on the LLNL ASC proxy application Lassen, achieving speedups of 50% over runs without any load balancing and 10% over existing distributed-memory-only balancing schemes in Charm++.

KW - Charm++

KW - Load balancing

KW - OpenMP

UR - http://www.scopus.com/inward/record.url?scp=85050991568&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85050991568&partnerID=8YFLogxK

U2 - 10.1145/3152041.3152085

DO - 10.1145/3152041.3152085

M3 - Conference contribution

AN - SCOPUS:85050991568

SN - 9781450351331

T3 - Proceedings of ESPM2 2017: 3rd International Workshop on Extreme Scale Programming Models and Middleware - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis

BT - Proceedings of ESPM2 2017

PB - Association for Computing Machinery, Inc

ER -