龙芯3服务器多核虚拟化技术任重道远

2012年10月29日—31,由中国计算机学会主办的 “2012年全国高性能计算学术年会”(HPC China 2012)在湖南省张家界阳光酒店召开。本届盛会围绕着高性能计算技术的研究进展与发展趋势、高性能计算的重大应用等主题展开,促进信息化与工业化的深度融合,为相关领域的学者提供交流合作、发布最前沿科研成果的平台,推动中国高性能计算的发展。

点击查看直播专题

在今天下午进行的高性能计算分论坛上,来自北京航空航天大学的老师介绍了,有关中国自主研发的龙芯3处理器在多核虚拟化技术上的研究成果。

龙芯处理器是在国家核高基重大专题、国家863计划大力支持下,由中科院计算技术研究所自主研发,龙芯一号是面向嵌入式应用,龙芯二号是面向桌面应用。龙芯三号是面向服务器应用。现在龙芯在工业界的市场份额达到了5%。

龙芯作为中国自主研发的多核处理器,在很多方面取得了不少的成果,但同样也遇到了很多的问题,在硬件方面,内存的纠错能力、部件和整机的故障诊断、子系统的在线修复能力。在软件方面,操作系统、指令集虚拟化、异常中断模拟、内存结构模拟、I/O模拟。

龙芯3在虚拟化硬件与软件上遇到的问题

当前虚拟化技术产品及特点

目前主流的虚拟化产品主要有:VMware、Microsoft、Xen、KVM,我们来对比一下,首先来说VMware不支持开源,移植性较差,主要用于桌面系统和服务器系统。Microsoft不支持开源,移植性差,应用于桌面系统。Xen开源,移植性好,应用于嵌入式系统和桌面系统,可以半虚拟化,硬件辅助虚拟化,VMM结构为混合模型。KVM开源,移植性好,用于桌面系统和服务器系统,可以全面虚拟化,硬件辅助虚拟化,VMM结构为宿主你模型。

MIPS虚拟化研究进展

龙芯3是基于MIPS的虚拟化技术,但MIPS架构虚拟地址空间的设计存在缺陷,为虚拟化研究带来阻碍,因此今年来MIPS处理器上的虚拟化技术鲜有成果。

MIPS虚拟化研究成果

多核虚拟化现状

主流的四个软件在对于多核架构上KVM的支持效果最好,其他三个都支持范围都差不多,Microsoft最差。但这四个虚拟化平台在MIPS多核虚拟化方面都不支持。

多核虚拟化面临的挑战

核间通信:多核处理器需要扎起客户机操作系统的调度下进行大量的核间通信,虚拟核间通讯的模拟较复杂。

核间中断:在多核处理器架构中,核间通讯以核间中断的方式触发,核间中断独立于其他异常中断,需要重新设计。

多核启动:多核架构的启动有先后顺序之分,虚拟多核架构需要设计信号,协调各个核的启动。

针对MIPS:虚拟地址空间的设计会导致宿主机与客户机核间中断寄存器访问冲突。

龙芯在基于MIPS架构上的虚拟化研究成果较少,现有MIPS处理器上的虚拟化技术性能低。基于龙芯处理器的虚拟化技术未考虑服务器多核结构特点,不能充分的利用硬件的资源,不适用于龙芯3服务器平台。

龙芯3多核虚拟化模块架构图

总结:虽然龙芯3在多核虚拟化技术上仍有很多需要改善的地方,但它的意义却是重大的,首先它是基于MIPS虚拟化技术来实现的多核虚拟化,这是目前主流虚拟化平台都不能做到的。其次MIPS能够充分高效的利用龙芯3服务器硬件资源。最后MIPS提高了龙芯3高产服务器在服务器领域的竞争力。