云上开发新时代,code up!

云上开发新时代,code up!
HPC概念及发展趋势
阿里云3招拆解超算上云障碍
面向“大计算”设计的弹性基础设施
E-HPC环境搭建、部署与使用
……

展开查看详情

1.何万青 阿里云高性能计算总监

2.云上开发新时代,code up! 阿里云弹性高性能计算E-HPC: 一站式并行开发与优化 何万青

3. HPC概念及发展趋势 高性能计算(High Performance Computing)是计算机科学的一个分支。主要聚焦于解决大规模科学问题的 计算和海量数据的处理,如科学研究、气象预报、计算模拟、军事研究、CFD/CAE、生物制药、基因测序、 图像处理等等。构建高性能计算系统的主要目的就是提高运算速度,要达到每秒万亿次级的计算速度,对系 统的处理器、内存带宽、运算方式、系统I/O、存储等方面的要求都十分高,这其中的每一个环节都将直接影 响到系统的运算速度。 2017: 阿里云超算 1 ZFlops 天气预报 100 EFlops 10 EFlops 2015:云计算落地 1 EFlops 基因研究 100 PFlops 10 PFlops 医疗图像 2010:国家超算中心 1 PFlops 100 TFlops 10 TFlops 2005:集群普及 1 TFlops 100 GFlops 2000:集群出现 10 GFlops 1 GFlops 预测 100 MFlops 1993 1999 2005 2011 2017 2023 1995:MPP大型机 2029 中国超算24年

4.阿里云3招拆解超算上云障碍

5. 面向“大计算”设计的弹性基础设施 超级计算集群SCC • 弹性资源 • 快速服务部署,横向扩展和热迁移 • 运维自动化 • 统一服务接口 低延迟RDMA 最高配置的单一实例 50Gb 网络 CPU GPU 内存 网络带宽 网络延迟 96 核 8xv100 384GB 50Gb 2.0μs 基于Virtualization 2.0的 ECS弹性裸金属服务器 ECS弹性裸金属服务器 阿里云并行文件系统 • 无硬件性能/特性损失 NAS/CPFS(Lustre*) • 硬件隔离/独占

6. 一张图描述E-HPC 从传统超算到云超算,将云服务整合为HPC集群 E-HPC控制台 一键创建集群 WAN 客户PC 客户PC 远程桌面访问,或直接本地进行前后处理 客户云上HPC集群 EIP E-HPC管控服务 Region化部署 图形节点 头节点 图形节点 登录节点与管理节点 图形化的作业前后处理 用户与资源管理、作业调度 图形化的作业前后处理 远程登录、 (可选) (可选) 用户资源管理、作业调度 GPU实例 云图站 ECS实例 OpenAPI E-HPC Agent E-HPC Agent 作业管理 弹性伸缩 LAN VPC 计算节点 文件存储 计算节点 文件存储 软件部署 并行运行HPC作业 保存作业数据 并行运行HPC作业 保存作业数据 SCC/ECS/GPU/FPGA实例 性能监控 NAS E-HPC E-HPC E-HPC 资源管理 Agent Agent Agent E-HPC OSS Agent 超算中心或线下机房 阿里云E-HPC服务

7. E-HPC环境搭建、部署与使用 01 02 03 04 部署集群 任务提交和数据导入 集谛性能分析工具 弹性伸缩和可视化 开通并创建NAS 控制台提交作业 性能大盘 配置自动伸缩服务 硬件配置 命令行提交作业 节点/进程性能 自动伸缩实例 软件配置 作业模版管理 性能剖析 远程可视化 OSS数据导入

