服务器 频道

应用虚拟化 服务器面临挑战

  虚拟机及其协同技术

  虚拟机是构造虚拟SMP服务器的基础,它是由虚拟机监控(VMM)软件创建和管理。传统的VMM例如Xen和VMware面向单一节点,节点既可以是单一CPU也可以由SMP构成。这时由这些VMM所构造的虚拟机(VM)所能够利用的资源例如CPU、内存、磁盘、通信带宽等就仅限于这个单一的物理节点。从这个意义上说,虚拟机间的协同也就等价于传统服务节点或服务器间的协同,无法充分利用基于虚拟机技术创新所带来的益处。因此,必须突破目前虚拟机构造中资源的局限性,使得一个虚拟机不仅能够从它的宿主物理节点上取得资源,而且能够利用网络从其他非宿主的物理节点上获取资源,从而实现资源在虚拟机间的流动,实现部件级的虚拟化。这里的部件泛指CPU、内存、磁盘、网络等构成传统计算机的部件。

  计算所要研究的分布式超级虚拟机监控软件(distributed hyper virtual machine monitor,DHVMM)是实现部件级虚拟化的关键支撑。基于DHVM提供的强大的部件级虚拟化能力,虚拟机间的协同就转变为资源和作业的调度和迁移。该项目将强调部件在虚拟机间的流动,当一个虚拟机有大量作业到达或有繁重作业而出现负载尖锋时,不采用传统的方法如作业/进程的迁移,而是通过 DHVMM将网络环境中可利用的其他虚拟机上的空闲部件"流动"到资源紧张的虚拟机上,通过动态地增强重载虚拟机的计算能力、存储能力、通信能力来处理其上的作业。同时,当作业的负载高峰过去后,被动态增强的虚拟机可以自由、实时地释放"富余"的部件,供系统中其他虚拟机在需要的时候动态地获取,计算所将这种技术称为能力服务计算。

  共享内存技术

  SMP服务器的核心是内存共享技术,例如著名的Snoopy或者directory 协议等。这些技术通常需要一定程度硬件的支持才能获得期望的高性能,例如SGI Altix的cc-NUMA内存共享技术,因此成本高昂、扩展性差。随着网络技术特别是Myrinent和Infiniband网络技术的发展,基于软件实现的内存共享技术,例如分布式共享内存DSM技术由于成本低廉和可扩展性好而开始发展起来。

  计算所研究的这个项目要求实现多个物理服务器的整合(8个以上),因此更适合于使用不依赖硬件支持的基于软件的内存共享技术,以获得更好的通用性和平台独立性。传统的DSM技术不得不使用复杂的以lock和barrier为基础实现的融贯性和一致性协议,导致延迟开销很大。随着UPC为代表的分割的全局地址空间模型编程技术的发展,为发展新型的内存共享技术提供了客观的需求。

  另一方面,高效能服务器设计中的一个重要问题是提高编程的效率,而阻碍并行编程效率的首要问题就是进程或线程间的通信和同步问题,所以事务块寄存器技术得以发展,因为它取消了过去在并行程序中必须使用的lock和barrier等同步操作。同时,由于显式同步的减少或取消使得线程因数据依赖或同步依赖导致的进程等待时间大大减少,使系统吞吐率提高,从而使得内核负载的饱满程度得以大幅提升,进一步提高了系统的生产率。该项目计划将以DHVMM为基础,发展全新的以软件实现的内存共享技术。

 

0
相关文章