roberto palmieri – workshop on distributed transactional memory (wdtm 2012) - 22/02/2012 lisbon...

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

Upload: shavonne-page

Post on 16-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

Literature solutions for actively replicated transactional

systems

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

Page 5: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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

Page 8: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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

Page 10: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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

Page 11: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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

Page 12: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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

Page 13: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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

Page 17: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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

Page 19: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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

Page 21: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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

Page 22: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

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: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

CPU Utilization

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

Page 26: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

Simulation results• Baseline (OPT) Vs AGGRO

no speculation speculation

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

Page 27: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

CPU Utilization

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

Page 28: Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,

Thank you for the attention

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