网格计算与虚拟机研究需要多元化的计算平台

服务器在线5月28日报道 高性能计算、网格计算和虚拟机技术一方面本身是科技水平的标志,另一方面它还为许多需要高性能计算的领域如生物、化学、核能、基因等学科提供基础的研究发展平台。因此,作为一个国家科研水平的标志,高性能计算、网格和虚拟机技术一贯受到各国科研人员的关注。

在上述领域,华中科技大学计算机科学与技术学院院长金海教授率领的集群与网格计算湖北省重点实验室是国内学界的佼佼者。作为中国教育科研网格(ChinaGrid)和虚拟机技术研究的先行者,金海教授也非常关注CPU领域的进展。在AMD即将推出代号为巴塞罗那的四核处理器之际,本报记者独家采访金海教授,了解到金海教授从学者的角度如何看待AMD四核处理器。

体系架构和功耗优势

问:代号巴塞罗那的AMD四核处理器即将发布,它的一些资料已经见诸于各类媒体。现在看来AMD在四核处理器上延用了直连架构、集成内存控制器、超传输总线等架构。从高性能计算的角度,您对于这种继承性的架构有什么样的看法?

金海:从目前得到的资料来看,同样的架构从单核、双核延伸到四核,说明它是一个有弹性的架构,以直连架构为例,它既保持了与之前传统前端总线架构的兼容性,消除瓶颈,内存带宽又可达传统FSB+北桥架构的2倍多,响应时延仅为传统架构的一半。超传输互联技术可以提供更高的带宽和更低的延迟。另外,I/O数据使用单独的总线,加大了CPU的吞吐量,同时内存带宽会随着CPU的增加而增加。这样都对于高密度计算有明显帮助。

此外,由于架构上的领先,使得巴塞罗那和其他皓龙处理器一样,在大规模使用内存时也具有一定功耗优势。

问:上述架构特性能给网格计算带来什么好处?

金海:我们对处理器的一些新特性会比较有兴趣。在网格计算研究中,经常会需要考虑异构环境中的问题–如在去年完成的ChinaGrid一期项目中,各个学校间参与进来的设备有RISC指令集的、EPIC指令集的,还有基于x86指令集的,而且各个指令集下的CPU架构和特性还各不相同,网络结构也不太一样,这就要求我们必须考虑如何在尽量提高系统带宽和I/O,并降低延迟。而巴塞罗那在体系架构上的继承性满足这一要求。

问:巴塞罗那还有什么令您印象较深的设计特性?

金海:在网格计算中,由于各个学校的情况各不相同,使得设备规格和数量差异较大,但大家逐渐达成一个共识是,尽量降低功耗方面的开销。而巴塞罗那在功耗控制方面的改进给我们的印象比较深。

巴塞罗那在功耗方面采用了更精细的内部控制。例如独立动态核心技术,实现了每个内核可以使用独立的频率工作,CoolCore技术实现了粗放模式和精微模式的电路控制。这两项技术都对于CPU省电有较大好处。此外,还有业界首次使用的双重动态电源管理(DDPM)技术,能对CPU和内存控制器分

独立供电,使得在功耗降低的同时获得更高的内存带宽。

内存带宽优势

问:集成内存控制器一直是AMD处理器的特点,在四核里也是如此。这种集成内存控制器的方式,对于高性能计算有些什么样的好处?

金海:集成内存控制器是AMD在内存方面很有创意的一个设计,显然使CPU到内存的路径更短,延迟降低,同时每一个CPU具有专有内存带宽。在高性能计算领域,从CPU核心到内存之间的数据交换往往受制于带宽限制,之间的延迟越来越高,限制了系统整体性能的提升–这一现象导致了"内存墙"(Memory wall)一词的诞生。随着近年来处理器性能的大幅提升,"内存墙"在高性能计算和网格计算领域的瓶颈作用越来越明显,所以我们需要有能较好缓解这一现象的产品出现。

