Show simple item record

dc.contributor.authorLively, Thomas
dc.date.accessioned2019-03-26T11:07:54Z
dc.date.created2018-05
dc.date.issued2018-06-29
dc.date.submitted2018
dc.identifier.urihttp://nrs.harvard.edu/urn-3:HUL.InstRepos:38811564*
dc.description.abstractTransactional memory is a concurrency primitive that is easier to reason about and therefore less error prone than locking, but traditional software implementations have been unacceptably slow. STO, a transactional memory library by Herman et al, improves performance by logging abstract data structure operations rather than individual reads and writes, but requires data structure authors to explicitly support the STO protocol, making it possible to accidentally make non-transactional modifications to data structures from within a transaction block. In this thesis I describe sto-rs, a port of STO from C++ to Rust (26), a new systems programming language that can provide strong guarantees about memory safety in the presence of parallelism. In doing so I show that Rust's type system allows many programming mistakes possible using the original STO to be prevented at compile time. This work also supports Rust's claim that its type system is agnostic to concurrency schemes and that the language can express arbitrary new concurrency primitives.
dc.format.mimetypeapplication/pdf
dc.language.isoen
dash.licenseLAA
dc.subjectComputer Science
dc.titleTransactional Memory in Rust
dc.typeThesis or Dissertation
dash.depositing.authorLively, Thomas
dc.date.available2019-03-26T11:07:54Z
thesis.degree.date2018
thesis.degree.grantorHarvard College
thesis.degree.levelUndergraduate
thesis.degree.nameAB
dc.type.materialtext
thesis.degree.departmentComputer Science
dash.identifier.vireohttp://etds.lib.harvard.edu/college/admin/view/298
dash.author.emailtlively123@gmail.com


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record