- Page 1 and 2: Distributed Software Transactional
- Page 3 and 4: Contents ! Part I: (Non-Distributed
- Page 5 and 6: Basic Concepts ! Concurrent program
- Page 7 and 8: Basic Concepts ! Ideally ! Performa
- Page 9 and 10: Basic Concepts ! Ideally ! Performa
- Page 11 and 12: Explicit synchronization ! One of t
- Page 13 and 14: Fine Grained Parallelism? ! Very co
- Page 15 and 16: Abstractions for simplifying concur
- Page 17 and 18: Transactional Memories ! Hide away
- Page 19 and 20: TMs: where we are, challenges, tren
- Page 21 and 22: Run-time ! How does it work? ! The
- Page 23 and 24: Example of optimistic concurrency c
- Page 25 and 26: Many, many, variants exist ! For in
- Page 27 and 28: How to choose? ! What is a correct
- Page 29: Theoretical Foundations ! Safety: !
- Page 33 and 34: Histories ! Two transactions are se
- Page 35 and 36: Histories ! A history is sequential
- Page 37 and 38: Histories ! A history is sequential
- Page 39 and 40: Histories ! Two histories are equiv
- Page 41 and 42: What the programmer wants? ! Progra
- Page 43 and 44: Serializability ! Serializable? WO1
- Page 45 and 46: Serializability ! Serializable? WO1
- Page 47 and 48: Opacity ! Serializable (blue aborts
- Page 49 and 50: Opacity ! In a database environment
- Page 51 and 52: Opacity: example Initially: x:=1; y
- Page 53 and 54: Opacity: example Initially: x:=1; y
- Page 55 and 56: Opacity: example Initially: x:=1; y
- Page 57 and 58: ! Intuitive definition: Opacity [GK
- Page 59 and 60: Does classic optimistic concurrency
- Page 61 and 62: Progress ! STMs can abort transacti
- Page 63 and 64: Conditional progress: obstruction f
- Page 65 and 66: Contention-managers Let TA be execu
- Page 67 and 68: CM: Backoff Let TA be executing and
- Page 69 and 70: CM: Greedy Let TA be executing and
- Page 71 and 72: (Non-Distributed) STMs ! Basic Conc
- Page 73 and 74: DSTM ! Killer write: ! Ownership. !
- Page 75 and 76: DSTM - Reads and Validation ! Concu
- Page 77 and 78: DSTM - Why is careful read needed?
- Page 79 and 80: JVSTM ! Java Versioned Software Tra
- Page 81 and 82:
JVSTM - Versioned boxes B body: ! V
- Page 83 and 84:
JVSTM - Algorithm ! Upon write, jus
- Page 85 and 86:
Contents ! Part I: (Non-Distributed
- Page 87 and 88:
Origins ! Convergence of two main a
- Page 89 and 90:
DSTMs vs DSM ! DSTMs are simpler to
- Page 91 and 92:
DSTMs vs DBMS ! Transactions are of
- Page 93 and 94:
Goals ! Better performance: ! Doing
- Page 95 and 96:
Distribution Strategies ! Single Sy
- Page 97 and 98:
Distributed STMs ! Origins ! Goals
- Page 99 and 100:
Control Flow Model ! Data is static
- Page 101 and 102:
Toolbox ! Atomic Commitment ! Unifo
- Page 103 and 104:
2-phase commit coordinator particip
- Page 105 and 106:
3PC coordinator participant partici
- Page 107 and 108:
Uniform Reliable Broadcast ! Allows
- Page 109 and 110:
Atomic Broadcast ! Reliable broadca
- Page 111 and 112:
Abcast with optimistic delivery ! T
- Page 113 and 114:
ABcast with optimistic delivery fin
- Page 115 and 116:
Replicating a single lock ! In abse
- Page 117 and 118:
Replicating a single lock T1 lock()
- Page 119 and 120:
Single-phase schemes ! State machin
- Page 121 and 122:
State-machine replication AB of T1
- Page 123 and 124:
Primary-backup ! Write transactions
- Page 125 and 126:
Single-phase schemes ! State machin
- Page 127 and 128:
Multi-master ! Two transactions may
- Page 129 and 130:
Non-voting ! The transaction execut
- Page 131 and 132:
Single-phase schemes ! State machin
- Page 133 and 134:
Voting R1 Execution Transaction T1
- Page 135 and 136:
Part III: Case-Studies ! Partitione
- Page 137 and 138:
Cluster-STM ! Software Transactiona
- Page 139 and 140:
Cluster-STM (a) increment ( proc t
- Page 141 and 142:
Cluster-STM increment local ( proc
- Page 143 and 144:
Cluster-STM ! Read locks (RL) vs. r
- Page 145 and 146:
Cluster-STM ! Write buffering: two
- Page 147 and 148:
Cluster-STM: Graph Analysis (SSCA2)
- Page 149 and 150:
Sinfonia ! Sinfonia: A new paradigm
- Page 151 and 152:
SA † VMware, Palo Alto, CA, USA S
- Page 153 and 154:
... Min API write items mem-id mem-
- Page 155 and 156:
30 if action then apply writems 31
- Page 157 and 158:
Part III: Case-Studies ! Partitione
- Page 159 and 160:
D 2 STM ! Non-voting replication sc
- Page 161 and 162:
D 2 STM AB of both T1’s readset &
- Page 163 and 164:
D 2 STM M. Couceiro, P. Romano, L.
- Page 165 and 166:
D 2 STM ! False Positives: ! An ite
- Page 167 and 168:
D 2 STM ! Write transaction T: ! Lo
- Page 169 and 170:
D 2 STM ! STMBench7: Results M. Cou
- Page 171 and 172:
ALC ! Asynchronous Lease Certificat
- Page 173 and 174:
ALC ! Transactions are locally proc
- Page 175 and 176:
ALC P1 Lease Request (AB) Lease Ens
- Page 177 and 178:
ALC P1 Lease Request Lease Ensured
- Page 179 and 180:
ALC P1 Lease Request Apply Lease En
- Page 181 and 182:
ALC Application Distributed STM API
- Page 183 and 184:
ALC ! Synthetic “Worst case” sc
- Page 185 and 186:
Part III: Case-Studies ! Partitione
- Page 187 and 188:
Basic Active Replication Atomic Bro
- Page 189 and 190:
Improvement Atomic Broadcast Tx Exe
- Page 191 and 192:
Speculative Opt Atomic Broadcast Tx
- Page 193 and 194:
AGGRO Algorithm upon opt-Deliver(Ti
- Page 195 and 196:
AGGRO Algorithm upon read(Ti, X) if
- Page 197 and 198:
AGGRO Algorithm upon abort(Ti) abor
- Page 199 and 200:
Contents ! Part I: (Non-Distributed
- Page 201 and 202:
Conclusions ! No technique outperfo
- Page 203 and 204:
CLOUD-TM ! DTMs: a programming para
- Page 205 and 206:
Euro-TM Cost Action ! Research netw
- Page 207 and 208:
Bibliography ! [BAC08] Robert L. Bo
- Page 209 and 210:
Bibliography ! [GHP05] Rachid Guerr
- Page 211 and 212:
Bibliography ! [KAJLKW08] Christos
- Page 213:
The End Thank you. M. Couceiro, P.