巴塞罗那在内存带宽采用了一系列优化技术,使得在不做其他改动的前提下,内存性能比双核皓龙提升50%–其中巴塞罗那采用的核心预取、内存预取、内存页面优化、写爆发和大内存缓冲技术能带来40%的性能提升,此外DDPM技术能让每个核心的内存控制器获得额外的10%左右的提升。

问:带宽直接影响到高性能计算时的数据吞吐量,现有的资料显示,在四核中使用了宽浮点加速器。这个宽浮点加速器对于高性能计算又有什么影响呢?

金海:从目前看到的资料里可以得出结论,在巴塞罗那处理器中,SSE的执行带宽、指令拾取带宽、数据缓存负载带宽、L2/NB带宽等都是现有处理器的两倍。因此可以知道系统的数据通路宽了两倍,这意味着在ChinaGrid项目中存在的大量科学计算带来的浮点运算就可以更快完成。
硬件级的虚拟化优势

问:虚拟机技术是近些年来IT业界非常热的一个领域,无论是硬件厂商还是软件厂商都很积极地参与其中。据了解,您目前正担负着国家973计划中的"计算系统虚拟化基础理论与方法研究"研究项目,那么从您的角度看AMD四核处理器在虚拟机技术上有什么样的吸引力?

金海:很显然,大家之所以希望虚拟化帮助提升IT基础设施的效率,那么打破"每台服务器一种应用"的模式,根据工作负载或维护安排迁移虚拟机就是它最有吸引力的地方,它将一台计算机分成多个独立的虚拟机,能够同时支持多种不同的操作系统和应用。

如果在一个硬件系统上运行多个虚拟机,那么如何保证从最底层的CPU到最上层的应用之间,物理机与虚拟机之间的高速高效的数据交换,以及虚拟机之间的高隔离度就成了重要课题。我们通过研究VMware和Xen这样在Windows和Linux操作系统上的典型虚拟机产品,可以知道相较传统的进程迁移,虚拟机迁移的具有很大优势但同时带来不少挑战,例如在内存迁移、网络连接保持、用户数据迁移和虚拟机本身的效率等问题上还有提升空间。而这就需要有从底层硬件、固件到软件的同步提升,巴塞罗那就从CPU底层提供了良好的硬件支持。

例如DEV(Device Exclusion Vector)技术可以在内存中创建保护域,通过拒绝未经授权的内存访问请求,使得设备在未经授权的情况下,不得访问内存页面。实现了在硬件中嵌入安全性,从而提高虚拟机效率。

此外,为了提升虚拟机与物理机之间的数据传送及翻译转换,巴塞罗那中使用了带标签的 TLB(Translation Look-aside Buffer,地址转换后备缓冲器,它是 CPU 中的一个表,用于存储最近使用的从虚拟到物理内存翻译记录),使得在多个虚拟机同时运行时,在内存地址中切换时可以令Hypervisor知道TLB与虚拟机之间的一一对应关系,从而提高虚拟机性能。

用户欢迎更多元的结构

问:在全球TOP500排名中,出现了越来越多的基于AMD处理器的系统,而且有消息说IBM、Cray和Sun三大厂商都将采用巴塞罗那作为千万亿次HPC的搭建平台,这也引起了很多研究者的注意。您如何看待这一趋势?

金海:总结起来,AMD的新一代处理器的重要贡献来自于三个方面,即独特的系统架构,优势的内存性能与控制,以及在虚拟化领域里的一系列新设计。在这三方面AMD都提供了较好的方案,例如有弹性的直连架构实现了线性的性能提升,所需要解决的问题越大,越复杂,直连架构的优势就越大等。

作为高性能计算领域里的研究人员,我们当然希望能够有更多新的技术、新的设计和新的突破点出来,满足许多领域对于高性能计算的需求。具体到即将开始的ChinaGrid网格二期工程,我们也希望看到在6个核心计算节点和40个高校计算节点中,有更多来自不同厂商的产品,让更多性价比良好的系统能被各个领域的研究者使用到。