PROCEEDINGS OF SC24-W WORKSHOPS OF THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS(2024)
Pacific Northwest Natl Lab
被引用1|浏览6
摘要
The discussion around "safe" programming languages has significantly increased in recent years, and is impacting how governments, industry, and academia plan to develop current and future software products. The White House Office of the National Cyber Director released a report [1] in February 2024 calling on the technical community to work towards proactively reducing attack surfaces in cyberspace, in part, specifically by adopting memory safe programming languages. While the main discourse thus far has been focused on cybersecurity, memory safety issues are also a concern in HPC, where memory related errors can result in wasted execution time, incorrect results, etc. Legacy programming languages in HPC such as C and C++ provide freedom and flexibility with memory management, but requires the developer to guarantee safety. While it is possible to develop "un-safe" code in all programming languages, "memory-safe" languages help guarantee safety by utilizing various compile time and runtime checks and validation systemsIn this paper we introduce Lamellar, an asynchronous tasking and PGAS runtime system for HPC written in Rust, one such "memory-safe" language. We describe the entire Lamellar stack, from network interfaces to safe high-level abstractions such as distributed LamellarArrays and Active Messages. The goal of our runtime is to enable end-users to develop entirely safe Rust code in their applications, limiting the use of any "unsafe" code blocks to rigorously tested code blocks within the runtime itself. We conclude by showing comparable performance against several C, C++, and Chapel implementations of a subset of the BALE kernel suite while maintaining strong memory safety principles.
更多
查看译文
关键词
HPC,PGAS,Asynchronous,Runtime,Distributed Computing,Rust Programming Language