分布式I/O资源虚拟化技术的实现方法技术

技术编号:2914899 阅读:206 留言:0更新日期:2012-04-11 18:40
本发明专利技术是提供一种分布式Ⅰ/O资源虚拟化技术的实现方法,它是针对近年来大规模计算机系统I/O资源管理复杂,使用效率低等局限因素,提出一种有效地管理和使用分布式Ⅰ/O资源的方法。本发明专利技术的要点就是实现分布式虚拟机监视器系统DVMM中的I/O虚拟化模块,I/O虚拟化模块通过I/O虚拟化技术,对三种I/O指令访问跨节点的实现,从而实现了分布式Ⅰ/O资源的整合,为客户操作系统提供全局的虚拟I/O环境。本发明专利技术探索出一条未来服务器中I/O技术发展的可行道路。

【技术实现步骤摘要】
(一)
本专利技术主要涉及计算机虚拟化技术中的I/O虚拟化领域。主要采用最新的硬件和软件相结合的虚拟化技术,将分布于多主机的I/O资源进行虚拟化和整合,为上层客户操作系统构建一个全局虚拟I/O空间,实现客户操作系统对分布式I/O资源的全局管理和使用。属于计算机
(二)
技术介绍
虚拟化的关键问题是如何处理客户(Guest)操作系统中的敏感指令。不同的虚拟化方法采取不同的处理方式,目前广泛研究和使用的有三种方法:全虚拟化(Full-Virtualization)方法:该方法提供了物理硬件的完整模拟,采用软件模拟技术处理敏感指令,在虚拟层中完整地构造一个和物理硬件相当的环境,Guest操作系统可以不加任何修改地运行于虚拟环境中。该方法的优点是很明显的,即Guest操作系统可以不加任何修改地在虚拟机上直接运行,同时也具有很好的灵活性和扩展性。然而这种技术的缺陷也很明显,最大的问题就是每条特权指令的执行都要引起用户模式与特权模式的切换,导致虚拟机的运行效率很低。典型的服务器虚拟化系统VMware ESX Server和IBM system/370都采用了全虚拟化方法。半虚拟化(Para-Virtualization)方法:该方法通过修改Guest源代码中涉及到的敏感指令,用超级调用(hypercall)来代替特权指令,让尽可能多的指令直接运行在物理处理器上。典型的服务器虚拟化系统XEN成功地使用了部分虚拟化方法。Xen通过用超级调用来“包装”多条特权指令的执行,Guest操作系统通过超级调用让VMM执行特权指令,这样就可以减少模式切换,提高执行效率。这个方法的效率可达到非虚拟化的常规执行效率的90%以上,但是,为之付出的代价也很大,需对Guest操作系统代码进行相当大范围的修改,移植成本较高,而且随着Guest操作系统的升级,其维护成本也很高。此外,将新处理器特性集成到hypervisor API的代价也比完全虚拟化方法要大得多。预虚拟化(Pre-Virtualization)方法:德国Karlsruhe大学、澳大利亚新南威-->尔士大学和IBM共同提出了预虚拟化方法。这是一种提供工具支持的半自动Guest系统构造方法,利用汇编器的支持,对Guest系统的代码进行扫描,将其中的部分特权指令进行静态替换,对无法静态处理的指令采用profile方法动态地寻找并手工替换。这个方法的指导思想是采用编译工具支持,尽可能地增加可以直接执行的指令,减少需要模拟的指令。采用这个方法基于微内核操作系统L4或者开源Linux构造虚拟机,可以运行经过静态翻译和人工修改的LinuxGuest OS,其运行效率也可达到非虚拟化的常规执行效率的90%以上。该方法中Guest代码需要人工干预的汇编级半自动扫描和替换修改,也就是说依然需要获得源代码,至少是汇编代码。近年来服务器取得了巨大的发展,从服务器体系结构的角度来看,商用服务器呈现出两个主流的发展方向,即scale-up(向上扩展)和scale-out(向外扩展)。所谓scale-up,通常是指将多个处理器和存储器等系统资源紧密耦合在单个服务器中,对其整体系统能力的扩展是通过在单个服务器中增加处理器和内存等资源来实现。scale-up系统一般具有较大的共享内存空间、紧密耦合的内部连接等基本特征,适于支持具有多个依赖性线程或进程的应用,如数据库应用等。代表性的体系结构包括:SMP(Symmetric Multiprocessor)、NUMA(Non UniformMemoryAccess Architecture)及CC-NUMA(Coherent-Cache NUMA)等,典型的产品包括:IBM的p系列服务器、HP的Superdome系列服务器以及SUN的FireE20K/E25K系列服务器等。一般来说,scale-up系统可提供较高的性能和整机效率、简单易用的编程模型以及单一系统映像,具有较高的可编程性,易于管理和维护,但存在成本偏高、可扩展性有限等缺点。所谓scale-out,通常是指将多台小规模的中低端服务器松散连接成一个服务器系统,对其整体系统能力的扩展是通过在系统中增加相同或类似配置的中低端服务器结点来实现。Scale-out系统一般具有分布的非共享内存空间、松散耦合的外部连接等基本特征,适于支持具有多个非依赖性线程或进程的应用,如Web应用等。代表性的体系结构包括:Cluster(机群)、MPP(MassivelyParallelProcessing)等,典型的产品主要是以低端X86服务器为结点,通过以太网或Infiniband等商用网络互连而成的机群服务器,如IBM的Cluster1350、深腾6800及天梭10K/20K等。一般来说,scale-out系统具有实现成本低、可扩展性好等优势,但不支持单一系统映像,存在整机应用效率偏低、编程相对复杂、管理和维护成本较高等问题。目前,从服务器体系结构的角度来看,服务器I/O虚拟化技术的发展也是基于scale-up和scale-out这两种趋势,同时虚拟化技术目前是通过两个方向来帮助服务器更加合理地分配资源:一个方向是“分”,即把一个物理的服务器虚拟成若干-->个独立的逻辑服务器;另一个方向是“合”,就是把若干个分散的物理服务器虚拟为一个大的逻辑服务器。VMware和Xen分别采用全虚拟化(Full-Virtualization)和半虚拟化(Para-Virtualization)技术。全虚拟化是在虚拟层中采用软件完全模拟物理I/O设备,但对每条特权指令的执行都会引起用户模式和特权模式的切换,导致I/O访问效率低下。半虚拟化通过修改Guest源代码,用超级调用(hypercall)来代替特权指令,让尽可能多的指令直接运行在处理器上。这种方式虽然提高了I/O访问的效率,但却需要对Guest操作系统代码进行大范围修改。VMware和Xen均是虚拟单个物理I/O设备成多个逻辑I/O设备,与本论文的方向不同,但其为客户操作系统提供虚拟I/O设备信息的方式可以借鉴。同时,近期在Xen模型下进行直接I/O访问的研究也比较多,虽处于理论研究阶段,本论文也可以借鉴。Virtual Multiprocessor项目是东京大学开发的基于IA-32机群的分布式VMM,Virtual Multiprocessor采用了半虚拟化的技术,通过对客户操作系统的修改使其与Virtual Multiprocessor协作完成任务。Virtual Multiprocessor运行于用户态,客户操作系统的I/O设备均以文件的形式存放在宿主操作系统中。若要对物理I/O设备进行访问,则需要执行宿主操作系统的系统调用,因而效率低下。整个项目仍处于实验室阶段。vNUMA项目vNUMA是澳大利亚新南威尔士大学开发的基于IA-64机群的分布式VMM,其直接运行于硬件层之上。客户操作系统(Linux)通过半虚拟化的方式与vNUMA协作。vNUMA的主要目标在于提供透明的分布式共享存储用于科学计算。vNUMA只能对启动节点进行I/O操作,大大限制了其对大量I/O资源的利用率,使得整个系统I/O能力低下。目前仍处于实验室阶本文档来自技高网...

