分享

案例分享丨高性能计算云平台设计与实现

 高校信息化 2023-05-11 发布于北京

云计算是一种利用互联网实现资源按需获取、弹性伸缩的计算模式。相对于传统高性能计算而言,云计算有诸如可扩展性、隔离性、迁移性、可定制以及弹性资源等很多优点。

华中科技大学从2020年开始建设高性能计算云平台,引入云计算的资源管理和服务模式,采用容器和虚拟化技术并存的方式将传统高性能计算与云计算进行有效融合,对高性能计算资源进行虚拟化、容器化和多租户管理,充分发挥云计算优势,降低用户门槛,提升服务效率和质量,并支持更多样化的计算场景。

架构设计

硬件资源

图1 华中科技大学高性能计算云平台(一期)硬件拓扑

图1为华中科技大学高性能计算云平台(一期)的硬件拓扑图,平台共配置2个登录管理节点、58个计算节点、4个IO节点和3台存储设备。

其中,计算节点包含48个CPU节点、8个GPU节点、2个胖节点;IO节点包含2个元数据节点和2个对象存储节点;存储设备包含1台元数据存储和2台对象数据存储。

集群CPU核心共计3072个,GPU卡共计32张,CPU理论浮点计算峰值为208.4864Tflops,GPU双精度理论计算能力为262.4Tflops,共享存储系统总容量为3PB。


软件架构

高性能计算云平台作为校级开放性公共服务设施,目的是为全校所有学科专业领域中存在高性能计算需求的用户提供高效率和高质量的计算服务,让所有不同的专业背景、经验水平、使用习惯的用户都能找到适合自己的使用方式,充分发挥平台的公共服务价值。

图2 华中科技大学高性能计算云平台软件架构

图2为平台的软件架构,通过容器和虚拟化技术,将校内的本地硬件资源和作为资源补充的公有云资源进行池化,通过“混合云”实现计算资源双向流通,以快速部署、快速扩展、平台互通的能力突破大规模计算性能瓶颈。

通过对底层资源进行抽象、封装、整合以及调度管理,提供给终端用户一个可伸缩、可定制、可隔离的即插即用式的计算环境,以满足高性能计算、人工智能计算、实验教学等不同应用场景。平台为每个用户都提供独立的计算环境,不同用户创建的资源实例和应用数据都是私有的,从而解决了不同用户的应用程序运行环境冲突的问题。

通过与校园统一身份认证系统对接,免去了传统高性能计算集群烦琐的账号申请开通步骤,通过先进的前端展示技术和简洁友好的交互方式将用户的使用门槛降到最低,让全校每一位师生都有机会享受到高性能计算带来的价值。


关键技术

容器和虚拟化

容器和虚拟化技术各有特点,通过结合两者的优势,从而充分满足全校不同专业的科研团队对易用性、计算性能、环境封装、应用部署等各方面的需求。

容器可以理解成是一组彼此隔离且资源被限制的进程,其主要是通过Linux内核的Namespace、Cgroups和Chroot等技术实现的。使用容器,应用程序可以在几乎任何地方以相同的方式运行,从而免去了复杂的软件部署和环境配置工作。容器技术非常轻量,通过共享宿主机内核的方式降低资源开销,能够提供几乎与物理机一样的性能,非常适合以高性能计算为核心的应用场景。

硬件虚拟化通常可以分为全虚拟化和半虚拟化两种,其中KVM是基于虚拟机管理器(Hypervisor)的全功能虚拟化方案。虚拟化技术开销相对较大,但支持异构操作系统,允许用户使用Windows系统或根据科研需要选择特定的Linux内核及驱动。

图3 容器与虚拟化并存的技术架构

图3为平台容器与虚拟化并存的架构,容器和虚拟机所在的宿主机节点通过资源调度系统进行统一分配管理。采用容器和虚拟化有以下几点优势:

首先,容器集群通过对节点规模的弹性伸缩实现资源的灵活使用,避免集群作业高峰期的长期排队和低谷期的资源闲置,同时能在不改变传统高性能计算用户使用习惯的前提下,提供更多样化的计算环境。

其次,通过容器技术,用户可以共享节点资源,在单个节点上运行多个环境隔离的小规模计算任务,很好地解决了传统高性能计算集群资源独占、利用率不高的问题。

再次,容器化应用通过封装相关依赖环境,实现应用实例的即时交付,让用户可以更高效地使用计算资源。最后,结合硬件虚拟化技术,满足用户对计算环境更高程度的定制能力,如定制升级操作系统、升级系统软件、调整参数配置等。

容器网络

高性能计算场景下,数据密集型应用对网络通信的性能要求非常高。平台采用的容器技术,通过对InfiniBand和OpenMpi的友好支持,能够提供接近裸机RDMA的网络性能。通过Vxlan覆盖网络技术使逻辑网络与物理网络解耦,在适配容器和虚拟机环境的同时,满足多租户网络隔离等灵活的组网需求。

图4 平台容器网络拓扑

在平台中,每个用户都分配独立的私有网络,保证不同用户之间的网络隔离。同一用户的不同实例资源组成两个独立的网络区域。以容器集群为例,一方面,容器通过端口映射对外暴露服务,用户通过校园网与容器实例进行交互;另一方面,容器与容器之间,最终通过InfiniBand计算网络实现互连互通(如图4所示),这种组网方式也符合传统高性能计算的网络拓扑结构。

