Scylla: A Mesos Framework for Container Based MPI Jobs

Scylla: A Mesos Framework for Container Based MPI Jobs
复制标题

Scylla:基于容器的 MPI 作业的 Mesos 框架

DOI:
--
复制
发表时间:
2019
期刊:
arXiv.org
影响因子:
--
通讯作者:
M. Govindaraju
M. Govindaraju
中科院分区:
--
文献类型:
--
作者:
Pankaj Saha;Angel Beltre;M. Govindaraju

文献摘要

被引文献

相似文献

开源云技术为创建定制的计算节点集群以调度任务和管理资源提供了广泛的支持。在用于科学研究的云基础设施(如Jetstream和Chameleon)中,用户可以完全控制分配给他们的虚拟机(VM)。重要的是,用户可以获得对VM的root访问权限。这为HPC用户提供了一个机会,可以尝试新的资源管理技术,如Apache Mesos,这些技术已被证明具有可扩展性,灵活性和容错性。为了简化HPC工具在云上的开发和部署,容器化技术已经成熟,并在科学界引起了兴趣。特别是,几个著名的科学代码库现在都有公开的Docker容器。虽然Mesos支持Docker容器单独执行,但它不支持并行或分布式应用程序的容器内部通信或容器编排。在本文中,我们介绍了Mesos框架Scylla的设计、实现和性能分析,Scylla将Mesos与Docker Swarm集成在一起,以便在从Chameleon云[1]获得的VM集群上编排MPI作业。Scylla使用Docker Swarm在容器化任务(MPI进程)和Apache Mesos之间进行通信,以实现资源池和分配。Scylla允许一种策略驱动的方法,根据每个应用程序的CPU、内存和网络吞吐量需求来确定容器应该如何在节点上分布。
Open source cloud technologies provide a wide range of support for creating customized compute node clusters to schedule tasks and managing resources. In cloud infrastructures such as Jetstream and Chameleon, which are used for scientific research, users receive complete control of the Virtual Machines (VM) that are allocated to them. Importantly, users get root access to the VMs. This provides an opportunity for HPC users to experiment with new resource management technologies such as Apache Mesos that have proven scalability, flexibility, and fault tolerance. To ease the development and deployment of HPC tools on the cloud, the containerization technology has matured and is gaining interest in the scientific community. In particular, several well known scientific code bases now have publicly available Docker containers. While Mesos provides support for Docker containers to execute individually, it does not provide support for container inter-communication or orchestration of the containers for a parallel or distributed application. In this paper, we present the design, implementation, and performance analysis of a Mesos framework, Scylla, which integrates Mesos with Docker Swarm to enable orchestration of MPI jobs on a cluster of VMs acquired from the Chameleon cloud [1]. Scylla uses Docker Swarm for communication between containerized tasks (MPI processes) and Apache Mesos for resource pooling and allocation. Scylla allows a policy-driven approach to determine how the containers should be distributed across the nodes depending on the CPU, memory, and network throughput requirement for each application.