南京大学信息化专家组 杨献春
选择HPCC模式主要基于以下原因:
(1)我校公共计算平台与高性能计算中心的服务对象不同,无法实现统一管理。
(2)有利于集中资金整合资源打造提供计算服务的公共大平台,消除计算资源分散带来的诸多问题。
(3)利用云计算的的特点,通过部署云计算管理平台,将数据中心的硬件资源、软件资源、数据资源整合。
(1)充分发挥投资效益,尽量提高设备使用效率
1)计算效率
不只是高性能设备的堆砌,而是让设备发挥出高性能,让应用享用到高性能,让用户体验到高性能;优化进程/线程并行度获得最优加速比和处理器(核)载荷,优化内存利用率获得最大内存带宽,优化指令利用率获得指令最大吞吐量。
2)管理效率
最大化资源共享,减少设备独占性;减缓资源忙闲不匀,提高设备利用率,减少设备空载,节约能耗;对资源的占用按需动态调节,不同用户在同一组设备上灵活切换,并能合理重配资源,当资源所剩无几时,即使设备未增加,新用户仍能提交作业;资源重复利用,新用户可以分享老用户释放的资源,并保证老用户能方便再度获得资源且恢复到先前的运行环境。
(1)应用为先(适用)
综合各研究方向需求,兼顾共性并尽可能考虑到个性化,选择最适宜的软硬件平台,由应用决定平台,而不是由平台限制应用。
选择的方案需确保其跨越硬件架构与操作系统平台,兼顾虚拟资源分配与物理设备切换,支持多种编程模式,满足各种应用的不同需求。
(2)创新为体(够用)
在架构设计时充分考虑高性能计算技术发展趋势,采用先进的产品和创新的思路,最大化利用现有投入,并考虑到今后扩展的需求。绝不仅仅是一组高性能设备的建设,而是一个多功能、多应用、多客户的服务平台,引入当今先进的云计算技术是适宜的
(3)效率为要(好用)
坚持够用原则,不追求超越实际需求的规模,不去比较没有实质意义的峰值运算能力,即使Linpack测试指标也不应作为设备选型的单一依据,而是充分考虑总体架构的合理性和资源管理调度等要素,实现一个高效率计算(High Productivity Computing)的平台。在多用户、多应用的使用场景下,我们不单单要考虑到整体设备的高性能,还需要考虑到系统在使用过程中,如何通过虚拟化、资源共享,自动化等手段来协调整个计算平台的计算资源利用,即使物理分配也允许系统管理员切换用户,提高整体利用率,实现一个绿色高效的计算环境
(1)注重计算节点性能
配备高主频处理器大内存提高计算处理能力。对于用户提交只含有一个或少量几个任务且耗时较多的作业,购置处理器主频尽可能高的机架式服务器加速处理能力,且配置较大的内存尽可能将进程全部常驻内存以消除Paging及Swapping节省时间开销,且便于用户动态切换。
减轻I/O“瓶颈”现象,提升计算节点整机性能。对于频繁访问大批数据的计算任务而言,磁盘存取速度的提升跟不上处理器速度因工艺及多核技术而性能大幅度提升的步伐,是制约处理性能的关键因素,提升数据存储设备的IOPS是其出路,比如选用光纤固态盘。
(2)选择与计算任务相适应的服务器体系结构
对于支持OpenMP自动编译的并行计算作业,或者含有很多个任务的批作业或者同时提交一大批作业的场合,选用由众多(8颗及以上)多核处理器构成共享内存的胖节点SMP架构服务器。利用操作系统的可以将一个批作业或者多道作业中各个计算任务自动分配到各核创建进程执行的能力,实现作业级的同时处理或者批作业中不需要进程间通信和同步的独立任务平行计算。
对于调用已内嵌支持MPI并行机制的一些软件包,实现并行计算且进程间通信开销不太大的作业,以及利用MapReduce并行机制搜索引擎、数字媒体服务等互联网应用,购置采用分布式内存并行架构的刀片式集群或者选择专门面向高密集计算的融入了刀片技术的新型机架式服务器。经过实际运行对比,其计算效率比胖节点SMP架构服务器要高。
(3)合理配备存储资源
对于物理分配的计算节点,选用大容量的高吞吐率硬盘。因为追求其单机处理性能,用户数据可直接本机存储。
对于虚拟化的计算节点,可选容量较小的高吞吐率硬盘。
为增强系统可靠性,对云存储实时备份。
(4)节点互连链路的高速化与灵活性
计算专用互连链路与互联网信息通道共存。计算节点间及计算节点与存储间配备专用互连链路,与互联网隔离;多网卡技术,冗余链路增加吞吐率以及某些应用的互联网信道。
性价比权衡,不同高速网络链路协议共存。以千兆以太链路为主,个别特殊需求考虑更高速技术。
(1)对大部分计算资源和存储资源进行虚拟化,分配给用户的资源不再是物理服务器和物理存储,而是经过虚拟化的一组资源,具体使用那一台物理设备则通常是用户不必知晓的。
(2)用户可以透明地使用计算资源和存储资源,仍可像以前一样自主构建自己的运行环境,该环境是可以被卸载到后台或者需要时重新恢复。
(3)当用户暂时不再使用资源时,将其运行环境保存到后台,释放虚拟计算资源再行调度和分配,当用户再次打算使用时,重新还原先前一样的环境继续使用,但可能物理的设备已与原来不一致了,也就比方是,同样的节目可以在不同的舞台上演。
(4)根据用户对资源需求的变化,动态调正所需的处理器核数和存储空间大小,资源可以动态在不同用户之间调剂。
(5)根据特殊用户的个性化需求,分配的虚拟化资源可以相对长期稳定,以利于对比测试等科学实验需要。
(6)鉴于虚拟化带来的性能开销不可忽略,针对一些对性能要求很高的计算任务,可以考虑在不虚拟化的情况下进行物理设备的分配和管理,而且可在不卸载本地硬盘上原用户环境的前提下,通过远程引导的方式让其他用户使用高设备的处理器及内存完成计算任务。
(1)整合计算资源
在图1所示架构中,底层的硬件资源采用标准化、高性能、易扩展的设计思路,根据应用对硬件设备的不同需求,建立完善的服务器资源池、存储资源池,由云计算管理平台统一进行管理。
图1 南京大学计算机学科高性能云计算平台参考架构
(2)虚拟化技术
在整体方案中,可以划分一部分资源进行虚拟化,从而提供一个共享的开发测试环境给用户,便于用户在正式提交作业之前进行程序的调试和试运行。
在一些具体的应用场景上,针对一些对性能要求很高的计算任务,虚拟化带来的性能开销不可忽略,因此可以考虑在不虚拟化的情况下进行资源的分配和管理。
(3)统一管理平台
采用统一的云计算管理平台来进行整体资源管理和服务流程管理。通过管理平台,可以提供硬件资源、软件资源和操作系统等的按需调配。最终用户或者管理员可以通过该系统对中心内的计算资源进行申请、批准、调整和回收等等自动化操作。
(4)服务接口
最终用户可以采用两种服务接口来进行计算任务的运行。一种是通过云计算管理平台获取自己项目独占的计算资源,包括硬件、应用软件和操作系统等,用户可以在计算资源上按照自己的需求进行个性化调。另一种方式是可以通过云计算管理平台部署的计算资源上的作业管理系统,以排队的方式和其他用户共享计算资源,来进行作业的运算。