基于I/O受限进程识别的虚拟处理器调度机制
发布时间:2020-12-18 05:01
针对多核平台的虚拟化环境中客户机与虚拟机管理器(virtual machine monitor,VMM)之间语义缝隙造成客户机I/O性能下降的问题,提出了一种基于I/O受限进程识别的虚拟处理器(virtual CPU,vCPU)调度机制。该机制在客户机内部利用推断技术识别I/O受限进程,通过客户机与VMM的协作实现I/O事件与I/O受限进程的关联,利用保证客户机之间公平性的虚拟对称多核处理器(virtual symmetric multi-core processor,vSMP)Internal调度算法,优先调度与I/O事件关联的I/O受限进程所在的vCPU来桥接客户机与VMM之间的语义缝隙,提高拥有vSMP的客户机中I/O负载性能。测试结果表明,相比于KVM虚拟化环境的CFS调度机制,该机制可以在保证客户机CPU公平性的前提下,有效提升运行混合负载的vSMP客户机中I/O负载性能,同时只增加较小的客户机额外开销,可以应用在负载多样性和不可预测性的虚拟桌面和云计算环境中。
【文章来源】:西安交通大学学报. 2015年04期 北大核心
【文章页数】:8 页
【部分图文】:
图1混合负载中vCPU处理I/O请求过程
程开始运行之间的延迟(T5-T6)。这两种延迟导致I/O受限进程等待时间增多,影响I/O受限进程的响应时间和吞吐率。单一负载情况下,Intr-vCPU以及IO-vCPU经常处于空闲状态,VMM会优先调度Intr-vCPU和IO-vCPU运行。在混合负载的情况下,Intr-vCPU和IO-vCPU中的CPU受限进程消耗掉VMM分配给它们的CPU资源,导致VMM调度其他进程抢占Intr-vCPU和IO-vCPU。图2vSMPInternal调度过程为了减少混合负载情况下这两种延迟,当I/O事件到来后,需要给Intr-vCPU和IO-vCPU更多的运行机会。vSMPInternal调度算法过程如图2所示,当I/O事件对应的虚拟I/O中断挂起到Intr-vCPU后,如果Intr-vCPU没有在物理CPU上运行或者在很长的一段时间之后才会运行,则立即调度Intr-vCPU来完成虚拟I/O中断处理,以减少第一种延迟。同时,在Intr-vCPU完成虚拟I/O中断处理之后,为了减少第二种延迟也要立即调度IO-vCPU运行,I/O受限进程才能处理数据并完成I/O55
隙的问题导致VMM无法获得客户机内部进程的详细信息,所以无法在VMM中直接实现关联函数h。但是,如果存在一个媒介集合B,并且可以找到两个函数f和g,使得f是从A到B的函数(记为f:A→B),g是从B到C的函数(记为g:B→C),那么,复合关系f?g就是从A到C的函数(记为g?f)。因此,为了得到h:A→C,需要找到媒介集合B,并且实现f:A→B以及g:B→C,如图3所示。图3I/O事件与I/O受限进程关联媒介集合的选取是实现关联的基础,不同类型的设备需要选取不同的媒介集合来实现该类型设备发出的I/O事件与访问该设备的I/O受限进程之间的关联。设备模拟程序负责完成客户机I/O请求并产生I/O事件,因此可以很容易地在VMM层实现函数f。客户机可以通过监控I/O受限进程与I/O设备的交互来实现函数g。这种VMM与客户机合作的方法,可以有效地实现I/O事件与I/O受限进程的关联。2vCPU调度机制实现本节讲述基于I/O受限进程识别的vCPU调度机制在KVM(Kernel-basedVirtualMachine)[14]虚拟化环境中的具体实现。宿主机与客户机操作系统均为Centos5.8,内核版本3.10.21。KVM版本为kvm-kmod-3.10.21,模拟处理器的自由软件QEMU版本为qemu-1.2.0。图4vSMPInternal调度系统框图图4为系统的结构框图,IO-Tr
【参考文献】:
期刊论文
[1]多核环境下虚拟机VCPU调度研究:问题与挑战[J]. 金海,钟阿林,吴松,石宣化. 计算机研究与发展. 2011(07)
本文编号:2923401
【文章来源】:西安交通大学学报. 2015年04期 北大核心
【文章页数】:8 页
【部分图文】:
图1混合负载中vCPU处理I/O请求过程
程开始运行之间的延迟(T5-T6)。这两种延迟导致I/O受限进程等待时间增多,影响I/O受限进程的响应时间和吞吐率。单一负载情况下,Intr-vCPU以及IO-vCPU经常处于空闲状态,VMM会优先调度Intr-vCPU和IO-vCPU运行。在混合负载的情况下,Intr-vCPU和IO-vCPU中的CPU受限进程消耗掉VMM分配给它们的CPU资源,导致VMM调度其他进程抢占Intr-vCPU和IO-vCPU。图2vSMPInternal调度过程为了减少混合负载情况下这两种延迟,当I/O事件到来后,需要给Intr-vCPU和IO-vCPU更多的运行机会。vSMPInternal调度算法过程如图2所示,当I/O事件对应的虚拟I/O中断挂起到Intr-vCPU后,如果Intr-vCPU没有在物理CPU上运行或者在很长的一段时间之后才会运行,则立即调度Intr-vCPU来完成虚拟I/O中断处理,以减少第一种延迟。同时,在Intr-vCPU完成虚拟I/O中断处理之后,为了减少第二种延迟也要立即调度IO-vCPU运行,I/O受限进程才能处理数据并完成I/O55
隙的问题导致VMM无法获得客户机内部进程的详细信息,所以无法在VMM中直接实现关联函数h。但是,如果存在一个媒介集合B,并且可以找到两个函数f和g,使得f是从A到B的函数(记为f:A→B),g是从B到C的函数(记为g:B→C),那么,复合关系f?g就是从A到C的函数(记为g?f)。因此,为了得到h:A→C,需要找到媒介集合B,并且实现f:A→B以及g:B→C,如图3所示。图3I/O事件与I/O受限进程关联媒介集合的选取是实现关联的基础,不同类型的设备需要选取不同的媒介集合来实现该类型设备发出的I/O事件与访问该设备的I/O受限进程之间的关联。设备模拟程序负责完成客户机I/O请求并产生I/O事件,因此可以很容易地在VMM层实现函数f。客户机可以通过监控I/O受限进程与I/O设备的交互来实现函数g。这种VMM与客户机合作的方法,可以有效地实现I/O事件与I/O受限进程的关联。2vCPU调度机制实现本节讲述基于I/O受限进程识别的vCPU调度机制在KVM(Kernel-basedVirtualMachine)[14]虚拟化环境中的具体实现。宿主机与客户机操作系统均为Centos5.8,内核版本3.10.21。KVM版本为kvm-kmod-3.10.21,模拟处理器的自由软件QEMU版本为qemu-1.2.0。图4vSMPInternal调度系统框图图4为系统的结构框图,IO-Tr
【参考文献】:
期刊论文
[1]多核环境下虚拟机VCPU调度研究:问题与挑战[J]. 金海,钟阿林,吴松,石宣化. 计算机研究与发展. 2011(07)
本文编号:2923401
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2923401.html