基于静态验证的RSMPI类型安全增强:面向MPI的Rust方法
摘要
信息传递接口(MPI)是构建高性能计算(HPC)应用程序的基本工具, enables efficient communication across distributed systems. Despite its widespread adoption, MPI's low-level interface and lack of built-in type safety make it prone to runtime errors, undefined behavior, and debugging challenges, especially in large-scale applications. Rust, a modern systems programming language, offers a compelling solution with its strong type system, which enforces memory and type safety at compile time without compromising performance. This paper introduces a type-safe communication framework for MPI, built on the RSMPI library, to address the limitations of traditional MPI programming. At its core is the TypedCommunicator, an abstraction that enforces static type safety in point-to-point communication operations. By leveraging Rust's Equivalence trait, our framework guarantees that only compatible types can participate in communication, catching mismatches either at compile time or through runtime validation. The framework supports both single-value and slice-based communication, providing an intuitive API for diverse data structures. Our implementation demonstrates that this approach eliminates common MPI errors, improves developer productivity, and maintains performance, adhering to Rust's principle of zero-cost abstractions. This work lays the foundation for extending type safety to collective operations, advancing the robustness of parallel computing in Rust.
引用
@article{arxiv.2509.10803,
title = {Enhancing Type Safety in MPI with Rust: A Statically Verified Approach for RSMPI},
author = {Nafees Iqbal and Jed Brown},
journal= {arXiv preprint arXiv:2509.10803},
year = {2025}
}