8. E-HPC让云超算强大易用 竞价实例: 镜像市场与容器: 低至1折,至少保持1小 支持镜像市场镜像部署集 时可用时长 群,支持HPC容器模式 按量付费: Alibaba Cloud E-HPC 精确到小时的付费粒度 ,按需使用随时释放 作业调度器: VPC服务(虚拟专用网络) HPC PBS/Slurm/GridEngine 软件 OSS服 一键: 应用软件: 部署 务(对 GROMACS/LAMMPS/NAM 一键启动集群,一键修 登录节点 管控节点×M 复异常集群 D/GAUSSIAN…… 象存储 提交作业 运行 高性能运行时支撑: 云监 ) 监控 MPICH/OpenMPI/BLAS/Bo 查看结果 E-HPC控制台 EIP服务 (公网IP) 虚拟交换机 文件存储服务 (共享文件系统) ost/CUDA… 控服 资源管理 作业管理 安全组/云盾 结果 开发与调试工具: 务 日志报表 云桌 GNU(gcc/g++/gfortran…)/A 展示 utotools(autoconf…) 包年包月: 计算节点×N 筛选适合HPC的机型: 面服 按周/月/年预付费,长 型/FPGA/网络增强型… 务 SCC/CPU计算型/GPU计算 多部署模式: 期使用成本大减 高可用,简易模式, 集群停机不收费 单集群支持扩容多 OneBox模式 种规格计算节点

9. 部署集群—基础配置 查看配置清单 查看配置拓扑图

10. 任务提交和查看 控制台 命令行 导入/导出作业文件 SSH登陆提交作业

11. 作业调度器 PBS SLURM SGE OpenGrid CUBE

12. 上传数据 通过OSS导入数据 • 通过HTTP访问VPC网络Endpoint导入数据 对象存 wget http://e-hpc-quickstart.vpc100-oss-cn- 控制台 储OSS hangzhou.aliyuncs.com/test.data curl -O http://e-hpc-quickstart.vpc100-oss-cn- hangzhou.aliyuncs.com/test.data 命令行 私用Bucket • 临时含签名的URL • 通过HTTP访问VPC网络Endpoint导入数据

13. 作业运行性能分析:CloudMetrics|集谛 集群维度,定位实例热点 实例维度,定位进程热点 进程维度,定位函数热点 节点性能视图 软件进程视图 函数热点视图 作业进程与函数级 • 对指定进程进行性能剖析 • 显示各进程函数堆栈视图,分析函数热点 OS级 • 显示当前Top进程 • 显示Top进程CPU占用率和内存占用率 CPU级 • 显示CPU总体占用率、用户态和内核态占用率 • 按作业运行检索,按作业周期 • 显示CPU本地内存带宽和总内存带宽 进行查看 • 多指标同时间轴显示,可对比 磁盘、网络与外设 • 显示磁盘吞吐率、磁盘利用率 分析 • 显示网络总吞吐率、入方向和出方向吞吐率 • 显示GPU带宽、GPU利用率、显存利用率、功耗…

14.客户应用云上优化: 优化方法 结构网格,非结构、无结构 … 算法 解法器,预条件子… 运行环境 运行环境 CPU型号,核数,网络,文件系统,内 高 (系统+运行平台) (系统+运行平台) 存,NUMA,HT … … 易 SOA/AOS, 负载均衡,并行化,向量化,循环 性能受益 程序实现 程序实现 优化(block, unroll and jam, reorder …)… 修改源码或可借助编译器进行优化 容易度 寄存器级、Cache级,指令选择(latency、 CPU 微架构 CPU 微架构 throughput/CPI),指令流水(乱序执行), 低 分支预测 … 算法 难 1. 运行环境优化,收益高,容易实现,尤其是云上资源配置丰富、更换成本低的场景。 2. 性能优化的关键是定位性能问题,确定优化点。

15.应用级性能监控工具——集谛 已上线,功能截图 • 层级递进的性能监控工具 集群级  集群级(性能大盘),了解集群所有节点 运行环境 节点级 负载; (系统+运行平台)  节点级(系统资源饱和度),与作业调度 系统绑定,查看节点相关度: 进程级  按节点维度,查看指标间的变化关联; 程序实现  按指标维度,查看不同节点间的指标差异。 函数级  进程级(进程信息),查看节点占用OS时 间片最高的进程信息; CPU 微架构  函数级(热点函数),确定占用CPU资源 最多的函数信息 —— bottom-up(热点函 数)和top-down(逻辑调用关系)。 算法

