local search to improve task mapping
play

Local search to improve task mapping Balzuweit*, Bunde*, - PowerPoint PPT Presentation

9 12 6 Operating system (x , y ) 1 1 3 6 9 12 (x , y ) 2 2 3 5 8 11 Photos placed in horizontal position (x , y ) 3 3 Parallel . 2 5 11 Scheduler Allocator Task mapping 8 . Job with even amount of white space 4


  1. 9 12 6 Operating system (x , y ) 1 1 3 6 9 12 (x , y ) 2 2 3 5 8 11 Photos placed in horizontal position (x , y ) 3 3 Parallel . 2 5 11 Scheduler Allocator Task mapping 8 . Job with even amount of white space 4 2 . 10 (x , y ) n n between photos and header 1 4 7 10 Decides when Decides which Assignment of Application Allocated Processors General graph 1 7 nodes job uses tasks to cores job runs with mesh coordinates view of allocation Task Graph Job Mapped job Local ¡search ¡to ¡improve ¡task ¡mapping ¡ Balzuweit*, ¡Bunde*, ¡Vitus ¡ ¡Leung, ¡Finley*, ¡Lee* ¡ P2S2, ¡12 ¡September ¡2014 ¡ ¡ *Knox ¡College, ¡Galesburg, ¡IL ¡ Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE- AC04-94AL85000.

  2. Parallel ¡(Distributed ¡Memory) ¡ Resource ¡Management ¡Pipeline ¡ Operating system Parallel Scheduler Allocator Task mapping Job Decides when Decides which Assignment of job runs nodes job uses tasks to cores

  3. Task ¡mapping ¡ § Long ¡history ¡[Bokhari, ¡1981] ¡(general ¡graph ¡model) ¡ § Less ¡important ¡in ¡mid-­‑1980s ¡with ¡wormhole ¡rouTng ¡ § Message ¡latency ¡independent ¡of ¡size ¡ § Recent ¡resurgence ¡ § Almasi ¡et ¡al. ¡2004 ¡ § Gygi ¡et ¡al. ¡2006 ¡(applicaTon ¡exhibited ¡1.64 ¡Tmes ¡speedup) ¡ § Hoefler ¡and ¡Snir ¡2011 ¡(heurisTcs ¡for ¡NP-­‑Complete ¡general ¡model) ¡ § Barre\ ¡et ¡al. ¡2012 ¡(heurisTc ¡for ¡coordinate ¡model, ¡mulTcore) ¡ § Leung ¡et ¡al. ¡2014 ¡(heurisTcs ¡for ¡coordinate ¡model, ¡hybrid ¡parallelism) ¡ § Deveci ¡et ¡al. ¡2014 ¡(coordinate ¡model ¡vs. ¡general ¡model ¡for ¡stencil ¡app) ¡ § ContenTon ¡for ¡limited ¡bandwidth ¡ § Processors ¡conTnue ¡improving ¡faster ¡than ¡networks ¡ § Processor ¡counts ¡in ¡state ¡of ¡the ¡art ¡HPC ¡systems ¡conTnue ¡to ¡grow ¡

  4. General ¡view ¡of ¡task ¡mapping ¡ (x , y ) 1 1 (x , y ) 2 2 (x , y ) 3 3 . . . (x , y ) n n Application Allocated Processors General graph with mesh coordinates view of allocation Task Graph

  5. Using ¡recursive ¡coordinate ¡bisecTon ¡ for ¡task ¡mapping ¡(Geom) ¡ 9 12 10 11 8 5 6 7 3 4 2 1 Job Machine

  6. Using ¡recursive ¡coordinate ¡bisecTon ¡ for ¡task ¡mapping ¡(Geom) ¡ 9 12 10 11 8 5 6 7 2 3 4 1 Job Machine

  7. Using ¡recursive ¡coordinate ¡bisecTon ¡ for ¡task ¡mapping ¡(Geom) ¡ 9 12 10 11 8 5 6 7 2 3 4 1 Job Machine

  8. Using ¡recursive ¡coordinate ¡bisecTon ¡ for ¡task ¡mapping ¡(Geom) ¡ 9 12 10 11 8 5 6 7 2 3 4 1 Job Machine

  9. Using ¡recursive ¡coordinate ¡bisecTon ¡ for ¡task ¡mapping ¡(Geom) ¡ 10 11 12 9 12 10 11 5 9 8 7 8 5 6 7 4 6 2 2 3 4 1 3 1 Job Machine

  10. Using ¡recursive ¡coordinate ¡bisecTon ¡ for ¡task ¡mapping ¡(Geom) ¡ 10 11 12 9 12 10 11 5 9 8 7 8 5 6 7 6 4 2 3 4 2 1 3 1

  11. Two ¡levels ¡of ¡cuts ¡in ¡decomposiTon ¡ created ¡by ¡Geom ¡ A B first cut next cuts C D

  12. This ¡presentaTon ¡ § Local ¡search ¡algorithm, ¡GSearch, ¡improves ¡on ¡Geom ¡by ¡ swapping ¡pairs ¡of ¡tasks ¡when ¡doing ¡so ¡improves ¡average ¡ distance ¡between ¡communicaTng ¡tasks ¡ § Demonstrate ¡GSearch ¡in ¡proxy ¡applicaTon ¡improves ¡ applicaTon’s ¡total ¡running ¡Tme ¡ § While ¡reducing ¡variability ¡in ¡total ¡running ¡Tme ¡ § Show ¡number ¡of ¡swaps ¡made ¡by ¡GSearch ¡is ¡reasonable ¡in ¡ pracTce ¡ § Some ¡processor ¡allocaTons ¡require ¡more ¡ § Use ¡distribuTon ¡of ¡swaps ¡made ¡to ¡provide ¡guidance ¡on ¡when ¡to ¡cut ¡ off ¡search ¡and ¡avoid ¡pathological ¡cases ¡ § Demonstrate ¡again ¡that ¡Geom ¡is ¡good ¡task ¡mapping ¡ algorithm, ¡but ¡local ¡search ¡can ¡improve ¡upon ¡it ¡

  13. Pseudocode ¡for ¡local ¡search ¡component ¡ of ¡GSearch ¡(version ¡without ¡a ¡swap ¡limit) ¡ do ¡{ ¡ ¡madeSwap ¡= ¡false; ¡ ¡for ¡1 ¡≤ ¡ i ¡< ¡num_tasks ¡ ¡ ¡for ¡ i ¡< ¡ j ¡≤ ¡num_tasks ¡ ¡ ¡ ¡ ¡ ¡if(swapping ¡tasks ¡ i ¡and ¡ j ¡reduces ¡average ¡hops) ¡{ ¡ ¡ ¡ ¡make ¡the ¡swap ¡ ¡ ¡ ¡madeSwap ¡= ¡true; ¡ ¡ ¡ ¡ ¡ ¡} ¡ } ¡while(madeSwap); ¡

  14. Cielo ¡miniGhost ¡Experiments ¡ § Los ¡Alamos ¡NaTonal ¡Laboratory ¡Cielo ¡machine, ¡Cray ¡XE6 ¡ § 143,104 ¡compute ¡cores ¡in ¡8,944 ¡compute ¡nodes, ¡dual ¡AMD ¡Opteron ¡ 6136 ¡eight-­‑core ¡“Magny-­‑Cours” ¡socket ¡G34 ¡running ¡at ¡2.4 ¡GHz ¡ § 272 ¡service ¡nodes, ¡AMD ¡Opteron ¡2427 ¡six-­‑core ¡“Istanbul” ¡socket ¡F ¡ running ¡at ¡2.2 ¡GHz ¡ § Gemini ¡3D ¡torus ¡in ¡16x12x24 ¡(XYZ) ¡topology, ¡2 ¡compute ¡nodes ¡ (sockets) ¡per ¡Gemini, ¡6.57x4.38x4.38 ¡(XYZ) ¡TB/s ¡bi-­‑secTon ¡bandwidth ¡ § As ¡of ¡November ¡2013, ¡number ¡26 ¡on ¡top ¡500 ¡list ¡ § ApplicaTon ¡used ¡was ¡miniGhost ¡ § Boundary ¡exchange ¡using ¡stencil ¡computaTons ¡in ¡scienTfic ¡parallel ¡ compuTng, ¡bulk-­‑synchronous ¡message ¡passing ¡code ¡modeled ¡on ¡CTH ¡ § Set ¡of ¡experiments ¡consists ¡of ¡miniGhost ¡runs ¡for ¡various ¡ numbers ¡of ¡total ¡cores ¡(16 ¡cores ¡per ¡MPI ¡rank) ¡

  15. Job ¡Dimensions ¡used ¡in ¡miniGhost ¡ experiments ¡ Nodes Job Dimensions 4 1 x 4 x 1 8 2 x 4 x 1 16 2 x 4 x 2 32 2 x 8 x 2 64 4 x 8 x 2 128 4 x 8 x 4 256 4 x 16 x 4 512 8 x 16 x 4 1k 8 x 16 x 8 2k 8 x 32 x 8 4k 16 x 32 x 8

  16. Running ¡Tme ¡by ¡job ¡size ¡for ¡miniGhost ¡on ¡ Cielo ¡(Average ¡over ¡6 ¡sets ¡of ¡experiments) ¡ 25.5 Geom GSearch 25 24.5 Execution time (sec) 24 23.5 23 22.5 22 21.5 21 4 16 64 256 1K 4K Job size (nodes)

  17. Difference ¡between ¡max ¡and ¡min ¡running ¡ Tme ¡by ¡job ¡size ¡for ¡miniGhost ¡on ¡Cielo ¡ 2.5 Diff. between longest and shortest times (sec) Geom GSearch 2 1.5 1 0.5 0 4 16 64 256 1K 4K Job size (nodes)

  18. Simulated ¡miniGhost ¡Experiments ¡ § Since ¡Tme ¡on ¡large ¡systems ¡is ¡scarce ¡ § Trace-­‑based ¡simulaTons ¡of ¡more ¡varied ¡scenarios ¡(PWA) ¡ § Job ¡arrival ¡Tme, ¡size, ¡running ¡Tme, ¡and ¡(in ¡many ¡cases) ¡Tme ¡esTmate ¡ § On ¡machine ¡ § schedule ¡(EASY), ¡ ¡ § allocate ¡(snake ¡best ¡fit ¡[Lo ¡et ¡al. ¡1997 ¡and ¡Leung ¡et ¡al. ¡2002]), ¡and ¡ § map ¡ § Summary ¡of ¡trace ¡used ¡in ¡simulaTons ¡ § Log ¡name: ¡LLNL-­‑Atlas-­‑2006-­‑2.1-­‑cln, ¡ ¡Machine: ¡24x24x16, ¡ ¡ ¡ § # ¡jobs ¡used: ¡12,474 ¡ § Random ¡simulaTons ¡ § ExhausTve ¡simulaTons ¡

  19. Average ¡edge ¡length ¡by ¡job ¡size ¡for ¡ LLNL-­‑Atlas ¡trace ¡ 4 Geom GSearch 3.5 Average edge length (hops) 3 2.5 2 1.5 1 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Job size (nodes); displayed in buckets of 200 nodes

  20. Number ¡of ¡swaps ¡made ¡by ¡GSearch ¡as ¡a ¡ funcTon ¡of ¡job ¡size ¡(average ¡and ¡max) ¡ 4096 Average Maximum 1024 256 Number of swaps 64 16 4 1 0.25 0.0625 4 16 64 256 1K 4K Job size (nodes)

  21. Number ¡of ¡swaps ¡made ¡by ¡GSearch ¡as ¡a ¡ funcTon ¡of ¡job ¡size ¡on ¡LLNL-­‑Atlas ¡trace ¡ 12000 points show average top of error bars show max 10000 line depicts 0.35n + 20 8000 Number of swaps 6000 4000 2000 0 0 2000 4000 6000 8000 10000 Job size (nodes); displayed in buckets of 200 nodes

  22. Swap ¡count ¡frequencies ¡from ¡100,000 ¡ random ¡allocaTons ¡on ¡16 ¡x ¡24 ¡x ¡24 ¡system ¡ 3000 8x8x8 9x9x9 10x10x10 2500 11x11x11 12x12x12 2000 Frequency 1500 1000 500 0 50 100 150 200 250 300 350 400 450 500 550 Number of swaps

Recommend


More recommend