View
223
Download
1
Category
Tags:
Preview:
Citation preview
Transactional Contention Managementas a Non-Clairvoyant Scheduling Problem
Alessia Milani
[Attiya et al. PODC 06]
[Attiya and Milani OPODIS 09]
Optimism
Transactions (Txs) proceed until a conflict occurs T1 conflicts with an on-going T2 if T1 tries to write
to a data item previously accessed by T2
one transaction aborts or waits for the other to complete If no conflict occurs, they run in parallel
T1 Read(X)0 Write((Z)) ABORT
T2 Write(X)1Read(Y) COMMIT
Conflict
Conservative approach
A conflict does not imply a violation of serializability
T1 and T2 can both commit without violating strict serializability
Contention manager mediates conflicts Decides which transaction aborts
E.g., the Greedy contention manager [Guerraoui et al. PODC 05] Each Tx is assigned a unique timestamp
reflecting Txs real-time order If Txs T1 and T2 conflict,
the Tx with the smaller timestamp aborts / waits
Decides when to restart aborted Txs E.g., CAR-STM [Dolev et al. PODC 08]
the aborted Tx is not executed until the completion of the conflicting Tx unrelated Txs may be executed serially
Need for a “clever” contention manager Complete the work quickly
makespan : Worst-case total time to complete all transactions
Not waste work do not repeate conflicts
What Works and Why?
What Works and Why? In Practice [Scherer and Scott, CSJP 04]
Extensive testing Backoff Aging Randomized Various priority …
None dominates on all benchmarks
What Works and Why? In Theory Contention Management as a Scheduling
problem Evaluate the throughput, measured by the
makespan of a finite set of transactions Worst-case total time to complete all transactions
Relative to the makespan guaranteed by an optimal off-line scheduler
Non-Clairvoyant Scheduling
A scheduler A does not know Txs characteristics a priori Txs arrive one by one, and their duration is unknown
Evaluated in comparison with an optimal, clairvoyant scheduler knows the set of Txs, their data set, their release
times and duration
Competitive ratio:
€
maxΓ makespanA (Γ) makespanOPT (Γ)
Even if the contention manager is : centralized
A lower bound for CM
Theorem 1. The competitive ratio of any work conserving CM is Ω(s)
It always lets a maximal set of
non-conflicting transactions run
[Attiya et al. PODC 06]
Lower Bound: Workload The proof uses s2/2 transactions
s is the number of shared data items Each transactions access two data items All transactions
are available at time 0 have the same duration may have a different data set if executed at
different times or restarted
Lower Bound: First Requests
Work conserving CM must select an independent set of s Txs
E.g., column 1.
s…ssss/2
…………
6…6663
4…4442
2…2221
s-1…s-1s-1s-1s/2
…………
5…5553
3…3332
1…1111
s/2…321
Lower Bound: Second Requests
s…sss,1s/2
…………
6…666,13
4…444,12
2…222,11
s-1…s-1s-1s-1,2s/2
…………
5…555,23
3…333,22
1…111,21
s/2…321
Odd Txs all ask for 2
Even Txs all ask for 1
Only two Txs can complete
Lower Bound: Next Set
s…2ks,3s,1s/2
…………
6…66,36,13
4…44,34,12
2…22,32,11
s-1…s-1s-1,4s-1,2s/2
…………
5…55,45,23
3…33,43,22
1…11,41,21
s/2…321
Similarly…
Only two Txs can complete from the second independent set of s Txs
Lower Bound: Repeat
s,s-1…s,5s,3s,1s/2
…………
6,s-1…6,56,36,13
4,s-1…4,54,34,12
2,s-1…2,52,32,11
s-1,s…s-1,6s-1,4s-1,2s/2
…………
5,s…5,65,45,23
3,s…3,63,43,22
1,s…1,61,41,21
s/2…321
In general, at most two Txs from each independent set can complete
Makespan of Non-Clairvoyant SchedulerAfter aborting, all Txs request the same data item
Makespan ≈2
2 sss ≈⋅
s,s-1…s,5s,3s,1s/2
…………
6,s-1…6,56,36,13
4,s-1…4,54,34,12
2,s-1…2,52,32,11
s-1,s…s-1,6s-1,4s-1,2s/2
…………
5,s…5,65,45,23
3,s…3,63,43,22
1,s…1,61,41,21
s/2…321
Makespan of Clairvoyant Scheduler
Schedule an extended diagonal together
s/2 independent Txs complete
Makespan ≈ s
s,s-1…s,5s,3s,1s/2
…………
6,s-1…6,56,36,13
4,s-1…4,54,34,12
2,s-1…2,52,32,11
s-1,s…s-1,6s-1,4s-1,2s/2
…………
5,s…5,65,45,23
3,s…3,63,43,22
1,s…1,61,41,21
s/2…321
Competitive
ratio ≈ s
A matching Upper Bound
Proved for the Greedy CM [Attiya et al. PODC 06]
Relies on the fact that Txs write most of the time
Theorem 2. Any work conserving CM with the pending commit property has O(s) competitive ratio
at any time, some running transaction will execute uninterrupted until it commits
Read-Dominated Workloads Existing results hold for write-dominated workloads
Transactions need exclusive access for most of their duration (early-write transactions)
[Guerraoui et al. PODC 05, Attiya et al. PODC 06]
What about read-dominated workloads? Read-only transactions Late-write transactions
k+11 3 4 k…
[Attiya & Milani. OPODIS 09]
It holds also for CM that has a more careful approach than being conservative
Transactions : have the same duration, are available at time 0 But may have a different data set if executed at
different times or restarted
Extending the lower bound to read-dominated workload
Theorem 3. There is a read-dominated workload, s.t.
the competitive ratio of any deterministic CM is Ω(s)
Lower Bound : Workload
12…q
1R1 Rq Rq+1 Wq+1R1 Rq Rq+1 Wq+1…R1 Rq Rq+1 Wq+1
2R1 Rq Rq+2 Wq+2R1 Rq Rq+2 Wq+2…R1 Rq Rq+2 Wq+2
…
iR1 Rq Rq+i Wq+iR1 Rq Rq+i Wq+i…R1 Rq Rq+i Wq+i
…
qR1 Rq R2q W2qR1 Rq R2q W2q…R1 Rq R2q W2q
1R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
2R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
m-qR1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
……
…
……
… …
… …
Makespan of Non-Clairvoyant Scheduler
12…q
1R1 Rq Rq+1 Wq+1R1 Rq Rq+1 Wq+1…R1 Rq Rq+1 Wq+1
2R1 Rq Rq+2 Wq+2R1 Rq Rq+2 Wq+2…R1 Rq Rq+2 Wq+2
…
iR1 Rq Rq+i Wq+iR1 Rq Rq+i Wq+i…R1 Rq Rq+i Wq+i
…
qR1 Rq R2q W2qR1 Rq R2q W2q…R1 Rq R2q W2q
q+1R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
q+ 2R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
mR1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
……
…
……
… …
… …
Work conserving CM must select an independent set of m Txs
e.g., 1 row plus m-q read-only Txs
Makespan of Non-Clairvoyant Scheduler
12…q
1R1 Rq Rq+1 Wq+1R1 Rq Rq+1 Wq+1…R1 Rq Rq+1 Wq+1
2R1 Rq Rq+2 Wq+2R1 Rq Rq+2 Wq+2…R1 Rq Rq+2 Wq+2
…
iR1 Rq Rq+i Wq+iR1 Rq Rq+i Wq+i…R1 Rq Rq+i Wq+i
…
qR1 Rq R2q W2qR1 Rq R2q W2q…R1 Rq R2q W2q
q+1R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
q+ 2R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
mR1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
……
…
……
… …
… …
Only one Tx in a given row can commit
Restarted Txs all request the same data item
Makespan of Non-Clairvoyant Scheduler
12…q
1R1…Rq R1 W1…R1…Rq R1 W1
2R1…Rq R1 W1…R1…Rq R1 W1
…
iR1…Rq R1 W1…R1…Rq R1 W1
…
qR1…Rq R1 W1…R1…Rq R1 W1
q+1…
q+ 2…
…
m…
……
…
… …
… …
At time q, still q2 late-write Txs to be executed
We have to execute them serially
q=s/2
Makespan
€
s2⋅ (
s2 −1) ≈ s2
To remove the work-conserving assumption :A Tx that starts after time q is [R1…Rq R1 W1]
Makespan of the Clairvoyant Scheduler
12…q
1R1 Rq Rq+1 Wq+1R1 Rq Rq+1 Wq+1…R1 Rq Rq+1 Wq+1
2R1 Rq Rq+2 Wq+2R1 Rq Rq+2 Wq+2…R1 Rq Rq+2 Wq+2
…
iR1 Rq Rq+i Wq+iR1 Rq Rq+i Wq+i…R1 Rq Rq+i Wq+i
…
qR1 Rq R2q W2qR1 Rq R2q W2q…R1 Rq R2q W2q
q+1R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
q+ 2R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
R1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
mR1 R2 … Rq-1RqR1 R2 … Rq-1Rq…R1 R2 … Rq-1Rq
……
…
……
… …
… …
Each column is an independent set of Txs
At time q, all Txs are committed
q=s/2
Makespan s
Competitive ratio s
Theorem 4. There is a late-write workload,such that
the competitive ratio of any deterministic
conservative scheduler is Ω(m)
A lower bound for conservative CM
The makespan is not competitive even relative to a clairvoyant online scheduler [Dragojevic et al. PODC 09] It has complete information on a transaction as it arrives
On Bimodal Workloads If a transaction writes, it writes from the very
beginning Recent contention managers try to avoid
repeated conflicts by serializing conflicting Txs CAR-STM, Steal On Abort, ATS They are conservative
Ω(m) competitive ratio for read-dominated workloads (by Theorem 4)
also Ω(m) competitive ratio for bimodal workloads
CAR-STM scheduler
T1 T2
Conflict
T3
T2
Txs in execution
Enqueued Txs
T3
T1 is a writing Tx T2 and T3 and T5 are read-only Txs
T5T4 T6
T5 T6
T5
T4
Serialize the execution of read-only Txs
Bimodal scheduler
T1 T2
Conflict
T3
T2
Txs in execution
Enqueued TxsT3
Read-only queue
T1 is a writing Tx T2 and T3 and T5 are read-only Txs
T5T4 T6
T5 T6
T5
T2 T3 T5
(s)[Attiya et al].
(s)
(m)CAR-STM, ATS, SoA
(m)
O(s)Bimodal
(s) derived from]Attiya et al.[
O(m)trivial
WORKLOADSAny scheduler“Conservative” scheduler
WRITE-DOMINATED Early write
BIMODAL : Early write + read-only
READ-DOMINATED:
Late write + read-only
Summary
1
2
1 2 &
“Conservative” schedulers decrease performance w/ read-dominated WL
Can a “smarter” scheduler do better? At what cost?
3
& & 1 2 3
late-write Txs are more difficult to handle than read-only Txs
Recommended