exascale algorithms for balanced spanning tree construction in system-ranked process groups
DESCRIPTION
Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups. Akhil Langer , Ramprasad Venkataraman , Laxmikant Kale Parallel Programming Laboratory. Overview. Introduction Problem Statement Distributed Algorithms Shrink-and-balance Shrink-and-hash - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/1.jpg)
Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups
Akhil Langer, Ramprasad Venkataraman, Laxmikant KaleParallel Programming Laboratory
![Page 2: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/2.jpg)
Overview
• Introduction• Problem Statement• Distributed Algorithms
– Shrink-and-balance– Shrink-and-hash
• Analysis and Results• Summary
![Page 3: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/3.jpg)
Introduction
• Process group– A subset of all the processes, used for
• collective communication• point-to-point communication
• Per process group memory usage increases with system size– number of MPI sub-communicators dropped from at processes to
just at processes*
*Balaji, et.al. MPI on a Million Processors. EuroMPI 2009
![Page 4: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/4.jpg)
• Process-groups often used for simple collective operations– reductions, broadcasts, all-reduce, barriers, etc.– e.g. LU, Quantum Chemistry codes (OpenAtom), Histogram
sorting, Branch-and-bound, etc.• Result independent of the ranks
Introduction
![Page 5: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/5.jpg)
Problem Statement
• Balanced spanning trees• Reference centralized approach
– Collect list of participating processes at process 0– Select k child vertices, split rest into k partitions– Repeat at child vertices– memory, time
• Construct balanced spanning tree without collecting the listof processes
![Page 6: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/6.jpg)
Algo 1: Shrink-and-balance
• Shrink and then balance
Level-by-level demonstration of shrinking
![Page 7: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/7.jpg)
Algo 1: Shrink-and-balance
Shrinking taking place in parallel to upward-pass
![Page 8: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/8.jpg)
Algo 1: Shrink-and-balance
• Balance
![Page 9: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/9.jpg)
Algo 2: Shrink-and-hash
![Page 10: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/10.jpg)
Algo 2: Shrink-and-hash
• Hashing enables finding process ids corresponding to parent and child ranks. – hash: rank -> process id
![Page 11: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/11.jpg)
PerformanceBG/P 64k cores
Shrink-and-balanceMessage conservative but longer critical path
Shrink-and-hashlarge number of messages but short critical path
![Page 12: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/12.jpg)
Results
![Page 13: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/13.jpg)
Summary
• System-ranked sub-communicators sufficient in many scenarios
• Developed memory and creation time algorithms for system-ranked process groups – Significantly faster than the reference centralized scheme– Order of magnitude faster than MPI’s communicator creation
![Page 14: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups](https://reader036.vdocument.in/reader036/viewer/2022062520/568161a6550346895dd16491/html5/thumbnails/14.jpg)
Questions?