Distributing and Load Balancing Sparse Fluid Simulations
Published in Proceedings of the 17th Annual Symposium on Computer Animation (SCA 2018), July 2018.
Abstract
This paper describes a general algorithm and a system for load balancing sparse fluid simulations. Automatically distributing sparse fluid simulations efficiently is challenging because the computational load varies across the simulation domain and time. A key challenge with load balancing is that optimal decision making requires knowing the fluid distribution across partitions for future time steps, but computing this state for an arbitrary simulation requires running the simulation itself. The key insight of this paper is that it is possible to predict future load by running a low resolution simulation in parallel. This paper describes a system design and techniques to automatically distribute and load balance sparse fluid simulations, and presents speculative load balancing, a general technique to effectively balance future load using information about future load distribution obtained via a low resolution simulation. We mathematically formulate the problem of load balancing over multiple time-steps and present a polynomial time algorithm to compute an approximate solution to it. Our experimental results show that distributing and speculatively load balancing sparse FLIP simulations over 8 nodes speeds them up by 5.5x to 7.2x, and that speculative load balancing generates assignments that perform within 20% of optimal.
BibTeX entry
@inproceedings{sca18-shah,
author = "Chinmayee Shah and David Hyde and Hang Qu and Philip Levis",
title = "{Distributing and Load Balancing Sparse Fluid Simulations}",
booktitle = "{Proceedings of the 17th Annual Symposium on Computer Animation (SCA 2018)}",
year = {2018},
month = {July}
}