…and region serializability for all jessica ouyang, peter chen, jason flinn & satish...
TRANSCRIPT
![Page 1: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/1.jpg)
…and region serializability for allJESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY
UNIVERSITY OF MICHIGAN
![Page 2: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/2.jpg)
Language-level guarantees for programs with races
2
Fewer possible program
behaviors
More potential optimizations
No guarante
es
DRF0
Global, serial order
of all instruction
s
SC
Global, serial order of regions
RS
![Page 3: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/3.jpg)
JESSICA OUYANG 3
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
lock(A)
a = a + 1
b = a
unlock(A)
...
unlock(B)
![Page 4: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/4.jpg)
JESSICA OUYANG 4
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
lock(A)
a = a + 1
b = a
unlock(A)
...
unlock(B)
![Page 5: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/5.jpg)
JESSICA OUYANG 5
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
lock(A)
a = a + 1
b = a
unlock(A)
...
unlock(B)
![Page 6: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/6.jpg)
JESSICA OUYANG 6
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
lock(A)
a = a + 1
b = a
unlock(A)
...
unlock(B)
![Page 7: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/7.jpg)
JESSICA OUYANG 7
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
lock(A)
a = a + 1
b = a
unlock(A)
...
unlock(B)
![Page 8: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/8.jpg)
JESSICA OUYANG 8
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
![Page 9: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/9.jpg)
JESSICA OUYANG 9
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
![Page 10: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/10.jpg)
JESSICA OUYANG 10
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
![Page 11: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/11.jpg)
JESSICA OUYANG 11
CPU 1 CPU 2
time
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
![Page 12: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/12.jpg)
JESSICA OUYANG 12
CPU 1 CPU 2
time
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
![Page 13: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/13.jpg)
JESSICA OUYANG 13
CPU 1 CPU 2
time
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
![Page 14: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/14.jpg)
JESSICA OUYANG 14
CPU 1 CPU 2
time
lock(A)
a = 1
unlock(A)
lock(B)
...
a =NaN
b =yourPassword
...
unlock(B)
![Page 15: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/15.jpg)
15JESSICA OUYANG
![Page 16: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/16.jpg)
JESSICA OUYANG 16
DRF0
![Page 17: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/17.jpg)
JESSICA OUYANG 17
DRF0
![Page 18: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/18.jpg)
JESSICA OUYANG 18
DRF0
![Page 19: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/19.jpg)
JESSICA OUYANG 19
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
![Page 20: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/20.jpg)
JESSICA OUYANG 20
a = 0 b = 0
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
![Page 21: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/21.jpg)
JESSICA OUYANG 21
Region serializability for all programs
Guarantees◦ Atomic synchronization-free regions◦ Global, serial order of all regions
Benefits◦ Easy for programmers & tools to reason about◦ Compilers can reorder freely within regions
![Page 22: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/22.jpg)
JESSICA OUYANG 22
How to provide region serializability
Compiler◦ Preserve regions from source code
Runtime◦ Run one thread at a time◦ Only preempt at synchronization boundaries
![Page 23: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/23.jpg)
JESSICA OUYANG 23
time
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
CPU 3CPU 2 CPU 4CPU 1
a:1
lock(A)
a = 1
unlock(A)
lock(B)
...
a = a + 1
b = a
...
unlock(B)
![Page 24: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/24.jpg)
JESSICA OUYANG 24
time
CPU 3CPU 2 CPU 4CPU 1
E0
E0
![Page 25: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/25.jpg)
JESSICA OUYANG 25
time
CPU 3CPU 2 CPU 4CPU 1
Epoch-parallel
execution
Thread-parallel execution
![Page 26: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/26.jpg)
JESSICA OUYANG 26
E1E1
E3E3
E2E2
E0
==?
2. Start epoch1. Checkpoint state
E1
E0
E2
E3E3
E3
!=
3. Check state4. Roll back &Re-execute
time
Uniparallel execution [Veeraraghavan ’11]
![Page 27: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/27.jpg)
JESSICA OUYANG 27
![Page 28: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/28.jpg)
JESSICA OUYANG 28
![Page 29: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bf931a28abf838c8fb1a/html5/thumbnails/29.jpg)
JESSICA OUYANG 29
Conclusion Strong guarantees for all programs
◦ Region serializability
One way of providing region serializability◦ Uniparallelism