Conflict Abstractions and Shadow Speculation for Optimistic Transactional Objects
Concurrent data structures implemented using software transactional memory (STM) perform poorly when operations which do not conflict in the definition of the abstract data type nonetheless incur conflicts in the concrete state of an implementation. Several works addressed various aspects of this problem, yet will still lack efficient, general-purpose mechanisms that allow one to readily integrate black-box concurrent data-structures into existing STM frameworks. In this paper we take a step further toward this goal, by focusing on the challenge of how to use black-box concurrent data structures in an optimistic transactional manner, while exploiting an off-the-shelf STM for transaction-level conflict detection. To this end, we introduce two new enabling concepts. First, we define data-structure conflict in terms of commutativity but, unlike prior work, we introduce a new format called conflict abstractions, which is kept separate from the object implementation and is fit for optimistic conflict detection. Second, we describe shadow speculation for wrapping off-the-shelf concurrent objects so that updates can be speculatively and opaquely applied—and even return values observed—but then later dropped (on abort) or else atomically applied (on commit). We have realized these concepts in a new open-source transactional system called ScalaProust built on top of ScalaSTM and report encouraging experimental results.
Tue 3 Dec
|13:30 - 14:00|
Taolue ChenBirkbeck, University of London, Jilong HeInstitute of Software, Chinese Academy of Sciences, Yu-Ping WangTsinghua University, China, Zhilin WuState Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Jun YanInstitute of Software, Chinese Academy of Sciences
|14:00 - 14:30|
|14:30 - 15:00|