您好, 访客   登录/注册

浅析虚拟化技术在高性能计算中应用前景

来源:用户上传      作者:

  摘 要
  随着用户对于高性能计算需求的提高,实现其计算需求的计算机规模不断扩大,部件之间的关系日益复杂,系统如何便捷管理和高效使用成为技术难题。虚拟化技术可将固有软硬件资源进行重新规划,实现最大使用效能。本文首先对虚拟化技术的起源及发展做了简要介绍,再对虚拟化技术的类型进行阐述,最后对虚拟化技术在高性能计算中的应用前景进行了展望。
  关键词
  虚拟化技术;应用;高性能
  中图分类号: TP311.56                 文献标识码: A
  DOI:10.19694/j.cnki.issn2095-2457 . 2020 . 17 . 17
  Abstract
  With the improvement of users' demand for high performance computing, the scale of computers to realize their demand for computing keeps expanding, the relationship between components becomes more and more complex,How to manage and use the system efficiently becomes a technical problem. Virtualization technology can reprogram the inherent software and hardware resources to achieve maximum efficiency. In this paper, the origin and development of virtualization technology are briefly introduced, then the types of virtualization technology are described, and finally the application prospect of virtualization technology in high-performance computing is forecasted.
  Key words
  Virtualization technology; Application; High-performance
  1 虛拟化技术起源及发展
  随着人们对于计算需求的日益增多,计算机的普及率也随之增高,但计算机的利用率却出现严重不足的现象,在日常的生活之中,计算机在晚上大多处于闲置状态,而在白天的工作学习时间中,计算机的使用也并不高频和持久,平均利用率仅为9%,可以说计算资源是目前最过剩的资源。国务院信息化工作办公室统计得出仅44.5%的政府网站发布的公告、新闻、政策等信息比例超过60%,有21.7%的政府网站发布比例低于20%,综合起来,政府网站的整体计算资源利用率不足50%。
  整体而言,在信息产业,IT设备计算资源过剩,资源利用率非常低是一个不争的事实。面对这种情况,业界还有一个比较形象的描述,即991原则:90%的服务器,在90%的运行时间中,CPU的占用率却低于10%。这一现象对于一台服务器或许没有太大的影响,然而面对成千上万的服务器,这种资源的浪费就不是一星半点了。
  因而业界急需一种技术以改变计算资源浪费的现状,虚拟化技术应运而生。
  牛津大学克里斯·托弗教授在1959年6月的国际信息处理大会上发表了一篇名为《大型高速计算机中的时间共享》的学术报告,他在报告中首次提出“虚拟化”这一概念,论述了什么是虚拟化技术,并由此拉开了虚拟化发展的帷幕。
  在20世纪60年代,计算资源弥足珍贵,只有极少数的科研机构才能拥有一台大型计算机,且需要多人维护才能完成一项简单的计算,为了提高计算资源的利用率,使得计算机能充分得以使用,虚拟化技术在这一时期得到了广泛的研究和应用。
  到了20世纪80、90年代,操作系统不断更新,多任务多用户系统开始逐步普及到生活工作之中,计算机及各种硬件的价格也逐步下降,中小型企业可以按照需求购置计算机,个人主机PC也开始走进人们的视野,在这一时期,虚拟化技术及虚拟机无法体现优势,进入了对其研究的低谷期。
  当下,计算机软件丰富、硬件强大,配置高端,但人们逐渐意识到除了计算机本身强健之外,还关注到了降低系统成本、提高资源利用率、增强可移植性及提高安全性和可靠性等课题,虚拟化技术的重要性得以凸显,重新成为计算机信息技术领域的研究焦点之一。
  那么究竟什么是虚拟化?维基百科对于虚拟化的解释是表示计算机资源的抽象方法,通过虚拟化可以用与访问抽象前资源一致的方法访问抽象后的资源。信息技术术语库定义虚拟化是为了某些事物创造的虚拟版本。IBM认为虚拟化是资源的逻辑表示。
  综合而言,虚拟化技术即一种把有限的固定的资源根据不同需求进行重新规划,以达到最大利用率的技术。各类资源都可以成为虚拟化的对象,例如操作系统、存储、服务器等,用户通过虚拟化技术可在虚拟环境中实现其在相应真实环境中的部分或者全部功能。
  2 虚拟化技术类型
  在计算机科学中,虚拟化技术是一种资源管理及优化技术,将计算机的各种物理资源予以抽象、转换,然后呈现出来的一个可供分割并任意组合为一个或多个虚拟计算机的配置环境。虚拟化技术的出现,使用户能够更高效的应用计算机的软件及硬件资源,并且通过虚拟化技术,资源的形式将不再局限于地域或者物理配置。
  从不同的角度虚拟化技术可以分为不同的类型,从应用对象类型可以分为:   (1)平台虚拟化(Platform Virtualization):平台往往指的是计算机和操作系统,即面向这二者的虚拟化。
  (2)资源虚拟化(Resource Virtualization):资源包括硬件资源及软件资源,例如网络、存储等,即面向系统资源的虚拟化。
  (3)应用程序虚拟化(Application Virtualization):主要面向应用软件及应用程序,例如解释技术、仿真及模拟等。
  虚拟化从技术方向划分可分为:
  (1)全虚拟化(Full-Virtulization):无需修改操作系统,例如VM ESXi、Linux KVM。
  (2)半虚拟化(Para-Virtulization):这一虚拟化技术的性能与物理机较为类似,但需要对操作系统进行修改,可以集成半虚拟化代码,并且直接运行特权指令,例如MS Hyper-V、IBM PowerVM。
  (3)操作系统层虚拟化:开发、测试环境,例如VM Workstation、VM Server、Oracle VitrualBox。
  虚拟化从面向的业务方向划分可进行如下分类:
  (1)桌面虚拟化:将计算机的桌面应用虚拟化技术,实现虚拟化,提高使用桌面时的安全性与灵活性。并且不局限于设备、地点及时间的访问桌面系统。
  (2)网络虚拟化:主要用于整合各种类型网络,例如以太网,光纤通道存储网,以太网存储, FCoE融合网络适配器,CEE,DCB等。
  (3)应用虚拟化:围绕应用程序而实现虚拟化技术,其提供一个虚拟运行环境,实现应用程序与操作系统之间的解耦合。
  (4)存储虚拟化:不通过服务器的管理及控制所有存储并对服务器提供所需的存储服务,对存储应用虚拟化技术即在物理存储和服务器之间增加一个虚拟层。不局限于固有的物理容量和功能存储。
  (5)服务器虚拟化:针对日常服务器资源利用率低而应用的虚拟化技术,将一台物理固有服务器通过虚拟化变成数台虚拟服务器,提高计算资源使用率。
  3 虛拟化技术在高性能计算中的应用前景
  目前,虚拟化技术已在台式主机和服务器上广泛应用,并取得良好效果。但在高性能计算领域中,虚拟化技术的应用还较为有限,其原因主要包括:虚拟化成本支出问题;多VMM高效协同问题;大量VM的管理问题;编程模型和软件环境的支持问题。
  为满足人们当下高强度工作生活的高性能计算技术正飞速发展,成为计算机信息领域关注焦点的虚拟化技术也逐渐深入研究,虚拟化技术应用于高性能计算之中,诸多高性能计算领域的难题将会获得解决方案。
  (1)构建虚拟应用开发环境。在高性能计算领域中,连接用户与计算机的应用程序与运行环境密切相关,运行环境的规模直接影响着应用程序的实现效果。通过应用虚拟化技术,可在小规模系统上模拟出更接近真实运行环境的大规模虚拟应用开发环境,且应用程序可以更高效便捷的移植到大规模系统上运行。
  (2)整合异构资源。当下生活日新月异,为满足人们对于各式各样应用的需求,高性能计算体系结构已不局限于单一方向,而是发展趋同于异构化方向。在此背景下,应用程序开发人员面临着技术难关,即如何在高性能计算中高效管理和使用异构系统。虚拟化技术的优势之一便是整合异构资源,隐藏异构特性。利用虚拟化技术对底层异构硬件资源进行抽象和管理,可以实现一个统一的系统环境,为用户对异构系统的使用提供了便捷。
  (3)提供定制的Appliance。在高性能计算中,应用程序与系统环境息息相关。在处理操作系统环境或通信库的应用优化问题时,部署应用程序往往较为耗时耗力,且难以实现系统环境的最优化,导致最终的系统不能充分发挥效能。虚拟化技术可以预先将定制的系统、环境等打包成VM映像,即Appliance,例如操作系统、经过优化配置的应用运行环境及应用二进制代码。通过应用虚拟化技术中的Appliance,可有效解决上述高性能计算问题,即为不同的应用优化环境提供定制的Appliance,快速部署应用程序,以获得较好的系统效能。
  (4)提高系统可靠性和容错性。高性能计算系统规模的扩大,随之而来的问题是部件间提高的复杂性及系统硬件增大的故障率。在虚拟化的系统中,提供了多种提高系统系统可靠性和容错性的方案,例如HA高可用性,FT容错,这二者都可以在一台虚拟机运行出现故障时,快速的迁移至另一台适合的虚拟机,并保持零宕机,为应用程序的业务连续性提供了保障。
  总之,虚拟化技术的不断发展,对网络、硬件、存储及操作系统等均带来了极大的变革,这一技术也正逐渐融入我们的工作与生活之中,并带来便捷与效能。而向着多层次、多粒度的异构化方向发展的高性能计算体系结构与虚拟化技术相辅相成,虚拟化技术有助于解决高性能计算系统中的技术难题,与此同时这又不断推动着高性能计算领域中虚拟化技术的发展。
  参考文献
  [1]徐骁巍,付晓轩.虚拟化技术在计算机系统中的应用[J].信息与电脑.2020(1).
  [2]吉梁,程子栋.虚拟化技术安全威胁与对策探讨[J].信息通信.2018(12).
  [3]李鹏.服务器虚拟化技术分析[J].电子世界.2019(22).
  [4]郝中华,李珂.虚拟化技术在通信基础设施中的应用[J].中国新通信.2019(22).
  [5]王小平,张成志,赵昀飞.虚拟化技术在企业的应用[J].电脑知识与技术.2010(28).
转载注明来源:https://www.xzbu.com/8/view-15282938.htm