高性能计算 (HPC-High Performance Computing)是计算机科学的一个分支,以解决复杂的科学计算或数值计算问题为目的,是由多台节点机(服务器)构成的一种松散耦合的计算节点集合。
HPC能够为用户提供高性能计算、网络请求响应或专业的应用程序(包括并行计算、数据库、Web)等服务。相比起传统的小型机,集群系统有极强的伸缩性,可通过在集群增加或删减节点的方式,随时增加和降低系统的处理能力。
集群系统中的多台节点服务器系统通过相应的硬件及高速网络互连,由软件控制,将复杂的问题分解开来,分配到各个计算节点上去,每个集群节点独立运行自己的进程,这些进程之间可以彼此通信(通常是利用MPI-消息传递接口),共同读取统一的数据资源,协同完成整个计算任务,以多台计算节点共同运算的模式来换取较小的计算时间。
根据不同的计算模式与规模,构成集群系统的节点数可以从几个到上千。对于国家政府、军方及大型组织机构来讲,节点数目可以达到数千甚至上万。
而随着HPC应用的普及,中小规模的高性能计算集群也慢慢走进中小型用户的视野,高性能计算集群系统的部署,极大地满足了此类用户对复杂运算的能力的需求,大大拓展了其业务范围,为中小型用户的成长提供支持。
HPC可以在下列领域发挥高性能计算的作用:
l 气象分析和天气预报
l 制药企业的药理分析
l 科研人员的大型科学计算问题
l 石油勘探中对石油储量的分析
l 航空航天企业的设计和模拟
l 化工企业中对分子结构的分析计算
l 制造业中的CAD/CAM系统和模拟试验分析
l 银行和金融业对经济情况的分析
l 生物/生命科学中生物分子研究和基因工程计算
……
20世纪90年代中后期以来,这些领域越来越多地希望计算机技术发展的新成果,通过更大规模、更精确的数值模拟和数字计算,来进行新产品设计和科学研究,提高科学研究水平、厂商市场竞争力以及国家的综合国力。
另一方面,人们也在利用工业标准芯片和Linux等开放性的技术降低投资、加速开发,在经费预算内快速完成规模越来越大的计算任务。高性能和低成本相结合已经成为HPC领域最引人注目的发展趋势,HPC的市场前景也被普遍看好。
源自天河计算机核心技术的麒麟HPC
2009年11月18日,国防科技大学研制成功第一台国产千万亿次超级计算机天河1号,其后的天河一号-A,一度排名世界高性能计算机冠军。使中国成为继美国之后世界上第二个能够研制千万亿次超级计算机的国家。
针对中小规模的高性能计算应用需求,湖南麒麟信息工程技术有限公司联合国防科技大学计算机学院,推出了面向国防和重点行业应用的高性能计算解决方案(麒麟天云HPC)。
麒麟天云HPC继承了天河核心技术,并在中小规模HPC应用案例中进行了相关性能优化。麒麟天云HPC已经在国防、科研等重点行业和单位中成功应用。
麒麟HPC系统组成分为硬件系统和软件系统。其中硬件系统主要由计算节点、服务节点、I/O节点、可视化子系统、互联通信子系统和监控诊断系统组成。软件系统由麒麟并行操作系统、并行编译系统、集群管理系统、应用软件等构成。
麒麟HPC核心架构
硬件系统描述
1、 计算节点:
主要实现任务计算功能,并为用户提供功能全面、高效方便的使用环境。一般由多台刀片服务器构成。
2、 服务节点:
服务节点支持用户通过提交作业的方式使用计算资源,支持用户通过全局并行文件系统访问系统中海量的共享存储磁盘设备。由高性能计算机或小型机构成。
3、 I/O节点:
采用全局共享并行I/O系统结构,以I/O节点为核心,通过大规模全局并行文件系统,提供高可扩展的文件系统单映像服务,实现高性能、高可靠的并行I/O访问,为用户提供全系统一致的文件系统视图。由IO管理服务器、IO存储服务器和FC盘阵构成。
4、 可视化节点:
可视化子系统由多个可视化模块构成,每个可视化模块配备商用高性能的图形显示卡,具有强大的图形处理能力,提供高效的计算应用并行可视化处理和高分辨率显示服务。可视化子系统通过互连子系统连入计算网络。由高性能图形工作站构成。
5、 互联通信子系统:
采用平行多级互连架构,连接系统中所有的节点,提供高带宽低延迟的节点间通信,提供高性能、高可靠、高可扩展的存储访问通道。由汇聚交换机、银河InfiniBand交换机构成。
6、 监控诊断系统:
由诊断维护网络、诊断维护管理节点,以及分布于各个节点的硬件监控部件构成,提供使用方便的系统调试、诊断和维护工具以及可靠的安全监护机制。 软件系统描述
1、 麒麟并行操作系统KylinOS
麒麟操作系统:全面支持LSB、POSIX标准,兼容Linux应用。
高速通信系统:提供保护的用户级通信、无连接通信模式、非阻塞通讯模式、基于注册内存的零拷贝RDMA通信操作 、提供用户级和内核级的编程接口。
全局并行文件系统:提供全局统一的文件系统映象 、对象存储技术,元数据和存储数据分离、条块化存储(Stripe),支持并行IO、分布锁机制。
2、 麒麟并行编译系统KylinPDE
串行编译器:提供优化的C、C++、Fortran编译器。
并行编译器:支持MPI 2.0标准接口,MPI消息传递并行库采用基于组件的体系结构设计,提供高性能MPI通信支持、并行文件I/O以及灵活的运行时环境等功能。可提供OpenMP接口的并行编译器。
KylinPDE提供了集成第三方并行程序开发工具的能力,如并行调试器TotalView、性能分析工具Intel Vtune等都可以采用插件方式集成到KYLINPDE中。
3、 麒麟HPC集群管理软件Kylin Cluster Suite 麒麟作业和资源管理系统KylinJMS
KylinJMS是一个按照兼容POSIX 1003.2d批作业环境标准设计的,灵活、可定制、具有一定容错能力的作业管理系统,为用户提供良好的作业执行环境,合理分配和使用系统资源,提高了集群系统的资源的利用率和系统的吞吐率,全面提高了系统的整体性能。
KylinJMS由作业管理服务器,进程管理和状态监控代理服务器,以及调度服务器组成,可以配置运行在不同的计算节点上,适应不同需求的作业监控管理服务。
麒麟监控管理软件KylinCMS
基于web的系统监控管理软件KylinCMS为群星集群计算机管理员提供了全面的系统监控管理功能。
麒麟监控管理软件的主要功能特点包括,带内、带外管理相结合的全方位监控管理,灵活的监控配置管理,优良的系统扩展性,提供丰富的历史信息统计和分析,提供灵活方便的预警、报警。
麒麟部署软件KylinCDS
支持大规模系统的快速、简洁安装,快速一致安装HPC集群系统,支持基于WEB的远程集群部署和管理。
麒麟HPC的技术特点介绍
1、基于刀片技术的模块化可扩展体系结构
刀片技术具有热拔插、模块化可扩展、快速部署和易维护等特点,已在服务器领域得到广泛应用。麒麟高性能计算基于刀片技术设计实现的高可用服务器系统,包括处理器刀片、交换刀片、I/O刀片和机框管理刀片,支持刀片的热插拔和快速替换;通过自主设计的高可用增强的麒麟并行操作系统,实现了系统状态实时监控、故障检测、故障隔离和恢复,确保全系统高效稳定运行。全系统采用模块化设计,具有良好的可扩展性,整个系统规模可根据不同的计算应用需求进行灵活配置。与普通HPC集群系统相比,麒麟HPC系统具有高密度、高可靠、低功耗和可扩展等优点。
2、高带宽多交换平面融合设计技术,有效降低计算延迟
可靠性、传输距离和可变带宽需求对高端系统的交换子系统设计提出了更高的要求。麒麟高性能计算系统采用高可靠无源背板,设计实现了支持多交换平面的互连子系统,具有强大的通信能力,可有效降低计算通信延迟,实现了计算、I/O和管理平面的有效融合。
3、基于对象存储的全局共享并行I/O系统
实现了基于对象存储的全局并行I/O系统,为高性能计算提供高性能、大容量、高可扩展的全局并行文件系统支持,可显著提高计算应用的I/O能力。
4、高速互连交换模块
互连通信性能是影响高性能计算运行效率的主要因素之一。针对高性能计算高带宽、低延迟、高可靠、均衡可扩展等的应用需求,采用高带宽的并行多路串行传输技术,设计实现高速互连交换板和大型网络交换机,实现高密度、高可靠的互连子系统,为系统提供高带宽、低延迟的互连通信支持。
5、自主可控的HPC套件
麒麟HPC套件包括操作系统、编译系统、集群管理软件,具有自主知识产权,具有良好的安全可控性,并且可大大缩短并行应用软件开发周期,能满足军队、政府等对安全性、可维性和可靠性的要求。
6、良好的易用性
从操作系统、编译系统、集群管理软件等多层次软件栈协同设计,充分发挥硬件结构的优势,结合便捷易用的管理软件,从资源管理、作业分发、监控管理和集群部署等方面给出了完善的解决方案,便于用户和管理员低学习成本、低管理成本和低维护成本地使用HPC系统。