Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Libraries
  3. MIT Theses
  4. Graduate Theses
  5. Enabling the Rust Compiler to Reason about Fork/Join Parallelism via Tapir

Enabling the Rust Compiler to Reason about Fork/Join Parallelism via Tapir

Thumbnail Image
Download
Name

hilton-jhilton-meng-eecs-2024-thesis.pdf

Description
Thesis PDF
Size

752.47 KB

Format

Adobe PDF

Checksum (MD5)

d3a37afd0d04c4ac80f5bbfb24afe0da

Author(s)
Hilton, Jay
Advisor(s)
Schardl, Tao B.
Date Issued
May 2024
Publisher
Massachusetts Institute of Technology
Abstract
Rust + Cilk is an extension to the Rust language incorporating Cilk’s keywords for language level parallelism. The Rust + Cilk compiler leverages the Rust compiler’s static verification of data race freedom and the OpenCilk parallelism platform’s strong theoretical guarantees for performance of parallel programs. I compare Rust + Cilk to existing librarybased parallelism solutions in Rust such as Rayon, as well as to C programs parallelized with OpenCilk, based on performance and ergonomics. I find that Rust + Cilk exhibits marginally worse performance than Rayon, although I expect these differences are possible to bridge with further work. Additionally, Rust + Cilk has ergonomic advantages for some kinds of parallel programs. I outline further research that could make Rust + Cilk a more complete and performant system to further take advantage of the benefits language-based parallelism solutions can offer while statically verifying data race freedom.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
https://creativecommons.org/licenses/by-nc-nd/4.0/
Copyright retained by author(s)
Persistent DSpace Link
https://hdl.handle.net/1721.1/156790
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.