虚拟化与高性能计算的博弈
2008-11-26 16:49:12 来源:WEB开发网服务器虚拟化在过去的十几年里已经从大型计算机扩展到了Unix服务器,然后扩展到了企业数据中心使用的运行Windows、Linux和少数其它操作系统的x86服务器。虚拟化还没有广泛应用的一个领域就是高性能计算集群。
随着硬件价格的继续下降,运算能力达数百teraflops(1 Teraflop表示每秒钟可完成1万亿次浮点计算)的并行计算x64服务器集群已经进走中型企业、新兴企业、学术机构、研究机构和其它能够使用稿性能计算服务器集群的地方。系统管理员能够以相对低的价格得到高性能计算实验室和获得更大的灵活性,并且有可能看到想服务器虚拟化技术在这个服务器市场中的应用前景。
一般来说,高性能计算集群占每个季度x64服务器销售量的五分之一。据市场研究公司IDC称,在2007年,包括矢量服务器、集群服务器和各种其它类型服务器在内的高性能计算服务器的销售收入是101亿美元(低于IDC当年3月最初预测的116亿美元)。高性能计算服务器占2007年全球服务器销售收入544亿美元的18.6%,还是占这块蛋糕的大约五分之一。
有趣的是如果你从从整个服务器市场中扣除高性能计算服务器的数据,在2007年各种用途的服务器销售额增长几乎是零。同样重要的是,如果你从整个服务器市场中扣除高性能计算服务器的数据,那么,销售的新服务器中的虚拟化应用率将稍微高于市场研究公司Gartner和IDC对整个市场的统计。
作为一个规律,高性能计算用户不使用服务器虚拟化,因为虚拟化软件需要增加额外开销。VMware等服务器虚拟化厂商正开始进行的基准测试(如VMark)和已经有两年之久的老的技术规范虚拟化基准测试到目前位置还没有结果,没有显示虚拟化管理程序强加的额外开销。
但是,随着x64平台几年前得到虚拟化管理程序,在某些工作量方面性能损失高达50%,甚至在英特尔和AMD的x64芯片增加了支持虚拟化的硬件功能之后也是如此。人们普遍认为这个额外开销的范围是10%、15%或者20%。但是,目前还没有独立的测试,用户也不必自己进行这种测试。另外,VMware公司的ESX服务器许可证协议显然不允许人们发布基准测试的结果。
不是应用虚拟化的时机
高性能计算工作量主要是由内存带宽、输入/输出带宽和时钟速度周期等因素推动的,并不是由数据中心的典型基础设施工作量推动的,因此不适合进行虚拟化。直截了当地说,高性能计算实验室担心影响他们的机器的性能,担心让更多的并行计算进入他们的代码。他们的代码是要更好地利用服务器集群日益增多的内核。这些代码也不能处理虚拟化。
虚拟化对于利用率不足的基础设施服务器是有益的。运行Web、打印、文件和其它工作量的x64服务器平均CPU利用率也许只有5%、10%或者15%。虚拟化管理程序能够让一台物理服务器运行四个或者五个虚拟服务器,曾加了更快的服务器配置和灾难恢复的好处。但是,在高性能计算服务器集群中,CPU在工作时几乎一直在工作量的高峰值运行。
系统管理是服务器集群的另一个问题。就像其它服务器一样,人员的开支要比软件和硬件还要多。建立和设置集群中的节点是痛苦的。虚拟化能够帮忙。想一想亚马逊的弹性计算云(EC2)工具的计算设置。这个工具是在修改版本的开源软件Xen管理程序上运行的。
虽然EC2的容量价格很便宜,但是,它是以虚拟化的模式运行的。你会说它便宜的原因之一是它是虚拟化,因此具有灵活性。要在不同类型的Linux或者Linux和Windows混合的系统上运行不同的应用程序的高性能计算部门还可能使用虚拟化管理程序运行更方便地设置和重新设置。但是,许多人对这种想法持怀疑态度。
英特尔高性能计算平台部门petascale级产品线设计师David Scott解释说,虚拟化的最大应用是允许多个应用程序在保护的状态下运行。这是一个有潜力的领域。用户正在考虑这个问题。但是,还没有人这样做。
虚拟化一直没有在高性能计算部门应用的另一个理由与虚拟化在数据中心的应用进展缓慢是一样的,就是管理人员不愿意离开自己的服务器。把处理器的一部分能力提供给其他人的想法与高性能计算人员的想法是不同的。
这是服务器虚拟化与高性能计算目前像油和水一样不能融合的原因,至少在研究生和科学家能够免费管理这些计算机集群的时候是如此。如果你使劲摇晃,你能够使油和水混合在一起。也许高性能计算中采用虚拟化的日子不远了。
更多精彩
赞助商链接