中国教育和科研计算机网
EDU首页 |  中国教育 |   高校科技 |   教育信息化 |   CERNET
教育信息化

资讯 | 专题 会议 观点 专栏 访谈 企业 产品 CIO 技术 校园信息化 下一代互联网 IPv6视频课堂

中国教育网 > 教育信息化
您现在的位置: EDU首页 > 教育信息化 > 存储备份 > 应用技巧
虚拟化技术在高性能计算机系统中的应用研究
http://www.edu.cn   2010-05-24 作者:

字体选择:【大】 【中】 【小】

  2.2.2 支持集群系统虚拟化的性能优化

  在构建虚拟化集群系统时,Huang等人采用了多种技术对虚拟化集群系统进行性能优化。

  (1)减小虚拟化带来的额外性能开销。

  虚拟化集群系统中通过以下两种技术来减小虚拟化带来的性能开销:

  ①VMM-bypass I/O技术:该技术允许VM通过DMA操作直接访问底层网络设备。这种访问方式只产生非常小的I/0虚拟化开销,可以使得高性能计算应用程序获得接近原始的通信性能。
  ②定制OS技术:支持高性能计算应用程序运行所需最少的操作系统服务。通过裁减不必要的内核模块和系统服务来定制OS,最大限度降低系统额外开销。

  (2)减小VM映像管理开销。

  虚拟化集群系统通过三种方法优化VM映像开销:

  ①最小化VM映像:在虚拟化集群系统中,VM映像中包含了定制的OS环境,该OS环境几乎只包含了MPI函数库、必要的系统工具集以及一些运行时环境。这种定制VM映像非常小,可以在网络上高效传输,并在其它节点上快速实例化。
  ②快速可扩展的VM映像分布:创建一个VM映像分布模块负责将VM映像广播到各个节点,并在各节点上实例化,比如通过基于二叉树结构的广播算法将映像广播到各个目标物理节点上。这种做法可加速VIM映像的分布。
  ③缓存VM映像:在有足够的存储空间的前提下,可以在计算节点的本地存储器上缓存VM映像。如果VM在最后一次实例化后没有发生更新,就不需要传输新的VM到该计算节点,当发生更新时,可以仅传输更新部分。

  2.3 系统容错——基于Xen的主动容错系统

  随着高性能计算机系统规模的扩大,系统故障率大大增加,传统的容错技术难以满足高性能计算机可靠性的要求。针对上述问题,Nagarajan和Mueller等人在Xen的基础七实现了一种主动容错机制,允许进程自动地从失效节点迁移到健康节点。

  该主动容错系统主要包括三种机制:容错机制、节点失效预测和负载平衡机制。

  (1)基于Xen的容错机制。高效的容错机制必须能够在系统出错时花费最小的开销对计算任务进行重定位,使其能在不同的物理节点上运行。更重要的是,在计算任务迁移时不应该中断任务本身的执行。基于Xen半虚拟化技术,VM可以在节点出错时进行动态迁移。通过预迁移方法,可以避免中断任务运行,使VM内的所有状态预先迁移到目标VM。迁移过后,VM可以从迁移前的状态继续向下执行。
  (2)基于IPMI的节点失效预测。作为主动容错系统,必须具备预测某峰未来事件的能力。通过采用智能平台管理接口(IPMI)可以实现系统系统运行状态的实时监控,预测未来的节点失效事件。当预测到某节点即将失效时,可以通知系统启动上述容错机制,主动将该节点上的VM迁移到健康节点上。
  (3)基于Ganglia的负载平衡。VM迁移之前需要进行目标节点的选择。该系统中采用Ganglia监控各节点的本地资源使用状态,并将监控数据发送给其它节点,使所有节点都可以获得整个集群系统的全局状态。VM迁移时根据最新的全局状态选择目标节点。

  2.4虚拟化系统环境——VSE

  在构建虚拟化系统环境方面,美国橡树岭国家实验室的Engelmann C等人提出一种虚拟系统环境(Virtual Systern Environment,简称VSE)。VSE具有良好的虚拟环境隔离性,可用于为高性能计算应用程序的开发和部署提供沙盒(Sandbox)环境,也可以支持系统软件的开发和部署。

  (1)VSE的系统架构。

  VSE采用了系统级的虚拟机管理器(VMM)和VM配置机制,为高性能计算机系统软件和应用程序的开发和移植提供基础环境的保障。

  VSE的核心部分是VMM。VMM实现对物理硬件资源的抽象,支持虚拟计算节点和虚拟开发节点的部署,以及虚拟节点上操作系统的运行。VMM通过VM保护机制保证VM之间以及VM和宿主机操作系统(Host OS)之间相互隔离。

  (2)VSE的管理机制。

  ①系统管理。VSE采用一组系统管理工具和配置文件进行系统管理。这些系统管理工具和配置文件被用于在VSE系统E创建、部署、清除和销毁VM。
  ②配置管理。VSE采用层次化的VM配置描述管理机制,对操作系统配置、软件环境配置和应用程序配置进行分层描述。配置管理机制支持用户权限的设置,以保证用户环境的隔离性和安全性。

  (3)VSE的应用。

  ①支持应用程序的开发和部署。VSE可支持高性能计算应用程序早期原型的开发。通过在台式电脑上部署VSE,可以构建与目标系统一致的小规模开发环境,开发的应用程序可直接移植目标系统上运行而不需要作任何修改。
  ②支持系统软件的开发和部署。VSE提供一个虚拟的测试平台,通过构建虚拟硬件设备,以VM的形式提供沙盒测试环境,使开发人员不需要卸载原有操作系统软件就可以直接进行新系统的开发和测试。这种开发方式可以保证原有系统软件和其它VM不会受到影响。

  2.5并行编程环境——Charm++和AMPI

  在并行编程环境方面,Illinois大学并行程序设计实验室(Parallel Programming Laboratory,简称PPL)实现了一种基于虚拟化技术的并行编程模型,它可将程序分解成大量可并行处理的部分,这些可并行处理的部分构成大量虚拟实体,每个虚拟实体对应一个虚拟处理器。该模型使程序员不需要显式地考虑物理处理器的使用,他们在编程时只需要考虑各个虚拟实体之间的交互。基于上述编程模型,Illinois大学实现了Charm++和AMPI编程语言。

  (1)Charm++和AMPI。Charm++基于C++实现,其最基本的并行单元为一个C++对象,称为chare。

  chare中包含了可被其它该chare异步调用的方法。chare对象之间通过传递消息进行通信。Charm++支持共享变量、优先级调度、chare对象组等机制。通过这些机制实现对高性能计算机体系结构的抽象,使应用程序的编写更为方便。

  除了Charm++,Illnois PPL还将虚拟化技术与MPI相结合,实现了一种自适应MPI模型——AMPI。在AMPI中,应用程序由大量虚拟的MPI进程组成,这些虚拟的MPI进程独立于处理器。AMPI使用户可在更高的系统抽象层次上使用熟悉的消息编程接口来编写科学计算程序。

  (2)虚拟化技术对并行编程的影响。虚拟化技术应用于高性能计算机并行编程中可以带来以下几个方面的好处:

  ①通过虚拟化技术可以提高编程模型的抽象层次,使用户可以更多地关注应用程序本身的逻辑而不是硬件结构的细节;
  ②基于消息驱动的虚拟处理器在运行时可以自动获得’消息/通信重叠的效果,如果再加上高效的预测机制,可以实现代码的运行时优化;
  ③虚拟处理器拥有动态迁移的能力,可以实现自适应动态负载平衡,更好地利用空闲计算资源。

页面功能 【打印】 【关闭】 【我有话说

MOOC风暴来袭

版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号

关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com