文/李文化 陈讨海
海南大学高性能计算与云计算平台融合
文/李文化 陈讨海
对于一些预算不足,无法独立购置高性能计算集群的用户,以及一些负载突增,导致短期现有资源无法应对的用户,如果能够利用灵活扩展的云计算资源用于解决HPC任务,能象军队那样“战时集结、平时机动”错峰共享资源,将是一件非常美妙的事。
高性能计算(High-Performance Computing,HPC)以解决复杂的科学计算或数值计算问题为目的,由多台节点机(服务器)构成的一种松散耦合的计算资源集合。其中多台节点(服务器)通过相应的硬件及高速网络互连,由软件控制,将复杂的问题分解开来,并分配到各个计算节点。每个节点独立运行自己的进程,这些进程之间可以彼此通信(数据交换),共同读取统一的数据资源,协同完成整个计算任务,以多台计算节点共同运算的模式来换取较小的计算时间。
从HPC并行任务间的关系我们可以把HPC分为两类:1.高吞吐计算(High-throughput Computing)——并行的子任务彼此间没有什么关联;2.分布计算(Distributed Computing) ——并行的子任务间联系很紧密,并需要大量的数据交换。HPC一般主要面向科学计算、工程模拟、动漫渲染等领域,大多属于计算密集型的应用,如天气预报、石油勘探、分子模拟、基因测序等领域。根据不同的计算模式与规模,构成集群系统的节点数可以从几个到上千,也可以达到数千甚至上万。目前,随着HPC应用的普及,中小规模的高性能计算集群也慢慢走进中小型用户的视野,高性能计算集群系统的部署,极大地满足了此类用户对复杂运算的能力的需求,大大拓展了其业务范围,为中小型用户的成长提供支持。云计算主要是在Web2.0/3.0、社交网络、企业(院校)信息化等领域,以数据与I/O密集型应用为主。它是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、软件、服务),这些资源能够被快速提供(即时交付),只需投入很少的管理工作,或与服务供应商进行很少的交互;是并行计算、分布式计算、效用计算、 网络存储、虚拟化、负载均衡、热备份冗余等传统计算机和网络技术发展融合的产物。
虽然HPC与云计算的侧重点不同,但两者之间都经常使用分布式计算、网格、集群计算等技术,既然HPC与云计算有那么多相同技术,高校能否构建HPC与云计算互为融合的新型数据中心呢?
虽然HPC与云计算的侧重点不同,但两者之间都经常使用分布式计算、网格、集群计算等技术。
对HPC与云计算要求越来越高
(1)海南大学HPC需求从无到有
HPC是高水平大学科研与应用的重要基础条件,也是高校科研实力重要标志之一,国内985高校和大部分211高校都有高性能计算中心,作为“211工程”建设大学的海南大学(简称“海大”)在2014年前还没有真正意义上的高性能计算平台。
2011年前,海大信息学院某教授向海大科研处了解有无高性能计算的科研需求,收到的答复是没听说过(不代表没有);2012~2013年,信息学院一位在读博士老师问网络中心有无性能超高的服务器为他的研究提供算法测试,另一位从事计算数学的D类人才向学校申请经费购买20台PC机搭建一个高性能计算环境;2014年,海大农学院计划引进一个国外从事生物信息学的人才,该博士首先就问学校有没有高性能计算平台?海大海洋学院一位海归博士用自己的课题经费购置了两台高性能服务器进行生物信息学方面的研究。
(2)海南大学对信息服务能力要求越来越高
随着学校的发展,新的业务管理系统和应用系统不断启用,新的教学模式MOOC(SPOC)对计算性能要求越来越高,学校对信息化服务能力要求越来越高,计算能力与存储空间需求增长很快,教学与管理需要的计算资源在不断加大,特别是访问比较集中、并发数比较高的选课、成绩上报与查询、迎新时段。构建性能更高的云计算与数据中心成为必然趋势。
“绿色IT”对构建高效能HPC与云计算提出更高要求
随着学校信息化发展的需要,2012年,海大决定构建云计算与数据中心,按理说同时构建HPC也属正常,但HPC的“造价高、人才缺、利用低”给海大信息管理部门的领导带来了很大困扰。
1.从军队“战时集结、平时机动”联想到高性能计算资源的共享问题
为了国家安全,战时哪个国家都希望有一支庞大的军队可以“集团作战”(类似集群),但维持庞大的军队成本会很高,在和平时期会觉得很“浪费”(类似计算资源闲置)。为了更好地发挥军队的作用,我国常在和平建设时期会将大部队“拆分”(类似高性能物理机虚拟化)成小分队支援地方建设或抗洪救灾等。
同样,发展中高校有HPC建设需求,但高性能计算集群计算(集团军作战)需求可能不足,计算资源空闲情况可能很严重,而服务于应用系统的云计算平台对高性能计算资源集群要求不高但需要能灵活调配,同样存在资源闲置情况。
对于一些预算不足,无法独立购置高性能计算集群的用户,以及一些负载突增,导致短期现有资源无法应对的用户,如果能够利用灵活扩展的云计算资源用于解决HPC任务,能象军队那样“战时集结、平时机动”错峰共享资源,将是一件非常美妙的事。
2.业界争论与海大设想
在2010年之前大绝大多数人认为:虚拟化和高性能计算可谓“水火不容”。 人们通常认为的虚拟化会严重影响应用程序的性能,虚拟化提升灵活性的优点被其降低了应用程序吞吐量的缺点所压倒;另外,传统的HPC基础架构的利用率已经非常高了(通常为80%~95%),HPC中一个计算任务就能把多个机器的CPU都跑满了,虚拟机没什么用武之地,因此,通常推动企业采用虚拟化的动因(提高硬件利用率、整合服务器或提高许可证利用率)不足以抵消使用虚拟化资源运行工作负载带来的复杂性和费用增加的缺点。
另一方面,人们又期望以云计算的灵活的弹性应用模式来解决公共高性能计算平台的系统管理问题。中国工程院院士李国杰认为,“云计算的易用性会影响传统的HPC计算模式,按需的云计算给HPC提供了更易交互的计算模式。如同几年前用大众化的PC服务器搭建集群以及最近用GPU加速科学计算一样,云计算对于HPC也是一次模式转变。”
通过查阅大量文献和搜寻阅读大量资料,海大网络中心主要负责人认为HPC与云计算融合意义重大,不仅理论上可行,在实践上也具有一定的可操作性,因此在2012年初步决定采用HPC与云计算融合架构。为确保项目成功且避免不必要的资源浪费,提出“兼顾HPC的云计算”设想:新建云计算平台计算能力6万亿次以上,能利用旧设备或共享图书信息中心空闲计算资源达到10万亿次以上,计算网络采用兼容性好性价比高的万兆以太网络,存储60T以上,以支撑海大全部业务管理系统和应用系统为基础,任何时候闲置资源可“集群”支撑高性能计算。要求应用系统可在线飘移,时间不高于10分钟,闲置计算资源集群就绪时间不超过30分钟,闲置硬件资源利用率65%以上。
3.寻找解决方案
海大从2012年到2013年开始充分利用国内多家知名服务器和云计算厂商在全国巡展(特别是海南)期间与对方交流,但得到的大部分是礼节性的回复,也有部分厂家针对我们的想法提出解决思路:将物理服务器分成两部分,一部分专用于高性能计算(计算网络用InfiniBand),另一部分专用于虚拟化(云计算,计算网络以太网),服务器之间资源不共享,但统一平台方便管理。显然这样的解决方案不符合我们的初衷。
2014年上半年,海大继续与国内从事网络(含云计算)、服务器、虚拟化的多个厂家进行了沟通交流,对于我们的想法(需求)开始有多家厂商表示可以提供解决方案,通过组织校内外专家对厂家方案进行了严格的评审答辩,最后选定最好的三家方案作为基础进行整合优化,形成公开招标方案。
最终,某厂商在公开招标环节胜出,为海大提供了最优的HPC与云计算融合的计算平台解决方案(HPC in Cloud),即业务管理系统和公共服务平台,面向目标用户提供虚拟化服务及高性能计算服务。包括:云计算管理系统软件的应用,以Web方式访问的云管理平台,无缝管理多个虚拟化环境;提供虚拟机服务及应用,意在以云端服务的模式替换传统IDC机房模式,最终实现学院的各项应用系统迁移至融合计算平台,新建应用以虚拟化模式全面实现。同时,在业务系统运行空闲时段可为高性能计算提供服务,实现安全、可靠和快捷的在虚拟化模式与HPC模式之间的方便切换。
图1 云计算平台整体架构
服务教学、科研与管理综合计算平台
海大兼顾高性能的云计算平台(HPC in Cloud)将网教中心机房和图书馆机房的IT资源进行集中管理调度,构建面向高校教学、科研、管理的综合平台,支撑学校各类业务管理系统和公共服务平台的稳定运行,同时还能支撑诸如大数据处理、课程培训、云计算教学、动漫设计等科研和教学应用场景。整体架构如图1所示。
融合平台将各类硬件基础设施(服务器、存储、网络设备等)和软件(操作系统、数据库、中间件、各种高性能计算软件等)进行统一管理,构建共享资源池,并提供各种自动化的云服务(除了基本的虚拟机、存储、网络外,还提供了弹性伸缩、数据库自动化、应用自动化部署、大数据处理、高性能计算、3D渲染等),这些自动化云服务可以很好地支撑学校各类应用系统、高性能计算、教学管理等需求。
融合平台构建完成后,网络中心的老师通过云平台管理界面设定资源的利用策略,例如平均利用每一台服务器、优先利用某一台服务器、HPC计算专用其中几台服务器等,还可以监控各类资源的运行状态,并导出资源使用的各类报表。针对科研项目、老师的教学需求,网络中心提供资源申请机制,通过高校已有的OA或邮件方式提交资源申请,由网络中心管理员为需求者分配资源限额,如CPU、存储容量、备份容量等。各学院的老师、学生可以在资源配额范围内自助登录云平台使用各类自动化云服务,完成各种教学、科研工作。
图2 海大云计算中心管理平台规划功能架构
融合平台功能架构
海大云计算中心管理平台规划功能架构如图2所示。该融合平台整体包括四大模块,分别是:
1.IT基础硬件。为了充分利用学校内部的高性能计算资源、最大限度地避免重复建设与资源浪费,云平台需要对网教中心和图书馆的服务器、存储设备、网络设备进行统一调度管理,以实现资源的优化配置、充分共享。
2.资源池。利用云平台的虚拟化技术,将底层IT基础硬件设备进行虚拟化处理,借助云平台控制器对虚拟资源进行统一纳管,屏蔽底层各类硬件环境的复杂性,构建统一的虚拟化云资源池,为上层的业务管理系统和公共服务平台的运行、HPC高性能计算提供必须的计算、存储和网络资源。
3.自动化云服务。在虚拟化层基础上,云平台对虚拟资源进行能力封装,提供了多项自动化的云服务,包括基础能力(虚拟机、存储卷、网络资源等)、应用支撑能力(应用自动化部署、数据库服务、负载均衡服务等)、辅助能力(HPC、大数据处理、3D渲染等)等,云平台用户可以通过这些服务满足各种场景下的IT需求。该层是整个云平台的核心部分,直接决定着云数据中心的能力大小。
4.自助服务。云平台为学校各部门、学院、用户提供了自助服务门户。云平台管理员只需要为每个用户分配一定的资源配额,用户就可以自助登录到云平台界面,使用云平台提供的各项功能进行应用部署、HPC计算等工作。
构建完成的兼顾HPC的云计算平台有鲜明的“海大云”特色。
1.灵活高效的弹性计算平台。云平台设备采用万兆网络,充分满足科研大数据量传输的高带宽要求;通过服务器配置SSD缓存加速固态盘,大大增加热点数据的读写速度,满足高性能计算的数据快速存取需求。针对Linux下的高性能计算还提供容器模式,在最大限度使用物理机性能的同时,提高灵活度。
2.一体化的存储系统。方案中利用业内趋势,采用SMP多核计算产品,计算/存储共用的模式技术构建云平台,分布式存储系统将计算服务器的本地存储硬盘统一纳管,提供高性能的共享存储空间,提升平台的存储利用水平。
3.全面的系统安全性。方案的设计充分考虑高校业务系统和科研对于安全性的需求,从计算、存储、网络,到用户的接入访问、权限控制等,都提供了安全策略。同时,云平台控制器本身作了高可用配置,保证平台能够7×24小时对外提供服务。
4.多样化的应用场景。除了能够支撑学校大量业务系统和公共平台的稳定运行和科研计算外,HPC云平台还能够提供诸如高校课程培训、云计算教学、动漫渲染、大数据处理等多种增值服务。
5.“海大云”兼顾的HPC除集群虚机模式外,将继续探索集群闲置物理机模式,做到两种模式共存,因需选用,希望小长假启用虚拟机集群模式(应用稳定、即时交付),大长假根据需要启用裸机集群模式(提高利用率),未来将分两阶段来走:第一阶段保证应用,兼顾高性能,培养人才,提高效率,积累经验;第二阶段提高软硬件资源利用率,根据学校高性能计算需求量扩充性能、优化配置。
云计算的易用性会影响传统的HPC计算模式,传统的排队批处理方式很难实现按需即时响应的科学计算,On-demand的云计算给HPC提供了更易交互的计算模式。如同几年前用大众化的PC服务器搭建集群以及最近用GPU加速科学计算一样,云计算对于HPC也是一次模式转变。
美国IT战略科学家Dan Reed指出,云计算使得计算和海量数据存储特别便宜,云平台最终将取代传统HPC基础设施。
(作者单位为海南大学网络与教育技术中心)