Content area

Abstract

The Rust programming language seeks to unify the safety guarantees of higher-level languages with the performance of lower-level ones. One lauded safety feature of Rust is its claim of fearless concurrency for programmers, i.e., detecting concurrency errors at compile time. Prior work has studied Rust support for concurrency in open-source Rust system software and libraries. However, the interaction of Rust support and types of parallelism remains unexplored.

Does Rust always provide fearless concurrency? We answer this question by porting programs with abundant regular and irregular parallelism from C++ to Rust. With our resulting RPB suite, we classify parallelism types by their access patterns. Rust, with the Rayon library, grants parallel programmers fearlessness for regular parallelism. However, for applications with any irregular parallelism, the programmer must choose between unsafe code or high-overhead dynamic checks with errors that manifest at run time, leaving parallel programming as challenging with Rust as with its predecessors.

Details

1010268
Title
Fearless and Zero-Cost Parallelism: Rust Promises and Performance Across Various Types of Parallelism
Author
Number of pages
70
Publication year
2024
Degree date
2024
School code
0779
Source
MAI 86/5(E), Masters Abstracts International
ISBN
9798342745758
Committee member
Dehnavi, Maryam M.; Abdelrahman, Tarek S.
University/institution
University of Toronto (Canada)
Department
Electrical and Computer Engineering
University location
Canada -- Ontario, CA
Degree
M.A.S.
Source type
Dissertation or Thesis
Language
English
Document type
Dissertation/Thesis
Dissertation/thesis number
30987881
ProQuest document ID
3126609067
Document URL
https://www.proquest.com/dissertations-theses/fearless-zero-cost-parallelism-rust-promises/docview/3126609067/se-2?accountid=208611
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
Database
ProQuest One Academic