Effective and Efficient Offloading Designs for One-Sided Communication to SmartNICs
One-sided communication is one of many approaches to use for data transfer in High-Performance Computing (HPC) applications. One-sided operations require less demand on parallel programming libraries and do not require HPC hardware to issue acknowledgments of successful data transfer. Thanks to its inherently non-blocking nature, one-sided communication is also useful for improving overlap between communication and compute. As with any non-blocking communication, however, we run into the issue of message progression getting interleaved with computation. With the advent of Smart Network Cards (SmartNIC) such as NVIDIA's BlueField Data Processing Units (DPU), we can offload the communication and message progression to these devices to improve the overlap of communication and compute. In this paper, we propose designs for efficient offloading of one-sided communication. We show how our designs can be used for offloading both MPI one-sided “put” and “get” and OpenSHMEM's non-blocking “put” and “get”. Using a Block Sparse Matrix-Multiplication Kernel (BSPMM), we show that our designs achieve over 96% improvement in runtime over pure-host execution for communication offload. We also briefly explore initial compute offload ideas for such one-sided kernels and show over 91% improvement in runtime here.
Authors
- B Michałowicz (ORCID: https://orcid.org/0000-0002-7450-5787)
- Mustafa Abduljabbar (ORCID: https://orcid.org/0000-0003-1280-130X)
- Hari Subramoni
- Kaushik Kandadi Suresh (ORCID: https://orcid.org/0000-0002-3705-2387)
- Dhabaleswar K. Panda
- Steve Poole
Institutions
- Los Alamos National Laboratory (US)
- The Ohio State University (US)
Publication Details
- Published
- 2024-12-18
- DOI
- https://doi.org/10.1109/hipc62374.2024.00012
- Citations
- 2
- Primary Topic
- Molecular Communication and Nanonetworks
- Type
- article
- Field-Weighted Citation Impact
- 0.37
Funders
- National Science Foundation