数据管理

不同用户之间的数据相互隔离,同一用户不同实例之间则共享数据存储。通过Lustre文件系统为所有实例呈现用户数据的统一命名空间。由于用户的文件数据在不同实例之间共享互通,用户在进行科学计算时,可以首先申请单节点容器实例对输入数据进行预处理,然后在高性能计算容器集群中提交批处理作业进行大规模数值计算,最后通过对应的容器实例对计算结果进行可视化分析。通过数据管理,能同时满足用户的前处理、高性能计算和后处理等场景需求,这极大地提高了用户的科研效率。

服务模式

为满足全校师生复杂多样的个性化计算需求,兼容不同技术水平和使用习惯的用户,平台借鉴云计算的服务模式,以计算环境即服务、计算资源即服务和计算软件即服务的思想,在不损失计算性能的前提下为用户提供灵活多样的服务模式。如表1所示,平台主要支持三种服务模式:公共集群模式、独占集群模式和私有实例模式。

表1 平台服务模式

公共集群模式

以容器集群形式提供全校共享的高性能计算环境,集群节点规模由管理员预分配。用户在公共集群中只具有普通用户权限,所有用户通过SSH客户端工具或Web控制台登录使用集群。与传统高性能计算平台的使用方式相同,用户在公共集群登录节点提交作业,通过Slurm作业调度系统将用户提交的作业任务分配到相应的计算节点执行。对于计算规模较大的科研团队,并且熟悉Linux命令和作业调度系统的,可以使用公共集群服务模式。

独占集群模式

以容器集群形式提供用户独占的多节点计算资源,用户在自己申请的独占集群实例中具有Root权限,可以对系统进行定制化修改,安装配置自定义的作业调度系统或者直接使用应用程序自带的调度模块进行计算任务管理。用户可以对独占集群的节点规模进行伸缩调整。针对学校某些院系或课题组,需要长期使用计算资源的科研用户很多,希望独享使用时,可以由院系负责人或课题组长申请使用独占集群模式,直接租用所需的计算资源。

私有实例模式

以单节点容器或虚机形式为终端用户提供直接可用的计算软件,用户在私有实例中具有Root权限,这种资源使用方式可以提供远程桌面以满足图形化界面的交互需求。私有实例与SaaS服务模式类似,用户无需计算机背景,不需要熟悉Linux操作,直接在平台应用商店申请需要的计算软件即可上手使用。用户可以前期使用此模式进行小规模交互式计算,当发现计算量较大,再逐渐转移到公共集群模式。与此同时,私有实例模式因其按需即时交付的特点,还能应用于实验教学等场景。

可以看出,针对不同应用场景的终端用户,都可以根据计算规模为其提供如高性能计算集群、多节点集群、单节点容器、虚拟机等弹性资源,最大化满足所有与教学科研相关的计算需求。

运行情况

平台一期一共有58个物理计算节点,将其中的31台CPU物理节点和6台GPU节点(共1952个CPU核心)作为公共集群资源池,剩下的物理资源用于提供独占集群和私有实例。平台从2021年11月开始试运行,至今累计注册用户超过1000名,分别来自能源与动力工程学院、物理学院、环境科学与工程学院等18个学院,用户角色涵盖了本科生、硕士研究生、博士研究生和教授。平台公共集群CPU累计使用940万核,累计申请应用实例578个,其中15个为独占CPU集群实例。

图5 公共集群CPU利用率

图5为某一周内,平台公共集群的CPU使用情况。从图中可以发现,公共集群的资源长期处于饱和状态,甚至出现节点资源全部被占用的情况。


图6 平台某一时刻正在运行的独占实例数量

图6为平台某一时刻正在运行的私有实例情况。用户在申请私有实例时可以选择所需的CPU核数和内存大小,申请独占CPU集群时可以选择集群的节点数量。据图可知,平台此时正在运行的Ansys应用最多,通过后台发现,运行Ansys实例的用户多为本科生和低年级的研究生,原因可能是他们的计算规模不大,并且更习惯使用图形界面操作。

平台整个试运行期间功能稳定,用户反馈良好,很多没有任何高性能计算经验的用户都能很快上手使用计算资源,平台的公共服务价值得以体现。

传统校级高性能计算平台的服务模式面临不少问题。首先,其形式单一的计算模式无法满足校内用户复杂多样的个性化需求;

其次,传统的高性能计算集群通常采用节点独占的方式分配资源,导致实际利用率不高,一旦采用节点共享的作业提交方式又可能引起运行环境冲突等问题;

最后,传统高性能计算平台的用户使用门槛普遍较高,不仅需要熟悉Linux基本操作命令,还必须掌握作业调度系统的脚本编写,用户使用高性能计算资源的学习成本太高,不具备公共服务的简单易用的特性。

云计算是一种利用互联网技术,以服务的方式为用户提供按需申请、即时交付的虚拟资源的计算模式。基于云计算的服务思想,将高性能计算和云计算进行有效融合,能够解决传统校级高性能计算平台面临的诸多问题。

通过高性能计算与云计算模式之间的自由切换,提高资源整体利用率。作为校级公共服务设施,为用户提供一种更易交互的服务模式,使其将更多的精力放在科研本身,提高科研效率,在兼顾传统高性能计算场景的同时,适配更多样化的计算场景。

作者:张策、吴驰、龙涛(华中科技大学网络与计算中心)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多