Lock-Free Concurrency in Rust
| dc.contributor.author | Jinstrand, Lilly | |
| dc.contributor.author | Julin, Marcus | |
| dc.contributor.department | Chalmers tekniska högskola / Institutionen för data och informationsteknik | sv |
| dc.contributor.department | Chalmers University of Technology / Department of Computer Science and Engineering | en |
| dc.contributor.examiner | Tsigas, Philippas | |
| dc.contributor.supervisor | Von Geijer, Kåre | |
| dc.date.accessioned | 2025-09-10T09:46:03Z | |
| dc.date.issued | 2024 | |
| dc.date.submitted | ||
| dc.description.abstract | Among the crucial data structures for modern high-performance systems is the fundamental concurrent lock-free FIFO queue. The programming languages selected for these systems typically prioritize speed and efficiency and consequently, these languages inherently lack safety and security in their designs. Due to these drawbacks, Rust was created to maintain the benefits associated with low-level languages while also providing safety and security. It stands as the most-loved language from 2016’s Stack Overflow developer survey to the most recent one in 2023, and since 2022 it has been rated as the most wanted. However, even though a popular language, not much research has been done to investigate Rust as a choice for these concurrent high-performance systems. In this paper, we are putting Rust up to the test, analyzing its suitability for highperformance concurrent lock-free programming. For this, we implement two concurrent lock-free FIFO queues in the Rust language, one classic and the other state-ofthe- art. These are then compared against their counterparts in C or C++ using a diverse set of measurements including throughput, energy, and memory. Additionally, perhaps as important, we assess our developer experience, providing a nuanced view of Rust’s ergonomics, and highlighting some differences with C++. Our comparative analysis shows that Rust is a viable option in a practical high-performance concurrent scenario. Its overall convenience and compatibility with traditional tools, combined with an ecosystem that includes a unique powerful tool exclusive to Rust, makes for a user-friendly and effective programming language and, we believe it is a candidate for high-performance concurrent lock-free programming. | |
| dc.identifier.coursecode | DATX05 | |
| dc.identifier.uri | http://hdl.handle.net/20.500.12380/310444 | |
| dc.language.iso | eng | |
| dc.relation.ispartofseries | CSE 24-168 | |
| dc.setspec.uppsok | Technology | |
| dc.subject | Rust, lock-free, concurrency, concurrent, FIFO queue. | |
| dc.title | Lock-Free Concurrency in Rust | |
| dc.type.degree | Examensarbete för masterexamen | sv |
| dc.type.degree | Master's Thesis | en |
| dc.type.uppsok | H | |
| local.programme | Software engineering and technology (MPSOF), MSc |
