28
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

Boosting STM Replication via Speculation

  • Upload
    sorena

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

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 a pproach Active Replication approach …. Why Active Replication. APPROVED. - PowerPoint PPT Presentation

Citation preview

Page 1: Boosting STM Replication via Speculation

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

Page 2: Boosting STM Replication via Speculation

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

Page 3: Boosting STM Replication via Speculation

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

Page 4: Boosting STM Replication via Speculation

Literature solutions for actively replicated transactional

systems

Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon

Page 5: Boosting STM Replication via Speculation

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

Page 6: Boosting STM Replication via Speculation

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)

Page 7: Boosting STM Replication via Speculation

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

multicores

Page 8: Boosting STM Replication via Speculation

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

Page 9: Boosting STM Replication via Speculation

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

networks

Page 10: Boosting STM Replication via Speculation

Unbalancing RatioCoordination

delayLocal

Transaction Execution Time

Traditional Scenarios Modern (STM) Scenarios

≈ 2 msec

≈ 1/10 msec

≈ 2 msec

≈ 10/100 μsecLong stall periods -> Resources underutilization

Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon

Page 11: Boosting STM Replication via Speculation

Target: Maximize the overlap

Coordination phase m1Coordination 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 Multiple or sam

eSerialization Orders

Page 12: Boosting STM Replication via Speculation

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 TBTB->TA

exec TATA->TB

exec T’ATB->TA

exec T’BTA->TB

abort(T’A)abort(TB)commit(T

A)

Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon

Page 13: Boosting STM Replication via Speculation

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

Page 14: Boosting STM Replication via Speculation

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

Page 15: Boosting STM Replication via Speculation

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

Page 16: Boosting STM Replication via Speculation

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 → TjOPT

Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon

Page 17: Boosting STM Replication via Speculation

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

Page 18: Boosting STM Replication via Speculation

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 → TjOPT

Page 19: Boosting STM Replication via Speculation

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

Page 20: Boosting STM Replication via Speculation

Algorithm sketch: WriteWrite 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

Page 21: Boosting STM Replication via Speculation

Algorithm sketch: CompleteTi 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

Page 22: Boosting STM Replication via Speculation

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

Page 23: Boosting STM Replication via Speculation

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

Page 24: Boosting STM Replication via Speculation

Simulation results• Baseline (OPT) Vs AGGRO

no speculation speculation

10x speedup

Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon

Page 25: Boosting STM Replication via Speculation

CPU Utilization

Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon

Page 26: Boosting STM Replication via Speculation

Simulation results• Baseline (OPT) Vs AGGRO

no speculation speculation

Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon

Page 27: Boosting STM Replication via Speculation

CPU Utilization

Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon

Page 28: Boosting STM Replication via Speculation

Thank you for the attention

Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon