BioDynaMo: a general platform for scalable agent-based simulation

BioDynaMo: a general platform for scalable agent-based simulation
复制标题

BioDynaMo:可扩展的基于代理的模拟的通用平台

DOI:
10.1101/2020.06.08.139949
复制
发表时间:
2020
期刊:
--
影响因子:
--
通讯作者:
Breitwieser L
Breitwieser L
中科院分区:
--
文献类型:
--
作者:
Breitwieser L

文献摘要

相似文献

计算机模拟是研究复杂生物系统不可或缺的工具。特别是,基于主体的建模是描述生物物理动力学的一种有吸引力的方法。然而,有两个障碍限制了更快的进展。首先,模拟器并不总是充分利用并行和异构硬件。其次,许多基于代理的模拟器都是针对特定的研究问题编写的,缺乏灵活的软件设计。因此,研究人员必须花费不必要的长时间来实现模拟,并且必须在模型分辨率或系统尺寸上做出妥协。我们提出了一种名为 BioDynaMo 的新型模拟平台,它可以缓解研究人员在复杂生物系统的计算机模拟中面临的这两个问题。 BioDynaMo 具有通用和高性能模拟引擎。该引擎模拟细胞元素、它们在 3D 物理环境中的相互作用以及它们的细胞内部遗传动力学。细胞内部动力学可以用 C++ 代码或系统生物学标记语言 (SBML) 进行描述。我们通过三个示例用例展示了 BioDynaMo 的广泛应用:体细胞聚类、神经发育和肿瘤球体生长。我们用实验数据验证我们的结果,并评估模拟引擎的性能。我们将 BioDynaMo 的性能与最先进的基准进行比较,并分析其可扩展性。我们观察到,使用一个 CPU 核心时,与最先进的基准相比,加速了 20-124 倍;使用 72 个物理 CPU 核心(启用超线程)时,并行加速在 67 倍到 76 倍之间。结合这两个结果,我们得出结论,在我们的测试系统上,BioDynaMo 比最先进的串行基线至少快三个数量级。这些改进使得在具有 1TB 内存的单个服务器上模拟 12.4 亿个代理的神经发育,以及在具有 16GB 内存的笔记本电脑上模拟 1200 万个代理的神经发育成为可能。BioDynaMo 是 Apache 2.0 许可下的开源项目,可在 www.biodynamo.org 上获取。作者摘要生物系统的计算机模拟对于深入了解生物体的复杂过程至关重要。然而,开发越来越大和复杂的模拟是一项艰巨的任务,部分原因是需要强大的生物学和计算机科学背景。在本文中,我们介绍了 BioDynaMo,这是一个基于代理的模拟平台,生命科学家可以使用该平台创建比最先进的基线快三个数量级的模拟。通过利用计算硬件的最新发展,我们构建了一个高度优化的平台。这使得能够在单个服务器上模拟 12.4 亿个代理,在笔记本电脑上模拟 1200 万个代理。 BioDynaMo 非常注重隐藏计算复杂性并提供易于使用的界面,以便生命科学家可以专注于生物学方面,而不是计算方面。 BioDynaMo 通过提供通用构建块以及模块化和可扩展的软件设计,帮助科学家将想法快速转化为模拟。我们分析了该平台的性能,并通过三个示例用例展示了其功能:体细胞聚类、神经发育和肿瘤球体生长。结果支持这样的观点:BioDynaMo 将有助于为大规模生物模拟开辟新的研究机会。
Computer simulation is an indispensable tool for studying complex biological systems. In particular, agent-based modeling is an attractive method to describe biophysical dynamics. However, two barriers limit faster progress. First, simulators do not always take full advantage of parallel and heterogeneous hardware. Second, many agent-based simulators are written with a specific research problem in mind and lack a flexible software design. Consequently, researchers have to spend an unnecessarily long time implementing their simulation and have to compromise either on model resolution or system size.We present a novel simulation platform called BioDynaMo that alleviates both of these problems researchers face in computer simulation of complex biological systems. BioDynaMo features a general-purpose and high-performance simulation engine. The engine simulates cellular elements, their interactions within a 3D physical environment, and their cell-internal genetic dynamics. Cell-internal dynamics can be described in C++ code or using system biology markup language (SBML).We demonstrate BioDynaMo’s wide range of application with three example use cases: soma clustering, neural development, and tumor spheroid growth. We validate our results with experimental data, and evaluate the performance of the simulation engine. We compare BioDynaMo’s performance with a state-of-the-art baseline, and analyze its scalability. We observe a speedup of 20–124× over the state-of-the-art baseline using one CPU core and a parallel speedup between 67× and 76× using 72 physical CPU cores with hyperthreading enabled. Combining these two results, we conclude that, on our test system, BioDynaMo is at least three orders of magnitude faster than the state-of-the-art serial baseline. These improvements make it feasible to simulate neural development with 1.24 billion agents on a single server with 1TB memory, and 12 million agents on a laptop with 16GB memory.BioDynaMo is an open-source project under the Apache 2.0 license and is available at www.biodynamo.org.Author summaryComputer simulations of biological systems are crucial to gain insights into complex processes of living organisms. However, the development of increasingly large and complex simulations is a difficult task, partly because a strong background in biology as well as computer science is required. In this paper, we introduce BioDynaMo, an agent-based simulation platform with which life scientists can create simulations that are three orders of magnitude faster than the state-of-the-art baseline. By taking advantage of the latest developments in computing hardware, we build a platform that is highly optimized. This enables the simulation of 1.24 billion agents on a single server and 12 million agents on a laptop. BioDynaMo places a lot of focus on hiding computational complexity and providing an easy-to-use interface, such that the life scientist can concentrate on biological aspects, rather than computational. BioDynaMo helps scientists to translate an idea quickly into a simulation by providing common building blocks, and a modular and extensible software design. We analyze the performance of the platform and demonstrate the capabilities with three example use cases: soma clustering, neural development, and tumor spheroid growth. The results support the view that BioDynaMo will help open up new research opportunities for large-scale biological simulations.