上周,专注于计算机系统和应用的AICCSA国际会议召开,IBM加拿大的云计算CTO Mazin Yousif博士在会议上做了有关云计算的主题演讲,并接受了记者采访。
2000年Mazin在加入英特尔之后不久就开始专注于Infiniband,面向自适应性网格体系结构,随后当他成为Infiniband贸易协会(IBTA)管理工作部门主席的头儿之后便一头钻进HPC,这个协会定义了Infiniband结构。在很多Top500 HPC系统中,Infiniband都是互连的基础,并且实现了高带宽低延迟的通信优化。
通过Infiniband建立互连通道来架设高性能计算应用,可以直接访问硬件,绕过操作系统和驱动程序,可以减少延迟几百纳秒(以太网在通信通过TCP/IP时通过链路层和物理层,导致访问速度变慢)。Mazin博士因为有这样的专业知识和HPC方面的经验,回答一些有关云计算中虚拟化会不会影响到HPC应用的问题再合适不过。
记者:我们听说过一些虚拟化造成的额外成本负担,虚拟化如何能真正影响HPC应用的性能?
Mazin Yousif:在回答这个问题之前,我们首先应该来看看虚拟机管理程序(VMM)的角色。VMM位于所有硬件之上,将所有的硬件资源抽象成聚合的虚拟资源,最后以虚拟机的形式呈现。通常情况下,VMM需要驱动来通过I/O资源,这要求额外的I/O资源。
记者:这是否意味着一些计算敏感型应用不会被虚拟化影响?
Mazin Yousif:是的。如果计算敏感型的应用完全在虚拟机里运行,那么虚拟机和VMM的入口非常少,对整体性能的影响是很小的。
记者:那么I/O密集型应用呢?
Mazin Yousif:哦,在这些应用上,额外的资源需求非常明显。因为所有的虚拟机中I/O指令都将通过VMM,这是I/O驱动程序所在的地方,同时就要求物理的I/O资源。这通常会要求额外的时间大概有几十或者几百微秒。在一个实际的混合计算密集型和I/O密集型应用的HPC系统中,开销的数额肯定在两者之间。
记者:能避免这些开销吗?
Mazin Yousif:可能不完全,但是原则上是可以的。首先,虚拟化解决方案供应商可以进一步优化,比如减少VMM代码中一个I/O操作的关键路径;二,可以不通过VMM,将I/O直接分配到虚拟机中,从而消除了VMMV造成的开销。这可以通过配置VMM来实现。但是缺点是,现在你需要为每个虚拟机定义单独的I/O,而不是像之前那样几个虚拟机共享设备。虚拟化不仅影响延迟,也会影响带宽,在一个主要是计算密集型的工作中,分配虚拟机内存时与运行同样的物理资源的工作相比不会看到任何的折扣,在混合应用的作业中,一个指定的I/O会有很大帮助。
记者:当分配虚拟机以运行高性能计算作业的时候,会更有利的环境是保持运行状态还是实时加以调整,以跟踪资源的工作量要求变化?
Mazin Yousif:配置虚拟机与适应的工作量资源需求是非常必要的,要跟踪工作量的变化,包括VMM的规定分配给虚拟机增加或者减少资源的基础,如果VMM提供的弹性是不够的,那么其它功能,比如VMware的分布式资源调度以及VMotion可以实现。
记者:那作为一个高性能计算用户的话,应当怎么做?
Mazin Yousif:如果你有混合应用打算的话,你可以决定是否允许一个I/O设备直接访问虚拟机。
记者:但是这意味着比如有能力配置VMM,我理解这个可以在私有云中实现,但是如何在公有云中实现呢?
Mazin Yousif:现在还不能。公有云服务供应商当然不会允许HPC最终用户去决定是否允许单独的I/O设备去指向每个单独的虚拟机,或者是几个虚拟机共享一个。如果真的有这种需求的话,那么高性能计算委员会应当要求公有云能够提供HPC所需的功能,从而在云中实现高性能计算。
记者:所以这是你的结论和建议?
Mazin Yousif:我不认为虚拟化会阻碍高性能计算性能。为了进一步满足HPC领域,我们敦促云服务供应商将云中部署虚拟化环境作为高性能计算的最佳选择之一。
【编辑推荐】