piccolo - princeton university computer science€¦ · piccolo building fast, distributed programs...

26
PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

Upload: others

Post on 17-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

PICCOLOBUILDINGFAST,DISTRIBUTEDPROGRAMS

WITHPARTITIONEDTABLES

RussellPower,JinyangLiNewYorkUniversity

OSDI2010

Page 2: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

WhatisPICCOLO?

• Adata-centricprogrammingmodelforapplicationsthat• Aredistributed• Arein-memory• Accessandmutatesomesharedintermediatestate.

• Allowsuserstospecify:• Howisdatapartitioned?• LocalityPolicies

Page 3: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

• MPIrequirestoomuchwork!• Fine-grainedcontrol.

• Typicaldata-centricprogrammingmodels• Aregoodforbulkprocessingofon-diskdata.• Notforin-memoryapplications?

• Read1MBsequentiallyfrommemory– 0.00025ms• Read1MBsequentiallyfromnetwork– 0.01000ms• Read1MBsequentiallyfromdisk– 0.03000ms

• Canwedobetter?• Yes,lettheuserfigureoutcertaindetails.• But..Why?Betterperformance.

Page 4: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

[https://www.usenix.org/legacy/events/osdi10/tech/slides/power.pdf]

Page 5: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

https://www.usenix.org/legacy/events/osdi10/tech/slides/power.pdf

Page 6: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

https://www.usenix.org/legacy/events/osdi10/tech/slides/power.pdf

Page 7: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

ProgrammingModel

• Control functions• Launchkernels• Createtables• Sychronize throughbarriers• Runsononemachine

• Kernel functions• Distributed,manyinstancesareruntogether• Readandwritetotables

Page 8: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

Tables

• Key-valuestores• Get(Key)• Put(Key,Value)• Update(Key,Value)• Flush()

• Userdefinedaccumulationfunctions• Commutative,Associative• Local– noaccesstoglobalstate.• Dealwithwrite-writeconflicts.

• But..Why?Writechangesarebuffered.

Page 9: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

https://www.usenix.org/legacy/events/osdi10/tech/slides/power.pdf

Page 10: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

https://www.usenix.org/legacy/events/osdi10/tech/slides/power.pdf

Page 11: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

Paritioning andLocality

• Tablescanbepartitioned.• Assumeeachfragement fitsinmemory.

• LocalityPreferences• Co-locatecertainparitions ofdifferenttables.• Co-locatedataandexecution.

Page 12: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

https://www.usenix.org/legacy/events/osdi10/tech/slides/power.pdf

Page 13: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

https://www.usenix.org/legacy/events/osdi10/tech/slides/power.pdf

Page 14: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

Checkpoints

• Asynchronous• Takesasarguments– Tables,User-Data

• Synchronous• Takesasarguments– TimeInterval,Tables,Callback

Page 15: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

https://www.usenix.org/legacy/events/osdi10/tech/slides/power.pdf

Page 16: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

SystemDesign

• Master node• ControlThread• AssignsKernelstoWorkers• Theassignmentisa“publicannouncement”.

• Worker nodes• HandleKernelexecutions• Principle:Bufferaslongasyoucan.• Ifneedtoread,thenflush(),andread().

• Why?Wantthatforasinglethread,thechronologymakessense.

Page 17: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

LoadBalancing

• Initialallocation• Doround-robin.• Ifthereisadistributedfile,minimizeinter-racktransfer.

• DynamicLoadBalancing• But..Why?• Heterogeneoushardwareconfigs• How?

• Killnorunningtask.• Havetomigratetablepartitions.

Page 18: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

WorkStealing

• Ifaworkerisfree,assignitataskfromthebusiestworker.• Dolargertasksfirst.• Estimatetasksizebysizeofpartitionoftable.

Page 19: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

TablePartitionMigration(OLDtoNEW)

• Phase1—• MastersaysBEGIN.• AllworkersflushchangestoOLD,sendnewrequeststoNEW.• OLDpauses,relayrequeststoNEW.Then,transferstate.• NEWbuffersrequests,doesnotact.• ACKsfromall.

• Phase2—• MastersaysDO_IT_NOWtoOLDandNEW.• AllworkersflushchangestoOLD,sendnewrequeststoNEW.• OLDpauses,relayrequeststoNEW.• NEWbuffersrequests,doesnotact.• Now,OLDsendsrequests.• NEWnowacts.

Page 20: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

FaultTolerance

• Ifonefails,restartallfromthelastcheckpoint.• Check-point• Needtosaveaconsistentcheckpointwithoutstoppingtheexecution.

• Chady-Lamport algorithm• Idea:Takeasnapshotofstate.Keepalogofchanges.• Whentodoit?

• Early.Logcouldbetoolarge.• Late.Missedoppurtunity toconcurrentlydoexecutionandcheckpoint.• Doitwhenthefirstworkerisdone.

Page 21: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

Experiments

• On• 12nodeNYUnetwork.• EC2

• Implements• PageRank– co-locaterankandgraph.• DistributedCrawler– co-locate“polite”,“robots”,“sites”• K-Means• N-BodySimulation• MatrixMultiplication

Page 22: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010
Page 23: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010
Page 24: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010
Page 25: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

Strengths

• Naturalmodelforsomeapplications.• Configurabilityallowsforapplicationtuning.• 11x,4xperformanceforPageRank,K-Means

• Notanall-purposesystem;targetsspecificapps.• Makesgoodchoicesastowhattodelegate.

• Checkpointingcontrolvariableistheuser’sjob.

Page 26: PICCOLO - Princeton University Computer Science€¦ · PICCOLO BUILDING FAST, DISTRIBUTED PROGRAMS WITH PARTITIONED TABLES Russell Power, JinyangLi New York University OSDI 2010

“Not-Strength”s

• Theone-fails-all-dopolicy.• Associative,Commutativeaccumulators?• Whatifthemasterfails?• Key-valueinterface.Multi-entrywrites?• Tooreliantontheuser?• Checkpointscalability?

• Comparedtosomeotherin-memorysystem?