Heterogeneous Distributed Barnes-Hut Scheduler
Dynamic Load Balancing for Distributed Barnes-Hut Simulations
Zhuoyi Zou (zhuoyiz), Vanessa Lam (yatheil)
Goals & Deliverables
Plan to achieve:
-
Implement Barnes Hut (with C++ starter code)
-
Enable rank level parallelism with MPI (single node + multi rank + static assignment)
-
Build a dynamic load balancer (single node + multi rank + dynamic assignment)
-
Tuning & performance optimization on single node
-
Expand MPI implementation to support node level parallelism (multi node
+ multi rank + dynamic assignment)
-
Expand dynamic load balancer to consider node heterogeneity (GHC, ECE,
linux.andrew, Hamerschlag) (multi node + multi rank + improved dynamic
assignment)
-
Benchmark performance with different combinations of heterogeneous
compute
Hope to achieve:
-
Scale to more machines
-
Compare different distributions of machines (ex. 7 GHC vs one of each)
Schedule
- Week of April 13, first half:
Zhuoyi: Improved allgather,
Vanessa: benchmarked dynamic load balancing
- Week of April 13, second half:
Zhuoyi: Optimize message size, code structure,
Vanessa: Tweak parameters for load balancing
- Week of April 20:
Run final benchmarks, write report, make poster