【技术保护点】
一种分布式I/O资源虚拟化技术的实现方法,其特征在于:该方法步骤如下: 步骤一:实现分布式虚拟机监视器系统DVMM中的I/O虚拟化模块,总体系统的实现平台是联想万全R510服务器,处理器为Xeon3230; 步骤二:总体结构中的 基本功能模块包括:虚拟机退出,虚拟机进入,指令解析,判断主节点,I/O设备模型,这些模块实现过程中用到的现有技术如:VT-x,DSM,XEN虚拟化技术;辅助技术为可以在裸机之上的跨物理节点的通信机制; 步骤三:在以上基本功能模块的基础 上实现三种基本的I/O访问方式:非访存类I/O指令,访存类I/O指令,DMA指令,主要技术点在这三种访问方式的跨节点过程是怎么完成的; 步骤四:三种基本的I/O指令访问的跨节点实现方式; ●非访存类I/O指令: 主要技术步 骤为:请求节点将指令通过底层通信传输到目标节点,然后在目标节点执行指令,随后将执行结果返回给请求节点; ●访存类I/O指令: 主要技术步骤为:解析访存类I/O指令,分析出需要访问的内存地址,如果此次访存需要跨节点,则调用DSM将 需要访问的内存迁移到请求节点,这样进行节点内部访问; ●DMA指令: 主要技术步骤为:对于DMA控制器的访问指令为非访存类I/O指令,请求节点采用上述方法将指令传输到目标节点执行并返回结果;控制指令给DMA控制器发出内存访问操作 命令,DMA控制器需要从设备向内存写大量数据,这个过程同样需要调用DSM进行内存的操作,方式与上述访存类I/O指令相同。...

【技术特征摘要】
1.一种分布式I/O资源虚拟化技术的实现方法,其特征在于:该方法步骤如下:步骤一:实现分布式虚拟机监视器系统DVMM中的I/O虚拟化模块,总体系统的实现平台是联想万全R510服务器,处理器为Xeon3230;步骤二:总体结构中的基本功能模块包括:虚拟机退出,虚拟机进入,指令解析,判断主节点,I/O设备模型,这些模块实现过程中用到的现有技术如:VT-x,DSM,XEN虚拟化技术;辅助技术为可以在裸机之上的跨物理节点的通信机制;步骤三:在以上基本功能模块的基础上实现三种基本的I/O访问方式:非访存类I/O指令,访存类I/O指令,DMA指令,主要技术点在这三种访问方式的跨节点过程是怎么完成的;步骤四:三种基本的I/O指...

【专利技术属性】
技术研发人员:张萧肖利民李响山王箫刘忠麟祝明发彭近兵
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1