超级计算机和云计算都是时下比较火的两个概念,前者一般主要面向科学计算、工程模拟、动漫渲染等领域,大多属于计算密集型的应用,后者则主要是在Web2.0、社交网络、企业IT建设和信息化等领域,以数据密集型、I/O密集型应用为主。虽然侧重点有所不同,但这两者之间是很有渊源的,比如两者都使用了分布式计算、网格计算、集群、高密度计算等技术,也有一些领域在使用云计算从事HPC类的应用,如北京市计算中心就在打造“北京工业云”,为中小企业提供产品设计模拟服务,浪潮和NVIDIA也在分别推各自的“渲染云”方案。不过,HPC与云计算也存在很多不同,比如HPC几乎不用虚拟化技术,因为一个应用就可能把多个机器的CPU都跑满了,虚拟机没什么用武之地,而在企业私有云中,虚拟化却是一个最基础的技术。
中科院计算所所长李国杰院士在主题演讲《云计算与HPC——兼谈加强计算机系统研究的必要性》中,就高性能计算与云计算之间的关系谈了许多观点,现总结如下:
中科院计算所所长李国杰院士
#p#
云计算是超级计算中的新发展
对高性能计算(HPC)而言,云计算并不是一个新的概念。事实上,已经发展近30年的超级计算中心也是一种早期的云计算模式:昂贵的计算资源集中部署,多个领域的用户通过互联网远程使用计算服务并依据使用量支付费用。但这种HPC服务和当前所谈论的云计算又有着一些明显的区别,如没有充分采用虚拟化技术,没有良好的用户界面等。
云计算将扩大HPC服务的范围。随着虚拟化即时的提高,通信延迟降低,紧耦合的计算将在更大范围内具有吸引力。
特别是位于高端计算和桌面计算之间,存在众多对高性能计算有潜在需求的用户。调研表明,阻碍这些潜在用户使用高性能计算的主要障碍包括:缺乏HPC人才,建设和运维的成本以及使用HPC应用的复杂度。而云计算正是应对这些挑战的最佳途径。
#p#
云计算还不合适做尖端的超级计算机
Dan Reed认为,云计算绝对不是为特定目的构造的性能顶尖计算机的替代器。如果一种Petascale计算需要极低的任务间通信延迟,今天的云计算肯定不适合。但是对于大多数使用较小规模设备的研究者,云计算是有吸引力的替代器。
目前的云模型并不支持顶尖的超级计算。动员Grand Challenge应用的人做云计算就如同要说服驾驶F1赛车的人去乘公共汽车。HPC主要执行计算密集型的任务,CPU的利用率已经很高,因此虚拟化技术对于HPC的CPU利用率作用不大。虚拟化对计算密集型(如果数据能全部放进内存)应用的影响很小,而I/O密集型应用的性能则会有一定下降。
目前的云计算做HPC效率较低
基于云计算理念来构建超级计算中心,除了满足传统的或现有的HPC用户需求外,更重要 提创造并吸引众多新领域的用户。美国德州先进计算中心(TACC)的Edward Walker对Amazon EC2上HPC应用的性能表现进行了研究,应用选择常用的基准测试程序NPB,测试结果表明:几乎相同的硬件条件下,对OpenMP版本的8个测试程序EC2性能下降7%至21%不等,MPI版本性能则下降40%至1000%不等。
今天的数据中心与未来的HPC
云计算的易用性会影响传统的HPC计算模式,传统的排队批处理方式很难实现按需即时响应的科学计算,On-demand的云计算给HPC提供了更易交互的计算模式。如同几年前用大众化的PC服务器搭建集群以及最近用GPU加速科学计算一样,云计算对于HPC也是一次模式转变。
构建百万节点数量级的数据中心与今天构建Petascale(千万亿次)及今年后构建Exascale(亿亿次)的系统有许多相同的困难。Dan Reed认为,他们就象是一对“双胞胎”,面临共同的挑战包括:高速互连、存储分层(包括Flash,PCM等)、异构多核处理器、系统可靠性和恢复能力、机柜、冷却、能耗效率和编程等等。今天Mega-datacenter的经验将可用于未来的Exascale超级计算机设计。
云平台将最终取代HPC基础设施
美国IT战略科学家Dan Reed指出,云计算使得计算和海量数据特别便宜,云平台最终将取代传统的HPC基础设施。如果主机(Mainframe)是跳棋,PC和Internet是象棋,云计算则是要眼观全局的围棋。
另外,李国杰院士还特别指出,虽然云计算是发展趋势所在,但现在对云计算基础关键技术的研究还远远不够,业界过于偏重虚拟化技术,而忽视了对计算机系统技术的研究。参考阅读:李国杰:云计算不可忽视计算机系统研究。
【编辑推荐】