虚拟化技术应用于高性能计算中

计世网 发表于:10年04月06日 10:28 [转载] 计世网

  • 分享:
[导读]随着高性能计算机性能的提高,其规模不断扩大,各部件之间的关系日益复杂,对系统的管理和使用也变得越来越困难。为了获得较高的性能和效率,高性能计算机系统软件必须根据体系结构的特点进行定制,高性能计算应用程序也需要根据特定体系结构进行优化。
3 虚拟化技术应用于高性能计算中

从目前的研究可以看出,虚拟化技术尚未被广泛应用于高性能计算领域,其主要原因包括以下几个方面:

(1)虚拟化带来的性能开销问题。传统的服务器虚拟化技术带来额外的系统性能开销。在一个虚拟化系统中,VMMM 运行在最高特权级上,VM和Guest 0S作为VMM上的用户级程序运行。这就导致Guest OS运行过程中遇到特权级操作时,必须内陷到VMM中。由VMM执行。这种执行方式需进行上下文切换,且会导致更长的设备访问延迟,对于对系统性能敏感的高性能计算应用来说是难以接受的。因此,需要研究面向高性能计算机系统的虚拟化技术,针对应用对高性能的需求,进行VMM优化设计。

(2)多VMM高效协同问题。面向高性能计算机系统的虚拟化技术不同于传统的服务器虚拟化技术。传统的服务器虚拟化只需要单个VMM对服务器底层硬件设备进行抽象。而在多维异构的高性能计算机系统中,每个节点都需要运行一个独立的VMM,该VMM只对单个节点进行虚拟化。整个系统中运行了大量相互关联的VMM。VMM之间协同工作,构成统一的大规模系统级虚拟化环境。因此,需要研究高效的VMM协同机制,其中包括大量VMM之间的协同管理、协同部署、VM跨物理节点的高效通信、VM迁移以及系统级容错等技术问题。

(3)大量VM的管理问题。为了支持高性能计算应用程序的运行。可能需要一次部署运行上千个乃至上万个的VM。传统的服务器虚拟化技术只涉及少量VM的部署问题和运行时管理问题。如何支持大量VM的动态部署、根据应用需求快速分配所需的硬件资源、以较低的系统开销快速启动VM、对大量VM进行运行时管理等,都是实现高性能计算机系统虚拟化时需要解决的重要技术问题。

(4)编程模型和软件环境的支持问题。传统的编程模型和支持应用开发和运行的软件环境都是直接针对非虚拟化系统设计的,而虚拟化技术对硬件系统进行了抽象,改变了用户所见的资源组织形态,使得传统的编程模型和软件环境无法适应用户对虚拟化系统的使用要求。因此,需要研究面向虚拟化高性能计算机系统的新型编程模型和针对虚拟化系统进行优化设计的配套软件环境,如并行编译器、链接器、调试优化工具、并行函数库等。

4 应用前景分析

目前。虚拟化技术已被广泛应用于台式电脑和服务器上,取得了很好的应用效果。相比之下,在高性能计算领域的应用还非常有限。随着高性能计算技术的发展和对虚拟化技术研究的深入,两者之间的结合将会变得越来越紧密,虚拟化技术也将为高性能计算领域的诸多难题提供新的解决方法。

(1)构建虚拟应用开发环境。高性能计算应用程序与运算环境关系密切,不同规模的运行环境下表现的行为也不尽相同。利用虚拟化技术,可以在小规模系统上构建大规模的虚拟应用开发环境,使应用程序可以在更为接近最终运行环境的系统环境下进行开发和优化,开发的应用程序可以被更快、更方便地移植到大规模系统上运行。

采用虚拟化技术,还可以对高性能计算应用程序的开发和调试提供特殊的支持。VMM可以通过授权允许一个VM对其它 VM的内存、中断和通信状态进行监控,有助于开发人员深入分析应用程序行为,便于高性能计算应用的调试。同样。这一机制也可以用于系统软件的开发与调试。

