Accelerating Messages by Avoiding Copies in an Asynchronous Task-based Programming Model
Workshop on Extreme Scale Programming Models and Middleware (ESPM2) 2021
Publication Type: Paper
Repository URL:
Download:
[PDF]
Abstract
Task-based programming models promise improved
communication performance for irregular, fine-grained, and load
imbalanced applications. They do so by relaxing some of the
messaging semantics of stricter models and taking advantage
of those at the lower-levels of the software stack. For example,
while MPI’s two-sided communication model guarantees inorder
delivery, requires matching sends to receives, and has
the user schedule communication, task-based models generally
favor the runtime system scheduling all execution based on
the dependencies and message deliveries as they happen. The
messaging semantics are critical to enabling high performance.
In this paper, we build on previous work that added zero
copy semantics to Converse/LRTS. We examine the messaging
semantics of Charm++ as it relates to large message buffers,
identify shortcomings, and define new communication APIs
to address them. Our work enables in-place communication
semantics in the context of point-to-point messaging, broadcasts,
transmission of read-only variables at program startup, and
for migration of chares. We showcase the performance of our
new communication APIs using benchmarks for Charm++ and
Adaptive MPI, which result in nearly
People
Research Areas