[发明专利]一种I/O任务处理的方法、设备和系统在审
申请号: | 201480037746.8 | 申请日: | 2014-12-27 |
公开(公告)号: | CN105556473A | 公开(公告)日: | 2016-05-04 |
发明(设计)人: | 陈岩 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F13/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 处理 方法 设备 系统 | ||
技术领域
本发明实施例涉及计算机领域,尤其涉及一种虚拟化环境下输入/输出(Input/Output, 简称I/O)任务处理的方法、设备和系统。
背景技术
虚拟化技术起源于对分时系统的需求,主要的目标是在一台主机上运行多个操作系统, 以便充分利用大型机上昂贵的计算资源。随着x86处理器的性能提升以及应用的普及,虚拟 化技术的发展也开始进入x86架构领域。特别是20世纪90年代末期,虚级化软件厂商为x86 平台上的虚拟化技术应用开辟了道路,提供了以虚拟机监控器(VirtualMachineMonitor, 简称VMM)为中心,对PC服务器平台虚拟化的软件解决方案。虚拟机(VirtualMachine, 简称VM)负责在一个硬件平台上虚拟多个独立的、指令集架构(instructionsetarchitectur, 简称ISA)和实际硬件相同的虚拟硬件系统,其中每个虚拟硬件系统均可运行不同的操作系 统,即用户操作系统(GuestOS)。用户操作系统将通过虚拟机监控器VMM来访问实际的物理 资源。
在虚拟化应用场景下,每个服务器上都会运行虚拟机管理器(Hypervisor)软件, Hypervisor是虚拟化的基础软件。Domain0为Hypervisor之上的一个特殊虚拟机,该虚拟机 用来完成对各个虚拟机的交互以及一些外设模拟、外设访问等功能。通常,也会将用户域 (GuestDomain)叫做前端,驱动域或Domain0叫做后端,相应的,将驱动域或Domain0中 运行的驱动称为前端驱动,在DomainU中运行的驱动叫做后端驱动。目前虚拟化最常用的 I/O任务处理方式是通过前后端驱动,靠前端驱动和后端驱动协同工作来完成通信,前端驱动 将虚拟机内部的I/O请求通过输入输出(InputandOutput,简称IO)环导入到Hypervisor 层进行后端驱动处理并提交给物理设备。以Xen虚拟化为例,Xen采用了分离设备驱动模型 来实现I/O的虚拟化。该模型中设备驱动包括前端驱动程序、后端驱动程序,其中前端驱动 在用户域(GuestDomain)虚拟机中运行,这里的GuestDomain虚拟机可以理解为普通的虚 拟机,也可以称作DomainU,而后端驱动在管理域虚拟机Domain0中运行。前端驱动负责将 用户域操作系统(GuestOperatingSystem,简称GuestOS)的I/O请求传递到Domain0中 的后端驱动,并接受来自后端驱动的处理结果返回给GuestDomain。后端驱动对I/O请求 解析并映射到物理设备,提交给相应的设备驱动程序控制硬件完成I/O操作,从而完成Guest Domain的I/O操作,随后把处理结果返回。
现有技术中,后端驱动对虚拟机的I/O请求的处理是基于慢速存储介质设计的,I/O处 理能力取决于中央处理器(CentralProcessingUnit,简称CPU)核(core)的处理能力, 在高速存储介质,如固态磁盘(SolidStateDisk,简称SSD)和内存盘(RamDisk)等开始 在虚拟化场景中大量应用的情况下,这种处理方式逐渐成为虚拟化的I/O处理速度的瓶颈, 从而在虚拟化场景下无法发挥出高速存储应有的效果,I/O处理速度无法有效提升。所以, 需要开发新的技术,来解决这一问题。
发明内容
有鉴于此,本发明实施例提供了一种I/O任务处理的方法、设备和系统,以实现并行处 理I/O操作的功能。
第一方面,本发明实施例提供了一种I/O任务处理方法,
所述IO任务处理方法应用于虚拟化系统,所述虚拟化系统包括管理域虚拟机和用户域虚 拟机,包括:
接收所述用户域虚拟机对所述用户域虚拟机的存储设备进行I/O操作的I/O请求;
根据所述I/O请求,确定所述I/O请求要操作的存储设备区域,其中,所述存储设备分 为N个存储设备区域,N为大于1的自然数;
将所述I/O请求分发给所述I/O请求要操作的存储设备区域对应的后端线程,其中,所 述N个存储设备区域与N个后端线程一一对应,所述N个后端线程由管理域虚拟机生成,并 运行在所述管理域虚拟机中,每个后端线程用于处理对所述每个后端线程对应的存储设备区 域的I/O操作。
在第一方面第一种可能的实现方式中,所述将所述I/O请求分发给所述I/O请求要操作 的存储设备区域对应的后端线程,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480037746.8/2.html,转载请声明来源钻瓜专利网。