16. 基于作业负载的弹性伸缩 作业负载 时间点t1:提交作业1 时间点t2:提交作业2,需4个节点, 时间点t3:作业1、2运行完毕 时间点t0,无作业提交 需4个节点运行 作业1继续运行 无新作业提交 登录节点与管理节点 登录节点与管理节点 登录节点与管理节点 登录节点与管理节点 远程登录、 远程登录、 远程登录、 远程登录、 用户资源管理、作业调度 用户资源管理、作业调度 用户资源管理、作业调度 用户资源管理、作业调度 计算节点 计算节点 计算节点 计算节点 并行运行HPC作业 并行运行HPC作业 并行运行HPC作业 并行运行HPC作业 • E-HPC管控服务监控调度器作业资源需求,动态创建/删除计算节点(数据保留在共享存储),按实际负载弹性计费。 • 可针对调度器队列制定差异化的伸缩策略,支持抢占式实例,支持跨可用区伸缩,降低客户使用成本。

17. 基于作业负载的弹性伸缩 弹性伸缩 扩容 缩容 额外节点 集群最大计算 节点连续 扩容时间间隔 扩容比例 缩容时间间隔 例外节点列表 百分比 节点数量 空闲次数

18.E-HPC闲时计算方案与混合云 将成本作为重要因素的云上计算方案,利用以下技术 将云上普惠的高性能计算服务提供给绝大部分HPC用 户 • 抢占式实例:控制计算资源在期望的成本之下 • 自动伸缩:自动扩容抢占式实例,无需用户干预 • 断点续算:在计算资源被释放和重新获取之后,作 业可以续算

19. 断点续算应用算例:GROMACS • 在算例输入文件中设定步长 • 在作业提交脚本中设定checkpoint文件生成的时间间隔

20.

21. 数据全流程可视化 作业运行——可视化性能分析 • 节点性能:按节点查看物理资源性能 • 进程性能:按进程查看软件运行性能 • 性能剖析:剖析进程,查看函数级性能数据 作业前处理 作业运行 作业后处理 作业前处理——可视化编辑 作业后处理——计算结果可视化 • 调度器配置项可视化 • 控制台直接提供Web化的图形桌面 • 控制台直接作业文件编辑器 • 支持云图站等多种可视化服务

22.控制台远程可视化 创建实例 连接实例 使用

23.可视化设置流程 创建计算集群 创建可视化集群 创建可视化实例 连接实例 可视化集群: 可视化实例: 连接实例: • 管理一个或多个可视化实例 • 支持不同硬件配置(CPU/内存/GPU) • 为连接会话提供token鉴权 • 负责实例状态的维护 • 桌面型实例:每个实例提供一个远程桌面 • 每个用户每次会话都有独立的token • 管理实例连接token生命周期 • App型实例:每个实例提供一个远程App • 关闭连接后失效 • 不同子账号可分配不同实例 • 实例与计算集群数据互通 阿里云 VPC E-HPC计算集群 E-HPC可视化集群 E-HPC可视化实例 数据共享 E-HPC NAS共享存储

24. HPC工作流与数据迁移 控制流 多种数据传输方案 闪电立方 ⑦下载作业结果 数据流 硬盘快递上门,适合 TB级数据 线下数据中心 高速通道服务 ①上传作业文件 专线连接,直接访问 OSS服务 集群 ④ 下载作业包并解压 EIP服务 控制台直接传输 适合GB级以下数据 ⑥ 创建后处理作业 ,上传作业结果 用户访问阿里云控制台 高性能计算集群 ② GUI创建作业 ③提交作业 到调度器 ⑤ 调度、执行 HPC作业 E-HPC后台服务 集群实例 共享文件系统 完成作业计算 存储作业数据 图形工作站服务 远程结果可视化

25. E-HPC 工业计算业务架构:被集成到SaaS 行业 客户 E-HPC 通用解决方案支撑 工业制造 地质勘探 生物医药 气候气象 电子设计 混合云解决方案 SaaS 可视化解决方案 合作伙伴 E-HPC OpenAPI E-HPC ISV应用软件与运行环境管理 E-HPC 商业License管理 ISV 商业License生命周期管理 合作伙伴 商业软件栈导入、部署与生命周期管理框架 商业License调度 E-HPC 作业管理与调度 E-HPC 资源生命周期管理 ECS SCC GPU FPGA VPC Security OSS NAS/CPFS 闪电立方

26. 扫码加入社群 与志同道合的码友一起 粘贴二维码 Code Up 阿里云开发者社区 云计算开发者技术群

27.谢谢!

阿里云栖开发者沙龙是“云栖社区”主办的线下技术沙龙品牌,希望通过技术干货分享来打通线上线下专家和开发者的连接。