CN110113184B - Sr-iov环境下的kvm虚拟机网络优化方法及装置 - Google Patents

Sr-iov环境下的kvm虚拟机网络优化方法及装置 Download PDF

Info

Publication number
CN110113184B
CN110113184B CN201910308994.6A CN201910308994A CN110113184B CN 110113184 B CN110113184 B CN 110113184B CN 201910308994 A CN201910308994 A CN 201910308994A CN 110113184 B CN110113184 B CN 110113184B
Authority
CN
China
Prior art keywords
network
virtual machine
data
virtual
virtual machines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910308994.6A
Other languages
English (en)
Other versions
CN110113184A (zh
Inventor
黄冬
王洋
范小朋
叶志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HANGZHOU ZHONGKE ADVANCED TECHNOLOGY RESEARCH INSTITUTE Co.,Ltd.
Original Assignee
Hangzhou Zhongke Advanced Technology Research Institute Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Zhongke Advanced Technology Research Institute Co ltd filed Critical Hangzhou Zhongke Advanced Technology Research Institute Co ltd
Priority to CN201910308994.6A priority Critical patent/CN110113184B/zh
Publication of CN110113184A publication Critical patent/CN110113184A/zh
Application granted granted Critical
Publication of CN110113184B publication Critical patent/CN110113184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects

Abstract

本发明涉及虚拟机网络领域,具体涉及一种SR‑IOV环境下的KVM虚拟机网络优化方法及装置。该网络优化方法及装置首先在每个虚拟机上配置SR‑IOV的VF网卡和半虚拟化网卡,然后采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输,并接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF。该网络优化方法及装置针对虚拟机负载多样性和变化性的特点,结合虚拟机上层的网络I/O特性,对VF以按需给虚拟机分配网络资源,将带宽吞吐率与网络延迟进行统一的优化,以最大化云网络服务的性能。

Description

SR-IOV环境下的KVM虚拟机网络优化方法及装置
技术领域
本发明涉及虚拟机网络领域,具体而言,涉及一种SR-IOV环境下的KVM虚拟机网络优化方法及装置。
背景技术
随着计算机技术的发展,硬件的性能越来越好,虚拟化技术使得在一台服务器上运行多个操作系统成为可能。虚拟化技术增加了硬件的复用性,提高了资源的利用率和使用的灵活性,降低了管理成本,同时保证了应用之间的隔离性。由于虚拟化的优点,越来越多的数据中心使用虚拟化技术。虚拟化技术成为了改变计算机格局的关键技术之一。
而随着云计算技术的快速发展,对虚拟化技术也提出了更高的要求。在传统系统结构中,I/O是影响系统性能的关键因素之一。而在虚拟化环境中,I/O性能对系统有着更为关键的影响。早期的虚拟化技术主要致力于CPU和内存虚拟化,而随着虚拟化技术的发展以及硬件的进步,这两种虚拟化的性能有了很大的提升。相比之下,I/O虚拟化性能损失较大。不仅如此,由于服务器中的I/O资源有限,在虚拟机数目增长的同时I/O资源竞争愈加激烈,导致部分虚拟机的I/O性能极差。
现有的虚拟化方式无法满足灵活高效的资源分配需求,虚拟机监控器也不能根据虚拟机的负载不同而给虚拟机分配不同的资源,从而导致在虚拟机之间网络资源的分配无法达到最优。因此,在工作负载的运行过程中,必须要求资源调度器能够动态的按需分配网络资源于服务负载。
在目前主流的几种虚拟化方式,没有一种方法能够提供负载感知的功能同时又满足虚拟机的性能需要。同时KVM虚拟机在运行时是被当成Linux操作系统中的一个qemu-kvm进程,与Linux系统的其他进程一样同等被进程调度器所调度,因为虚拟机的运行状态对于进程调度器的透明性,I/O密集型的虚拟机和CPU密集型的虚拟机在调度时不会被区别对待,这会导致网络资源的高度竞争和不合理分配。此外,由于虚拟机中应用服务的透明性,虚拟机监控器无法根据虚拟机对资源的需求而按需分配网络资源,从而导致虚拟机性能无法达到最优。
发明内容
本发明实施例提供了一种SR-IOV环境下的KVM虚拟机网络优化方法及装置,能够根据虚拟机负载的类型来分配资源,根据虚拟机的网络工作负载分配相应的带宽。
根据本发明的一实施例,提供了一种SR-IOV环境下的KVM虚拟机网络优化方法,包括:
在每个虚拟机上配置SR-IOV的VF网卡和半虚拟化网卡;
采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输;
接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF。
进一步地,网络优化方法还包括:
使用层级划分的方法为每个VF设置最大发送带宽和最大接收带宽,按需分配网络带宽给虚拟机。
进一步地,半虚拟化网卡通过特权域Dom0创建虚拟机时为每个虚拟机自动分配,VF网卡只在虚拟机运行的过程中动态分配给网络I/O密集型的虚拟机。
进一步地,虚拟机使用Bonding驱动的激活备份模式将VF设置为主设备,而半虚拟化的网卡被设置为从设备;在默认情况下不给虚拟机分配VF,虚拟机使用半虚拟化网卡工作,当虚拟机变成网络I/O密集型时才给虚拟机分配VF,此时主设备被激活,虚拟机会自动切换为VF进行工作。
进一步地,采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输包括:
采集每个虚拟机的运行状态和网络数据的采样频率依据使读写文件带来的性能损失最小来设定;在每个虚拟机处的守护进程中收集虚拟机的网络数据,在主机处通过virtio-serial串行通信机制接收每个虚拟机发送的网络数据并进行统一的处理,同时获取虚拟机运行的CPU利用率数据。
进一步地,采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输具体包括:
在获取虚拟机的网络数据时为每个虚拟机构建两个virtio-serial串行通信通道,分别为virtio数据通道和virtio控制通道;在虚拟机中运行的守护进程中对控制通道进行异步监听,当检测到主机向虚拟机发送指令时,虚拟机通过数据通道向主机发送数据以完成响应;数据通道在初始是关闭状态,只有在控制通道监听到有相应请求时才会打开数据通道,当传输完数据之后数据通道会重新关闭;
通过Libvirt中的virDomainGetInfo接口获取在采样周期内虚拟机运行的时间差,并除以主机的实际CPU运行时间计算得到虚拟机的CPU使用率;
读取虚拟机的Linux内核接口文件/proc/net/dev获取虚拟机的网络流量数据,将现有的发送或接收总流量减去上次发送或接收总流量便是本次采样周期发送或接收总流量和;
通过virtio-serial串行通信的方式将各个虚拟机的数据发送给特权域Dom0。
进一步地,接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF具体包括:
在特权域Dom0中对VF进行全局调度,所有虚拟机都被放入优先队列和通用队列中,其中优先队列是红黑树,存放的是网络I/O密集型的虚拟机,而通用队列存放的是磁盘I/O密集型和CPU密集型的虚拟机;
首先让每个虚拟机的CPU利用率与设定的阈值相比较将虚拟机分为网络I/O密集型和网络非I/O密集型,然后将网络I/O密集型的虚拟机按照虚拟机的网络流量信息从大到小排序,网络流量越大的虚拟机网络I/O密集程度越大;
最初所有的虚拟机都被放入通用队列中,然后依次将网络I/O密集程度高的虚拟机插入到优先队列中;
在调度的过程中当优先队列中虚拟机的网络I/O密集程度低于通用队列某一虚拟机时,优先队列中的这一虚拟机会被移到通用队列中并剥夺其VF,而选择通用队列中网络I/O密集程度最大的虚拟机插入优先队列并分配VF;
根据虚拟机的网络I/O密集程度分配对应带宽大小的VF,具体是根据网络I/O密集程度从大到小对虚拟机进行排序,然后依次给虚拟机分配层级带宽划分后的VF。
进一步地,VF的分配和移除采用ACPI机制对虚拟机进行PCIe设备的热插拔,在不影响虚拟机运行的情况下动态的分配或移除VF设备。
根据本发明的另一实施例,提供了一种SR-IOV环境下的KVM虚拟机网络优化装置,包括:
配置模块,用于在每个虚拟机上配置SR-IOV的VF网卡和半虚拟化网卡;
状态监控模块,用于采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输;
VF调度模块,用于接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF。
进一步地,网络优化装置还包括:
传输速率控制模块,用于使用层级划分的方法为每个VF设置最大发送带宽和最大接收带宽,按需分配网络带宽给虚拟机。
本发明实施例中的SR-IOV环境下的KVM虚拟机网络优化方法及装置,接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF,针对虚拟机负载多样性和变化性的特点,结合虚拟机上层的网络I/O特性,对VF以按需给虚拟机分配网络资源,将带宽吞吐率与网络延迟进行统一的优化,以最大化云网络服务的性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明SR-IOV环境下的KVM虚拟机网络优化方法的流程图;
图2为本发明SR-IOV环境下的KVM虚拟机网络优化方法的优选流程图;
图3为本发明SR-IOV环境下的KVM虚拟机网络优化方法的框架示意图;
图4为本发明SR-IOV环境下的KVM虚拟机网络优化装置的模块图;
图5为本发明SR-IOV环境下的KVM虚拟机网络优化装置的优选模块图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明的实施例,参见图1,提供了一种SR-IOV环境下的KVM虚拟机网络优化方法,包括:
步骤S101:在每个虚拟机上配置SR-IOV的VF网卡和半虚拟化网卡;
步骤S102:采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输;
步骤S103:接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF。
本发明实施例中的SR-IOV环境下的KVM虚拟机网络优化方法,接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF,针对虚拟机负载多样性和变化性的特点,结合虚拟机上层的网络I/O特性,对VF以按需给虚拟机分配网络资源,将带宽吞吐率与网络延迟进行统一的优化,以最大化云网络服务的性能。
优选地,参见图2,网络优化方法还包括:
步骤S104:使用层级划分的方法为每个VF设置最大发送带宽和最大接收带宽,按需分配网络带宽给虚拟机。
优选地,半虚拟化网卡通过特权域Dom0创建虚拟机时为每个虚拟机自动分配,VF网卡只在虚拟机运行的过程中动态分配给网络I/O密集型的虚拟机。
优选地,虚拟机使用Bonding驱动的激活备份模式将VF设置为主设备,而半虚拟化的网卡被设置为从设备;在默认情况下不给虚拟机分配VF,虚拟机使用半虚拟化网卡工作,当虚拟机变成网络I/O密集型时才给虚拟机分配VF,此时主设备被激活,虚拟机会自动切换为VF进行工作。
优选地,采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输包括:
采集每个虚拟机的运行状态和网络数据的采样频率依据使读写文件带来的性能损失最小来设定;在每个虚拟机处的守护进程中收集虚拟机的网络数据,在主机处通过virtio-serial串行通信机制接收每个虚拟机发送的网络数据并进行统一的处理,同时获取虚拟机运行的CPU利用率数据。
优选地,采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输具体包括:
在获取虚拟机的网络数据时为每个虚拟机构建两个virtio-serial串行通信通道,分别为virtio数据通道和virtio控制通道;在虚拟机中运行的守护进程中对控制通道进行异步监听,当检测到主机向虚拟机发送指令时,虚拟机通过数据通道向主机发送数据以完成响应;数据通道在初始是关闭状态,只有在控制通道监听到有相应请求时才会打开数据通道,当传输完数据之后数据通道会重新关闭;
通过Libvirt中的virDomainGetInfo接口获取在采样周期内虚拟机运行的时间差,并除以主机的实际CPU运行时间计算得到虚拟机的CPU使用率;
读取虚拟机的Linux内核接口文件/proc/net/dev获取虚拟机的网络流量数据,将现有的发送或接收总流量减去上次发送或接收总流量便是本次采样周期发送或接收总流量和;
通过virtio-serial串行通信的方式将各个虚拟机的数据发送给特权域Dom0。
优选地,接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF具体包括:
在特权域Dom0中对VF进行全局调度,所有虚拟机都被放入优先队列和通用队列中,其中优先队列是红黑树,存放的是网络I/O密集型的虚拟机,而通用队列存放的是磁盘I/O密集型和CPU密集型的虚拟机;
首先让每个虚拟机的CPU利用率与设定的阈值相比较将虚拟机分为网络I/O密集型和网络非I/O密集型,然后将网络I/O密集型的虚拟机按照虚拟机的网络流量信息从大到小排序,网络流量越大的虚拟机网络I/O密集程度越大;
最初所有的虚拟机都被放入通用队列中,然后依次将网络I/O密集程度高的虚拟机插入到优先队列中;
在调度的过程中当优先队列中虚拟机的网络I/O密集程度低于通用队列某一虚拟机时,优先队列中的这一虚拟机会被移到通用队列中并剥夺其VF,而选择通用队列中网络I/O密集程度最大的虚拟机插入优先队列并分配VF;
根据虚拟机的网络I/O密集程度分配对应带宽大小的VF,具体是根据网络I/O密集程度从大到小对虚拟机进行排序,然后依次给虚拟机分配层级带宽划分后的VF。
优选地,VF的分配和移除采用ACPI机制对虚拟机进行PCIe设备的热插拔,在不影响虚拟机运行的情况下动态的分配或移除VF设备。
本发明提供了一种SR-IOV环境下的KVM虚拟机网络优化方法。该方法针对现有的虚拟化方式无法满足灵活高效的资源分配需求,提出了一种按需分配的混合I/O虚拟化方式。该方法能够根据虚拟机负载的类型来分配资源,因此为了能够根据虚拟机的网络工作负载分配相应的带宽,该方法对VF的网络带宽进行层级划分以按需分配给虚拟机,并通过ACPI Hotplug和Bonding驱动技术的激活-备份策略来动态切换VF和半虚拟机网卡,以此来保证VF的动态分配。该方法能够动态感知虚拟机工作负载以按需分配虚拟网络资源,在提升系统网络性能的同时可以保证虚拟机的可扩展性。
本发明提供一种SR-IOV环境下的KVM虚拟机网络优化方法,为使本发明的目的及技术方案更加清楚明确,以下参照附图并举实例对本发明进一步做详细说明。
本发明提出的一种SR-IOV环境下的KVM虚拟机网络优化方法,是基于虚拟机的工作负载感知对网络带宽层级划分后的VF进行调度分配。SR-IOV技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV标准允许在虚拟机之间高效共享PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的I/O性能。该网络优化方法的系统框架分为三个主要部分,分别为状态监控模块、传输速率控制模块和VF调度模块,其中,状态监控模块又包括I/O状态监控模块和网络状态监控模块。在每个虚拟机中都运行着网络状态监控模块作为守护进程收集虚拟机的网络数据,而在主机的网络状态监控模块通过virtio-serial串行通信机制接收每个虚拟机发送的网络数据并进行统一的处理,同时I/O状态监控模块会获取虚拟机运行的CPU利用率数据。传输速率控制模块可以对每个虚拟机的虚拟功能VF(Virutal Function)设置最大发送带宽和接收带宽,状态监控模块按照设定的周期不断的将网络数据发送给VF调度模块,VF调度模块利用收集的网络数据进行VF的调度分配。
一种SR-IOV环境下的KVM虚拟机网络优化方法,该网络优化方法的系统框架包括如下模块:
(1)状态监控模块:
(1.1)状态监控模块负责监控和采集每个虚拟机的运行状态和网络等数据,并在每次采样周期结束后将数据发送于VF调度模块进行调度决策,采样频率依据使读写文件带来的性能损失最小来设定。状态监控模块包括I/O状态监控模块和网络状态监控模块。
(1.2)I/O状态监控模块通过Libvirt中的virDomainGetInfo接口获取在采样周期内虚拟机运行的时间差,并除以主机的实际CPU运行时间计算得到虚拟机的CPU使用率。
(1.3)网络监控模块读取虚拟机的Linux内核接口文件/proc/net/dev获取虚拟机的网络流量数据,将现有的发送(或接收)总流量减去上次发送(或接收)总流量便是本次采样周期发送(或接收)总流量和。
(1.4)状态监控模块通过virtio-serial串行通信的方式将各个虚拟机的数据发送给特权域Dom0。
(2)传输速率控制模块:
(2.1)SR-IOV网卡提供Transmit Rate Scheduler(TRS)功能对每个传输队列的数量进行限制以限制VF的传输速率,但VF自己没有设置传输速率的权限,由具有全局操作权限的PF进行设置和修改。
(2.2)为了能够根据网络密集型虚拟机的网络需求分配相应大小的带宽,传输速率控制模块在对VF的传输速率进行限制的时候使用层级划分的方法,即让每个VF的最大带宽按照阶梯上升的方法进行划分。
(2.3)传输速率控制模块通过sysfs系统文件限制每个VF的带宽,具体来说是设置/sys/class/net以限制VF的最大传输速率。
(3)VF调度模块:
(3.1)VF调度模块位于特权域Dom0中负责对VF的全局调度,所有虚拟机都被放入优先队列和通用队列中,其中优先队列是红黑树,存放的是网络I/O密集型的虚拟机,而通用队列存放的是其他类型的虚拟机,包括磁盘I/O密集型和CPU密集型的虚拟机。
(3.2)最初所有的虚拟机都被放入通用队列中,然后依次将网络密集程度高的虚拟机插入到优先队列中。
(3.3)VF调度模块在调度的过程中当优先队列中虚拟机的网络密集程度低于通用队列某一虚拟机时,优先队列中的这一虚拟机会被移到通用队列中并剥夺其VF,而选择通用队列中网络密集程度最大的虚拟机插入优先队列并分配VF。
(3.4)VF调度模块是根据虚拟机的网络密集程度分配对应带宽大小的VF,具体的做法是根据网络密集程度从大到小对虚拟机进行排序,然后依次给虚拟机分配层级带宽划分后的VF。
(3.5)VF调度模块会限制VF的数量以提升网络I/O密集型虚拟机的网络性能,VF的数量根据具体的环境而设定,如虚拟机的数量、可用带宽的大小等。
在本发明的一个实施例中,网络状态监控模块在获取虚拟机的网络数据时为每个虚拟机构建两个virtio-serial串行通信通道,分别为virtio数据通道和virtio控制通道。在虚拟机中运行的守护进程中对控制通道进行异步监听,当检测到主机向虚拟机发送指令时,虚拟机通过数据通道向主机发送数据以完成响应。数据通道在初始是关闭状态,只有在控制通道监听到有相应请求时才会打开数据通道,当传输完数据之后数据通道会重新关闭。
在本发明的一个实施例中,虚拟机使用Bonding驱动的激活备份模式将VF设置为主设备,而半虚拟化的网卡被设置为从设备。在默认情况下不给虚拟机分配VF,即主设备处于非激活状态,这时虚拟机使用半虚拟化网卡工作,而只有当虚拟机变成网络I/O密集型时才给虚拟机分配VF,这时主设备被激活所以虚拟机会自动切换为VF进行工作。
在本发明的一个实施例中,VF的分配和移除采用ACPI机制对虚拟机进行PCIe设备的热插拔,可在不影响虚拟机运行的情况下动态的分配或移除VF设备。
在本发明的一个实施例中,传输速率控制模块对VF的网络带宽进行层级划分后以按需分配网络带宽给虚拟机,VF调度模块是根据虚拟机的网络I/O密集程度分配相应的带宽大小的VF。
在本发明的一个实施例中,虚拟机网络密集程度判定的方法是首先让每个虚拟机的CPU利用率与设定的阈值相比较将虚拟机分为网络I/O密集型和网络非I/O密集型,然后将网络I/O密集型的虚拟机按照虚拟机的网络流量信息从大到小排序,网络流量越大的虚拟机网络密集程度越大。
以下结合附图对本发明所提供的SR-IOV环境下的KVM虚拟机网络优化方法做详细说明,图3为本发明SR-IOV环境下的KVM虚拟机网络优化方法框架示意图。在每个虚拟机都配置有两块网卡,分别为SR-IOV的VF网卡和半虚拟化的网卡。半虚拟化网卡通过特权域Dom0创建虚拟机时为每个虚拟机自动分配,而VF只在虚拟机运行的过程中动态分配给网络I/O密集型的虚拟机。传输速率控制模块按照阶梯上升的方法为每个VF设置最大发送带宽和最大接收带宽,状态监控模块按照设定的周期不断的将虚拟机的数据发送给VF调度模块,VF调度模块利用收集的数据进行VF的调度分配。默认情况下每个虚拟机都只配置有半虚拟化网卡,一旦VF调度模块判断一个虚拟机为网络I/O密集型虚拟机时,就分配一个对应带宽大小的VF以提高其性能。当VF调度模块感知该虚拟机不再为I/O密集型虚拟机时,其VF资源将被剥夺,从而可以分配给其他网络I/O密集型虚拟机。
本实施例中VF的分配和移除的方法是:采用ACPI机制对虚拟机的VF进行PCIe设备热插拔,一旦控制面板发送PCIe设备的热移除命令,Hotplug控制台收到命令后通过修改GPE位图中相应的二进制位用以标记要移除的设备,并将触发SCI(System ControlInterrupt)中断。当虚拟机中的ACPI驱动检测到SCI中断信号,将会清除GPE位图中相应的二进制位,并在Hotplug控制器中查询要移除的PCIe设备后发送给Linux,同时Linux将停止使用设备并卸载设备驱动。此外,ACPI驱动将会执行ACPI控制操作_EJ0以关闭虚拟机中的PCIe设备,同时利用_STA来验证设备是否移除成功。除了不使用ACPI控制操作_STA外,给添加虚拟机VF的流程跟移除的过程类似。
本发明提出的一种SR-IOV环境下的KVM虚拟机网络优化方法,针对虚拟机负载多样性和变化性的特点,结合虚拟机上层的网络I/O特性,对VF进行网络带宽的层级划分以按需给虚拟机分配网络资源,将带宽吞吐率与网络延迟进行统一的优化,以最大化云网络服务的性能。
实施例二
根据本发明的另一实施例,参见图4,提供了一种SR-IOV环境下的KVM虚拟机网络优化装置,包括:
配置模块201,用于在每个虚拟机上配置SR-IOV的VF网卡和半虚拟化网卡;
状态监控模块202,用于采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输;
VF调度模块203,用于接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF。
本发明实施例中的SR-IOV环境下的KVM虚拟机网络优化装置,接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF,针对虚拟机负载多样性和变化性的特点,结合虚拟机上层的网络I/O特性,对VF以按需给虚拟机分配网络资源,将带宽吞吐率与网络延迟进行统一的优化,以最大化云网络服务的性能。
优选地,参见图5,该网络优化装置还包括:
传输速率控制模块204,用于使用层级划分的方法为每个VF设置最大发送带宽和最大接收带宽,按需分配网络带宽给虚拟机。
本发明提供一种SR-IOV环境下的KVM虚拟机网络优化装置,为使本发明的目的及技术方案更加清楚明确,以下参照附图并举实例对本发明进一步做详细说明。
本发明提出的一种SR-IOV环境下的KVM虚拟机网络优化装置,是基于虚拟机的工作负载感知对网络带宽层级划分后的VF进行调度分配。SR-IOV技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV标准允许在虚拟机之间高效共享PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的I/O性能。该网络优化装置分为三个主要部分,分别为状态监控模块202、传输速率控制模块204和VF调度模块203,其中,状态监控模块202又包括I/O状态监控模块和网络状态监控模块。在每个虚拟机中都运行着网络状态监控模块作为守护进程收集虚拟机的网络数据,而在主机的网络状态监控模块通过virtio-serial串行通信机制接收每个虚拟机发送的网络数据并进行统一的处理,同时I/O状态监控模块会获取虚拟机运行的CPU利用率数据。传输速率控制模块204可以对每个虚拟机的虚拟功能VF(Virutal Function)设置最大发送带宽和接收带宽,状态监控模块202按照设定的周期不断的将网络数据发送给VF调度模块203,VF调度模块203利用收集的网络数据进行VF的调度分配。
一种SR-IOV环境下的KVM虚拟机网络优化装置,该网络优化装置包括如下模块:
(1)状态监控模块202:
(1.1)状态监控模块202负责监控和采集每个虚拟机的运行状态和网络等数据,并在每次采样周期结束后将数据发送于VF调度模块203进行调度决策,采样频率依据使读写文件带来的性能损失最小来设定。状态监控模块202包括I/O状态监控模块和网络状态监控模块。
(1.2)I/O状态监控模块通过Libvirt中的virDomainGetInfo接口获取在采样周期内虚拟机运行的时间差,并除以主机的实际CPU运行时间计算得到虚拟机的CPU使用率。
(1.3)网络监控模块读取虚拟机的Linux内核接口文件/proc/net/dev获取虚拟机的网络流量数据,将现有的发送(或接收)总流量减去上次发送(或接收)总流量便是本次采样周期发送(或接收)总流量和。
(1.4)状态监控模块202通过virtio-serial串行通信的方式将各个虚拟机的数据发送给特权域Dom0。
(2)传输速率控制模块204:
(2.1)SR-IOV网卡提供Transmit Rate Scheduler(TRS)功能对每个传输队列的数量进行限制以限制VF的传输速率,但VF自己没有设置传输速率的权限,由具有全局操作权限的PF进行设置和修改。
(2.2)为了能够根据网络密集型虚拟机的网络需求分配相应大小的带宽,传输速率控制模块204在对VF的传输速率进行限制的时候使用层级划分的方法,即让每个VF的最大带宽按照阶梯上升的方法进行划分。
(2.3)传输速率控制模块204通过sysfs系统文件限制每个VF的带宽,具体来说是设置/sys/class/net以限制VF的最大传输速率。
(3)VF调度模块203:
(3.1)VF调度模块203位于特权域Dom0中负责对VF的全局调度,所有虚拟机都被放入优先队列和通用队列中,其中优先队列是红黑树,存放的是网络I/O密集型的虚拟机,而通用队列存放的是其他类型的虚拟机,包括磁盘I/O密集型和CPU密集型的虚拟机。
(3.2)最初所有的虚拟机都被放入通用队列中,然后依次将网络密集程度高的虚拟机插入到优先队列中。
(3.3)VF调度模块203在调度的过程中当优先队列中虚拟机的网络密集程度低于通用队列某一虚拟机时,优先队列中的这一虚拟机会被移到通用队列中并剥夺其VF,而选择通用队列中网络密集程度最大的虚拟机插入优先队列并分配VF。
(3.4)VF调度模块203是根据虚拟机的网络密集程度分配对应带宽大小的VF,具体的做法是根据网络密集程度从大到小对虚拟机进行排序,然后依次给虚拟机分配层级带宽划分后的VF。
(3.5)VF调度模块203会限制VF的数量以提升网络I/O密集型虚拟机的网络性能,VF的数量根据具体的环境而设定,如虚拟机的数量、可用带宽的大小等。
本发明提供了一种SR-IOV环境下的KVM虚拟机网络优化装置。该装置针对现有的虚拟化方式无法满足灵活高效的资源分配需求,提出了一种按需分配的混合I/O虚拟化方式。该装置能够根据虚拟机负载的类型来分配资源,因此为了能够根据虚拟机的网络工作负载分配相应的带宽,该装置对VF的网络带宽进行层级划分以按需分配给虚拟机,并通过ACPI Hotplug和Bonding驱动技术的激活-备份策略来动态切换VF和半虚拟机网卡,以此来保证VF的动态分配。该装置能够动态感知虚拟机工作负载以按需分配虚拟网络资源,在提升系统网络性能的同时可以保证虚拟机的可扩展性。
在本发明的一个实施例中,网络状态监控模块在获取虚拟机的网络数据时为每个虚拟机构建两个virtio-serial串行通信通道,分别为virtio数据通道和virtio控制通道。在虚拟机中运行的守护进程中对控制通道进行异步监听,当检测到主机向虚拟机发送指令时,虚拟机通过数据通道向主机发送数据以完成响应。数据通道在初始是关闭状态,只有在控制通道监听到有相应请求时才会打开数据通道,当传输完数据之后数据通道会重新关闭。
在本发明的一个实施例中,虚拟机使用Bonding驱动的激活备份模式将VF设置为主设备,而半虚拟化的网卡被设置为从设备。在默认情况下不给虚拟机分配VF,即主设备处于非激活状态,这时虚拟机使用半虚拟化网卡工作,而只有当虚拟机变成网络I/O密集型时才给虚拟机分配VF,这时主设备被激活所以虚拟机会自动切换为VF进行工作。
在本发明的一个实施例中,VF的分配和移除采用ACPI机制对虚拟机进行PCIe设备的热插拔,可在不影响虚拟机运行的情况下动态的分配或移除VF设备。
在本发明的一个实施例中,传输速率控制模块204对VF的网络带宽进行层级划分后以按需分配网络带宽给虚拟机,VF调度模块203是根据虚拟机的网络I/O密集程度分配相应的带宽大小的VF。
在本发明的一个实施例中,虚拟机网络密集程度判定的方法是首先让每个虚拟机的CPU利用率与设定的阈值相比较将虚拟机分为网络I/O密集型和网络非I/O密集型,然后将网络I/O密集型的虚拟机按照虚拟机的网络流量信息从大到小排序,网络流量越大的虚拟机网络密集程度越大。
以下结合附图对本发明所提供的SR-IOV环境下的KVM虚拟机网络优化装置做详细说明,图3为本发明SR-IOV环境下的KVM虚拟机网络优化装置的框架示意图。在每个虚拟机都配置有两块网卡,分别为SR-IOV的VF网卡和半虚拟化的网卡。半虚拟化网卡通过特权域Dom0创建虚拟机时为每个虚拟机自动分配,而VF只在虚拟机运行的过程中动态分配给网络I/O密集型的虚拟机。传输速率控制模块204按照阶梯上升的方法为每个VF设置最大发送带宽和最大接收带宽,状态监控模块202按照设定的周期不断的将虚拟机的数据发送给VF调度模块203,VF调度模块203利用收集的数据进行VF的调度分配。默认情况下每个虚拟机都只配置有半虚拟化网卡,一旦VF调度模块203判断一个虚拟机为网络I/O密集型虚拟机时,就分配一个对应带宽大小的VF以提高其性能。当VF调度模块203感知该虚拟机不再为I/O密集型虚拟机时,其VF资源将被剥夺,从而可以分配给其他网络I/O密集型虚拟机。
本实施例中VF的分配和移除的方法是:采用ACPI机制对虚拟机的VF进行PCIe设备热插拔,一旦控制面板发送PCIe设备的热移除命令,Hotplug控制台收到命令后通过修改GPE位图中相应的二进制位用以标记要移除的设备,并将触发SCI(System ControlInterrupt)中断。当虚拟机中的ACPI驱动检测到SCI中断信号,将会清除GPE位图中相应的二进制位,并在Hotplug控制器中查询要移除的PCIe设备后发送给Linux,同时Linux将停止使用设备并卸载设备驱动。此外,ACPI驱动将会执行ACPI控制操作_EJ0以关闭虚拟机中的PCIe设备,同时利用_STA来验证设备是否移除成功。除了不使用ACPI控制操作_STA外,给添加虚拟机VF的流程跟移除的过程类似。
本发明提出的一种SR-IOV环境下的KVM虚拟机网络优化装置,针对虚拟机负载多样性和变化性的特点,结合虚拟机上层的网络I/O特性,对VF进行网络带宽的层级划分以按需给虚拟机分配网络资源,将带宽吞吐率与网络延迟进行统一的优化,以最大化云网络服务的性能。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种SR-IOV环境下的KVM虚拟机网络优化方法,其特征在于,包括:
在每个虚拟机上配置SR-IOV的VF网卡和半虚拟化网卡;
采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输;
接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF;
所述网络优化方法还包括:
使用层级划分的方法为每个VF设置最大发送带宽和最大接收带宽,按需分配网络带宽给虚拟机;
所述接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF具体包括:
在特权域Dom0中对VF进行全局调度,所有虚拟机都被放入优先队列和通用队列中,其中优先队列是红黑树,存放的是网络I/O密集型的虚拟机,而通用队列存放的是磁盘I/O密集型和CPU密集型的虚拟机;
首先让每个虚拟机的CPU利用率与设定的阈值相比较将虚拟机分为网络I/O密集型和网络非I/O密集型,然后将网络I/O密集型的虚拟机按照虚拟机的网络流量信息从大到小排序,网络流量越大的虚拟机网络I/O密集程度越大;
最初所有的虚拟机都被放入通用队列中,然后依次将网络I/O密集程度高的虚拟机插入到优先队列中;
在调度的过程中当优先队列中虚拟机的网络I/O密集程度低于通用队列某一虚拟机时,优先队列中的这一虚拟机会被移到通用队列中并剥夺其VF,而选择通用队列中网络I/O密集程度最大的虚拟机插入优先队列并分配VF;
根据虚拟机的网络I/O密集程度分配对应带宽大小的VF,具体是根据网络I/O密集程度从大到小对虚拟机进行排序,然后依次给虚拟机分配层级带宽划分后的VF。
2.根据权利要求1所述的SR-IOV环境下的KVM虚拟机网络优化方法,其特征在于,所述半虚拟化网卡通过特权域Dom0创建虚拟机时为每个虚拟机自动分配,所述VF网卡只在虚拟机运行的过程中动态分配给网络I/O密集型的虚拟机。
3.根据权利要求2所述的SR-IOV环境下的KVM虚拟机网络优化方法,其特征在于,虚拟机使用Bonding驱动的激活备份模式将VF设置为主设备,而半虚拟化的网卡被设置为从设备;在默认情况下不给虚拟机分配VF,虚拟机使用半虚拟化网卡工作,当虚拟机变成网络I/O密集型时才给虚拟机分配VF,此时主设备被激活,虚拟机会自动切换为VF进行工作。
4.根据权利要求1所述的SR-IOV环境下的KVM虚拟机网络优化方法,其特征在于,所述采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输包括:
采集每个虚拟机的运行状态和网络数据的采样频率依据使读写文件带来的性能损失最小来设定;在每个虚拟机处的守护进程中收集虚拟机的网络数据,在主机处通过virtio-serial串行通信机制接收每个虚拟机发送的网络数据并进行统一的处理,同时获取虚拟机运行的CPU利用率数据。
5.根据权利要求4所述的SR-IOV环境下的KVM虚拟机网络优化方法,其特征在于,所述采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输具体包括:
在获取虚拟机的网络数据时为每个虚拟机构建两个virtio-serial串行通信通道,分别为virtio数据通道和virtio控制通道;在虚拟机中运行的守护进程中对控制通道进行异步监听,当检测到主机向虚拟机发送指令时,虚拟机通过数据通道向主机发送数据以完成响应;数据通道在初始是关闭状态,只有在控制通道监听到有相应请求时才会打开数据通道,当传输完数据之后数据通道会重新关闭;
通过Libvirt中的virDomainGetInfo接口获取在采样周期内虚拟机运行的时间差,并除以主机的实际CPU运行时间计算得到虚拟机的CPU使用率;
读取虚拟机的Linux内核接口文件/proc/net/dev获取虚拟机的网络流量数据,将现有的发送或接收总流量减去上次发送或接收总流量便是本次采样周期发送或接收总流量和;
通过virtio-serial串行通信的方式将各个虚拟机的数据发送给特权域Dom0。
6.根据权利要求1所述的SR-IOV环境下的KVM虚拟机网络优化方法,其特征在于,VF的分配和移除采用ACPI机制对虚拟机进行PCIe设备的热插拔,在不影响虚拟机运行的情况下动态的分配或移除VF设备。
7.一种SR-IOV环境下的KVM虚拟机网络优化装置,其特征在于,包括:
配置模块,用于在每个虚拟机上配置SR-IOV的VF网卡和半虚拟化网卡;
状态监控模块,用于采集每个虚拟机的运行状态和网络数据,在每次采样周期结束后将运行状态和网络数据进行传输;
VF调度模块,用于接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF;
所述网络优化装置还包括:
传输速率控制模块,用于使用层级划分的方法为每个VF设置最大发送带宽和最大接收带宽,按需分配网络带宽给虚拟机;
所述接收传输的运行状态和网络数据,根据运行状态和网络数据判断每个虚拟机的网络I/O密集程度,并根据网络I/O密集程度对每个虚拟机通过VF网卡配置与该网络I/O密集程度相对应带宽大小的VF具体包括:
在特权域Dom0中对VF进行全局调度,所有虚拟机都被放入优先队列和通用队列中,其中优先队列是红黑树,存放的是网络I/O密集型的虚拟机,而通用队列存放的是磁盘I/O密集型和CPU密集型的虚拟机;
首先让每个虚拟机的CPU利用率与设定的阈值相比较将虚拟机分为网络I/O密集型和网络非I/O密集型,然后将网络I/O密集型的虚拟机按照虚拟机的网络流量信息从大到小排序,网络流量越大的虚拟机网络I/O密集程度越大;
最初所有的虚拟机都被放入通用队列中,然后依次将网络I/O密集程度高的虚拟机插入到优先队列中;
在调度的过程中当优先队列中虚拟机的网络I/O密集程度低于通用队列某一虚拟机时,优先队列中的这一虚拟机会被移到通用队列中并剥夺其VF,而选择通用队列中网络I/O密集程度最大的虚拟机插入优先队列并分配VF;
根据虚拟机的网络I/O密集程度分配对应带宽大小的VF,具体是根据网络I/O密集程度从大到小对虚拟机进行排序,然后依次给虚拟机分配层级带宽划分后的VF。
CN201910308994.6A 2019-04-17 2019-04-17 Sr-iov环境下的kvm虚拟机网络优化方法及装置 Active CN110113184B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910308994.6A CN110113184B (zh) 2019-04-17 2019-04-17 Sr-iov环境下的kvm虚拟机网络优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910308994.6A CN110113184B (zh) 2019-04-17 2019-04-17 Sr-iov环境下的kvm虚拟机网络优化方法及装置

Publications (2)

Publication Number Publication Date
CN110113184A CN110113184A (zh) 2019-08-09
CN110113184B true CN110113184B (zh) 2021-10-26

Family

ID=67485654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910308994.6A Active CN110113184B (zh) 2019-04-17 2019-04-17 Sr-iov环境下的kvm虚拟机网络优化方法及装置

Country Status (1)

Country Link
CN (1) CN110113184B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412865B (zh) * 2018-11-28 2020-08-25 深圳先进技术研究院 一种虚拟网络资源分配方法、系统及电子设备
CN111224871A (zh) * 2019-12-31 2020-06-02 江苏省未来网络创新研究院 基于kvm和SRIOV实现虚拟化路由及其方法
CN113259142B (zh) * 2021-07-07 2021-10-12 飞腾信息技术有限公司 虚拟机中的组播性能优化方法、系统、装置及存储介质
CN114662162B (zh) * 2022-05-25 2022-09-20 广州万协通信息技术有限公司 实现动态分配vf的多算法核高性能sr-iov加解密系统及方法
CN115484212B (zh) * 2022-07-26 2023-10-20 浪潮通信技术有限公司 VF的QoS调整方法、装置及电子设备
CN116401066B (zh) * 2023-05-25 2023-08-29 北京志凌海纳科技有限公司 用于提高资源利用率的多虚拟服务的动态调度方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488098A (zh) * 2009-02-13 2009-07-22 华中科技大学 基于虚拟计算技术的多核计算资源管理系统
CN109558216A (zh) * 2018-12-11 2019-04-02 深圳先进技术研究院 一种基于在线迁移的单根i/o虚拟化优化方法及其系统
CN109614229A (zh) * 2018-11-30 2019-04-12 深圳先进技术研究院 一种基于软件定义的虚拟网络资源分配系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488098A (zh) * 2009-02-13 2009-07-22 华中科技大学 基于虚拟计算技术的多核计算资源管理系统
CN109614229A (zh) * 2018-11-30 2019-04-12 深圳先进技术研究院 一种基于软件定义的虚拟网络资源分配系统
CN109558216A (zh) * 2018-12-11 2019-04-02 深圳先进技术研究院 一种基于在线迁移的单根i/o虚拟化优化方法及其系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Raccoon: A Novel Network I/O Allocation Framework for Workload-Aware VM Scheduling in Virtual Environments;Lingfang Zeng等;《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》;20170930;第28卷(第9期);全文 *

Also Published As

Publication number Publication date
CN110113184A (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
CN110113184B (zh) Sr-iov环境下的kvm虚拟机网络优化方法及装置
US9780998B2 (en) Method and apparatus for managing physical network interface card, and physical host
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
US8924959B2 (en) Switching hardware devices in virtual machine systems using resource converting relationships
US20150095472A1 (en) Resource Affinity Via Dynamic Reconfiguration for Multi-Queue Network Adapters
CN101788845B (zh) 用于以降低功耗状态来执行计算机任务的方法和系统
US7778275B2 (en) Method for dynamically allocating network adapters to communication channels for a multi-partition computer system
CN113312143B (zh) 云计算系统、命令处理方法及虚拟化仿真装置
CN107766145B (zh) 双系统下的内存管理方法和装置
CN113312142B (zh) 虚拟化处理系统、方法、装置及设备
CN104714846A (zh) 资源处理方法、操作系统及设备
CN103609077A (zh) 用于数据传输的方法、装置和系统以及物理网卡
CN109558216B (zh) 一种基于在线迁移的单根i/o虚拟化优化方法及其系统
CN107846367B (zh) 一种数据传输方法及装置
CN113821308A (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
JP2013125548A (ja) 仮想マシン割り当てシステム及びその使用方法
EP3358795B1 (en) Method and apparatus for allocating a virtual resource in network functions virtualization (nfv) network
CN112527513B (zh) 多个gpu动态分配方法及系统
CN104123188A (zh) 一种资源分配方法及相关装置
CN104156663A (zh) 一种硬件虚拟端口及处理器系统
CN109614229B (zh) 一种基于软件定义的虚拟网络资源分配系统
KR20160105636A (ko) 멀티 노드 시스템의 서버 가상화 방법 및 그 장치
CN108351802B (zh) 计算机数据处理系统和用于虚拟机通信的基于通信流量的优化的方法
CN108667750A (zh) 虚拟资源管理方法及装置
CN114860387A (zh) 一种面向虚拟化存储应用的hba控制器i/o虚拟化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200210

Address after: Office building of Shenzhen Institute of advanced technology A-207 518000 in Guangdong city of Shenzhen province Nanshan District City Road No. 1068 Chinese Academy of Shenzhen University Academy of Sciences

Applicant after: Shenzhen advanced science and technology Cci Capital Ltd

Address before: 1068 No. 518055 Guangdong city of Shenzhen province Nanshan District Shenzhen University city academy Avenue

Applicant before: SHENZHEN INSTITUTES OF ADVANCED TECHNOLOGY CHINESE ACADEMY OF SCIENCES

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200706

Address after: 12 / F, building 5, Haiju center, Qiantang New District, Hangzhou City, Zhejiang Province

Applicant after: HANGZHOU ZHONGKE ADVANCED TECHNOLOGY RESEARCH INSTITUTE Co.,Ltd.

Address before: Office building of Shenzhen Institute of advanced technology A-207 518000 in Guangdong city of Shenzhen province Nanshan District City Road No. 1068 Chinese Academy of Shenzhen University Academy of Sciences

Applicant before: Shenzhen advanced science and technology Cci Capital Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant