GPU加速高性能计算平台上容器性能评估
2021-01-28胡鹤,赵毅,庞飞
胡 鹤,赵 毅,庞 飞
(中科院计算机 网络信息中心,北京 100190)
在高性能计算领域,并行计算具有强环境依赖的特点,所需的软件堆栈通常很复杂,涉及编译器、通信中间件及数学库.虚拟机和容器这2种云服务商常用的虚拟化的方式,具有部署简单、快速迁移和弹性伸缩等优点,带来不同依赖环境下应用程序的可移植性,帮助高性能计算平台降低使用门槛.而容器镜像相对于虚拟机的快照更小,可以快速的在具备容器环境的物理机上部署,且非应用层资源占用更少,启动时间更短.
不同容器方案会在镜像格式、隔离与加载名字空间、启动方式上有区别,常用的包括Docker[1]及Singularity[2].位于美国橡树岭国家实验室的著名的超级计算机SUMMIT提供了容器服务[3].SUMMIT提供的容器平台将Docker容器作为管理对象,以开源的Kubernetes[4]作为容器编排引擎组件用于自动化Docker的部署、扩展和管理,提供了一套完整的容器应用平台.美国国家能源研究科学计算中心(national energy research scientific computing center,NERSC)利用Docker容器技术提高其HPC系统的灵活性和可用性[5].天河二号实践了基于容器的HPC/大数据处理,利用Docker整合HPC软件栈,优化了高性能计算环境的公共服务能力与模式,优化用户应用体验[6].Singularity是劳伦斯伯克利国家实验室(lawrence livermore national laboratory,LLNL)专门为大规模、跨节点HPC工作负载而开发的容器化技术,但相比之下HPC应用研发人员及系统管理员对Docker技术更为了解和熟知,应用范围更广.
为评估不同高性能计算程序移植到Docker中的适用性,评估各种影响计算效率的因素,相关研……