CN101465863A - 一种内核虚拟机环境下高效网络i/o的实现方法 - Google Patents

一种内核虚拟机环境下高效网络i/o的实现方法 Download PDF

Info

Publication number
CN101465863A
CN101465863A CNA2009100763628A CN200910076362A CN101465863A CN 101465863 A CN101465863 A CN 101465863A CN A2009100763628 A CNA2009100763628 A CN A2009100763628A CN 200910076362 A CN200910076362 A CN 200910076362A CN 101465863 A CN101465863 A CN 101465863A
Authority
CN
China
Prior art keywords
network
virtual machine
kernel
message
path
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.)
Granted
Application number
CNA2009100763628A
Other languages
English (en)
Other versions
CN101465863B (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.)
Beihang University
Beijing University of Aeronautics and Astronautics
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN200910076362A priority Critical patent/CN101465863B/zh
Publication of CN101465863A publication Critical patent/CN101465863A/zh
Application granted granted Critical
Publication of CN101465863B publication Critical patent/CN101465863B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种内核虚拟机环境下高效网络I/O的实现方法,该方法有四个步骤。步骤一:高效网络报文捕获机制;步骤二:高效MAC层复用机制;步骤三:防扰动的网络I/O路径分析机制;步骤四:网络I/O优化机制。本发明提出的方法弥补了当前内核虚拟机环境下网络I/O分析的空缺,为内核虚拟机环境下网络I/O优化提供了强有力的支持,解决了当前内核虚拟机环境下存在的网络I/O性能问题,使得内核虚拟机能够更好地应用于真实的网络环境,因此,本发明具有良好的应用前景和发展前途。

Description

一种内核虚拟机环境下高效网络I/O的实现方法
(一)技术领域
本发明涉及一种网络I/O的实现方法,尤其涉及一种内核虚拟机环境下的高效网络I/O的实现方法,它与计算***虚拟化技术有关,属于计算机技术领域。
(二)背景技术
1.X86虚拟化技术发展迅速并呈现轻量化趋势
虚拟化技术出现于上个世纪六、七十年代,主要应用在大型机上,初衷是为了实现更高的设备利用率,使多个用户能够尽可能地利用大型机丰富的***资源,节省成本。近年来,随着硬件设备性能的不断提高,虚拟机技术应用于X86架构的服务器成为当前的发展主流。X86虚拟化技术能够有效帮助服务器整合从而减少服务器数量,提高服务器资源利用率。不仅如此,虚拟化技术还可以提供各业务之间的安全隔离,增强***可靠性。x86虚拟化技术的迅速发展,为业务整合和业务之间的安全隔离提供了强有力的理论支撑和实践保障。
当前主流的***虚拟机有VMware系列,Xen和KVM(Kernel Virtual Machine,内核虚拟机)等。在众多虚拟机中,VMware可交互性好,管理方便,界面完善,可实现全虚拟化。但由于其实现是基于二进制翻译,降低了虚拟机的性能。Xen和KVM从性能上更接近本地速度,但是Xen的性能会损失在一些负载上,特别是磁盘密集型和网络密集型的应用,而KVM没有这一缺点。从网络I/O实现机制看,Xen使用一个单独的doman0来进行数据的传送、管理和调度,带来了极大的开销。内核虚拟机KVM利用Intel VT-x或AMD-V技术将Linux内核作为虚拟机管理器(VMM),KVM使用稍改动的qemu程序来创建虚拟机.一旦运行后,虚拟机是一个标准的进程,另外KVM是linux作为一部分,可使用通常的linux调度器和内存管理.减少了由一个单独的VMM来进行管理所带来的开销。这意味着kvm更小更易使用。KVM在网络I/O处理上进行了简化,相对于Xen有更好的网络I/O性能。这种轻量级虚拟机的实现方式正成为虚拟机的发展趋势。
2.硬件支持的虚拟化技术
随着虚拟机技术的快速发展,Intel和AMD分别提出了硬件虚拟化技术——Intel VT-x和AMD-V。Intel VT-x和AMD-V技术从硬件上提供了对虚拟机的支持,我们以Intel VT-x技术为例,AMD-V与之类似。VT-x技术提供了两种处理器的工作环境:根(Root)操作环境和非根(Non-root)操作环境。虚拟机管理器(VMM)运行于根操作环境而各个虚拟机运行于非根操作环境。定义了VMCS(Virtual Machine Control Structure)结构用来管理这两种操作环境之间的转换。并且增加了一些支持VMX(Virtual-Machine Extensions)的指令,如VMLAUNCH(装载客户机状态)、VMRESUME(恢复客户机运行)等。如图2所示,VMM可以通过虚拟机进入(VM Entry)使处理器进入VMX非根操作环境,同时将处理器状态保存到VMCS结构中(Host状态),Guest状态从VMCS中装入。相反通过虚拟机退出(VM Exit)可以使控制权回到VMX根操作环境,同样处理器状态保存在VMCS结构中(Guest状态),而Host状态则从VMCS中装入。处理器处于根操作环境时的功能和权限就跟没有VMX的***一样,只是引入了一些新的支持VMX的指令,而处于非根操作环境的处理器的行为受到限制。某些特定的指令、事件和状态会导致虚拟机退出到VMM进行特权资源的虚拟化,但是客户机软件本身并不知道自己是否运行在虚拟机上。而Intel VT-d技术则提供了直接的I/O访问方式,支持DMA的重定向以及中断的重定向,以进一步提高虚拟机的I/O操作性能。
3.虚拟机环境下的网络I/O优化技术
目前分析主流开源虚拟机网络I/O性能主要集中在Xen上,其在处理网络I/O的过程中的***开销非常大的,在数据接收的过程中,Guest Domain所达到的吞吐量还不到DriverDomain的一半。针对Xen性能低下的I/O优化技术主要包括:Multiqueue Network Interfaces和CDNA(Concurrent Direct Network Access),而对代表X86虚拟化技术发展趋势的KVM的网络I/O性能的分析和优化技术却是非常缺乏的,同时,通过试验数据显示:内核虚拟机环境下的网络I/O路径和延迟都非常长,因此急需一种实现内核虚拟机环境下高效网络I/O的方法。
(三)发明内容
1 目的
本发明针对当前内核虚拟机环境下网络I/O性能低下且缺乏研究的情况,提供了一种内核虚拟机环境下高效网络I/O的方法,从而提高内核虚拟机环境下网络I/O的性能,弥补当前内核虚拟机环境下的网络I/O分析和优化的空缺,为内核虚拟机更好地应用于真实的网络环境提供强有力的基础。
2 ***技术方案总览
物理主机是相对于内核虚拟机而言的,指的是安装了内核虚拟机的物理机器。每个内核虚拟机即Kernel Virtual Machine,就是一个简单的Linux进程,因此可以充分利用Linux内核的一些特性,所有标准的Linux进程管理工具都可以应用于内核虚拟机,由此带来的虚拟资源的控制和调度开销会比较小。
在本发明提供的一种内核虚拟机环境下高效网络I/O实现方法中,单个物理机器上运行一个或者多个内核虚拟机(以下将运行虚拟机的机器称为物理主机,称内核虚拟机为虚拟机),本方法采用硬件支持的指令虚拟化技术以及硬件支持的I/O虚拟化技术,当网络数据包到达物理主机时,通过分析该网络数据包从物理主机发送到各虚拟机的路径,以及该路径上影响I/O性能的主要因素和瓶颈,针对这些因素和瓶颈进行网络I/O性能的优化,从而提高内核虚拟机环境下网络I/O的性能,实现了一种内核虚拟机环境下高效网络I/O的方法。
本方法主要包括:在分析网络I/O之前的高效网络报文捕获机制,高效MAC层复用机制,物理主机和内核虚拟机中的防扰动网络I/O路径分析机制,以及它们之上的网络I/O路径优化机制。
图1所示的是本发明的各模块与所在的***的总体框架。该***主要由四大模块组成:最底层的是***的硬件设备,如:CPU,内存以及I/O设备等;第二层是物理主机高效I/O模块,物理主机高效I/O模块又由四部分组成:高效网络报文捕获模块,高效MAC层复用模块,网络I/O路径分析模块以及网络I/O访问路径优化模块;第三层是虚拟机管理器,包括三个小模块:硬件支持的指令虚拟化模块,硬件支持的I/O虚拟化模块以及网络I/O访问路径优化模块;最上层的是虚拟机高效I/O模块,为方便起见,本图中只画了2台内核虚拟机,其他的以省略号表示,其中,虚拟机模块中包括网络I/O路径分析模块和网络I/O访问路径优化模块。
图2所示的是本方法实施于具体***的***工作流程图,物理主机的物理网卡NIC收到数据后,产生一个硬中断,该中断被Linux内核中的网卡驱动NIC Driver捕获,NIC Driver把数据提交给网桥,网桥将数据转发到其端口之一tap然后将数据通过内核态向用户态数据拷贝的方式转发至用户态下的Qemu,此时,tap向KVM Driver发送信号表示数据已发送至Qemu,KVM Driver收到该信号后,向Qemu发送一个虚拟的中断信号,Qemu收到该虚拟中断信号后,将接收到的数据发送到内核虚拟机操作***的网络协议栈。
图3所示的是虚拟网桥工作流程图,如果网络报文是发给本机的,则需要将网络报文交到上层处理;如果开启了STP,还要处理STP协议;如果虚拟网桥的虚拟网卡处于混杂模式,那么每个接收到的网络报文都需要克隆一份送到AF_PACKET协议处理体;目的MAC为广播或多播,则需要向本机的上层协议栈传送这个网络报文,这里有一个标志变量passedup用于表示是否传送过,如果已传送过,就丢弃;查询CAM表后,如果能够找到表项,并且目的MAC是到本机的虚拟网卡的,就需要把这个报文提交给上层协议;查到表且不是本地虚拟网卡的,转发这个报文;如果表里边查不到,就采用广播方式。这样就将网络报文从物理主机转发到其端口之一tap,从而实现高效MAC层复用机制。
本方法的主要功能是在图1中所示的防扰动网络I/O路径分析模块和网络I/O路径优化模块,这两个模块同时应用于主机,虚拟机管理器以及内核虚拟机中,从而实现了一种内核虚拟机环境下高效网络I/O。
3 具体方案
本方法大体过程为:高效网络报文捕获机制将网络报文捕获提交给处于内核态下的虚拟网桥,与传统的Linux网络层次结构不同,本方法中采用一种旁路I/O的方式进行网络报文的传输,通过高效MAC复用机制,将网络报文提交给物理主机操作***内部的网络I/O路径分析模块,进行物理主机的网络I/O路径分析,网络I/O路径优化机制根据分析的结果对网络I/O进行优化,从而实现物理主机内部高效网络I/O。同样将网络I/O路径分析机制和网络I/O路径优化模块应用于虚拟机管理器和各内核虚拟机,实现虚拟机管理器和各内核虚拟机高效网络I/O,这样,这个***的网络I/O性能得到提高,实现了内核虚拟机环境下的高效网络I/O。
一种内核虚拟机环境下高效网络I/O的方法,该方法具体步骤如下:
步骤1:高效网络报文捕获机制。在Linux***中,操作***内核协议栈为用户提供了一种工作在数据链路层的套接字SOCK_PACKET。Libpcap通过该套接字应用程序接口从用户态进入到***内核态,绕过内核协议栈中的TCP层和IP层处理过程直接从数据链路层捕获原始网络数据帧,这样能够节省数据包在接收过程中所消耗的CPU时间。但是在Libpcap捕包过程中,***调用、数据拷贝和内核中断处理仍然是***主要的性能瓶颈。本机制中在Libpcap的基础上,针对Libpcap的几个耗时环节分别进行优化,增加了内核过滤机制以及旁路内核协议栈来对网络报文捕获进行优化,实现高效的网络报文捕获机制。
步骤2:高效MAC层复用机制。以虚拟网桥的方式来实现高效MAC层复用机制,将内核虚拟机启动时自动产生的连接内核虚拟机和物理主机网络通信的接口tap添加到虚拟网桥的端口中,待接收虚拟网桥转发的网络报文。高效MAC层复用机制的具体思路是:虚拟网桥维护一个MAC-PORT表,通过查找该表找到指定端口而不是广播的方式来转发网络报文。每次收到一个报文,虚拟网桥都会学习其来源MAC地址,并将该地址添加进这个表。整个虚拟网桥的处理,就是一个根据源地址学习(写表)和根据目的地址确定发送端口(查表)的过程。具体流程如图3所示。如果网络报文是发给本机的,则需要将网络报文交到上层处理;如果开启了STP,还要处理STP协议;如果虚拟网桥的虚拟网卡处于混杂模式,那么每个接收到的网络报文都需要克隆一份送到AF_PACKET协议处理体;目的MAC为广播或多播,则需要向本机的上层协议栈传送这个网络报文,这里有一个标志变量passedup用于表示是否传送过,如果已传送过,就丢弃;查询CAM表后,如果能够找到表项,并且目的MAC是到本机的虚拟网卡的,就需要把这个报文提交给上层协议;查到表且不是本地虚拟网卡的,转发这个报文;如果表里边查不到,就采用广播方式。这样就将网络报文从物理主机转发到其端口之一tap,从而实现高效MAC层复用机制。
步骤3:防扰动的网络I/O路径分析机制。主要是分析网络报文从物理主机到内核虚拟机的路径以及各路径上相应的开销(包括路径上消耗的时间,CPU使用率以及内存的占用率等),从而得出影响内核虚拟机环境下网络I/O性能的主要瓶颈。主要思路是:利用Linux内核监控机制SystemTap技术实现一种网络I/O路径分析工具,通过对内核函数进行插桩处理,挖掘出网络数据包传输过程中的路径信息和性能开销,包括经过的函数以及在各个函数上所花费的时间,从而得出主要的性能开销所在。同时,建立一种网络I/O事件捕获机制,一旦发现网络I/O就触发该工具进行I/O路径的监控。通过内核函数进行插桩处理研发的网络I/O路径分析机制难免会产生该网络I/O路径分析工具自身带来的扰动问题,本发明中还能处理自身带来的扰动问题,建立一种防扰动的网络I/O路径分析机制。主要思路是:利用减少插桩点,来尽量减少网络I/O分析路径工具自身带来的扰动问题。
步骤4:网络I/O优化机制。根据防扰动的网络I/O路径分析机制得出的网络I/O路径上的主要性能开销,通过缩短网络数据从物理主机的网卡到内核虚拟机的传递路径,减少传输中网络数据的丢失和由于传输网络数据所带来的***性能开销,主要技术在于提高内核态向用户态转发数据的效率以及虚拟机内部数据转发的效率。从而提高内核虚拟机环境下网络I/O性能,实现内核虚拟机环境下的高效网络I/O。本发明中针对网络I/O优化的主要思路是:首先在物理主机内部:采用高效网络报文捕获技术进行高效捕包,利用高效MAC复用技术对捕获的报文进行高效转发,同时,利用步骤三中防扰动的网络I/O路径分析机制给出的网络I/O的主要开销和瓶颈,进行网络I/O优化。另外在虚拟机管理器和虚拟机模块中也采用步骤三中防扰动的网络I/O路径分析机制给出的网络I/O的主要开销和瓶颈,进行网络I/O优化。
4 优点及功效
本发明提供了一种内核虚拟机环境下高效网络I/O的实现方法,它是在单个物理主机上运行一个或者多个虚拟机,先通过分析内核虚拟机环境下网络I/O的路径以及各路径上的开销,得到从物理主机到内核虚拟机进行网络报文传输的过程中的主要开销所在,据此进行网络I/O优化,从而实现内核虚拟机环境下的高效网络I/O。本发明提出的方法弥补了当前内核虚拟机环境下网络I/O分析的空缺,为内核虚拟机环境下网络I/O优化提供了强有力的支持,解决了当前内核虚拟机环境下存在的网络I/O性能问题,使得内核虚拟机能够更好地应用于真实的网络环境,因此,本发明具有良好的应用前景和发展前途。
(四)附图说明
图1***模块示意图;
图2***工作流程示意图;
图3虚拟网桥工作流程图;
(五)具体实施方式
见图1、图2、图3所示,一种内核虚拟机环境下高效网络I/O的方法,该方法具体步骤如下:
总体***的实现平台是联想万全R510服务器,处理器为Xeon3230;
步骤1:高效网络报文捕获机制。在Linux***中,操作***内核协议栈为用户提供了一种工作在数据链路层的套接字SOCK_PACKET。Libpcap通过该套接字应用程序接口从用户态进入到***内核态,绕过内核协议栈中的TCP层和IP层处理过程直接从数据链路层捕获原始网络数据帧,这样能够节省数据包在接收过程中所消耗的CPU时间。但是在Libpcap捕包过程中,***调用、数据拷贝和内核中断处理仍然是***主要的性能瓶颈。本机制中在Libpcap的基础上,针对Libpcap的几个耗时环节分别进行优化,增加了内核过滤机制以及旁路内核协议栈来对网络报文捕获进行优化,实现高效的网络报文捕获机制。
步骤2:高效MAC层复用机制。以虚拟网桥的方式来实现高效MAC层复用机制,将内核虚拟机启动时自动产生的连接内核虚拟机和物理主机网络通信的接口tap添加到虚拟网桥的端口中,待接收虚拟网桥转发的网络报文。高效MAC层复用机制的具体思路是:虚拟网桥维护一个MAC-PORT表,通过查找该表找到指定端口而不是广播的方式来转发网络报文。每次收到一个报文,虚拟网桥都会学习其来源MAC地址,并将该地址添加进这个表。整个虚拟网桥的处理,就是一个根据源地址学习(写表)和根据目的地址确定发送端口(查表)的过程。具体流程如图3所示。如果网络报文是发给本机的,则需要将网络报文交到上层处理;如果开启了STP,还要处理STP协议;如果虚拟网桥的虚拟网卡处于混杂模式,那么每个接收到的网络报文都需要克隆一份送到AF_PACKET协议处理体;目的MAC为广播或多播,则需要向本机的上层协议栈传送这个网络报文,这里有一个标志变量passedup用于表示是否传送过,如果已传送过,就丢弃;查询CAM表后,如果能够找到表项,并且目的MAC是到本机的虚拟网卡的,就需要把这个报文提交给上层协议;查到表且不是本地虚拟网卡的,转发这个报文;如果表里边查不到,就采用广播方式。这样就将网络报文从物理主机转发到其端口之一tap,从而实现高效MAC层复用机制。
步骤3:防扰动的网络I/O路径分析机制。主要是分析网络报文从物理主机到内核虚拟机的路径以及各路径上相应的开销(包括路径上消耗的时间,CPU使用率以及内存的占用率等),从而得出影响内核虚拟机环境下网络I/O性能的主要瓶颈。主要思路是:利用Linux内核监控机制SystemTap技术实现一种网络I/O路径分析工具,通过对内核函数进行插桩处理,挖掘出网络数据包传输过程中的路径信息和性能开销,包括经过的函数以及在各个函数上所花费的时间,从而得出主要的性能开销所在。同时,建立一种网络I/O事件捕获机制,一旦发现网络I/O就触发该工具进行I/O路径的监控。通过内核函数进行插桩处理研发的网络I/O路径分析机制难免会产生该网络I/O路径分析工具自身带来的扰动问题,本发明中还能处理自身带来的扰动问题,建立一种防扰动的网络I/O路径分析机制。主要思路是:利用减少插桩点,来尽量减少网络I/O分析路径工具自身带来的扰动问题。
步骤4:网络I/O优化机制。根据防扰动的网络I/O路径分析机制得出的网络I/O路径上的主要性能开销,通过缩短网络数据从物理主机的网卡到内核虚拟机的传递路径,减少传输中网络数据的丢失和由于传输网络数据所带来的***性能开销,主要技术在于提高内核态向用户态转发数据的效率以及虚拟机内部数据转发的效率。从而提高内核虚拟机环境下网络I/O性能,实现内核虚拟机环境下的高效网络I/O。本发明中针对网络I/O优化的主要思路是:首先在物理主机内部:采用高效网络报文捕获技术进行高效捕包,利用高效MAC复用技术对捕获的报文进行高效转发,同时,利用步骤三中防扰动的网络I/O路径分析机制给出的网络I/O的主要开销和瓶颈,进行网络I/O优化。另外在虚拟机管理器和虚拟机模块中也采用步骤三中防扰动的网络I/O路径分析机制给出的网络I/O的主要开销和瓶颈,进行网络I/O优化。

Claims (1)

1、一种内核虚拟机环境下高效网络I/O的实现方法,其特征在于:该方法具体步骤如下:
总体***的实现平台是联想万全R510服务器,处理器为Xeon3230;
步骤一:高效网络报文捕获机制;在Linux***中,操作***内核协议栈为用户提供了一种工作在数据链路层的套接字S0CK_PACKET;Libpcap通过该套接字应用程序接口从用户态进入到***内核态,绕过内核协议栈中的TCP层和IP层处理过程直接从数据链路层捕获原始网络数据帧,这样能够节省数据包在接收过程中所消耗的CPU时间;但是在Libpcap捕包过程中,***调用、数据拷贝和内核中断处理仍然是***主要的性能瓶颈,本机制中在Libpcap的基础上,针对Libpcap的几个耗时环节分别进行优化,增加了内核过滤机制以及旁路内核协议栈来对网络报文捕获进行优化,实现高效的网络报文捕获机制;
步骤二:高效MAC层复用机制;以虚拟网桥的方式来实现高效MAC层复用机制,将内核虚拟机启动时自动产生的连接内核虚拟机和物理主机网络通信的接口tap添加到虚拟网桥的端口中,待接收虚拟网桥转发的网络报文;高效MAC层复用机制的具体思路是:虚拟网桥维护一个MAC-PORT表,通过查找该表找到指定端口而不是广播的方式来转发网络报文;每次收到一个报文,虚拟网桥都会学习其来源MAC地址,并将该地址添加进这个表;整个虚拟网桥的处理,就是一个根据源地址学习即写表和根据目的地址确定发送端口即查表的过程;如果网络报文是发给本机的,则需要将网络报文交到上层处理;如果开启了STP,还要处理STP协议;如果虚拟网桥的虚拟网卡处于混杂模式,那么每个接收到的网络报文都需要克隆一份送到AF_PACKET协议处理体;目的MAC为广播或多播,则需要向本机的上层协议栈传送这个网络报文,这里有一个标志变量passedup用于表示是否传送过,如果已传送过,就丢弃;查询CAM表后,如果能够找到表项,并且目的MAC是到本机的虚拟网卡的,就需要把这个报文提交给上层协议;查到表且不是本地虚拟网卡的,转发这个报文;如果表里边查不到,就采用广播方式,这样就将网络报文从物理主机转发到其端口之一tap,从而实现高效MAC层复用机制;
步骤三:防扰动的网络I/O路径分析机制;主要是分析网络报文从物理主机到内核虚拟机的路径以及各路径上相应的开销即路径上消耗的时间、CPU使用率以及内存的占用率等,从而得出影响内核虚拟机环境下网络I/O性能的主要瓶颈;主要思路是:利用Linux内核监控机制SystemTap技术实现一种网络I/O路径分析工具,通过对内核函数进行插桩处理,挖掘出网络数据包传输过程中的路径信息和性能开销,包括经过的函数以及在各个函数上所花费的时间,从而得出主要的性能开销所在;同时,建立一种网络I/O事件捕获机制,一旦发现网络I/O就触发该工具进行I/O路径的监控;通过内核函数进行插桩处理研发的网络I/O路径分析机制难免会产生该网络I/O路径分析工具自身带来的扰动问题,本发明中还能处理自身带来的扰动问题,建立一种防扰动的网络I/O路径分析机制;主要思路是:利用减少插桩点,来尽量减少网络I/O分析路径工具自身带来的扰动问题;
步骤四:网络I/O优化机制;根据防扰动的网络I/O路径分析机制得出的网络I/O路径上的主要性能开销,通过缩短网络数据从物理主机的网卡到内核虚拟机的传递路径,减少传输中网络数据的丢失和由于传输网络数据所带来的***性能开销,主要技术在于提高内核态向用户态转发数据的效率以及虚拟机内部数据转发的效率,从而提高内核虚拟机环境下网络I/O性能,实现内核虚拟机环境下的高效网络I/O;本发明中针对网络I/O优化的主要思路是:首先在物理主机内部,采用高效网络报文捕获技术进行高效捕包,利用高效MAC复用技术对捕获的报文进行高效转发,同时,利用步骤三中防扰动的网络I/O路径分析机制给出的网络I/O的主要开销和瓶颈,进行网络I/O优化;另外在虚拟机管理器和虚拟机模块中也采用步骤三中防扰动的网络I/O路径分析机制给出的网络I/O的主要开销和瓶颈,进行网络I/O优化。
CN200910076362A 2009-01-14 2009-01-14 一种内核虚拟机环境下高效网络i/o的实现方法 Expired - Fee Related CN101465863B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910076362A CN101465863B (zh) 2009-01-14 2009-01-14 一种内核虚拟机环境下高效网络i/o的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910076362A CN101465863B (zh) 2009-01-14 2009-01-14 一种内核虚拟机环境下高效网络i/o的实现方法

