unleashing dynamic task scheduling at rack scale
play

Unleashing dynamic task scheduling at rack-scale Magnus Norgren, - PowerPoint PPT Presentation

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


  1. Unleashing dynamic task scheduling at rack-scale Magnus ¡Norgren, ¡ Andra ¡Hugo ¡(DDN ¡Storage), ¡ Stefanos ¡Kaxiras, ¡Konstan9nos ¡Sagonas ¡ ¡ Uppsala University

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend