论文标题
可再现和便携式工作流程,用于云中的科学计算和HPC
Reproducible and Portable Workflows for Scientific Computing and HPC in the Cloud
论文作者
论文摘要
科学云计算服务的可用性越来越多,改变了科学代码可以开发,部署和运行的方式。许多现代的科学工作流都能够在云计算资源上运行。因此,对科学计算社区对方法,工具和实施的兴趣越来越大,这些方法,工具和实施使应用程序能够将应用程序移动到云并简化过程,并减少了有意义的科学结果的时间。在本文中,我们将容器化的概念应用于可移植性和使用行业标准工具的多云自动部署,以在三个科学工作流程中。我们展示了我们的实现如何将两个应用程序本身的可移植性以及它们在私人和公共云中的部署提供降低的复杂性。每个应用程序都被包装在一个具有其依赖项和生产运行的必要环境设置的码头容器中。 Terraform和Ansible已被用来自动化计算资源的配置以及在多VM集群中的每个科学应用程序的部署。每个应用程序已部署在AWS和Aristotle Cloud Federation平台上。探索和报告了数据管理约束,多VM MPI通信和令人尴尬的并行实例部署的变化。因此,我们提供了一个科学工作流的示例,可以使用工具和我们提出的实现来简化,以在各种云环境中进行部署和运行。
The increasing availability of cloud computing services for science has changed the way scientific code can be developed, deployed, and run. Many modern scientific workflows are capable of running on cloud computing resources. Consequently, there is an increasing interest in the scientific computing community in methods, tools, and implementations that enable moving an application to the cloud and simplifying the process, and decreasing the time to meaningful scientific results. In this paper, we have applied the concepts of containerization for portability and multi-cloud automated deployment with industry-standard tools to three scientific workflows. We show how our implementations provide reduced complexity to portability of both the applications themselves, and their deployment across private and public clouds. Each application has been packaged in a Docker container with its dependencies and necessary environment setup for production runs. Terraform and Ansible have been used to automate the provisioning of compute resources and the deployment of each scientific application in a Multi-VM cluster. Each application has been deployed on the AWS and Aristotle Cloud Federation platforms. Variation in data management constraints, Multi-VM MPI communication, and embarrassingly parallel instance deployments were all explored and reported on. We thus present a sample of scientific workflows that can be simplified using the tools and our proposed implementation to deploy and run in a variety of cloud environments.