Automatically Distributing Eulerian and Hybrid Fluid Simulations in the Cloud

Automatically Distributing Eulerian and Hybrid Fluid Simulations in the Cloud
复制标题

DOI:
10.1145/3173551
复制
发表时间:
2018-06
期刊:
ACM Transactions on Graphics (TOG)
影响因子:
--
通讯作者:
Omid Mashayekhi;Chinmayee Shah;Hang Qu;Andrew Lim;P. Levis
Omid Mashayekhi;Chinmayee Shah;Hang Qu;Andrew Lim;P. Levis
中科院分区:
其他
文献类型:
--
作者:
Omid Mashayekhi;Chinmayee Shah;Hang Qu;Andrew Lim;P. Levis

文献摘要

被引文献

相似文献

在多台机器上分布模拟可以极大地加快计算速度并增加细节。计算云提供了巨大的计算资源,但薄弱的服务保障迫使程序去管理显著的系统复杂性:节点、网络和存储偶尔会表现不佳或出现故障。我们介绍Nimbus,一个能在云计算节点间自动分布基于网格和混合模拟的系统。主模拟循环是顺序代码,并在多个核心上启动分布式计算。每个核心上的模拟就像独立运行一样:Nimbus自动将这些模拟拼接成一个更大的模拟。为了高效地做到这一点,Nimbus引入了一个四层数据模型,它在模拟库使用的连续几何对象和其底层云计算运行时管理的复制细粒度对象之间进行转换。通过使用PhysBAM粒子级集合流体模拟,我们证明Nimbus可以更快地运行更高细节的模拟,在多达512个核心上分布模拟,并运行巨大的模拟(1024³个单元)。Nimbus自动管理这些分布式模拟,平衡节点间的负载并从故障中恢复。PhysBAM水和烟雾模拟以及一个开源热扩散模拟的实现表明Nimbus是通用的,并且可以支持复杂模拟。Nimbus可从https://nimbus.stanford.edu下载。
Distributing a simulation across many machines can drastically speed up computations and increase detail. The computing cloud provides tremendous computing resources, but weak service guarantees force programs to manage significant system complexity: nodes, networks, and storage occasionally perform poorly or fail. We describe Nimbus, a system that automatically distributes grid-based and hybrid simulations across cloud computing nodes. The main simulation loop is sequential code and launches distributed computations across many cores. The simulation on each core runs as if it is stand-alone: Nimbus automatically stitches these simulations into a single, larger one. To do this efficiently, Nimbus introduces a four-layer data model that translates between the contiguous, geometric objects used by simulation libraries and the replicated, fine-grain objects managed by its underlying cloud computing runtime. Using PhysBAM particle-level set fluid simulations, we demonstrate that Nimbus can run higher detail simulations faster, distribute simulations on up to 512 cores, and run enormous simulations (10243 cells). Nimbus automatically manages these distributed simulations, balancing load across nodes and recovering from failures. Implementations of PhysBAM water and smoke simulations as well as an open source heat-diffusion simulation show that Nimbus is general and can support complex simulations. Nimbus can be downloaded from https://nimbus.stanford.edu.