(2)整合异构资源。随着应用需求和高性能计算技术的发展,高性能计算机体系结构正在逐步向着异构化的方向发展。如何高效管理和使用异构系统是高性能计算系统软件和应用程序开发人员面临的主要技术难题。虚拟化技术在整合异构资源方面有其固有的优势。利用虚拟化技术对底层异构硬件资源进行抽象和管理,可以有效地隐藏硬件平台的异构特性,为用户提供一个统一的系统环境,方便用户对异构系统的使用。

(3)提供定制的Appliance。不同的高性能计算应用程序需要不同的系统环境,如面向应用优化的操作系统环境、特定版本的编译器以及通信库等,这使得应用程序的部署费时费力,系统环境也难以做到最优化,系统效能得不到充分发挥。采用虚拟化技术有助于解决上述问题。虚拟化技术支持预先将定制的操作系统、经过优化配置的应用运行环境和应用二进制代码一起打包成VM映像,这种映像被称为Appliance。通过直接部署Appliance,可以实现高性能计算应用程序的快速部署,并获得较好的运行时性能。

(4)提高系统可靠性和容错性能。随着高性能计算机规模的不断扩大,部件间复杂性的不断提高,系统硬件故障率也不断增大。在虚拟化的系统中,由于节点上各VM之问相互隔离,软件错误如操作系统或应用程序故障只能直接影响到一个VM,甚至硬件故障如CPU、内存、设备的故障也只影响到它们所被指定到的VM。当出现故障时,通过VM迁移、快速重启VM等方法可以重新恢复甚至于不中断应用程序的运行。

(5)提高系统安全性。系统安全对于像数据中心这样的高性能计算应用来说非常重要,而VM之间的相互隔离和自测试能力为建立安全系统提供了一个平台。由于VMM只对低层硬件抽象和管理,提供一些简单的功能,相对于全功能的操作系统内核来说,更为可靠和安全。VMM本身不会受到恶意代码的干扰,而且它所提供的VM之间的相互隔离和授权自测试功能也是完全可信的。VMM可以对所加载的VM和加载到VM上的应用程序进行信用检查,可以授权一个VM对其他的VM状态进行审查,比如进行病毒扫描等。VMM还可以持续监视VM之间的通信和VM的状态,以确保VM运行状态的正确性。

5 结束语

基于Xen等成熟的虚拟化技术,一些研究人员已经在高性能计算领域做了一些开拓性的探索,在集群系统虚拟化等方面开辟了一些成功的应用。到目前为止,虚拟化技术在高性能计算领域的应用还并不多见,其原因主要是高性能计算应用通常对系统性能有苛刻的要求,而虚拟化必然带来性能的损失,这对于许多高性能计算应用来说是不被容许的。因此,需要专门研究面向高性能计算机系统的高效率虚拟化技术,如针对高性能计算机系统的虚拟化模型、大规模虚拟化系统上的应用开发和部署机制、支持虚拟化系统的编程模型和配套软件环境等。随着虚拟化技术的不断发展,底层硬件越来越多地加入对虚拟化的支持,有效地降低了虚拟化的性能开销。而高性能计算机体系结构向多层次、多粒度的异构化方向发展的趋势也必将进一步推动高性能计算机虚拟化技术的发展。


[责任编辑:査彬]
Doserv原创 Vicky Z
纵观IT发展的历程,我们发现IT技术从最早的分布式结构走向了大集中的架构,而今,云计算的出现又将IT重新引向了分布式的老路。
官方微信
weixin
精彩专题更多
联想发布“腾云计划”正式进入云市场,同时推出ThinkServer Gen5,在众说纷“云”的云时代里联想推出云战略正当其时,服务器产品线的更新便是联想云时代里前行的新生力量。
2014年11月6号,HPC China 2014大会在广州长隆酒店正式召开。本次会议由中国计算机学会主板,中国计算机学会高性能计算专业委员会、中山大学和广东工业大学承办。
思科UCS:突破性能极限 重新定义平台
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved.