虚拟化HPC需要面对的七大技术挑战
尽管虚拟化技术的应用能够提高商用高端服务器的利用率,但与传统高性能计算技术(HPC)的代表超级计算机一样也面临着许多技术困境。目前全球高端服务器市场主要被RISC架构的产品占据,约占服务器市场近40%的份额。但随着开放式系统应用的深入、普通用户对高端服务器的需求增加、集群系统的技术成熟,RISC的地位进一步动摇。主要体现在,新兴行业和竞争激烈的传统行业因成本带来的巨大压力而产生的对8至16路通用服务器(此处“通用服务器”是相对采用RISC架构芯片的服务器而言,即采用x86或安腾架构处理器的服务器。)的需求;高性能集群系统的成功应用,导致放弃使用大型机而采用基于集群技术的通用多路服务器所形成的市场,尤其对星群的高性能集群的需求的增长。
虚拟化给高端服务器带来机会
尽管需求一再攀升,但商用高端服务器与传统的高性能计算技术的代表超级计算机一样也面临着困境——计算机的实际计算能力大大低于系统理论的峰值。不仅如此,人们在编制供它们使用的并行程序时的付出也与其产出不成比例。因此,满足对高效能的需求已成为人们设计商用高端服务器的重大挑战。目前高性能计算机仍沿用冯。诺依曼模型为基础的以CPU为核心的计算模式。作为这一模式基础的CPU技术目前已经发展到了追求线程级并行(TLP)的多核时代,其代表就是片上服务器(server-on-chip),例如Sun的UltraSPARCT1“Niagara”处理器芯片。但是,问题仍然没有解决——由于应用的复杂、种类的繁多、规模的巨大,单一的编译器或操作系统仍然无法智能地去挖掘蕴藏在其中的全部并行性。
利用虚拟机这一技术可以在单一服务器上支持不同的应用软件和操作系统,而且还能够动态地将资源分配到最需要的地方,可以减少数据处理过程中所需的服务器数量。有了虚拟机,企业在每次部署新的操作系统时,就无需迁移现有的应用软件,从而能延长那些虽然已经过时,但仍非常重要的应用软件的使用周期。这样,那些基于WindowsNT的应用程序就可以再次焕发生机。
除此之外,人们发现利用虚拟技术,也能进一步发掘应用间的时间和空间的并行性。当然,虚拟机技术带来的隔离性、安全性、灵活性更增添了这一技术的魅力。中科院计算所目前正在研究的项目的主要内容就是围绕如何利用虚拟机技术构造高端商用服务器,研究新型的高端服务器和相关技术,同时考虑虚拟SMP的入侵防护技术。除了这些方面,基于虚拟化技术的商用高端服务器,在各种环节的研发中还存在诸多技术挑战。
虚拟机及其协同技术
虚拟机是构造虚拟SMP服务器的基础,它是由虚拟机监控(VMM)软件创建和管理。传统的VMM例如Xen和VMware面向单一节点,节点既可以是单一CPU也可以由SMP构成。这时由这些VMM所构造的虚拟机(VM)所能够利用的资源例如CPU、内存、磁盘、通信带宽等就仅限于这个单一的物理节点。从这个意义上说,虚拟机间的协同也就等价于传统服务节点或服务器间的协同,无法充分利用基于虚拟机技术创新所带来的益处。因此,必须突破目前虚拟机构造中资源的局限性,使得一个虚拟机不仅能够从它的宿主物理节点上取得资源,而且能够利用网络从其他非宿主的物理节点上获取资源,从而实现资源在虚拟机间的流动,实现部件级的虚拟化。
这里的部件泛指CPU、内存、磁盘、网络等构成传统计算机的部件。
计算所要研究的分布式超级虚拟机监控软件(distributedhypervirtualmachinemonitor,DHVMM)是实现部件级虚拟化的关键支撑。基于DHVM提供的强大的部件级虚拟化能力,虚拟机间的协同就转变为资源和作业的调度和迁移。该项目将强调部件在虚拟机间的流动,当一个虚拟机有大量作业到达或有繁重作业而出现负载尖锋时,不采用传统的方法如作业/进程的迁移,而是通过DHVMM将网络环境中可利用的其他虚拟机上的空闲部件“流动”到资源紧张的虚拟机上,通过动态地增强重载虚拟机的计算能力、存储能力、通信能力来处理其上的作业。同时,当作业的负载高峰过去后,被动态增强的虚拟机可以自由、实时地释放“富余”的部件,供系统中其他虚拟机在需要的时候动态地获取,计算所将这种技术称为能力服务计算。
共享内存技术