Unleashing dynamic task scheduling at rack-scale Magnus ¡Norgren, ¡ Andra ¡Hugo ¡(DDN ¡Storage), ¡ Stefanos ¡Kaxiras, ¡Konstan9nos ¡Sagonas ¡ ¡ Uppsala University
Task based programming on distributed shared memory � • Can ¡we ¡scale ¡a ¡task ¡based ¡system ¡ at ¡cluster ¡scale? ¡ Mem ¡ Mem ¡ Mem ¡ • … ¡on ¡a ¡SoDware ¡DSM ¡?! ¡ à ¡Yes, ¡If ¡we ¡co-‑design ¡scheduling ¡& ¡ caching ¡ High-‑Speed ¡ ¡ Network. ¡ E.g. ¡Infiniband ¡ Early ¡results: ¡Running ¡tasks ¡on ¡ remote ¡memory ¡at ¡>90% ¡of ¡na9ve ¡ CPU ¡ CPU ¡ execu9on ¡on ¡local ¡memory ¡ Mem ¡ SW ¡cache ¡ CPU ¡ CPU ¡ Information Technology ¡ | it.uu.se
Distributed Shared Memory � • Coherent ¡Distributed ¡Shared ¡Memory ¡(DSM) ¡gives ¡us: ¡ • Transparent ¡Caching ¡(takes ¡advantage ¡of ¡ any ¡locality) ¡ • Even ¡if ¡locality ¡is ¡Jny, ¡its ¡benefit ¡is ¡a ¡funcJon ¡of ¡latency! ¡ • Avoids ¡hybrid ¡SM ¡(intranode)-‑MP ¡(internode) ¡programming ¡ • Freedom ¡from ¡data ¡distribuJon ¡ • Demand ¡fetching, ¡prefetching ¡can ¡largely ¡hide ¡bad ¡distribuJon ¡ ¡ • Natural ¡and ¡familiar ¡synchronizaJon ¡constructs ¡(locks) ¡ • Extend ¡memory ¡beyond ¡one ¡node ¡ • But ¡isn’t ¡this ¡quite ¡costly? ¡ • Yes ¡– ¡Used ¡to ¡be, ¡but ¡Jmes ¡have ¡changed ¡ • Latency ¡only ¡one ¡magnitude ¡worse ¡than ¡DRAM ¡ • …And ¡bandwidth ¡is ¡on ¡par ¡with ¡DRAM ¡ Information Technology ¡ | it.uu.se
Trends: Latency � Memory vs. Network 1000000 ¡ DRAM ¡Latency ¡(ns) ¡ Network ¡Latency ¡(ns) ¡ From ¡3 ¡magnitudes ¡to ¡1 ¡magnitude ¡ 100000 ¡ difference ¡ 10000 ¡ Nanoseconds ¡ Network ¡Latency ¡(ns) ¡ 1000 ¡ DRAM ¡Latency ¡(ns) ¡ 100 ¡ 10 ¡ 1992 ¡ 1997 ¡ 2002 ¡ 2007 ¡ 2012 ¡ 2017 ¡ Year ¡ Information Technology ¡ | it.uu.se
Trends: Bandwidth � Memory vs. Network 1000000 ¡ DRAM ¡Bandwidth ¡(Mbps) ¡ Network ¡Bandwidth ¡(Mbps) ¡ 100000 ¡ Network ¡Bandwidth ¡ 10000 ¡ DRAM ¡Bandwidth ¡ Mbps ¡ 1000 ¡ Bandwidth ¡on ¡par ¡with ¡DRAM ¡ à ¡We ¡can ¡trade ¡bandwidth ¡for ¡ 100 ¡ latency, ¡fetching ¡data ¡in ¡large ¡ granularity, ¡prefetching ¡etc. ¡ 10 ¡ 1992 ¡ 1997 ¡ 2002 ¡ 2007 ¡ 2012 ¡ 2017 ¡ Year ¡ Information Technology ¡ | it.uu.se
ARGO DSM (www.argodsm.com) • A ¡DSM ¡based ¡on ¡current ¡trends ¡[HPDC’15]: ¡ • User-‑space ¡implementaJon ¡ • Page-‑based ¡DSM ¡(uses ¡virtual ¡memory ¡faults ¡for ¡misses) ¡ • MPI ¡is ¡the ¡“network ¡layer” ¡(but ¡only ¡need ¡RDMA) ¡ • Runs ¡ ¡ • Pthreads ¡– ¡Data ¡race ¡free ¡programs ¡ ¡ • OpenMP ¡-‑ ¡Manually ¡ported ¡(Minor ¡modificaJons) ¡ • Compile ¡and ¡link ¡with ¡ArgoDSM ¡library ¡ à ¡MPI ¡program ¡that ¡ implements ¡DSM ¡ ¡ Information Technology ¡ | it.uu.se
ARGO DSM (www.argodsm.com) • Under ¡the ¡hood ¡[HPDC’15] ¡ • SC ¡for ¡DRF ¡(SequenJal ¡Consistency ¡for ¡Data ¡Race ¡Free) ¡ • Full ¡relaxaJon ¡of ¡memory ¡ordering ¡between ¡synchronizaJon ¡ ¡ • Builds ¡on ¡very ¡simple, ¡completely ¡distributed ¡coherence ¡ (VIPS) ¡[PACT’15, ¡ISCA’13] ¡ • Queue ¡DelegaJon ¡Locking ¡primiJves ¡[IEEE ¡TPDS’18] ¡ ¡ • Take ¡decisions ¡locally ¡& ¡Trade ¡bandwidth ¡for ¡latency ¡ Information Technology ¡ | it.uu.se
Benchmark scaling � Pthread / OpenMP on ArgoDSM � Parsec ¡Blackscholes ¡ NAS ¡CG ¡ 250 60 Argo AUgo 50 200 3thread 2Sen03 40 SSeeduS 6SeeduS 150 03I U3C 30 100 20 50 10 0 0 0 5 10 15 20 25 30 500 1000 1500 2000 0 5 10 15 20 25 30 100 200 300 400 500 Threads ThUeads NAS ¡EP ¡ N-‑body ¡ 400 600 350 Argo AUgo 500 300 3thread 2Sen03 400 250 SSeeduS 03I 6SeeduS U3C 200 300 150 200 100 100 50 0 0 0 5 10 15 20 25 30 100 200 300 400 500 0 5 10 15 20 25 30 500 1000 1500 2000 Threads ThUeads Information Technology ¡ | it.uu.se
Benchmark scaling � Pthread / OpenMP on ArgoDSM � Parsec ¡Blackscholes ¡ NAS ¡CG ¡ 250 60 Argo AUgo 50 200 3thread 2Sen03 40 SSeeduS 6SeeduS 150 03I U3C Parallel ¡Pthread/OpenMP ¡ 30 100 programs ¡scaled ¡up ¡to ¡2000 ¡ 20 50 10 threads ¡ 0 0 0 5 10 15 20 25 30 500 1000 1500 2000 0 5 10 15 20 25 30 100 200 300 400 500 -‑ ¡ Threads ThUeads NAS ¡EP ¡ N-‑body ¡ More ¡informaJon, ¡see ¡our ¡ 400 600 350 Argo HPDC’15 ¡paper ¡ AUgo 500 300 3thread 2Sen03 400 250 SSeeduS 03I 6SeeduS U3C 200 300 150 200 100 100 50 0 0 0 5 10 15 20 25 30 100 200 300 400 500 0 5 10 15 20 25 30 500 1000 1500 2000 Threads ThUeads Information Technology ¡ | it.uu.se
Task based programming • Parallel ¡programming ¡model ¡ • StarPU , ¡OmpSs, ¡OpenMP, ¡etc ¡ • Express ¡parallelism ¡in ¡terms ¡of ¡task-‑graphs ¡ • Can ¡target ¡heterogeneous ¡systems ¡ High-‑Speed ¡ Network. ¡ • Our ¡use ¡case ¡only ¡runs ¡on ¡CPUs ¡ E.g. ¡Infiniband ¡ • High ¡performance ¡ • Use ¡kernels ¡from ¡BLAS ¡libraries ¡ • Challenge: ¡How ¡to ¡do ¡scheduling? ¡ Mem ¡ • Eager ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ Couple ¡with ¡ArgoDSM ¡ • Data ¡aware ¡ for ¡cluster ¡awareness! ¡ • Custom… ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ Information Technology ¡ | it.uu.se
Task schedulers � Eager ¡Scheduling ¡ Data ¡Aware ¡Scheduling ¡ ¡ ¡ Try ¡to ¡minimize ¡ Push ¡ Push ¡ Jme ¡ ¡ ¡ ¡ to ¡compleJon ¡ ¡ Takes ¡data ¡transfer ¡ into ¡ consideraJon ¡ ¡ Pop ¡ ¡ CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU #1 ¡ #2 ¡ #3 ¡ #4 ¡ #5 ¡ #1 ¡ #2 ¡ #3 ¡ #4 ¡ #5 ¡ = ¡Tasks ¡ Information Technology ¡ | it.uu.se
Task schedulers � Eager ¡Scheduling ¡ Data ¡Aware ¡Scheduling ¡ ¡ ¡ Try ¡to ¡minimize ¡ Push ¡ Jme ¡ ¡ ¡ to ¡compleJon ¡ ¡ Takes ¡data ¡transfer ¡ into ¡ consideraJon ¡ ¡ Pop ¡ ¡ CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU #1 ¡ #2 ¡ #3 ¡ #4 ¡ #5 ¡ #1 ¡ #2 ¡ #3 ¡ #4 ¡ #5 ¡ = ¡Tasks ¡ Information Technology ¡ | it.uu.se
The perfect fit � ArgoDSM+Tasks � • Tasks ¡over ¡ArgoDSM ¡Co-‑design ¡ • ArgoDSM ¡can ¡ • Handle ¡caching ¡of ¡remote ¡data ¡making ¡it ¡appear ¡as ¡local ¡ ¡ High-‑Speed ¡ Network. ¡ E.g. ¡Infiniband ¡ Mem ¡ Mem ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ Information Technology ¡ | it.uu.se
The perfect fit � ArgoDSM+Tasks � • Tasks ¡over ¡ArgoDSM ¡Co-‑design ¡ • ArgoDSM ¡can ¡ • Handle ¡caching ¡of ¡remote ¡data ¡making ¡it ¡appear ¡as ¡local ¡ ¡ High-‑Speed ¡ RDMA ¡ Network. ¡ E.g. ¡Infiniband ¡ Mem ¡ Mem ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ Information Technology ¡ | it.uu.se
The perfect fit � Cluster level DSM+Tasks � • Tasks ¡over ¡ArgoDSM ¡Co-‑design ¡ • ArgoDSM ¡can ¡ • Handle ¡caching ¡of ¡remote ¡data ¡making ¡it ¡appear ¡as ¡local ¡ • Exploit ¡task ¡informaJon ¡ High-‑Speed ¡ Network. ¡ • Prefetch ¡data ¡ahead ¡of ¡Jme ¡ E.g. ¡Infiniband ¡ • Prevent ¡evicJon ¡of ¡useful ¡data ¡ • StarPU: ¡performance ¡models ¡ • è ¡ArgoDSM ¡(cluster) ¡locality! ¡ Mem ¡ ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ ¡ CPU ¡ CPU ¡ CPU ¡ CPU ¡ Information Technology ¡ | it.uu.se
ArgoDSM aware scheduler � Eager ¡Scheduling ¡ Data ¡Aware ¡Scheduling ¡ ¡ ¡ Push ¡ Push ¡ Try ¡to ¡minimize ¡ ¡ ¡ Jme ¡ ¡ to ¡compleJon ¡ ¡ Takes ¡data ¡ transfer ¡into ¡ consideraJon ¡ ¡ Pop ¡ ¡ CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU #1 ¡ #2 ¡ #3 ¡ #4 ¡ #5 ¡ #1 ¡ #2 ¡ #3 ¡ #4 ¡ #5 ¡ = ¡Tasks ¡ Information Technology ¡ | it.uu.se
Recommend
More recommend