News & Events

  • Luke Dalessandro receives University of Rochester’s Outstanding Dissertation Award for the Hajim School of Engineering

    Date: 05/28/2014

    Transactional Memory (TM) promises a unique combination of safety, convenience, and scalability for synchronization in parallel programs. Programs are annotated with transactions designating regions of code that must execute atomically, and the TM implementation is responsible for guaranteeing this property. Scalable TM implementations will be speculative, executing transactions concurrently where possible and transparently suppressing those that conflict, while guaranteeing that the history of committed transactions is serializable. Recently, practical language integration issues, e.g., publication and privatization, explicit speculation, and interoperability with traditional synchronization, have threatened to erode much of the simplicity that originally made transactional programming appealing.

    In this thesis we preserve the appeal of transactional programming in practical language settings through wholesale replacement of the traditional memory consis-tency model with strict serializability (SS)—a transactional memory consistency model derived from the database semantics of the same name. We develop NOrec, a low overhead and moderately scalable software TM that supports SS. We develop and test a novel hybrid TM strategy that pairs NOrec with “best-effort” hardware TM in order to scalably support SS on limited hardware. Finally, we implement a novel sandboxing system that simplifies existing software TMs and enables TM implementations that were not previously viable. We conclude that it is possible to address the practical concerns with language integration without sacrificing the elegant simplicity of transactional programming.