《虚拟化平台下I/O通道的调整方法和调整装置.pdf》由会员分享,可在线阅读,更多相关《虚拟化平台下I/O通道的调整方法和调整装置.pdf(21页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103116517 A(43)申请公布日 2013.05.22CN103116517A*CN103116517A*(21)申请号 201310027312.7(22)申请日 2013.01.24G06F 9/455(2006.01)G06F 13/20(2006.01)(71)申请人华为技术有限公司地址 518129 广东省深圳市龙岗区坂田华为总部办公楼(72)发明人张洁 金鑫(54) 发明名称虚拟化平台下I/O通道的调整方法和调整装置(57) 摘要本发明提供了虚拟化平台下I/O通道的调整方法和调整装置,应用于虚拟化技术领域,I/O通道的调整方法包括:宿主机HOS统计。
2、运行在该HOST上的多个虚拟机VM当前时刻的平均I/O吞吐量;该HOST根据当前时刻的平均I/O吞吐量在该多个VM的前端设备和后端设备之间增加或减少用于处理VM的工作线程;该HOST调整该多个VM的前端设备和后端设备中的队列与用于处理VM的工作线程的对应关系。应用本发明,根据运行在HOST上多个VM的I/O吞吐量动态调整该多个VM的前端设备和后端设备之间的I/O通道所占用的I/O通道资源,在I/O吞吐量下降时,释放空闲的I/O通道资源,避免I/O通道资源浪费;在I/O吞吐量增加时,增加I/O通道资源,提高I/O通道的数据传输能力。(51)Int.Cl.权利要求书3页 说明书13页 附图4页(1。
3、9)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页 说明书13页 附图4页(10)申请公布号 CN 103116517 ACN 103116517 A1/3页21.一种虚拟化平台下I/O通道的调整方法,其特征在于,包括:宿主机HOST统计运行在所述HOST上的多个虚拟机VM当前时刻的平均I/O吞吐量;在当前时刻的平均I/O吞吐量大于第一阈值时,所述HOST在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值;或者,在当前时刻的平均I/O吞吐量小于第二阈值时,所述HOST在所述多个VM的前端设备和后端设。
4、备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值;其中,所述第一阈值大于所述第二阈值;所述HOST根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,以便于在所述多个VM的前端设备和所述多个VM的后端设备之间形成多个数据传输通道。2.如权利要求1所述的方法,其特征在于,如果当前时刻的平均I/O吞吐量大于第一阈值,所述HOST在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程的步骤之前,进一步包括:所述。
5、HOST将在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程所带来的CPU利用率的增长和所带来的I/O吞吐量的增长进行比较;如果所述I/O吞吐量的增长大于CPU利用率的增长,则执行所述HOST在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程的步骤。3.如权利要求1所述的方法,其特征在于,如果当前时刻的平均I/O吞吐量小于第二阈值,所述HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程的步骤之前,进一步包括:所述HOST判断在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少是否导致无法响应所述多个VM的吞。
6、吐量;如果在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少不会导致无法响应所述多个VM的吞吐量,则执行所述HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程的步骤。4.如权利要求1-3任一项所述的方法,其特征在于,所述HOST根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,包括:在增加或减少后的用于处理VM的工作线程的数量小于运行在所述HOST上VM的数量时,所述HOST将所述每个工作线程分别对应。
7、每个VM的前端设备中一个队列和每个VM的后端设备中一个队列;或者,在增加或减少后的用于处理VM的工作线程的数量大于或等于运行在所述HOST上VM的数量时,所述HOST将独占工作线程对应一个VM的前端设备和后端设备中一个队列、以及将共享工作线程对应至少两个VM的前端设备和后端设备中没有被所述独占工作线程对应的队列,所述用于处理VM的工作线程包括所述独占工作线程和所述共享工作线程。5.如权利要求1-4任一项所述的方法,其特征在于,所述HOST根据增加或减少后的用权 利 要 求 书CN 103116517 A2/3页3于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线。
8、程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系之后,所述方法还包括:所述HOST调整所述多个VM的后端设备中的队列和所述HOST中本地设备Native Device中的队列的对应关系,以便于在所述多个VM的后端设备和所述Native Device之间形成多个数据传输通道。6.一种虚拟化平台下I/O通道的调整装置,其特征在于,包括:统计模块,用于统计运行在宿主机HOST上的多个虚拟机VM当前时刻的平均I/O吞吐量;处理模块,与所述统计模块连接,用于在所述统计模块统计的当前时刻的平均I/O吞吐量大于第一阈值时,在所述多个VM的前端设备和后端设备之间增加用于处理VM。
9、的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值;或者,用于在所述统计模块统计的当前时刻的平均I/O吞吐量小于第二阈值时,在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值;其中,所述第一阈值大于所述第二阈值;第一调整模块,与所述处理模块连接,用于根据所述处理模块增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,以便于在所述多个VM的前端设备和所述多个VM的后。
10、端设备之间形成多个数据传输通道。7.如权利要求6所述的调整装置,其特征在于,所述调整装置还包括:判断模块,用于在所述统计模块统计的当前时刻的平均I/O吞吐量大于第一阈值时,将在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程所带来的CPU利用率的增长和所带来的I/O吞吐量的增长进行比较;所述处理模块,还用于如果所述I/O吞吐量的增长大于CPU利用率的增长,在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值。8.如权利要求6所述的调整装置,其特征在于,所述调整装置还包括:判断模块,用于在所述统计模块统计。
11、的当前时刻的平均I/O吞吐量小于第二阈值时,判断在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少是否导致无法响应所述多个VM的吞吐量;所述处理模块,还用于如果在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少不会导致无法响应所述多个VM的吞吐量,在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值。9.如权利要求6-8任一所述的调整装置,其特征在于,所述第一调整模块具体用于:在增加或减少后的用于处理VM的工作线程的数量小于运行在所述HO。
12、ST上VM的数量时,将所述每个工作线程分别对应每个VM的前端设备中一个队列和每个VM的后端设备中一个队列;或者,在增加或减少后的用于处理VM的工作线程的数量大于或等于运行在所述HOST上VM权 利 要 求 书CN 103116517 A3/3页4的数量时,将独占工作线程对应一个VM的前端设备和后端设备中一个队列、以及将共享工作线程对应至少两个VM的前端设备和后端设备中没有被所述独占工作线程对应的队列,所述用于处理VM的工作线程包括所述独占工作线程和所述共享工作线程。10.如权利要求6-9任一所述的调整装置,其特征在于,所述调整装置还包括:第二调整模块,用于调整所述多个VM的后端设备中的队列和所。
13、述HOST中本地设备Native Device中的队列的对应关系,以便于在所述多个VM的后端设备和所述Native Device之间形成多个数据传输通道。11.一种宿主机HOST,其特征在于,所述HOST包括:本地设备NativeDevice,运行在所述Native Device之上的多个虚拟机VM的前端设备和后端设备,位于所述多个VM的前端设备和后端设备之间的数据处理模块,以及位于所述多个VM的后端设备和所述Native Device之间的网桥Bridge,其中:所述数据处理模块用于:统计所述多个VM当前时刻的平均I/O吞吐量;在当前时刻的平均I/O吞吐量大于第一阈值时,在所述多个VM的前端。
14、设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值;或者,在当前时刻的平均I/O吞吐量小于第二阈值时,HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值;其中,所述第一阈值大于所述第二阈值;根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,以便于在所述多个VM的前端设备和所述多个VM的后端设备之间形成多个数据传输通道。
15、。12.如权利要求11所述的HOST,其特征在于,所述数据处理模块还用于:将在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程所带来的CPU利用率的增长和所带来的I/O吞吐量的增长进行比较;如果所述I/O吞吐量的增长大于CPU利用率的增长,在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值。13.如权利要求11所述的HOST,其特征在于,所述数据处理模块还用于:判断在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少是否导致无法响应所述多个VM的吞吐量;如果在所述。
16、多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少不会导致无法响应所述多个VM的吞吐量,在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值。权 利 要 求 书CN 103116517 A1/13页5虚拟化平台下 I/O 通道的调整方法和调整装置技术领域0001 本发明涉及虚拟化技术领域,尤其涉及虚拟化平台下I/O通道的调整方法和调整装置。背景技术0002 虚拟化是将计算机物理资源如服务器、网络、内存及存储等予以抽象、转换后呈现出来,使用户可以比原本的组态更好的方式来应用这些资源。这。
17、些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制。物理存在的宿主机HOST运行多个虚拟机(Virtual Machine,简称为VM),HOST管理所有的物理硬件设备及资源,将一个独占设备虚拟成多个虚拟设备,供多个用户线程同时使用,每个用户能够看到的设备就是虚拟设备,物理硬件设备对用户透明。0003 虚拟化环境下,VM并不能直接访问硬件设备,HOST为VM提供连通硬件设备的数据通路,即I/O通道。本发明中,通道包括VM的前端设备Front Device和VM的后端设备Back Device之间的数据通道、以及VM的后端设备和HOST的本地设备Native Device之间的数据。
18、通道;其中,VM的前端设备是虚拟机中看到的设备,实际是HOST为VM模拟的设备;VM的后端设备是HOST操作系统中与VM的前端设备相对接的软件模拟设备;HOST的本地设备Native Device是HOST的物理设备。0004 图1描述了现有技术中一种虚拟化平台下简单多I/O通道技术,图1中以两个虚拟机VM1和VM2为例,VM的前端设备和后端设备之间有多个I/O通道(图1中以两个I/O通道为例),数据处理模块是VM的前端设备和后端设备之间的桥梁,用于数据拷贝、数据过滤或是其他数据处理业务,包括多个工作线程(图1中以两个工作线程为例),工作线程的个数和VM的前端设备和后端设备之间I/O通道的个数。
19、相同,且其中每个I/O通道对应一个工作线程,VM的后端设备与网桥Bridge之间以及网桥Bridge与本地设备Native Device之间是单通道,VM的后端设备通过该单通道实现与本地设备Native Device之间的数据传输。0005 发明人发现上述现有技术至少存在如下技术问题:VM的前端设备和后端设备之间的I/O通道个数是在创建VM的时候确定,VM整个生命周期中该I/O通道个数不能改变,因此VM的前端设备和后端设备之间的I/O通道所占用的通道资源也不能改变,当VM的前端设备和后端设备之间的I/O吞吐量发生变化时,无法调整I/O通道资源,在I/O吞吐量下降时,无法释放空闲的I/O通道资源。
20、,造成I/O通道资源浪费;在I/O吞吐量增加时,无法增加I/O通道资源,I/O通道数据传输能力无法提高,系统性能下降。发明内容0006 本发明实施例提供虚拟化平台下I/O通道的调整方法和HOST调整装置,以实现动态地调整多个VM的前端设备和后端设备之间I/O通道资源的分配,从而提高系统性能。0007 第一方面,本发明提供了一种虚拟化平台下I/O通道的调整方法,包括:说 明 书CN 103116517 A2/13页60008 宿主机HOST统计运行在所述HOST上的多个虚拟机VM当前时刻的平均I/O吞吐量;在当前时刻的平均I/O吞吐量大于第一阈值时,所述HOST在所述多个VM的前端设备和后端设备。
21、之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值;或者,在当前时刻的平均I/O吞吐量小于第二阈值时,所述HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值;其中,所述第一阈值大于所述第二阈值;所述HOST根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,以便于在所述多个VM的前端设备和所述多个VM的后端设备之间形成多个数据传输通。
22、道。0009 在第一种可能的实现方式中,结合第一方面,如果当前时刻的平均I/O吞吐量大于第一阈值,所述HOST在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程的步骤之前,进一步包括:0010 所述HOST将在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程所带来的CPU利用率的增长和所带来的I/O吞吐量的增长进行比较;如果所述I/O吞吐量的增长大于CPU利用率的增长,则执行所述HOST在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程的步骤。0011 在第二种可能的实现方式中,结合第一方面,如果当前时刻的平均I/O吞吐量小于第二阈值,所述HOST在所。
23、述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程的步骤之前,进一步包括:0012 所述HOST判断在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少是否导致无法响应所述多个VM的吞吐量;如果在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少不会导致无法响应所述多个VM的吞吐量,则执行所述HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程的步骤。0013 在第三种可能的实现方式中,结合第一方面或第一方面的第一种或第二种可能的实现方式,所述HOST根据增加或减少后的用于处理VM的工作线。
24、程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,包括:0014 在增加或减少后的用于处理VM的工作线程的数量小于运行在所述HOST上VM的数量时,所述HOST将所述每个工作线程分别对应每个VM的前端设备中一个队列和每个VM的后端设备中一个队列;或者,在增加或减少后的用于处理VM的工作线程的数量大于或等于运行在所述HOST上VM的数量时,所述HOST将独占工作线程对应一个VM的前端设备和后端设备中一个队列、以及将共享工作线程对应至少两个VM的前端设备和后端设备中没有被所述独占工作线程对应的队列,所述。
25、用于处理VM的工作线程包括所述独占工作线程和所述共享工作线程。0015 在第四种可能的实现方式中,结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,所述HOST根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端说 明 书CN 103116517 A3/13页7设备中的队列与用于处理VM的工作线程的对应关系之后,所述方法还包括:0016 所述HOST调整所述多个VM的后端设备中的队列和所述HOST中本地设备Native Device中的队列的对应关系,以便于在所述多个VM的后端设备和所述Native。
26、 Device之间形成多个数据传输通道。0017 第二方面,本发明提供了一种虚拟化平台下I/O通道的调整装置HOST,HOST包括:0018 统计模块,用于统计运行在宿主机HOST上的多个虚拟机VM当前时刻的平均I/O吞吐量;处理模块,与所述统计模块连接,用于在所述统计模块统计的当前时刻的平均I/O吞吐量大于第一阈值时,在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值;或者,用于在所述统计模块统计的当前时刻的平均I/O吞吐量小于第二阈值时,在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减。
27、少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值;其中,所述第一阈值大于所述第二阈值;第一调整模块,与所述处理模块连接,用于根据所述处理模块增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,以便于在所述多个VM的前端设备和所述多个VM的后端设备之间形成多个数据传输通道。0019 在第一种可能的实现方式中,结合第一方面,所述调整装置还包括:0020 判断模块,用于在所述统计模块统计的当前时刻的平均I/O吞吐量大于第一阈值时,将在所述多个VM的前端设备和后端设备。
28、之间增加用于处理VM的工作线程所带来的CPU利用率的增长和所带来的I/O吞吐量的增长进行比较;所述处理模块,还用于如果所述I/O吞吐量的增长大于CPU利用率的增长,在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值。0021 在第二种可能的实现方式中,结合第一方面,所述调整装置还包括:0022 判断模块,用于在所述统计模块统计的当前时刻的平均I/O吞吐量小于第二阈值时,判断在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少是否导致无法响应所述多个VM的吞吐量;所述处理模块,还。
29、用于如果在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少不会导致无法响应所述多个VM的吞吐量,在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值。0023 在第三种可能的实现方式中,结合第一方面或第一方面的第一种或第二种可能的实现方式,所述第一调整模块具体用于:0024 在增加或减少后的用于处理VM的工作线程的数量小于运行在所述HOST上VM的数量时,将所述每个工作线程分别对应每个VM的前端设备中一个队列和每个VM的后端设备中一个队列;或者,在增加或减少后的用于处理VM的工。
30、作线程的数量大于或等于运行在所述HOST上VM的数量时,将独占工作线程对应一个VM的前端设备和后端设备中一个队列、以及将共享工作线程对应至少两个VM的前端设备和后端设备中没有被所述独占工作说 明 书CN 103116517 A4/13页8线程对应的队列,所述用于处理VM的工作线程包括所述独占工作线程和所述共享工作线程。0025 在第四种可能的实现方式中,结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,所述调整装置还包括:0026 第二调整模块,用于调整所述多个VM的后端设备中的队列和所述HOST中本地设备Native Device中的队列的对应关系,以便于在所述多个VM的后端设备。
31、和所述Native Device之间形成多个数据传输通道。0027 第三方面,本发明提供了一种宿主机HOST,其特征在于,所述HOST包括:本地设备Native Device,运行在所述Native Device之上的多个虚拟机VM的前端设备和后端设备,以及位于所述多个VM的前端设备和后端设备之间的数据处理模块,其中:0028 所述数据处理模块用于:0029 统计所述多个VM当前时刻的平均I/O吞吐量;在当前时刻的平均I/O吞吐量大于第一阈值时,在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值;或者,在当前时刻的。
32、平均I/O吞吐量小于第二阈值时,所述HOST在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值;其中,所述第一阈值大于所述第二阈值;根据增加或减少后的用于处理VM的工作线程,分别调整所述多个VM的前端设备中的队列与用于处理VM的工作线程的对应关系,和所述多个VM的后端设备中的队列与用于处理VM的工作线程的对应关系,以便于在所述多个VM的前端设备和所述多个VM的后端设备之间形成多个数据传输通道。0030 在第一种可能的实现方式中,结合第三方面,所述数据处理模块还用于:0031 将在所述多个VM的前端设备和后端设备之间。
33、增加用于处理VM的工作线程所带来的CPU利用率的增长和所带来的I/O吞吐量的增长进行比较;如果所述I/O吞吐量的增长大于CPU利用率的增长,在所述多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的所述多个VM的平均I/O吞吐量小于第一阈值。0032 在第二种可能的实现方式中,结合第三方面,所述数据处理模块还用于:0033 判断在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少是否导致无法响应所述多个VM的吞吐量;如果在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程所带来的CPU利用率的减少不会导致无法响应所。
34、述多个VM的吞吐量,在所述多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的所述多个VM的平均I/O吞吐量大于第二阈值。0034 可见,在本发明的实施例中,根据当前时刻多个VM的平均I/O吞吐量判断是否在该多个VM的前端设备和后端设备之间增加或减少用于处理VM的工作线程,在当前时刻多个VM的平均I/O吞吐量大于第一阈值时,增加用于处理VM的工作线程,即增加I/O通道资源,提高I/O通道的数据传输能力;在当前时刻多个VM的平均I/O吞吐量小于第二阈值时,减少用于处理VM的工作线程,即减少I/O通道资源,避免I/O通道资源浪费。0035 进一步,HOST通过调整多个。
35、VM的后端设备中的队列和宿主机HOST中本地设备Native Device中队列的对应关系,在多个VM的后端设备和该本地设备Native Device之间形成多个数据传输通道,从而实现了多个VM的前端设备和该HOST中本地设备Native 说 明 书CN 103116517 A5/13页9Device之间的多条I/O通道,提高了该多个VM的前端设备和该HOST中本地设备Native Device之间的数据传输能力。附图说明0036 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,。
36、对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0037 图1为现有技术中一种虚拟化平台下简单多I/O通道技术的架构图;0038 图2为本发明一个实施例提供的虚拟化平台下I/O通道的调整方法流程图;0039 图3为本发明提供的虚拟化平台下多个VM的前端设备和后端设备之间I/O工作模式为共享模式的架构图;0040 图4为本发明提供的虚拟化平台下多个VM的前端设备和后端设备之间I/O工作模式为混合模式的架构图;0041 图5为本发明一个实施例提供的虚拟化平台下I/O通道的调整装置的结构示意图;0042 图6为本发明另一个实施例提供的虚拟化平台下I/O通道的。
37、调整装置的结构示意图。0043 图7为本发明一个实施例提供的宿主机HOST的结构示意图。具体实施方式0044 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。0045 为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素。0046 宿主机HOST:作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟硬件平台;其中,虚拟硬。
38、件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟处理器(如VCPU)、虚拟内存、虚拟磁盘、虚拟网卡等等。其中,该虚拟磁盘可对应HOST的一个文件或者一个逻辑块设备。虚拟机运行在HOST为其准备的虚拟硬件平台上,HOST上运行一个或多个虚拟机。0047 虚拟机VM:通过虚拟机软件可以在一台物理计算机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。0048 数据处理模块:本发明中,在VM的前端设备和后端设备之间引入了数据处理模块,数。
39、据处理模块用于处理VM的前端设备和后端设备之间的数据传输,通过工作线程来处理VM的前端设备和后端设备中队列的数据。数据处理模块一般是通过软件实现,即通过处说 明 书CN 103116517 A6/13页10理器读取特殊功能的软件代码指令来实现。0049 本地设备Native Device:虚拟化环境运行的硬件平台。其中,该Native Device可包括多种硬件,例如某计算节点的Native Device可包括处理器(如CPU)和内存,还可以包括网卡、存储器等等高速/低速输入/输出(I/O,Input/Output)设备。0050 网桥Bridge:位于VM的后端设备和宿主机HOST的本地设备。
40、Native Device之间的网络设备或软件,实现VM的后端设备和宿主机HOST的本地设备Native Device之间的网络互连,对数据帧进行转发。0051 图2描述了本发明实施例提供的虚拟化平台下I/O通道的调整方法的流程,具体包括:0052 S201、宿主机HOST统计运行在该HOST上的多个虚拟机VM当前时刻的平均I/O吞吐量。0053 具体的,HOST可以通过先统计运行在该HOST上的多个VM当前时刻的总的I/O吞吐量,再除以运行在该HOST上的虚拟机的数量,得到当前时刻该多个VM的平均I/O吞吐量。0054 S202、在当前时刻的平均I/O吞吐量大于第一阈值时,该HOST在该多个。
41、VM的前端设备和后端设备之间增加用于处理VM的工作线程;或者,在当前时刻的平均I/O吞吐量小于第二阈值时,该HOST在该多个VM的前端设备和后端设备之间减少用于处理VM的工作线程。0055 其中,在该多个VM的前端设备和后端设备之间增加用于处理VM的工作线程,以使得增加工作线程后的该多个VM的平均I/O吞吐量大于第一阈值;在该多个VM的前端设备和后端设备之间减少用于处理VM的工作线程,以使得减少工作线程后的该多个VM的平均I/O吞吐量大于第二阈值。第一阈值大于第二阈值,第一阈值用于指示该多个VM的平均I/O吞吐量的上限值,第二阈值用于指示该多个VM的平均I/O吞吐量的下限值,即第一阈值反映的是。
42、单个VM最多所能承受的I/O吞吐量的上限,第二阈值反映的是单个VM最少应该承受的I/O吞吐量的下限。0056 进一步,如果当前时刻的平均I/O吞吐量大于第一阈值,该HOST在该多个VM的前端设备和后端设备之间增加用于处理VM的工作线程的步骤之前,还包括:0057 改HOST将在该多个VM的前端设备和后端设备之间增加用于处理VM的工作线程所带来的CPU利用率的增长和所带来的I/O吞吐量的增长进行比较;如果I/O吞吐量的增长大于CPU利用率的增长,则执行该HOST在该多个VM的前端设备和后端设备之间增加用于处理VM的工作线程的步骤。0058 其中,所带来的CPU利用率的增长是指增加用于处理VM的工作线程相对于没有增加用于处理VM的工作线程所增加的CPU利用率,可以用CPU利用率的增长量和/或CPU利用率的增长率来表示;所带来的I/O吞吐量的增长是指增加用于处理VM的工作线程相对于没有增加用于处理VM的工作线程所增加处理的I/O吞吐量,可以用I/O吞吐量的增长量和/或I/O吞吐量的增长率来表示。需要说明的是,本发明对于具体如何比较CPU利用率的增长和I/O吞吐量的增长不做限定,这里示例性的给出两种衡量办法,如果I/O吞吐量的增长量大于CPU利用率的增长量,或者I/O吞吐量的增长率大于CPU利用率的增长率,则确定增加用于处理VM的工作线程。说 明 书CN 103116517 A10。