FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE...

47
SUVINAY SUBRAMANIAN , MARK C. JEFFREY, MALEEN ABEYDEERA, HYUN RYONG LEE, VICTOR A. YING, JOEL EMER, DANIEL SANCHEZ ISCA 2017 FRACTAL AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM

Transcript of FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE...

Page 1: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

SUVINAYSUBRAMANIAN,MARKC.JEFFREY,MALEEN ABEYDEERA,HYUN RYONG LEE,VICTORA.YING,JOELEMER,DANIELSANCHEZ

ISCA2017

FRACTALANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM

Page 2: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Currentspeculativesystemsscalepoorly

Speculativeparallelization,e.g.TM,simplifiesparallelprogramming

Performspoorlyonrealworldapplications……becauseapplicationscompriselargeatomictasks

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 2

Page 3: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Largeatomictaskslimitperformance

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 3

DatabaseTransactionquery X ……update Z……query U……update V

Millionsofcycles

Pronetoaborts

Challengingtotrack

Serial(missesparallelism)

Page 4: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Largeatomictaskshaveabundantnestedparallelism!

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 4

qry X qry K

upd Z qry Y qry Y upd J qry S

qry Mupd L… qry U upd V……

… Howto- extractparallelism?- maintainatomicity?- achievehighperformance?

Page 5: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

PriorTMsfailtoexploitnestedparallelism1. Mergingof“nested”speculative

statewithparent

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 5

Core2 Core4Core1 Core3

Time

X

A B

YXA B Y

2. Cyclicdependencebetweenparentandnestedchildren

Largespeculativestate,pronetoaborts Deadlockandlivelock issues

Seethepaperformoredetails!

Page 6: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 6

Orderingtaskstoguaranteeatomicity

Core2 Core4Core1 Core3Time

X

A B

YX

A B Y

X Y1 2

X Y1 2

A B1.1 1.2

Page 7: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Fractal decouplesatomicityfromparallelism

1. Decouplesunitofatomicityfromunitofparallelism◦ Domain:Alltasksbelongingtoadomainappeartoexecuteatomically

2. Implementationguaranteesatomicitybyorderingtasks◦ Nomergingspeculativestate

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 7

BenefitsofFractalTinytasks

Easytotrack

Composable speculativeparallelism

Page 8: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Fractal ExecutionModel

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 8

DECOUPLINGATOMICITYFROMPARALLELISM

Page 9: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Domains togrouptasksintoatomicunits

Fractalprogramsconsistofatomictasks

Tasksmayaccessarbitrarydata

Tasksmaycreatechildtasks

Tasksbelongtoahierarchyofnesteddomains

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 9

Page 10: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Semanticsacrossdomains

Eachtask:◦ cancreateasinglesubdomain◦ canenqueue childtaskstosubdomain orcurrent domain

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 10

A B

C D

E

X

L M

N O

P

Y

(Alltasksindomain+creatorofdomain)

Appeartoexecuteassingleatomicunit

à

Rootdomain

Page 11: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Semanticswithinadomain

Unordered◦ Arbitraryorderwhilerespectingparent-childdependences

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 11

A B

C D

E

X

L M

N O

P

Y

Timestamp-ordered◦ Tasksappeartoexecuteinincreasingtimestamporder

◦ Childrenappeartoexecuteafterparent

1 10

2

3

12

Rootdomain

Page 12: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Fractal softwareAPI

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 12

fractal::enqueue(function_pointer, timestamp, arguments...);

fractal::create_subdomain(<domain_type>);

Creatingandenqueuing tasks

Creatingsub-domains

forall(), callcc(), parallel_reduce()High-levelprogramminginterface,e.g.

Page 13: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Example:DatabasetransactionsinFractal

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 13

query X query Zupdate Zquery Uupdate V

qry X

qry Z

upd Z

qry U

upd V

query A query Bupdate Cupdate Zupdate K

qry A

qry B

upd C

upd Z

upd K

RootdomainTXN1 TXN2

1

2

3

4

5

1

2

3

4

5

T1 T2

Page 14: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Fractal Implementation

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 14

ATOMICITYTHROUGHORDERING

Page 15: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Fractal VirtualTime(VT)

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 15

Fractal assignsafractalvirtualtime(VT)toeachtaskCapturestheorderingoftasksacrossdomains,withinadomain

FractalVT= 45 23 108 … 9

DomainVT…

Page 16: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Example:DatabasetransactionsinFractal

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 16

query X query Zupdate Zquery Uupdate V

qry X

qry Z

upd Z

qry U

upd V

query A query Bupdate Cupdate Zupdate K

qry A

qry B

upd C

upd Z

upd K

RootdomainTXN1 TXN2

1

2

3

4

5

1

2

3

4

5

1 1

1 2

1 3

1 4

1 5

2 1 2 4

2 2 2 5

2 3

T1 T21 2

Page 17: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Example:DatabasetransactionsinFractal

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 16

query X query Zupdate Zquery Uupdate V

qry X

qry Z

upd Z

qry U

upd V

query A query Bupdate Cupdate Zupdate K

qry A

qry B

upd C

upd Z

upd K

RootdomainTXN1 TXN2

1

2

3

4

5

1

2

3

4

5

1 1

1 2

1 3

1 4

1 5

2 1 2 4

2 2 2 5

2 3

FractalVTcapturesallorderinginformation

T1 T21 2

Page 18: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Swarm[MICRO’15] :Anefficientsubstratefororderedspeculation

LargehardwaretaskqueuesScalableorderedcommitsScalableorderedspeculation

17

64-tile,256-corechip Tileorganization

Core Core Core Core

L1I/D L1I/D L1I/D L1I/D

L2

L3sliceRouter

TaskunitMem /IO

Mem

/IO

Mem /IO

Mem

/IO

Tile

EfficientlysupportstinyspeculativetasksFRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM

Swarmexecutestasksspeculativelyandoutoforder

Page 19: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Fractal featuresFractal VTconstructionrequiresnocentralizedstructures

Fractal VTassignsorderdynamically

Hardwaresupportsafewnumberofconcurrentdepths◦ “Zooming”operationsallowforunboundednesting◦ Spilltasksfromshallowerdomainstomemory◦ Parallelismcompoundsquicklywithdepth

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 18

Seethepaperformoredetails!

Page 20: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

T11

Page 21: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

qry X

1 1

qry U1 4

T11

Page 22: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

qry X

1 1

qry Z1 2

qry U1 4

upd V1 5

T11

Page 23: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

qry X

1 1

qry Z1 2

qry U1 4

upd V1 5

T11

T22

Page 24: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

qry X

1 1

qry Z1 2

qry U1 4

upd V1 5 qry A

2 1

T11

T22

Page 25: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

qry X

1 1

qry Z1 2

qry U1 4

upd V1 5 qry A

2 1

qry B2 2

T11

T22

Page 26: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

qry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

qry B2 2

T11

T22

Page 27: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

qry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

qry B2 2

T11

T22

Page 28: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

qry B2 2

T11

T22

Page 29: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

qry B2 2

T11

T22

Page 30: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

qry B2 2

Tracking,conflictdetectionatleveloffine-graintasks

T11

T22

Page 31: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

qry B2 2

Tracking,conflictdetectionatleveloffine-graintasks

T11

T22

Page 32: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

qry B2 2

Tracking,conflictdetectionatleveloffine-graintasksSelectiveabortswastelesswork

T11

T22

Page 33: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

qry B2 2

upd C2 3

Task-leveltracking

Task-levelCD

Selectiveaborts

T11

T22

Page 34: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

upd Z2 4

qry B2 2

upd C2 3

Task-leveltracking

Task-levelCD

Selectiveaborts

T11

T22

Page 35: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 19

Time

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

qry U1 4

upd V1 5 qry A

2 1

upd Z2 4

qry B2 2

upd K2 5

upd C2 3

Task-leveltracking

Task-levelCD

Selectiveaborts

T11

T22

Page 36: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

qry U1 4

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 20

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

upd V1 5 qry A

2 1

upd Z2 4

qry B2 2

upd K2 5

upd C2 3

Task-leveltracking

Task-levelCD

Selectiveaborts

Time

T11

T22

Page 37: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

qry U1 4

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 20

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttaskqry X

1 1

qry Z1 2

upd Z1 3

upd V1 5 qry A

2 1

upd Z2 4

qry B2 2

upd K2 5

upd C2 3

Task-leveltracking

Task-levelCD

Selectiveaborts

Time

T22

T1

Page 38: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

qry U1 4

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 20

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttask

upd Z1 3

upd V1 5 qry A

2 1

upd Z2 4

qry B2 2

upd K2 5

upd C2 3

Task-leveltracking

Task-levelCD

Selectiveaborts

Time

qry X

qry Z

T22

T1

Page 39: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

qry U1 4

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 20

TXN1 TXN2

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttask

upd Z1 3

upd V1 5 qry A

2 1

upd Z2 4

qry B2 2

upd K2 5

upd C2 3

Task-leveltracking

Task-levelCD

Selectiveaborts

Commitparentbeforechildcompletes

Time

qry X

qry Z

T22

T1

Page 40: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

T1

qry U1 4

upd K2 5

upd Z2 4

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 21

TXN1=X TXN2=Y

Core2 Core4Core1 Core3

query X query Zupdate Zquery Uupdate V

query A query Bupdate Cupdate Zupdate K

Aborttask

upd Z1 3

upd V1 5 qry A

2 1

upd Z2 4

qry B2 2

upd K2 5

upd C2 3

Task-leveltracking

Task-levelCD

Selectiveaborts

Commitparentbeforechildcompletes

Time

qry X

qry Z

T22

Fractalunlocksthebenefitsoffine-grainparallelism

Page 41: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Evaluation

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 22

Page 42: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Event-driven,Pin-basedsimulatorTargetsystem:256-core,64-tilechip

Methodology

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 23

Scalabilityexperimentsfrom1–256cores◦ Scaled-downsystemshavefewertiles

Core Core Core Core

L1I/D L1I/D L1I/D L1I/D

L2

L3sliceRouter

TaskunitMem /IO

Mem

/IO

Mem /IO

Mem

/IO

Tile

64MBsharedL3(1MB/tile)

256KBper-tileL2s

16KBper-coreL1s

16Ktaskqueueentries(64/core)4Kcommitqueueentries(16/core)

In-order,single-issue,scoreboarded

Applications◦ Unordered(STAMP):labyrinth,bayes

◦ Ordered:color,msf,silo,maxflow,mis

Page 43: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Fractal uncoversabundantnestedparallelism

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 24

Flat Fractal

Largeatomictasks Nestedparallelismexposedthroughfine-grainedtasks

Page 44: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Fractal uncoversabundantnestedparallelism

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 25

1

128

256

Speedup

1c 128c 256c

322xmaxflow

1

128

256

1c 128c 256c

bayes

1

64

128

1c 128c 256c

labyrinth Flat1x—4.9xFractal

88x—322x

Flat Fractal

Flat 3260 1.8M 16MFractal 373 3590 220

Averagetasklength(cycles)

Page 45: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

Fractal avoidsover-serialization

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 26

1

64

128

Speedup

1c 128c 256c

145xmis

1

64

128

1c 128c 256c

color

1

32

64

1c 128c 256c

msfFlat FractalSwarm Flat

26x—98xSwarm

21x—119xFractal

40x—145xFlat 162 633 113Fractal 115 96 49

Averagetasklength(cycles)

Page 46: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

ConclusionSpeculativesystemsmustextractnestedparallelisminordertoscalelarge,complex,real-worldapplications

Fractal:Anexecutionmodelforfine-grainnestedspeculativeparallelism◦ Decoupleatomicityfromparallelism◦ Guaranteeatomicitybyorderingtasks

Fractal unlocksthebenefitsoffine-grainspeculativeparallelism◦ Parallelizesmanychallengingworkloads◦ Enablescompositionofspeculativeparallelalgorithms

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 27

Page 47: FRACTAL - MIT CSAIL€¦ · FRACTAL: AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM 15 Fractalassigns a fractal virtual time (VT) to each task Captures the ordering

ThankYou!Questions?Speculativesystemsmustextractnestedparallelisminordertoscalelarge,complex,real-worldapplications

Fractal:Anexecutionmodelforfine-grainnestedspeculativeparallelism◦ Decoupleatomicityfromparallelism◦ Guaranteeatomicitybyorderingtasks

Fractal unlocksthebenefitsoffine-grainspeculativeparallelism◦ Parallelizesmanychallengingworkloads◦ Enablescompositionofspeculativeparallelalgorithms

FRACTAL:ANEXECUTIONMODELFORFINE-GRAINNESTEDSPECULATIVEPARALLELISM 28