SIRe: An Efficient Snapshot Isolation-based Memory Model for Detecting and Tolerating Region Conflicts
A strong memory model, such as region serializability (RS), helps programmers reason about programs in the granularity of synchronization free regions (SFRs) and allows the compiler and hardware to more freely reorder accesses. However, providing RS usually is expensive in software or requires custom hardware.
A memory model that is slightly weaker than RS but still helps avoid most concurrent bugs is snapshot isolation of SFRs (SISFR). This paper introduces a mechanism called SIRe to provide SISFR that guarantees write-atomicity and a consistent snapshot view to reads in an SFR by tolerating the majority region-conflicts caused by write/write and write/read conflicts and stops if a read/write conflict that has violated SISFR and cannot be tolerated. The paper also compares the performance overhead and latency of SIRe with a similar mechanism that supports RS and shows that SIRe is able to support SISFR much more efficiently than providing RS. We demonstrate SIRe’s effectiveness as a memory model by running it with adversarial memory which can expose real-world concurrent bugs.
I am at Ohio State University in Columbus, Ohio, USA. My research interests span multiple layers of the stack. I am particularly interested in efficient runtime-system, parallel programming, and synchronization techniques.
Right now I am looking at VM support for practical software transactional memory systems, as well as exploiting asynchrony for multi-threading runtime supports.
Prior to working on runtime systems, my projects have also included improving throughput and latency for key-value store solutions such as memcached with InfiniBand. I have also worked on OS virtual machine XEN to support fault tolerance. I completed my Bachelor and Master degree at Huazhong University of Science and Technology, China.