View
217
Download
0
Category
Preview:
Citation preview
Roberto Palmieri – Workshop on Distributed Transactional Memory(WDTM 2012) - 22/02/2012 Lisbon
Boosting STM Replication via Speculation
Roberto Palmieri, Paolo Romano, Francesco Quaglia, Luis Rodrigues
Replication
• Is a typical way to achieve Fault Tolerance
• Several techniques:– Primary Backup approach– Active Replication approach–…
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Why Active Replication
• Each replica keeps all data and executes the same transactions in the same order
• PRO (+)– Full failure masking
– No coordination for processing read-only transactions
– Prone to target performance issues
• CONS (-)– Agreement on common execution order
– Deterministic business logic
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
APPROVED
Literature solutions for actively replicated transactional
systems
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
State Machine Approach (SM)
• Implements Active Replication paradigm• Based on Atomic Broadcast as GCS• Does not exploit any kind of optimism• Requires deterministic Local CC
Coordination phase
to-broadcast (m) to-delivery (m)
Processing m
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Optimistic Approach (OPT)• Based on Optimistic Atomic Broadcast as GCS• It processes in optimistic manner:• At most one conflicting transaction• Any non-conflicting transactions
Coordination phase
to-broadcast (m) to-delivery (m)
Processing m
opt-delivery (m)
Optimistic processing of m
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
if(opt-delivery order == to-delivery order)
Commit(m)
if(opt-delivery order <> to-delivery order)
Abort & Restart(m)
if(m is non-conflicting transaction) Commit(m)
Critiques to OPT (1)
• A-priori knowledge on transaction read/write sets (to detect conflicts) might be infeasible (non-determinism)
• Unpredictability of transactions data access pattern imposes safe (over-) estimation of accessed data sets (reduced concurrency)
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Unapproved
for
multico
res
Critiques to OPT (2)
• Limited overlapping in case of fine-grain transactions
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Unapproved
for STM
Critiques to OPT (3)
• Ineffective if deployed on less or unpredictable networks– Networks without spontaneous ordering
of optimistic deliveries
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Unapproved
for generic
network
s
Unbalancing RatioCoordination
delayLocal
Transaction Execution Time
Traditional Scenarios Modern (STM) Scenarios
≈ 2 msec
≈ 1/10 msec
≈ 2 msec
≈ 10/100 μsec
Long stall periods -> Resources underutilization
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Target: Maximize the overlap
Coordination phase m1
Coordination phase m2
Coordination phase m3
to-broadcast (m1)
to-broadcast (m2)
to-broadcast (m3)
Opt-delivery (m1)
Opt-delivery (m2)Opt-delivery (m3)
……
to-delivery (m1)
to-delivery (m2)
to-delivery (m3)……
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
• Coordination delay Vs Local transaction processing• Local transaction processing Vs Local transaction
processing Multip
le o
r sam
eSeria
lizatio
n O
rders
How: Speculative Processing• Basic ideas:– Activate all transactions as soon as they are optimistic delivered– Explore (in depth and/or in breadth) multiple serialization orders
time
commit(T’B)TB:
TA:
opt-del(TB)opt-del(TA) to-del(TA) to-del(TB)
exec TB
TB->TA
exec TA
TA->TB
exec T’A
TB->TA
exec T’B
TA->TB
abort(T’A)abort(TB)commit(T
A)
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Speculative Processing:desirable properties
• Correctness– The history of committed transaction generated is 1-copy
serializable
• Non-Redundancy– No two speculative instances of the same transaction
observe the same snapshot
• Completeness– Eventually, every permutation of optimistic delivered
transactions (not yet final delivered) that produces a distinct snapshot is explored
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Relaxing completeness• The relevance of the completeness property
depends on the likelihood of mismatches between final and optimistic delivery orders
completenessmin. max.
AGGRO STRat-most onespeculative
order
every distinctspeculative order
OSARE some
“opportunistic”speculative orders
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
[SPAA2010][ISPA2010][SRDS 2011][NCA 2011]
✔ Completeness✗ Completeness✗ Completeness
Aggressively Optimistic Transaction Processing (AGGRO)
• Tailored for networks with spontaneous order• Lock based concurrency control• Optimized lock semantic to reduce the lock
wait time of conflicting transactions• No a priori knowledge on transactions
read/write sets• No sibling transactions (reduced overhead)
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
AGGRO: key ideas1. Uncommitted data item versions are
aggressively made visible to other transactions (upon transaction completion) independently of whether the creating transactions will be eventually committed
2. Speculative transactions guided to follow the Optimistic delivery order
The ordering relations based onTi → Tj
OPT
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Data item version states• Each version of shared objects in the transactional memory
could be:– Committed
– Uncommitted
• Committed– The creator transaction has already committed
• Uncommitted– Work-In-Progress (WIP) state, the creator transaction has not
reached the complete stage yet
– Complete, the creator transaction has reached the complete stage, but is not finalized as committed or aborted yet
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Transactions’ ordering• Two transaction lists:– Opt-Delivered transactions (ODL)
– TO (final)-Delivered transactions (FDL)
• Transaction Ti → Tj if
– Ti and Tj are both currently recorded within ODL, with Ti
ordered before Tj
– Ti is currently recorded within FDL, while Tj is currently
recorded within ODL
– Ti and Tj are both currently recorded within FDL, with Ti
ordered before Tj
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Ti → Tj
OPT
Algorithm sketch: ReadRead dataitem X by Ti
Get version V according to →OPT
V is marked as WiP
Wait until the mark is
removed
Yes
No
Read V and update the read-form set of Ti
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Algorithm sketch: Write
Write on dataitem X by Ti
The dataitem X is marked as WiP
Abort (and restart) all transactions that follow Ti (according to )
and read X from a different transaction
→OPT
Early abort mechanism
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Algorithm sketch: Complete
Ti completes its execution
Remove all the WiP marks
Make available written dataitems to other speculative transactions
Permits to activate next conflicting transactions
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Trace-based Simulator• A discrete event simulator based on JavaSim framework
• Realistic timing and data access patterns (coming from execution of JVSTM)
• (Optimistic) Atomic Broadcast service entails the possibility of batching messages to improve performance
• Atomic Broadcast average delays:– Optimistic delivery: 500 μsec
– Final (total ordered) delivery: 2 msec
• LAN environment with no mismatch between optimistic and final deliveries (spontaneous order)
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Test bed
• Benchmarks:
Name Type Mean Transaction Execution Time
RB-Tree Micro Benchmark 77 μsec
SkipList Micro Benchmark 281 μsec
List Micro Benchmark 324 μsec
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Simulation results• Baseline (OPT) Vs AGGRO
no speculation speculation
10x speedup
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
CPU Utilization
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Simulation results• Baseline (OPT) Vs AGGRO
no speculation speculation
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
CPU Utilization
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Thank you for the attention
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon
Recommended