Ser ializability of T r ansac tions in Softwar e T r ansac tional Memor y
Utku Aydonat Utku Aydonat
uaydonat@eecg.toronto.edu
De partme nt o f E le c tric al and Co mpute r E ngine e ring U nive rsity o f T
- ro nto
Ser ializability of T r ansac tions in Softwar e T r ansac - - PowerPoint PPT Presentation
Ser ializability of T r ansac tions in Softwar e T r ansac tional Memor y Utku Aydonat Utku Aydonat uaydonat@eecg.toronto.edu De partme nt o f E le c tric al and Co mpute r E ngine e ring U nive rsity o f T o ro nto Workshop on
2
bench=RBTREE workload=1:1:1 200000 400000 600000 800000 1000000 1200000 1400000 1600000 1800000 1 6 11 16 21 26 31 threads throughput
CG RSTM
3
bench=LL workload=1:1:1 5000 10000 15000 20000 25000 1 6 11 16 21 26 31 threads throughput
CG RSTM
4
5
6
7
8
9
ObjA ObjB ObjC ObjD
10
ObjA ObjB ObjC ObjD
11
ObjA ObjB ObjC ObjD
12
13
ObjA ObjB ObjC ObjD ObjE
14
15
[0:∞] Start TX2; [0:∞] Start TX3; [0:∞] Start TX1;
time
16
[0:∞] Start TX3; . [0:∞] Write(B); [0:∞] Start TX2; [0:∞] Read(B); . [0:∞] Start TX1; [0:∞] Read(A); .
time
17
[0:∞] Start TX3; . [0:∞] Write(B); Commit; [0:∞] Start TX2; [0:∞] Read(B); . [0:∞] Start TX1; [0:∞] Read(A); .
time
18
[0:∞] Start TX3; . [0:∞] Write(B); SON=3 Commit; [0:∞] Start TX2; [0:∞] Read(B); . [0:∞] Start TX1; [0:∞] Read(A); .
time
19
[0:∞] Start TX3; . [0:∞] Write(B); SON=3 Commit; [0:∞] Start TX2; [0:∞] Read(B); . [0:3] [0:∞] Start TX1; [0:∞] Read(A); . .
time
20
[0:∞] Start TX3; . [0:∞] Write(B); SON=3 Commit; [0:∞] Start TX2; [0:∞] Read(B); . [0:3] [0:3] Write(A); Commit; [0:∞] Start TX1; [0:∞] Read(A); . . .
time
21
[0:∞] Start TX3; . [0:∞] Write(B); SON=3 Commit; [0:∞] Start TX2; [0:∞] Read(B); . [0:3] [0:3] Write(A); SON=2 Commit; [0:∞] Start TX1; [0:∞] Read(A); . . .
time
22
[0:∞] Start TX3; . [0:∞] Write(B); SON=3 Commit; [0:∞] Start TX2; [0:∞] Read(B); . [0:3] [0:3] Write(A); SON=2 Commit; [0:∞] Start TX1; [0:∞] Read(A); . . . [0:2]
time
23
[0:∞] Start TX3; . [0:∞] Write(B); SON=3 Commit; [0:∞] Start TX2; [0:∞] Read(B); . [0:3] [0:3] Write(A); SON=2 Commit; [0:∞] Start TX1; [0:∞] Read(A); . . . [0:2] Read(B);
time
24
[0:∞] Start TX3; . [0:∞] Write(B); SON=3 Commit; [0:∞] Start TX2; [0:∞] Read(B); . [0:3] [0:3] Write(A); SON=2 Commit; [0:∞] Start TX1; [0:∞] Read(A); . . . [0:2] [3:2] Read(B);
time
25
[0:∞] Start TX3; . [0:∞] Write(B); SON=3 Commit; [0:∞] Start TX2; [0:∞] Read(B); . [0:3] [0:3] Write(A); SON=2 Commit; [0:∞] Start TX1; [0:∞] Read(A); . . . [0:2] [3:2] Read(B); Abort;
time
26
27
28
29
throughput vs. threads
5000 10000 15000 20000 25000 1 6 11 16 21 26 31 CG FG T L2 R ST M T ST M T ST M
30
% aborts vs. threads
10 20 30 40 50 60 70 80 90 100 1 6 11 16 21 26 31
TSTM
TSTM
RSTM
31
throughput vs. threads
500000 1000000 1500000 2000000 2500000 3000000 3500000 4000000 4500000 1 6 11 16 21 26 31
CG FG TL2 RSTM TSTM TSTM
32
33
–
dynamic-sized data structures,”in Proc. of PODC, pp. 92–101, 2003. –
2007. –
classes,” in In Prof. of PPoPP, pp. 56–67, 2007.
–
Proceedings of the 20th International Symposium on Distributed Computing, DISC 2006, vol. 4167,
–
memory,” Tech. Rep. RR-I-07-02.1, Universite de Neuchatel, Institut d’Informatique, Feb 2007.
–
intervals in real-time DBMS,” in Proc. of the Int’l Conf. on Real-Time Computing Systems and Applications, 1999.
34