阿里云超算:高性能容器方案实战之Singularity

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 除了自动化整合IaaS层硬件资源为用户提供云上HPC集群外,E-HPC还致力于巩固云上HPC服务的高可用性,先后推出了“集谛多维性能监控”、“低成本断点续算”等新特性,帮助用户更好、更省地使用云上HPC服务。本文主要介绍阿里云超算推出的弹性高性能容器方案以及在分子动力学领域和AI领域的实战案例。

弹性高性能计算(E-HPC,https://ehpc.console.aliyun.com/ )基于阿里云基础设施,为用户提供一站式的公有云HPC服务。除了自动化整合IaaS层硬件资源为用户提供云上HPC集群外,E-HPC还致力于巩固云上HPC服务的高可用性,先后推出了“集谛多维性能监控”、“低成本断点续算”等新特性,帮助用户更好、更省地使用云上HPC服务。本文主要介绍阿里云超算推出的弹性高性能容器方案以及在分子动力学领域和AI领域的实战案例。

高性能容器Singularity

Singularity是劳伦斯伯克利国家实验室专门为大规模、跨节点HPC和DL工作负载而开发的容器化技术。具备轻量级、快速部署、方便迁移等诸多优势,且支持从Docker镜像格式转换为Singularity镜像格式。与Docker的不同之处在于:
1. Singularity同时支持root用户和非root用户启动,且容器启动前后,用户上下文保持不变,这使得用户权限在容器内部和外部都是相同的。
2. Singularity强调容器服务的便捷性、可移植性和可扩展性,而弱化了容器进程的高度隔离性,因此量级更轻,内核namespace更少,性能损失更小。

image.png

下图是在单台神龙裸金属服务器(ecs.ebmg5.24xlarge,Intel Xeon(Skylake) Platinum 8163,2.5GHz,96vCPU,384GB)上使用不同容器测出的HPL性能数据。如图所示,Singularity容器下测得的HPL性能要略优于Docker容器,且与宿主机的实测HPL性能相当。

image.png

3. Singularity高度亲和HPC使用场景,支持对宿主机软硬件资源的充分利用,包括HPC调度器(PBS、Slurm),跨节点通信库(IntelMPI、OpenMPI),网络互连(Ethernet、Infiniband),文件系统以及加速设备(GPU),这使得用户在使用Singularity时无需为HPC做额外的适配。

image.png

E-HPC弹性高性能容器方案

阿里云E-HPC集成开源Singularity容器技术,在支持用户软件环境快速部署、灵活迁移的同时还兼顾云上HPC容器服务本身的高可用性以及与现有E-HPC组件的兼容性,为用户打造高效、易用的弹性高性能容器解决方案。

image.png

用户只需将本地软件环境打包上传到Docker Hub,就可以在E-HPC控制台上完成“集群创建->镜像拉取->容器应用部署->作业提交->性能监控&运行结果查询”整套工作流程,从而达到降低HPC使用成本,提高自身科研、生产效率的目的。

image.png

Singularity容器实战案例

  • 案例一:SCC多节点运行分子动力学NAMD容器作业

NAMD是一款主流的分子动力学模拟软件,扩展性好,并行效率高,常用于处理大规模分子体系。本文基于镜像docker.io/centos:7.2.1511构建包含intelmpi+namd+inputfile的Singularity镜像,并使用pbs调度器将NAMD容器作业和本地作业先后提交到4台SCC(ecs.scch5.16xlarge,Intel Xeon(Skylake) Gold 6149,3.1GHz ,32物理核,192GB)节点上,pbs作业脚本如下所示。

#!/bin/sh
#PBS -l ncpus=32,mem=64gb
#PBS -l walltime=20:20:00
#PBS -o namd_local_pbs.log
#PBS -j oe

# Singularity 容器执行
/opt/intel/impi/2018.3.222/bin64/mpirun --machinefile machinefile -np 128 singularity exec --bind /usr --bind /sys --bind /etc /opt/centos7-intelmpi-namd.sif /namd-cpu/namd2 /opt/apoa1/apoa1.namd

# 宿主机本地执行
/opt/intel/impi/2018.3.222/bin64/mpirun --machinefile machinefile -np 128  /opt/NAMD_2.12_Linux-x86_64-MPI/namd2 apoa1/apoa1.namd

为了展示“容器运行NAMD”与“宿主机直接运行NAMD”两者在CPU利用率、RoCE网络带宽以及软件执行效率等方面的差异,本文使用E-HPC自带的性能监控工具“集谛”对SCC集群资源利用情况进行监控。“集谛”的功能已经在前文https://yq.aliyun.com/articles/661962中详细介绍过。各节点资源利用情况如下图所示。

image.png

从图中可以看出,“容器运行NAMD”与“宿主机直接运行NAMD”两者在集群资源利用情况上基本一致:4个节点的CPU持续满载,RoCE网络带宽维持在1.3GB/s左右。作业执行时间分别为1324秒和1308秒。由此可见,Singularity不仅高度适配宿主机调度器、MPI并行库、RoCE网络,还能够保证容器作业的高效运行,相比于宿主机性能损失在2%以内。

  • 案例二:EGS实例运行tensorflow图像分类容器作业

CIFAR-10是图像识别领域的经典数据集。本文基于镜像docker.io/tensorflow/tensorflow: latest-devel-gpu-py3分别构建包含图像分类模型的Singularity容器和Docker容器,并基于这两款容器在单台EGS(ecs.gn5-c8g1.4xlarge,Intel Xeon E5-2682v4,2.5GHz,16vCPU,120GB,P100x2)节点上对tensorflow网络模型进行训练,命令行如下所示。

# Singurity容器执行
singularity exec --nv /opt/cifar10.sif python /cifar10/models/tutorials/image/cifar10/cifar10_multi_gpu_train.py --num_gpus=2

# Docker容器执行
nvidia-docker run -it d6c139d2fdbf python /cifar10/models/tutorials/image/cifar10/cifar10_multi_gpu_train.py --num_gpus=2

使用“集谛”对作业进行监控,节点资源利用情况如下图所示。

image.png

从图中可以看出,基于Singularity容器和Docker容器的tensorflow图像分类模型训练在资源利用情况没有明显差异:CPU利用率维持在75%,单块GPU利用率在30%~40%之间波动。在训练效率上,10万steps的训练时间分别为1432秒和1506秒。由此可见,Singularity容器不仅高度适配宿主机GPU和CUDA,而且在作业执行效率上比Docker容器略占优势。

总结

阿里云超算集成开源Singularity容器技术,打造高效、易用的云上弹性高性能容器方案,大幅降低用户迁云成本,助力用户高效科研。

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
目录
相关文章
|
1天前
|
运维 Kubernetes 安全
《阿里云产品四月刊》—享道出行:容器弹性技术驱动下的智慧出行稳定性实践(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
1天前
|
弹性计算 Cloud Native 数据库
《阿里云产品四月刊》—享道出行:容器弹性技术驱动下的智慧出行稳定性实践(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
1天前
|
弹性计算 Serverless 调度
《阿里云产品四月刊》—享道出行:容器弹性技术驱动下的智慧出行稳定性实践(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
1天前
|
弹性计算 Kubernetes 调度
《阿里云产品四月刊》—享道出行:容器弹性技术驱动下的智慧出行稳定性实践(4)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
1天前
阿里云百炼大模型平台-自定义插件接口协议报错排查方案
阿里云百炼大模型平台-自定义插件接口协议报错排查方案
|
1天前
|
Cloud Native 数据库 容器
《阿里云产品四月刊》—享道出行:容器弹性技术驱动下的智慧出行稳定性实践(5)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
9天前
|
存储 弹性计算 Linux
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后试用云服务器和购买云服务器的主要流程,适合初次购买和试用阿里云服务器的新手用户参考。
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
|
6天前
|
存储 弹性计算 安全
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
阿里云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。把物理服务器比作买的房子,云服务器ECS,就是租赁的房子,阿里云云服务商就是管家。云服务商负责搭建机房、提供配套服务和维护,用户只需要付租金,即可“拎包入住”,无需自建机房、采购和配置硬件设施。如果不再需要云服务器,可随时“退租”(释放资源),节省成本。本文为大家解析云服务器ECS产品优势、应用场景和最新价格及常见问题。
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
|
2天前
|
小程序 数据安全/隐私保护
阿里云新手入门:注册账号、实名认证、申请免费云服务器
阿里云新手指南:注册账号(手机号或支付宝快捷注册),完成实名认证(个人/企业)。通过免费服务器获取3个月试用。创建后,设置密码,远程连接,配置安全组规则,部署应用,如建站与环境安装。详询官方教程。
|
1天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU云服务器介绍_GPU租用费用_GPU优势和使用场景说明
阿里云GPU云服务器提供NVIDIA A10、V100、T4、P4、P100等GPU卡,结合高性能CPU,单实例计算性能高达5PFLOPS。支持多种实例规格,如A10卡GN7i、V100-16G卡GN6v等,应用于深度学习、科学计算等场景。GPU服务器租用费用因实例规格而异,如A10卡GN7i每月3213.99元起。阿里云还提供GPU加速软件如AIACC-Training、AIACC-Inference等。网络性能强大,VPC支持2400万PPS和160Gbps内网带宽。购买方式灵活,包括包年包月、按量付费等。客户案例包括深势科技、流利说和小牛翻译等。