Show simple item record

dc.contributor.advisorCeze, Luis Hen_US
dc.contributor.authorDevietti, Josephen_US
dc.date.accessioned2013-04-17T18:02:59Z
dc.date.available2013-04-17T18:02:59Z
dc.date.issued2013-04-17
dc.date.submitted2012en_US
dc.identifier.otherDevietti_washington_0250E_11102.pdfen_US
dc.identifier.urihttp://hdl.handle.net/1773/22597
dc.descriptionThesis (Ph.D.)--University of Washington, 2012en_US
dc.description.abstractNondeterminism is one of the main reasons that parallel programming is so difficult. Bugs can vanish when programs are rerun or run under a debugger, thwarting attempts at their removal. Stress-testing is a common practice to flush out rare defects though it consumes extensive processing power and offers no real guarantees of discovering bugs. Deployment can similarly expose new issues that are difficult to reproduce. Finally, nondeterminism frustrates replicating multithreaded programs for fault-tolerance or performance as the replicas can diverge silently. Determinism eliminates these problems, making debugging and replication possible and making testing more valuable and efficient. Previous efforts at providing determinism required programs to be (re-)written in restrictive languages. In contrast to these language-level determinism schemes, this dissertation shows how execution-level determinism can be provided for arbitrary parallel programs, even programs that contain concurrency errors. First, we employ a hardware-based approach to provide determinism for unmodified binaries running on a deterministic multiprocessor system. Second, we show that memory consistency relaxations both enable a pure software-based implementation of execution-level determinism for arbitrary programs and also admit a simpler deterministic multiprocessor design. Finally, we describe a hybrid mechanism that integrates execution-level and language-level determinism techniques to provide determinism for arbitrary programs with higher performance than an execution-level approach alone.en_US
dc.format.mimetypeapplication/pdfen_US
dc.language.isoen_USen_US
dc.rightsCopyright is held by the individual authors.en_US
dc.subjectdeterminism; multicore; multithreaded programming; parallel programmingen_US
dc.subject.otherComputer scienceen_US
dc.subject.othercomputer science and engineeringen_US
dc.titleDeterministic Execution for Arbitrary Multithreaded Programsen_US
dc.typeThesisen_US
dc.embargo.termsNo embargoen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record