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

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