Input Acceptance of Time-Warping Transactional Memory
Nuno Diegues and Paolo Romano
ndiegues@gsd.inesc-id.pt
Nuno Diegues 1/20
Input Acceptance of Time-Warping Transactional Memory Nuno Diegues - - PowerPoint PPT Presentation
Input Acceptance of Time-Warping Transactional Memory Nuno Diegues and Paolo Romano ndiegues@gsd.inesc-id.pt Nuno Diegues 1/20 Context Time-warp [DISC13] minimize spurious abort Nuno Diegues 2/20 Context Time-warp [DISC13]
Nuno Diegues 1/20
Nuno Diegues 2/20
Nuno Diegues 2/20
Nuno Diegues 2/20
Nuno Diegues 3/20
Nuno Diegues 4/20
Nuno Diegues 4/20
Nuno Diegues 5/20
Nuno Diegues 6/20
read x
read y write y read x write x
rw
Nuno Diegues 6/20
read x
read y write y read x write x
rw
time serialization Nuno Diegues 6/20
read x
read y write y read x write x
rw
time
rw
serialization Nuno Diegues 6/20
read x
read y write y read x write x
rw
serialization Nuno Diegues 6/20
read x
read y write y read x write x
rw
serialization
rw
Nuno Diegues 6/20
read x
read y write y read x write x
rw
serialization
rw
Nuno Diegues 6/20
Nuno Diegues 7/20
Nuno Diegues 7/20
◮ a triad
write y read y
rw
write x
read x
rw
Nuno Diegues 7/20
◮ a triad
◮ the pivot
write y read y
rw
write x
read x
rw
Pivot Nuno Diegues 7/20
◮ a triad
◮ the pivot
◮ Completes a triad ◮ Whose pivot time-warp
write y read y
rw
write x
read x
rw
Pivot Nuno Diegues 7/20
Nuno Diegues 8/20
Nuno Diegues 8/20
Nuno Diegues 9/20
Nuno Diegues 10/20
Nuno Diegues 10/20
Nuno Diegues 10/20
Nuno Diegues 10/20
Visible Writes Visible Reads (VWVR) Visible Writes Invisible Reads (VWIR) Invisible Writes Invisible Reads (IWIR) Serializability Graph Testing (SGT)
SXM 2PL SSTM DSTM TinySTM SwissTM WSTM TL2 JVSTM Nuno Diegues 11/20
Visible Writes Visible Reads (VWVR) Visible Writes Invisible Reads (VWIR) Invisible Writes Invisible Reads (IWIR) Serializability Graph Testing (SGT)
SXM 2PL AbortsAvoider SSTM Interval based (IB)
TWM DSTM TinySTM SwissTM
WSTM TL2
TSTM IR_VWC_P AVSTM JVSTM SMV MV-IWIR
Nuno Diegues 12/20
Visible Writes Visible Reads (VWVR) Visible Writes Invisible Reads (VWIR) Invisible Writes Invisible Reads (IWIR) Serializability Graph Testing (SGT)
SXM 2PL AbortsAvoider SSTM Interval based (IB)
TWM DSTM TinySTM SwissTM
WSTM TL2
TSTM IR_VWC_P AVSTM JVSTM SMV MV-IWIR
Nuno Diegues 13/20
Visible Writes Visible Reads (VWVR) Visible Writes Invisible Reads (VWIR) Invisible Writes Invisible Reads (IWIR) Serializability Graph Testing (SGT)
SXM 2PL AbortsAvoider SSTM Interval based (IB)
TWM DSTM TinySTM SwissTM
WSTM TL2
TSTM IR_VWC_P AVSTM JVSTM SMV MV-IWIR
Nuno Diegues 14/20
Visible Writes Visible Reads (VWVR) Visible Writes Invisible Reads (VWIR) Invisible Writes Invisible Reads (IWIR) Serializability Graph Testing (SGT)
SXM 2PL AbortsAvoider SSTM Interval based (IB)
TWM DSTM TinySTM SwissTM
WSTM TL2
TSTM IR_VWC_P AVSTM JVSTM SMV MV-IWIR
Nuno Diegues 15/20
Visible Writes Visible Reads (VWVR) Visible Writes Invisible Reads (VWIR) Invisible Writes Invisible Reads (IWIR) Serializability Graph Testing (SGT)
SXM 2PL AbortsAvoider SSTM Interval based (IB)
TWM DSTM TinySTM SwissTM
WSTM TL2
TSTM IR_VWC_P AVSTM JVSTM SMV MV-IWIR
Nuno Diegues 16/20
Visible Writes Visible Reads (VWVR) Visible Writes Invisible Reads (VWIR) Invisible Writes Invisible Reads (IWIR) Serializability Graph Testing (SGT)
SXM 2PL AbortsAvoider SSTM Interval based (IB)
TWM DSTM TinySTM SwissTM
WSTM TL2
TSTM IR_VWC_P AVSTM JVSTM SMV MV-IWIR
Nuno Diegues 17/20
Nuno Diegues 18/20
SXM: R. Guerraoui, M. Herlihy and B. Pochon. Polymorphic contention management. DISC ’05. DSTM: M. Herlihy, V. Luchangco, M. Moir and W. Scherer. Software transactional memory for dynamic-sized data structures. PODC ’03. TinySTM: P. Felber, C. Fetzer and T. Riegel. Dynamic performance tuning of word-based software transactional memory. PPoPP ’08. SwissTM: A. Dragojević, R. Guerraoui M. Kapalka. Stretching transactional memory. PLDI ’09. WSTM: K. Fraser and T. Harris. Concurrent programming without locks. TOCS ’07. TL2: D. Dice, O. Shalev and N. Shavit. Transactional locking II. DISC ’06. JVSTM: S. Fernandes and J. Cachopo. Lock-free and scalable multi-version software transactional memory. PPoPP ’11. SMV: D. Perelman, A. Byshevsky, O. Litmanovich, and I. Keidar. SMV: selective multi-versioning STM. DISC ’11. IR_VWC_P: T. Crain,D. Imbs and M. Raynal. Read invisibility, virtual world consistency and probabilistic permissiveness are compatible. ICA3PP ’12. AVSTM: R. Guerraoui, T. Henzinger and V. Singh. Permissiveness in Transactional Memories. DISC ’08. TSTM: U. Aydonat and T. Abdelrahman. Relaxed Concurrency Control in Software Transactional Memory. TPDS ’12. TWM: N. Diegues and P. Romano. Enhancing Permissiveness in Transactional Memory via Time-Warping. TR INESC-ID. AbortsAvoider: Keidar, Idit and Perelman, Dmitri. On avoiding spare aborts in transactional memory. SPAA ’09. SSTM: V. Gramoli, D. Harmanci, P. Felber. Toward a Theory of Input Acceptance for Transactional
Nuno Diegues 19/20
Nuno Diegues 20/20