…and region serializability for all jessica ouyang, peter chen, jason flinn & satish...

29
…and region serializabili ty for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN

Upload: conrad-mcgee

Post on 17-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN

…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

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

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

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

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

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

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

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

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

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

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

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

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

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

15JESSICA OUYANG

Page 16: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN

JESSICA OUYANG 16

DRF0

Page 17: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN

JESSICA OUYANG 17

DRF0

Page 18: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN

JESSICA OUYANG 18

DRF0

Page 19: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN

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

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

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

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

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

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

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

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

JESSICA OUYANG 27

Page 28: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN

JESSICA OUYANG 28

Page 29: …and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN

JESSICA OUYANG 29

Conclusion Strong guarantees for all programs

◦ Region serializability

One way of providing region serializability◦ Uniparallelism