Publications (2)

Publication Number Publication Date
CN101465863A true CN101465863A (zh) 2009-06-24
CN101465863B CN101465863B (zh) 2012-09-26

Family

ID=40806225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910076362A Expired - Fee Related CN101465863B (zh) 2009-01-14 2009-01-14 一种内核虚拟机环境下高效网络i/o的实现方法

Country Status (1)

Country Link
CN (1) CN101465863B (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894047A (zh) * 2010-06-24 2010-11-24 北京航空航天大学 一种基于内核虚拟机调度策略的实现方法
CN102073493A (zh) * 2010-12-17 2011-05-25 天津曙光计算机产业有限公司 一种多队列的高速存储设备驱动程序设计方法
CN102346710A (zh) * 2011-10-13 2012-02-08 北京航空航天大学 一种基于动态插桩技术的数据包处理时延分析方法
CN103152210A (zh) * 2013-03-29 2013-06-12 杭州华三通信技术有限公司 修复生成树协议转发状态异常的方法及堆叠设备
CN103621026A (zh) * 2013-04-01 2014-03-05 华为技术有限公司 虚拟机的数据交换方法、装置和***
CN103853648A (zh) * 2014-02-21 2014-06-11 北京神舟航天软件技术有限公司 嵌入式软件性能评测硬件辅助测试装置和方法
CN103905309A (zh) * 2012-12-28 2014-07-02 中国电信股份有限公司 虚拟机之间的数据交换方法和***
CN104219260A (zh) * 2013-05-30 2014-12-17 中国电信股份有限公司 同一物理机内虚拟机间数据交换的方法、***与物理主机
CN104331361A (zh) * 2014-09-17 2015-02-04 赵明 一种用于白盒测试覆盖率计算可视化的测试装置及方法
CN104598298A (zh) * 2015-02-04 2015-05-06 上海交通大学 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法
CN105407140A (zh) * 2015-10-23 2016-03-16 上海比林电子科技有限公司 一种网络化测试***的计算资源虚拟化***及方法
CN106302199A (zh) * 2016-08-10 2017-01-04 成都广达新网科技股份有限公司 一种基于三层交换机设备的用户态协议栈实现方法及***
CN106934281A (zh) * 2017-03-30 2017-07-07 兴华永恒(北京)科技有限责任公司 一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法
WO2017186042A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 一种用于虚拟交换机技术中数据传输的方法及装置
CN107370622A (zh) * 2017-07-14 2017-11-21 郑州云海信息技术有限公司 一种虚拟机复用宿主机mac和ip的方法及***
US9854070B2 (en) 2015-11-13 2017-12-26 International Business Machines Corporation Transmission control protocol (TCP) data handling
CN109074269A (zh) * 2016-07-08 2018-12-21 惠普发展公司,有限责任合伙企业 确定设备磨损率
CN109714238A (zh) * 2018-12-11 2019-05-03 上海云轴信息科技有限公司 一种用于实现虚拟机间通信的方法及设备
CN110351275A (zh) * 2019-07-11 2019-10-18 北京脉冲星科技有限公司 一种主机端口流量监控方法、***、装置和存储设备
CN110602225A (zh) * 2019-09-19 2019-12-20 北京天地和兴科技有限公司 一种适用于工控环境的linux***高效收发包方法
CN110728598A (zh) * 2019-09-20 2020-01-24 华中科技大学 一种基于libpcap的计算机网络原理教学***
CN112769716A (zh) * 2021-01-12 2021-05-07 烽火通信科技股份有限公司 基于混合型虚拟网桥的虚拟交换机的数据转发方法及装置
CN113225344A (zh) * 2021-05-10 2021-08-06 深信服科技股份有限公司 一种访问控制方法、装置、设备及可读存储介质
CN114584541A (zh) * 2022-03-07 2022-06-03 浪潮云信息技术股份公司 一种加速虚拟机网络的方法
CN116401020A (zh) * 2023-06-07 2023-07-07 四川大学 Kvm虚拟机i/o过滤框架实现方法、***及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090334A (zh) * 2007-05-23 2007-12-19 西安交大捷普网络科技有限公司 一种解决入侵检测***中海量报警的方法

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894047A (zh) * 2010-06-24 2010-11-24 北京航空航天大学 一种基于内核虚拟机调度策略的实现方法
CN101894047B (zh) * 2010-06-24 2013-11-13 北京航空航天大学 一种基于内核虚拟机调度策略的实现方法
CN102073493B (zh) * 2010-12-17 2013-08-28 曙光信息产业股份有限公司 一种多队列的高速存储设备驱动程序设计方法
CN102073493A (zh) * 2010-12-17 2011-05-25 天津曙光计算机产业有限公司 一种多队列的高速存储设备驱动程序设计方法
CN102346710B (zh) * 2011-10-13 2015-04-29 北京航空航天大学 一种基于动态插桩技术的数据包处理时延分析方法
CN102346710A (zh) * 2011-10-13 2012-02-08 北京航空航天大学 一种基于动态插桩技术的数据包处理时延分析方法
CN103905309A (zh) * 2012-12-28 2014-07-02 中国电信股份有限公司 虚拟机之间的数据交换方法和***
CN103152210A (zh) * 2013-03-29 2013-06-12 杭州华三通信技术有限公司 修复生成树协议转发状态异常的方法及堆叠设备
CN103152210B (zh) * 2013-03-29 2015-07-29 杭州华三通信技术有限公司 修复生成树协议转发状态异常的方法及堆叠设备
CN103621026A (zh) * 2013-04-01 2014-03-05 华为技术有限公司 虚拟机的数据交换方法、装置和***
WO2014161133A1 (zh) * 2013-04-01 2014-10-09 华为技术有限公司 虚拟机的数据交换方法、装置和***
CN103621026B (zh) * 2013-04-01 2017-06-13 华为技术有限公司 虚拟机的数据交换方法、装置和***
US11121971B2 (en) 2013-04-01 2021-09-14 Huawei Technologies Co., Ltd. Method and apparatus for switching data between virtual machines, and communications system
US10033637B2 (en) 2013-04-01 2018-07-24 Huawei Technologies Co., Ltd. Method and apparatus for switching data between virtual machines, and communications system
CN104219260A (zh) * 2013-05-30 2014-12-17 中国电信股份有限公司 同一物理机内虚拟机间数据交换的方法、***与物理主机
CN104219260B (zh) * 2013-05-30 2017-12-12 中国电信股份有限公司 同一物理机内虚拟机间数据交换的方法、***与物理主机
CN103853648A (zh) * 2014-02-21 2014-06-11 北京神舟航天软件技术有限公司 嵌入式软件性能评测硬件辅助测试装置和方法
CN104331361A (zh) * 2014-09-17 2015-02-04 赵明 一种用于白盒测试覆盖率计算可视化的测试装置及方法
CN104331361B (zh) * 2014-09-17 2017-11-17 南京涅菩云信息技术有限公司 一种用于白盒测试覆盖率计算可视化的测试装置及方法
CN104598298A (zh) * 2015-02-04 2015-05-06 上海交通大学 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法
CN105407140A (zh) * 2015-10-23 2016-03-16 上海比林电子科技有限公司 一种网络化测试***的计算资源虚拟化***及方法
US9854070B2 (en) 2015-11-13 2017-12-26 International Business Machines Corporation Transmission control protocol (TCP) data handling
US10244085B2 (en) 2015-11-13 2019-03-26 International Business Machines Corporation Transmission control protocol (TPC) data handling
WO2017186042A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 一种用于虚拟交换机技术中数据传输的方法及装置
US10977203B2 (en) 2016-04-29 2021-04-13 Huawei Technologies Co., Ltd. Data transmission method and apparatus used in virtual switch technology
CN109074269A (zh) * 2016-07-08 2018-12-21 惠普发展公司,有限责任合伙企业 确定设备磨损率
CN106302199A (zh) * 2016-08-10 2017-01-04 成都广达新网科技股份有限公司 一种基于三层交换机设备的用户态协议栈实现方法及***
CN106302199B (zh) * 2016-08-10 2019-12-17 成都广达新网科技股份有限公司 一种基于三层交换机设备的用户态协议栈实现方法及***
CN106934281A (zh) * 2017-03-30 2017-07-07 兴华永恒(北京)科技有限责任公司 一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法
CN107370622A (zh) * 2017-07-14 2017-11-21 郑州云海信息技术有限公司 一种虚拟机复用宿主机mac和ip的方法及***
CN107370622B (zh) * 2017-07-14 2020-05-26 苏州浪潮智能科技有限公司 一种虚拟机复用宿主机mac和ip的方法及***
CN109714238B (zh) * 2018-12-11 2021-08-10 上海云轴信息科技有限公司 一种用于实现虚拟机间通信的方法及设备
CN109714238A (zh) * 2018-12-11 2019-05-03 上海云轴信息科技有限公司 一种用于实现虚拟机间通信的方法及设备
CN110351275A (zh) * 2019-07-11 2019-10-18 北京脉冲星科技有限公司 一种主机端口流量监控方法、***、装置和存储设备
CN110351275B (zh) * 2019-07-11 2022-08-19 北京长亭未来科技有限公司 一种主机端口流量监控方法、***、装置和存储设备
CN110602225A (zh) * 2019-09-19 2019-12-20 北京天地和兴科技有限公司 一种适用于工控环境的linux***高效收发包方法
CN110728598A (zh) * 2019-09-20 2020-01-24 华中科技大学 一种基于libpcap的计算机网络原理教学***
CN112769716A (zh) * 2021-01-12 2021-05-07 烽火通信科技股份有限公司 基于混合型虚拟网桥的虚拟交换机的数据转发方法及装置
CN113225344A (zh) * 2021-05-10 2021-08-06 深信服科技股份有限公司 一种访问控制方法、装置、设备及可读存储介质
CN113225344B (zh) * 2021-05-10 2022-09-30 深信服科技股份有限公司 一种访问控制方法、装置、设备及可读存储介质
CN114584541A (zh) * 2022-03-07 2022-06-03 浪潮云信息技术股份公司 一种加速虚拟机网络的方法
CN114584541B (zh) * 2022-03-07 2024-06-04 浪潮云信息技术股份公司 一种加速虚拟机网络的方法
CN116401020A (zh) * 2023-06-07 2023-07-07 四川大学 Kvm虚拟机i/o过滤框架实现方法、***及存储介质
CN116401020B (zh) * 2023-06-07 2023-08-11 四川大学 Kvm虚拟机i/o过滤框架实现方法、***及存储介质

Also Published As

Publication number Publication date
CN101465863B (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
CN101465863B (zh) 一种内核虚拟机环境下高效网络i/o的实现方法
CN101557420B (zh) 虚拟机监控器高效网络通信的实现方法
CN101436966B (zh) 虚拟机环境下的网络监控与分析***
US9600380B2 (en) Failure recovery system and method of creating the failure recovery system
US10728179B2 (en) Distributed virtual switch configuration and state management
CN101859263B (zh) 一种支持在线迁移的虚拟机间快速通信方法
CN101430674B (zh) 一种分布式虚拟机监控器内连通信方法
Ren et al. Shared-memory optimizations for inter-virtual-machine communication
Guan et al. CIVSched: A communication-aware inter-VM scheduling technique for decreased network latency between co-located VMs
CN103942178A (zh) 多核处理器上实时操作***与非实时操作***之间的通信方法
US20200073703A1 (en) Apparatus and method for virtual machine scheduling in non-uniform memory access architecture
Li et al. When I/O interrupt becomes system bottleneck: Efficiency and scalability enhancement for SR-IOV network virtualization
CN114363170A (zh) 容器服务网络配置方法及相关产品
WO2023046141A1 (zh) 一种数据库网络负载性能的加速框架、加速方法及设备
CN109271256A (zh) 一种基于分布式部署的云资源管理和监控***及方法
US9612877B1 (en) High performance computing in a virtualized environment
Fukai et al. Live migration in bare-metal clouds
CN102147840B (zh) 一种通过虚拟机实现网络控制的方法
Ren et al. Residency-aware virtual machine communication optimization: Design choices and techniques
WO2024007934A1 (zh) 中断处理方法、电子设备和存储介质
Ren et al. A fast and transparent communication protocol for co-resident virtual machines
Ning et al. Virtualization I/O optimization based on shared memory
Cho et al. An integrated management system of virtual resources based on virtualization API and data distribution service
Wu et al. Virtual machine management based on agent service
US11392504B2 (en) Memory page fault handling for network interface devices in a virtualized environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120926

Termination date: 20180114

CF01 Termination of patent right due to non-payment of annual fee