14
Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups Akhil Langer, Ramprasad Venkataraman, Laxmikant Kale Parallel Programming Laboratory

Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups

  • Upload
    taffy

  • View
    19

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups

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

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

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

• 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

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

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

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

Algo 1: Shrink-and-balance

• Balance

Page 9: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups

Algo 2: Shrink-and-hash

Page 10: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups

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

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

Results

Page 13: Exascale Algorithms for Balanced Spanning Tree Construction in System-ranked Process Groups

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

Questions?