Virtual Machine-level Software Transactional Memory: Principles, Techniques, and Implementation
Abstract
Software transactional memory (STM) has emerged as an easy to program synchronization abstraction for multicore computer architectures. But performance of current STMframeworks are inferior and heavily influenced by infrastructure resource management (e.g., operating system scheduling, garbage collection, memory allocation). The project's first major result is ByteSTM, a virtual machine-level Java STMimplementation that is built by extending the Jikes RVM. The project modified Jikes RVM's optimizing compiler to transparently support implicit transactions. Being implemented at the VM-level, which enables direct memory accesses, ByteSTMavoids Java garbage collection overhead by manually managing memory for transactional metadata, and provides pluggable support for implementing different STMalgorithms. Three well-known STM algorithms have been integrated into ByteSTM: TL2, NOrec, and RingSTM. The project's experimental studies revealed throughput improvement over other non-VM STMs by 6-70% on micro-benchmarks and by 7-60% on macro-benchmarks. ByteSTM is open-source, publicly available (http://hydravm.org/bytestm/), and is used by the TM community.The project s second major result is a set of possibility and impossibility results on the feasibility of ensuring the Disjoint-Access Parallelism (DAP) property for STM implementations (PODC 15). DAP is one of the most desirable properties for maximizing TM s scalability. The project investigated the possibility and inherent cost of implementing a DAP TM that ensures the two most important properties for maximizing performance of read-dominated workloads, namely, having invisible and wait-free read-only transactions. The project proved that relaxing the Real-Time Order (RTO) is necessary to implement such a TM. This result motivated the project to introduce Witnessable Real-Time Order (WRTO), a weaker variant of RTO that demands enforcing RTO only between directly conflicting transactions.
Document Details
- Document Type
- Technical Report
- Publication Date
- Aug 13, 2015
- Accession Number
- ADA621888
Entities
People
- Binoy Ravindran
Organizations
- Virginia Tech