Advances in high-throughput simulation (HTS) software enabled computational databases and big data to become common resources in materials science. However, while computational power is increasingly larger, software packages orchestrating complex workflows in heterogeneous environments are scarce. This paper introduces mkite, a Python package for performing HTS in distributed computing environments. The mkite toolkit is built with the server-client pattern, decoupling production databases from client runners. When used in combination with message brokers, mkite enables any available client to perform calculations without prior hardware specification on the server side. Furthermore, the software enables the creation of complex workflows with multiple inputs and branches, facilitating the exploration of combinatorial chemical spaces. Software design principles are discussed in detail, highlighting the usefulness of decoupling simulations and data management tasks to diversify simulation environments. To exemplify how mkite handles simulation workflows of combinatorial systems, case studies on zeolite synthesis and surface catalyst discovery are provided. Finally, key differences with other atomistic simulation workflows are outlined. The mkite suite can enable HTS in distributed computing environments, simplifying workflows with heterogeneous hardware and software, and helping deployment of calculations at scale.
翻译:摘要:高通量模拟(HTS)软件的发展使得计算数据库和大数据成为材料科学中的常用资源。然而,尽管计算能力日益增强,能够在异构环境中编排复杂工作流的软件包仍较为匮乏。本文介绍mkite,一个用于在分布式计算环境中执行HTS的Python软件包。mkite工具包采用服务器-客户端模式构建,将生产数据库与客户端运行器解耦。当与消息代理结合使用时,mkite能够使任何可用客户端在无需预先指定服务器端硬件的情况下执行计算。此外,该软件支持创建具有多输入和多分支的复杂工作流,从而促进组合化学空间的探索。本文详细讨论了软件设计原则,突出了将模拟与数据管理任务解耦以多样化模拟环境的有用性。为展示mkite如何处理组合系统的工作流,文中提供了沸石合成和表面催化剂发现案例研究。最后,概述了该工作流与其他原子模拟工作流的关键差异。mkite套件能够在分布式计算环境中实现HTS,简化异构硬件与软件的工作流,并支持大规模计算部署。