ByteSTM: Java Software Transactional Memory at the Virtual Machine Level

dc.contributor.authorMahmoud Mohamedin, Mohamed Ahmeden
dc.contributor.committeechairRavindran, Binoyen
dc.contributor.committeememberRizk, Mohameden
dc.contributor.committeememberPlassmann, Paul E.en
dc.contributor.committeememberNazhandali, Leylaen
dc.contributor.departmentElectrical and Computer Engineeringen
dc.date.accessioned2014-03-14T20:32:04Zen
dc.date.adate2012-03-21en
dc.date.available2014-03-14T20:32:04Zen
dc.date.issued2012-02-08en
dc.date.rdate2012-03-21en
dc.date.sdate2012-02-22en
dc.description.abstractAs chip vendors are increasingly manufacturing a new generation of multi-processor chips called multicores, improving software performance requires exposing greater concurrency in software. Since code that must be run sequentially is often due to the need for synchronization, the synchronization abstraction has a significant effect on program performance. Lock-based synchronization — the most widely used synchronization method — suffers from programability, scalability, and composability challenges. Transactional memory (TM) is an emerging synchronization abstraction that promises to alleviate the difficulties with lock-based synchronization. With TM, code that read/write shared memory objects is organized as transactions, which speculatively execute. When two transactions conflict (e.g., read/write, write/write), one of them is aborted, while the other commits, yielding (the illusion of) atomicity. Aborted transactions are re-started, after rolling-back changes made to objects. In addition to a simple programming model, TM provides performance comparable to lock-based synchronization. Software transactional memory (STM) implements TM entirely in software, without any special hardware support, and is usually implemented as a library, or supported by a compiler or by a virtual machine. In this thesis, we present ByteSTM, a virtual machine-level Java STM implementation. ByteSTM implements two STM algorithms, TL2 and RingSTM, and transparently supports implicit transactions. Program bytecode is automatically modified to support transactions: memory load/store bytecode instructions automatically switch to transactional mode when a transaction starts, and switch back to normal mode when the transaction successfully commits. Being implemented at the VM-level, it accesses memory directly and uses absolute memory addresses to uniformly handle memory. Moreover, it avoids Java garbage collection (which has a negative impact on STM performance), by manually allocating and recycling memory for transactional metadata. ByteSTM uses field-based granularity, and uses the thread header to store transactional metadata, instead of the slower Java ThreadLocal abstraction. We conducted experimental studies comparing ByteSTM with other state-of-the-art Java STMs including Deuce, ObjectFabric, Multiverse, DSTM2, and JVSTM on a set of micro- benchmarks and macro-benchmarks. Our results reveal that, ByteSTM's transactional throughput improvement over competitors ranges from 20% to 75% on micro-benchmarks and from 36% to 100% on macro-benchmarks.en
dc.description.degreeMaster of Scienceen
dc.identifier.otheretd-02222012-091827en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-02222012-091827/en
dc.identifier.urihttp://hdl.handle.net/10919/31314en
dc.publisherVirginia Techen
dc.relation.haspartMahmoudMohamedin_MA_T_2012.pdfen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectSynchronizationen
dc.subjectVirtual Machineen
dc.subjectJavaen
dc.subjectMultiprocessoren
dc.subjectConcurrencyen
dc.subjectSoftware Transactional Memoryen
dc.titleByteSTM: Java Software Transactional Memory at the Virtual Machine Levelen
dc.typeThesisen
thesis.degree.disciplineElectrical and Computer Engineeringen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
MahmoudMohamedin_MA_T_2012.pdf
Size:
945.97 KB
Format:
Adobe Portable Document Format

Collections