Show simple item record

dc.contributor.authorHerman, Nathanielen_US
dc.date.accessioned2015-04-09T13:56:01Z
dc.date.created2015-05en_US
dc.date.issued2015-04-08en_US
dc.date.submitted2015en_US
dc.identifier.citationHerman, Nathaniel. 2015. Memory Abstractions for Data Transactions. Bachelor's thesis, Harvard College.en_US
dc.identifier.urihttp://nrs.harvard.edu/urn-3:HUL.InstRepos:14398537
dc.description.abstractThis thesis presents STO, a software transactional memory (STM) based not on low-level reads and writes on memory, but on datatypes—arrays, lists, queues, hash tables, and so forth—that explicitly support transactional operations. Conventional STMs allow programmers to write concurrent code in much the same way as sequential code—thereby more easily taking advantage of multiple CPU cores. However, these conventional STMs track every memory word accessed during a transaction, so even simple operations can perform many more memory accesses for synchronization than is strictly required for transactional correctness. Our insight is that concurrent data structures can generate fewer superfluous accesses, and use more efficient concurrency protocols, when transaction bookkeeping tracks high-level operations like “insert node into tree.” We test our ideas on the STAMP benchmark suite for STM applications, on a high-performance in-memory database, and on a previously single-threaded program that we extend to multithreaded operation. We find that datatypes can support transactional operations without too much trouble; that relatively naive users can build simple transaction support into their own data structures; and that our typed STM can outperform and outscale conventional, untyped STM, and even outperform world-class, hand-rolled transactional implementations for databases. This thesis also includes a full implementation of the system, which will be made open source and is currently available on request.en_US
dc.format.mimetypeapplication/pdfen_US
dc.language.isoenen_US
dash.licenseLAAen_US
dc.subjectComputer Scienceen_US
dc.titleMemory Abstractions for Data Transactionsen_US
dc.typeThesis or Dissertationen_US
dash.depositing.authorHerman, Nathanielen_US
dc.date.available2015-04-09T13:56:01Z
thesis.degree.date2015en_US
thesis.degree.grantorHarvard Collegeen_US
thesis.degree.levelUndergraduateen_US
thesis.degree.nameABen_US
dc.type.materialtexten_US
thesis.degree.departmentComputer Scienceen_US
dash.identifier.vireohttp://etds.lib.harvard.edu/college/admin/view/59en_US
dash.title.page1en_US
dash.author.emailnherman@post.harvard.eduen_US
dash.identifier.drsurn-3:HUL.DRS.OBJECT:25267807en_US
dash.identifier.orcid0000-0002-8504-2925en_US
dash.contributor.affiliatedHerman, Nathaniel
dc.identifier.orcid0000-0002-8504-2925


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record