Pure: Evolving Message Passing To Better Leverage Shared Memory Within Nodes

Pure is a new programming model and runtime system explicitly designed to take advantage of shared memory within nodes in the context of a mostly message passing interface enhanced with the ability to use tasks to make use of idle cores. Pure leverages shared memory in two ways: (a) by allowing core...

Full description

Bibliographic Details
Main Authors: Psota, James, Solar-Lezama, Armando
Format: Article
Language:English
Published: ACM 2024
Online Access:https://hdl.handle.net/1721.1/153627
_version_ 1811079825242193920
author Psota, James
Solar-Lezama, Armando
author_facet Psota, James
Solar-Lezama, Armando
author_sort Psota, James
collection MIT
description Pure is a new programming model and runtime system explicitly designed to take advantage of shared memory within nodes in the context of a mostly message passing interface enhanced with the ability to use tasks to make use of idle cores. Pure leverages shared memory in two ways: (a) by allowing cores to steal work from each other while waiting on messages to arrive, and, (b) by leveraging efficient lock-free data structures in shared memory to achieve high-performance messaging and collective operations between the ranks within nodes. We use microbenchmarks to evaluate Pure's key messaging and collective features and also show application speedups up to 2.1× on the CoMD molecular dynamics and the miniAMR adaptive mesh refinement applications scaling up to 4,096 cores.
first_indexed 2024-09-23T11:21:04Z
format Article
id mit-1721.1/153627
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T11:21:04Z
publishDate 2024
publisher ACM
record_format dspace
spelling mit-1721.1/1536272024-03-02T03:44:39Z Pure: Evolving Message Passing To Better Leverage Shared Memory Within Nodes Psota, James Solar-Lezama, Armando Pure is a new programming model and runtime system explicitly designed to take advantage of shared memory within nodes in the context of a mostly message passing interface enhanced with the ability to use tasks to make use of idle cores. Pure leverages shared memory in two ways: (a) by allowing cores to steal work from each other while waiting on messages to arrive, and, (b) by leveraging efficient lock-free data structures in shared memory to achieve high-performance messaging and collective operations between the ranks within nodes. We use microbenchmarks to evaluate Pure's key messaging and collective features and also show application speedups up to 2.1× on the CoMD molecular dynamics and the miniAMR adaptive mesh refinement applications scaling up to 4,096 cores. 2024-03-01T16:41:58Z 2024-03-01T16:41:58Z 2024-02-20 2024-03-01T08:46:32Z Article http://purl.org/eprint/type/ConferencePaper 979-8-4007-0435-2 https://hdl.handle.net/1721.1/153627 Psota, James and Solar-Lezama, Armando. 2024. "Pure: Evolving Message Passing To Better Leverage Shared Memory Within Nodes." PUBLISHER_POLICY en 10.1145/3627535.3638503 Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use. The author(s) application/pdf ACM Association for Computing Machinery
spellingShingle Psota, James
Solar-Lezama, Armando
Pure: Evolving Message Passing To Better Leverage Shared Memory Within Nodes
title Pure: Evolving Message Passing To Better Leverage Shared Memory Within Nodes
title_full Pure: Evolving Message Passing To Better Leverage Shared Memory Within Nodes
title_fullStr Pure: Evolving Message Passing To Better Leverage Shared Memory Within Nodes
title_full_unstemmed Pure: Evolving Message Passing To Better Leverage Shared Memory Within Nodes
title_short Pure: Evolving Message Passing To Better Leverage Shared Memory Within Nodes
title_sort pure evolving message passing to better leverage shared memory within nodes
url https://hdl.handle.net/1721.1/153627
work_keys_str_mv AT psotajames pureevolvingmessagepassingtobetterleveragesharedmemorywithinnodes
AT solarlezamaarmando pureevolvingmessagepassingtobetterleveragesharedmemorywithinnodes