Show simple item record

dc.contributor.advisorSchardl, Tao B.
dc.contributor.authorHilton, Jay
dc.date.accessioned2024-09-16T13:49:20Z
dc.date.available2024-09-16T13:49:20Z
dc.date.issued2024-05
dc.date.submitted2024-07-11T14:36:32.856Z
dc.identifier.urihttps://hdl.handle.net/1721.1/156790
dc.description.abstractRust + 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.
dc.publisherMassachusetts Institute of Technology
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
dc.rightsCopyright retained by author(s)
dc.rights.urihttps://creativecommons.org/licenses/by-nc-nd/4.0/
dc.titleEnabling the Rust Compiler to Reason about Fork/Join Parallelism via Tapir
dc.typeThesis
dc.description.degreeM.Eng.
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
mit.thesis.degreeMaster
thesis.degree.nameMaster of Engineering in Electrical Engineering and Computer Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record