CN101465863B - Method for implementing high-efficiency network I/O in kernel virtual machine circumstance - Google Patents

Method for implementing high-efficiency network I/O in kernel virtual machine circumstance Download PDF

Info

Publication number
CN101465863B
CN101465863B CN200910076362A CN200910076362A CN101465863B CN 101465863 B CN101465863 B CN 101465863B CN 200910076362 A CN200910076362 A CN 200910076362A CN 200910076362 A CN200910076362 A CN 200910076362A CN 101465863 B CN101465863 B CN 101465863B
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.)
Expired - Fee Related
Application number
CN200910076362A
Other languages
Chinese (zh)
Other versions
CN101465863A (en
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
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/en
Publication of CN101465863A publication Critical patent/CN101465863A/en
Application granted granted Critical
Publication of CN101465863B publication Critical patent/CN101465863B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed is a method for realizing efficient network I/O under kernel virtual machine environment, which includes the following steps: step 1, an efficient network message capture mechanism; step 2, efficient MAC layer multiplexing mechanism; step 3, anti-disturbance network I/O path analysis mechanism; step 4, network I/O optimization mechanism. The method makes up the current vacancy of network I/O analysis under kernel virtual machine environment, provides a strong support for network I/O optimization under kernel virtual machine environment, solves the problem in current network I/O performance under kernel virtual machine environment, and enables the kernel virtual machine to be better applied in real network environment. Therefore, the method has good application prospect and development prospect.

Description

The implementation method of high-efficiency network I/O under a kind of kernel virtual machine environment
(1) technical field
The present invention relates to the implementation method of a kind of network I/O, relate in particular to the implementation method of the high-efficiency network I/O under a kind of kernel virtual machine environment, it is relevant with the computing system Intel Virtualization Technology, belongs to field of computer technology.
(2) background technology
1.X86 Intel Virtualization Technology develops rapid and presents lightweight trend
Intel Virtualization Technology comes across the 60 to 70's of eighties of last century, is mainly used on the large-scale computer, and original intention is in order to realize higher utilization rate of equipment and installations, to make a plurality of users can utilize the abundant system resource of large-scale computer as much as possible, saving cost.In recent years, along with improving constantly of hardware device performance, the server that virtual machine technique is applied to the X86 framework becomes current development main flow.Thereby X86 Intel Virtualization Technology effectively helping service device is integrated the minimizing number of servers, improves the server resource utilance.Moreover, Intel Virtualization Technology can also provide the safety between each business to isolate enhance system reliability.Developing rapidly of x86 Intel Virtualization Technology ensures for the isolation of the safety between business integration and the business provides strong theory support and practice.
The system virtual machine of current main-stream has VMware series, Xen and KVM (Kernel Virtual Machine, kernel virtual machine) etc.In numerous virtual machines, the VMware interaction is good, convenient management, and the interface is perfect, can realize fully virtualized.But, reduced the performance of virtual machine because its realization is based on binary translation.Xen and KVM on the performance more near local speed, but the performance of Xen can be lost in some loads, the particularly application of disk-intensive type and network-intensive type, and KVM does not have this shortcoming.See that from network I/O realization mechanism Xen uses an independent doman0 to carry out transmission, management and the scheduling of data, has brought great expense.Kernel virtual machine KVM utilize Intel VT-x or AMD-V technology with linux kernel as virtual machine manager (VMM); In case KVM uses the qemu program of changing slightly to create virtual machine. after the operation; Virtual machine is the process of a standard; In addition KVM be linux as a part, can use common linux scheduler and memory management. reduced by an independent VMM and carried out the expense that administrative institute brings.This means littler easier use of kvm.KVM simplifies on network I/O handles, and with respect to Xen better network I/O performance is arranged.The implementation of this lightweight virtual machine is just becoming the development trend of virtual machine.
2. the Intel Virtualization Technology of hardware supports
Along with the fast development of virtual machine technique, Intel and AMD have proposed hardware virtualization technology---Intel VT-x and AMD-V respectively.Intel VT-x and AMD-V technology provide the support to virtual machine from hardware, and we are example with Intel VT-x technology, and AMD-V is similar with it.The VT-x technology provides the operational environment of two kinds of processors: root (Root) operating environment and Fei Gen (Non-root) operating environment.Virtual machine manager (VMM) runs on the root operating environment and each virtual machine runs on non-operating environment.Define VMCS (Virtual Machine Control Structure) structure and be used for managing the conversion between these two kinds of operating environments.And increased some and supported the instruction of VMX (Virtual-Machine Extensions), like VMLAUNCH (loading client state), VMRESUME (recovering the client computer operation) etc.As shown in Figure 2, VMM can get into (VM Entry) through virtual machine makes processor get into non-operating environment of VMX, simultaneously processor state is saved in (Host state) in the VMCS structure, and the Guest state is packed into from VMCS.Withdraw from (VM Exit) through virtual machine on the contrary and can make control get back to VMX root operating environment, same processor state is kept at (Guest state) in the VMCS structure, and the Host state is then packed into from VMCS.Function when processor is in the root operating environment and authority just with there not being the system of VMX the same, have just been introduced the instruction of some new support VMX, and the behavior that is in the processor of non-operating environment is restricted.Some specific instruction, event and state can cause virtual machine to be withdrawn into VMM carrying out the virtual of privileged resource, but client software itself and do not know whether oneself operates on the virtual machine.Intel VT-d technology then provides direct I/O access mode, supports being redirected of DMA and being redirected of interruption, with the I/O operating characteristics of further raising virtual machine.
3. the network I/O optimisation technique under the virtual machine environment
Analyzing at present the main flow virtual machine network I/O performance of increasing income mainly concentrates on the Xen; Its overhead in the process of handling network I/O is very large; In the process of Data Receiving, the throughput that Guest Domain is reached is less than the half the of DriverDomain.The I/O optimisation technique low to the Xen performance mainly comprises: Multiqueue Network Interfaces and CDNA (Concurrent Direct Network Access); And the analysis and the optimisation technique of the network I/O performance of the KVM that represents X86 Intel Virtualization Technology development trend lacked very much; Simultaneously; Show through test data: the network I/O path under the kernel virtual machine environment is all very long with delay, therefore is badly in need of a kind of method that realizes high-efficiency network I/O under the kernel virtual machine environment.
(3) summary of the invention
1 purpose
The present invention is directed to the situation that current inner virtual machine environment lower network I/O performance is low and shortage is studied; The method of high-efficiency network I/O under a kind of kernel virtual machine environment is provided; Thereby improve the performance of kernel virtual machine environment lower network I/O; Remedy the vacancy that the network I/O under the current inner virtual machine environment analyzes and optimizes, strong basis is provided for kernel virtual machine is applied to real network environment better.
2 systems technology scheme overviews
Physical host refers to the physical machine that kernel virtual machine has been installed for kernel virtual machine.Each kernel virtual machine is Kernel Virtual Machine; It is exactly a simple Linux process; Therefore can make full use of some characteristics of linux kernel; The Linux management of process instrument of all standards can be applied to kernel virtual machine, and the control of the virtual resource that brings thus and scheduling overhead can be smaller.
Under a kind of kernel virtual machine environment provided by the invention in high-efficiency network I/O implementation method; (the following machine that will move virtual machine is called physical host to one or more kernel virtual machine of operation on the single physical machine; The title kernel virtual machine is a virtual machine); This method adopts the instruction Intel Virtualization Technology of hardware supports and the I/O Intel Virtualization Technology of hardware supports, when network packet arrives physical host, through analyzing this network packet sends to each virtual machine from physical host path; And the principal element and the bottleneck that influence the I/O performance on this path; Carry out network I/O optimization in Properties to these factors and bottleneck, thereby improve the performance of kernel virtual machine environment lower network I/O, realized the method for high-efficiency network I/O under a kind of kernel virtual machine environment.
This method mainly comprises: the high-efficiency network message capturing mechanism before phase-split network I/O, the efficient multiplexing mechanism of MAC layer, the anti-disturbance network I/O path analysis mechanism in physical host and the kernel virtual machine, and the mechanism of the network I/O path optimization on them.
Shown in Figure 1 is the overall framework of the system at each module of the present invention and place.This system mainly is made up of four module: the bottom be the hardware device of system, like CPU, internal memory and I/O equipment etc.; The second layer is the efficient I/O module of physical host, and the efficient I/O module of physical host is made up of four parts again: high-efficiency network message capturing module, efficient MAC layer Multiplexing module, network I/O path analysis module and network I/O access path optimal module; The 3rd layer is virtual machine manager, comprises three little modules: the instruction virtualization modules of hardware supports, the I/O virtualization modules of hardware supports and network I/O access path optimal module; The superiors be the efficient I/O module of virtual machine, for simplicity, only drawn 2 kernel virtual machines among this figure, representing with ellipsis of other wherein, comprises network I/O path analysis module and network I/O access path optimal module in the virtual machine module.
That shown in Figure 2 is the system works flow process figure that this method is implemented on concrete system; After the physical network card NIC of physical host receives data, produce hard an interruption, this interruption is caught by the network interface card driving N IC Driver in the linux kernel; NIC Driver submits to bridge to data; Bridge forwards the data to one of its port tap and then data is forwarded to the Qemu under user's attitude through kernel state to the mode of user's attitude data copy, and at this moment, tap sends the signal indication data to KVM Driver and has been sent to Qemu; After KVM Driver receives this signal; Send a virtual interrupt signal to Qemu, after Qemu receives this virtual interrupt signal, the data that receive are sent to the network protocol stack of kernel virtual machine operating system.
Shown in Figure 3 is the virtual bridge workflow diagram, if network message is issued this machine, then need network message be sent to the upper strata and handle; If opened STP, also want treatment S TP agreement; If the Microsoft Loopback Adapter of virtual bridge is in promiscuous mode, each network message that receives all need be cloned portion and delivered to AF_PACKET protocol processes body so; Whether purpose MAC is broadcasting or multicast, then need transmit this network message to the upper-layer protocol stack of this machine, have an indexed variable passedup to be used for expression here and transmitted, if transmitted, just abandons; Behind the inquiry content-addressable memory, if can find list item, and purpose MAC is to the Microsoft Loopback Adapter of this machine, just need submit to upper-layer protocol to this message; Find the table and be not the local virtual network interface card, transmit this message; If table the inside can not find out, just adopt broadcast mode.So just network message is forwarded to one of its port tap from physical host, thereby realizes the multiplexing mechanism of efficient MAC layer.
The major function of this method is in anti-disturbance network I/O path analysis module shown in Fig. 1 and network I/O path optimization module; These two modules are applied to main frame simultaneously; In virtual machine manager and the kernel virtual machine, thereby realized high-efficiency network I/O under a kind of kernel virtual machine environment.
3 concrete schemes
This method general procedure is: high-efficiency network message capturing mechanism is caught network message and is submitted to the virtual bridge that is under the kernel state; Different with traditional Linux network hierarchical structure; Adopt the mode of a kind of bypass I/O to carry out the transmission of network message in this method; Through the multiplexing mechanism of efficient MAC, network message is submitted to the inner network I/O path analysis module of physical host operating system, carry out the network I/O path analysis of physical host; Network I/O path optimization mechanism is optimized network I/O according to the result who analyzes, thereby realizes the inner high-efficiency network I/O of physical host.Equally with network I/O path analysis mechanism and network I/O path optimization module application in virtual machine manager and each kernel virtual machine; Realize virtual machine manager and each kernel virtual machine high-efficiency network I/O; Like this; The network I/O performance of this system is improved, and has realized the high-efficiency network I/O under the kernel virtual machine environment.
The method of high-efficiency network I/O under a kind of kernel virtual machine environment, these method concrete steps are following:
Step 1: high-efficiency network message capturing mechanism.In linux system, the operating system nucleus protocol stack provides a kind of socket S0CK_PACKET that is operated in data link layer for the user.Libpcap enters into the system kernel attitude through these socket application programming interfaces from user's attitude; TCP layer and the IP layer processing procedure walked around in the kernel protocol stack are directly caught the primitive network Frame from data link layer, can save the CPU time that packet is consumed in receiving course like this.But catch in the packet procedures at Libpcap, system call, data copy and kernel Interrupt Process remain the main performance bottleneck of system.On the basis of Libpcap, be optimized respectively in this mechanism, increased kernel strobe utility and bypass kernel protocol stack and come network message caught and be optimized, realize network message catch mechanism efficiently to the link several consuming time of Libpcap.
Step 2: the efficient multiplexing mechanism of MAC layer.Mode with virtual bridge realizes the multiplexing mechanism of efficient MAC layer; Automatically the connection kernel virtual machine that produces when kernel virtual machine is started and the interface tap of physical host network service add in the port of virtual bridge, wait to receive the network message that virtual bridge is transmitted.The concrete thinking of the efficient multiplexing mechanism of MAC layer is: virtual bridge is safeguarded a MAC-PORT table, finds the mode of designated port rather than broadcasting to come the transmission network message through searching this table.Receive a message, virtual bridge all can be learnt it and come source MAC, and into this table is added in this address at every turn.The processing of whole virtual bridge, a process of confirming transmit port (tabling look-up) according to source address study (writing table) with according to destination address exactly.Idiographic flow is as shown in Figure 3.If network message is issued this machine, then need network message be sent to the upper strata and handle; If opened STP, also want treatment S TP agreement; If the Microsoft Loopback Adapter of virtual bridge is in promiscuous mode, each network message that receives all need be cloned portion and delivered to AF_PACKET protocol processes body so; Whether purpose MAC is broadcasting or multicast, then need transmit this network message to the upper-layer protocol stack of this machine, have an indexed variable passedup to be used for expression here and transmitted, if transmitted, just abandons; Behind the inquiry content-addressable memory, if can find list item, and purpose MAC is to the Microsoft Loopback Adapter of this machine, just need submit to upper-layer protocol to this message; Find the table and be not the local virtual network interface card, transmit this message; If table the inside can not find out, just adopt broadcast mode.So just network message is forwarded to one of its port tap from physical host, thereby realizes the multiplexing mechanism of efficient MAC layer.
Step 3: the network I/O path analysis mechanism of anti-disturbance.Mainly be that corresponding expense (comprises the time that consumes on the path on path and each path of phase-split network message from the physical host to the kernel virtual machine; The occupancy of CPU usage and internal memory etc.), thus draw the main bottleneck that influences kernel virtual machine environment lower network I/O performance.Main thought is: utilize linux kernel monitoring mechanism SystemTap technology to realize a kind of network I/O path analysis instrument; Handle through kernel function being carried out pitching pile; Excavate routing information and performance cost in the network packet transmission course; Comprise the function of process and the time that on each function, is spent, thereby draw main performance cost place.Simultaneously, set up a kind of network I/O event capturing mechanism, just trigger the monitoring that this instrument carries out the I/O path in case find network I/O.The network I/O path analysis mechanism of carrying out pitching pile processing research and development through kernel function can produce the perturbed problem that this network I/O path analysis instrument self brings unavoidably; Can also handle the perturbed problem that self brings among the present invention, set up a kind of network I/O path analysis mechanism of anti-disturbance.Main thought is: utilize and reduce the pitching pile point, come to reduce the perturbed problem that network I/O analysis path instrument self brings as far as possible.
Step 4: network I/O optimization mechanism.Main performance expense on the network I/O path that draws according to the network I/O path analysis mechanism of anti-disturbance; Through shortening the bang path of network data from the network interface card of physical host to kernel virtual machine; Reduce network data in the transmission lose and because the systematic function expense that transmitting network data brought, major technique is to improve kernel state and transmits the efficient of data and the efficient that the virtual machine internal data is transmitted to user's attitude.Thereby improve kernel virtual machine environment lower network I/O performance, realize the high-efficiency network I/O under the kernel virtual machine environment.The main thought of optimizing to network I/O among the present invention is: at first inner at physical host: adopt high-efficiency network message capturing technology efficiently to catch bag; Utilize efficient MAC multiplex technique that the message of catching is efficiently transmitted; Simultaneously; Utilize in the step 3 main expense and the bottleneck of the network I/O that the network I/O path analysis mechanism of anti-disturbance provides, carry out network I/O and optimize.In virtual machine manager and virtual machine module, also adopt in the step 3 main expense and the bottleneck of the network I/O that the network I/O path analysis mechanism of anti-disturbance provides in addition, carry out network I/O and optimize.
4 advantages and effect
The invention provides the implementation method of high-efficiency network I/O under a kind of kernel virtual machine environment; It is one or more virtual machine of operation on the single physical main frame; Earlier through the path of analysis kernel virtual machine environment lower network I/O and the expense on each path; Obtain from the physical host to the kernel virtual machine, carrying out the main expense place in the process of network message transmission, carry out network I/O in view of the above and optimize, thereby realize the high-efficiency network I/O under the kernel virtual machine environment.The method that the present invention proposes has remedied the vacancy that current inner virtual machine environment lower network I/O analyzes; For kernel virtual machine environment lower network I/O optimizes strong support is provided; Solved the network I/O performance issue that the current inner virtual machine environment exists down; Make kernel virtual machine can be applied to real network environment better, therefore, the present invention has a good application prospect and development prospect.
(4) description of drawings
Fig. 1 system module sketch map;
Fig. 2 system works flow process sketch map;
Fig. 3 virtual bridge workflow diagram;
(5) embodiment
See Fig. 1, Fig. 2, shown in Figure 3, the method for high-efficiency network I/O under a kind of kernel virtual machine environment, these method concrete steps are following:
The implementation platform of overall system is the perfectly sound R510 server of association, and processor is Xeon3230;
Step 1: high-efficiency network message capturing mechanism.In linux system, the operating system nucleus protocol stack provides a kind of socket S0CK_PACKET that is operated in data link layer for the user.Libpcap enters into the system kernel attitude through these socket application programming interfaces from user's attitude; TCP layer and the IP layer processing procedure walked around in the kernel protocol stack are directly caught the primitive network Frame from data link layer, can save the CPU time that packet is consumed in receiving course like this.But catch in the packet procedures at Libpcap, system call, data copy and kernel Interrupt Process remain the main performance bottleneck of system.On the basis of Libpcap, be optimized respectively in this mechanism, increased kernel strobe utility and bypass kernel protocol stack and come network message caught and be optimized, realize network message catch mechanism efficiently to the link several consuming time of Libpcap.
Step 2: the efficient multiplexing mechanism of MAC layer.Mode with virtual bridge realizes the multiplexing mechanism of efficient MAC layer; Automatically the connection kernel virtual machine that produces when kernel virtual machine is started and the interface tap of physical host network service add in the port of virtual bridge, wait to receive the network message that virtual bridge is transmitted.The concrete thinking of the efficient multiplexing mechanism of MAC layer is: virtual bridge is safeguarded a MAC-PORT table, finds the mode of designated port rather than broadcasting to come the transmission network message through searching this table.Receive a message, virtual bridge all can be learnt it and come source MAC, and into this table is added in this address at every turn.The processing of whole virtual bridge, a process of confirming transmit port (tabling look-up) according to source address study (writing table) with according to destination address exactly.Idiographic flow is as shown in Figure 3.If network message is issued this machine, then need network message be sent to the upper strata and handle; If opened STP, also want treatment S TP agreement; If the Microsoft Loopback Adapter of virtual bridge is in promiscuous mode, each network message that receives all need be cloned portion and delivered to AF_PACKET protocol processes body so; Whether purpose MAC is broadcasting or multicast, then need transmit this network message to the upper-layer protocol stack of this machine, have an indexed variable passedup to be used for expression here and transmitted, if transmitted, just abandons; Behind the inquiry content-addressable memory, if can find list item, and purpose MAC is to the Microsoft Loopback Adapter of this machine, just need submit to upper-layer protocol to this message; Find the table and be not the local virtual network interface card, transmit this message; If table the inside can not find out, just adopt broadcast mode.So just network message is forwarded to one of its port tap from physical host, thereby realizes the multiplexing mechanism of efficient MAC layer.
Step 3: the network I/O path analysis mechanism of anti-disturbance.Mainly be that corresponding expense (comprises the time that consumes on the path on path and each path of phase-split network message from the physical host to the kernel virtual machine; The occupancy of CPU usage and internal memory etc.), thus draw the main bottleneck that influences kernel virtual machine environment lower network I/O performance.Main thought is: utilize linux kernel monitoring mechanism SystemTap technology to realize a kind of network I/O path analysis instrument; Handle through kernel function being carried out pitching pile; Excavate routing information and performance cost in the network packet transmission course; Comprise the function of process and the time that on each function, is spent, thereby draw main performance cost place.Simultaneously, set up a kind of network I/O event capturing mechanism, just trigger the monitoring that this instrument carries out the I/O path in case find network I/O.The network I/O path analysis mechanism of carrying out pitching pile processing research and development through kernel function can produce the perturbed problem that this network I/O path analysis instrument self brings unavoidably; Can also handle the perturbed problem that self brings among the present invention, set up a kind of network I/O path analysis mechanism of anti-disturbance.Main thought is: utilize and reduce the pitching pile point, come to reduce the perturbed problem that network I/O analysis path instrument self brings as far as possible.
Step 4: network I/O optimization mechanism.Main performance expense on the network I/O path that draws according to the network I/O path analysis mechanism of anti-disturbance; Through shortening the bang path of network data from the network interface card of physical host to kernel virtual machine; Reduce network data in the transmission lose and because the systematic function expense that transmitting network data brought, major technique is to improve kernel state and transmits the efficient of data and the efficient that the virtual machine internal data is transmitted to user's attitude.Thereby improve kernel virtual machine environment lower network I/O performance, realize the high-efficiency network I/O under the kernel virtual machine environment.The main thought of optimizing to network I/O among the present invention is: at first inner at physical host: adopt high-efficiency network message capturing technology efficiently to catch bag; Utilize efficient MAC multiplex technique that the message of catching is efficiently transmitted; Simultaneously; Utilize in the step 3 main expense and the bottleneck of the network I/O that the network I/O path analysis mechanism of anti-disturbance provides, carry out network I/O and optimize.In virtual machine manager and virtual machine module, also adopt in the step 3 main expense and the bottleneck of the network I/O that the network I/O path analysis mechanism of anti-disturbance provides in addition, carry out network I/O and optimize.

Claims (1)

1. the implementation method of high-efficiency network I/O under the kernel virtual machine environment, it is characterized in that: these method concrete steps are following:
The implementation platform of overall system is the perfectly sound R510 server of association, and processor is Xeon3230;
At first inner at physical host; Adopt high-efficiency network message capturing technology efficiently to catch bag; Utilize efficient MAC multiplex technique that the message of catching is efficiently transmitted; Simultaneously, utilize in the step 3 main expense and the bottleneck of the network I/O that the network I/O path analysis mechanism of anti-disturbance provides, carry out network I/O and optimize; In virtual machine manager and virtual machine module, also adopt in the step 3 main expense and the bottleneck of the network I/O that the network I/O path analysis mechanism of anti-disturbance provides in addition, carry out network I/O and optimize, be specially:
Step 1: high-efficiency network message capturing mechanism; In linux system, the operating system nucleus protocol stack provides a kind of socket SOCK_PACKET that is operated in data link layer for the user; Libpcap enters into the system kernel attitude through these socket application programming interfaces from user's attitude; TCP layer and the IP layer processing procedure walked around in the kernel protocol stack are directly caught the primitive network Frame from data link layer, can save the CPU time that packet is consumed in receiving course like this; But catch in the packet procedures at Libpcap; System call, data copy and kernel Interrupt Process remain the main performance bottleneck of system; In this mechanism on the basis of Libpcap; Link several consuming time to Libpcap is optimized respectively, has increased kernel strobe utility and bypass kernel protocol stack and has come network message caught and be optimized, and realizes network message catch mechanism efficiently;
Step 2: the efficient multiplexing mechanism of MAC layer; Mode with virtual bridge realizes the multiplexing mechanism of efficient MAC layer; Automatically the connection kernel virtual machine that produces when kernel virtual machine is started and the interface tap of physical host network service add in the port of virtual bridge, wait for receiving the network message that virtual bridge is transmitted; The concrete thinking of the efficient multiplexing mechanism of MAC layer is: virtual bridge is safeguarded a MAC-PORT table, finds the mode of designated port rather than broadcasting to come the transmission network message through searching this table; Receive a message, virtual bridge all can be learnt it and come source MAC, and into this table is added in this address at every turn; The processing of whole virtual bridge is promptly write table and is confirmed the process that transmit port is promptly tabled look-up according to destination address according to source address study for one exactly; If network message is issued this machine, then need network message be sent to the upper strata and handle; If opened STP, also want treatment S TP agreement; If the Microsoft Loopback Adapter of virtual bridge is in promiscuous mode, each network message that receives all need be cloned portion and delivered to AF_PACKET protocol processes body so; If the target MAC (Media Access Control) address of network message is broadcasting or multicast address, then need transmit this network message to the upper-layer protocol stack of this machine, there is an indexed variable passedup to be used for expression here and whether transmitted, if transmitted, just abandon; Behind the inquiry content-addressable memory, if can find list item, and purpose MAC is to the Microsoft Loopback Adapter of this machine, just need submit to upper-layer protocol to this message; Find the table and be not the local virtual network interface card, transmit this message; If table the inside can not find out, just adopt broadcast mode, so just network message is forwarded to one of its port tap from physical host, thereby realizes the multiplexing mechanism of efficient MAC layer;
Step 3: the network I/O path analysis mechanism of anti-disturbance; Mainly be that corresponding expense is the occupancy of the time, CPU usage and the internal memory that consume on the path on path and each path of phase-split network message from the physical host to the kernel virtual machine, thereby draw the main bottleneck that influences kernel virtual machine environment lower network I/O performance; Main thought is: utilize linux kernel monitoring mechanism SystemTap technology to realize a kind of network I/O path analysis instrument; Handle through kernel function being carried out pitching pile; Excavate routing information and performance cost in the network packet transmission course; Comprise the function of process and the time that on each function, is spent, thereby draw main performance cost place; Simultaneously, set up a kind of network I/O event capturing mechanism, just trigger the monitoring that this instrument carries out the I/O path in case find network I/O; The network I/O path analysis mechanism of carrying out pitching pile processing research and development through kernel function can produce the perturbed problem that this network I/O path analysis instrument self brings unavoidably; Utilize and reduce the pitching pile point, come to reduce most to the greatest extent the perturbed problem that network I/O analysis path instrument self brings; Set up a kind of network I/O path analysis mechanism of anti-disturbance;
Step 4: network I/O optimization mechanism; Main performance expense on the network I/O path that draws according to the network I/O path analysis mechanism of anti-disturbance; Through shortening the bang path of network data from the network interface card of physical host to kernel virtual machine; Reduce network data in the transmission lose and because the systematic function expense that transmitting network data brought; Major technique is to improve kernel state and transmits the efficient of data and the efficient that the virtual machine internal data is transmitted to user's attitude; Thereby improve kernel virtual machine environment lower network I/O performance, realize the high-efficiency network I/O under the kernel virtual machine environment.
CN200910076362A 2009-01-14 2009-01-14 Method for implementing high-efficiency network I/O in kernel virtual machine circumstance Expired - Fee Related CN101465863B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910076362A CN101465863B (en) 2009-01-14 2009-01-14 Method for implementing high-efficiency network I/O in kernel virtual machine circumstance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910076362A CN101465863B (en) 2009-01-14 2009-01-14 Method for implementing high-efficiency network I/O in kernel virtual machine circumstance

Publications (2)

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

Family

ID=40806225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910076362A Expired - Fee Related CN101465863B (en) 2009-01-14 2009-01-14 Method for implementing high-efficiency network I/O in kernel virtual machine circumstance

Country Status (1)

Country Link
CN (1) CN101465863B (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894047B (en) * 2010-06-24 2013-11-13 北京航空航天大学 Kernel virtual machine scheduling policy-based implementation method
CN102073493B (en) * 2010-12-17 2013-08-28 曙光信息产业股份有限公司 Method for designing driver of multi-queue high-speed storage equipment
CN102346710B (en) * 2011-10-13 2015-04-29 北京航空航天大学 Dynamic stubbing technology based time-delay analysis method for data packet processing
CN103905309A (en) * 2012-12-28 2014-07-02 中国电信股份有限公司 Method and system of data exchange between virtual machines
CN103152210B (en) * 2013-03-29 2015-07-29 杭州华三通信技术有限公司 Repair method and the stack equipment of Spanning-Tree Protocol forwarding state exception
WO2014161133A1 (en) * 2013-04-01 2014-10-09 华为技术有限公司 Data exchange method, apparatus and system for virtual machine
CN104219260B (en) * 2013-05-30 2017-12-12 中国电信股份有限公司 The method of data exchange, system and physical host between virtual machine in same physical machine
CN103853648A (en) * 2014-02-21 2014-06-11 北京神舟航天软件技术有限公司 Embedded software performance evaluating hardware auxiliary test device and method
CN104331361B (en) * 2014-09-17 2017-11-17 南京涅菩云信息技术有限公司 A kind of test device and method for white-box testing coverage rate calculation visualization
CN104598298A (en) * 2015-02-04 2015-05-06 上海交通大学 Virtual machine dispatching algorithm based on task load and current work property of virtual machine
CN105407140B (en) * 2015-10-23 2018-08-17 上海比林电子科技有限公司 A kind of computing resource virtual method of networking test system
US9854070B2 (en) 2015-11-13 2017-12-26 International Business Machines Corporation Transmission control protocol (TCP) data handling
CN106020926B (en) * 2016-04-29 2019-10-25 华为技术有限公司 A kind of method and device transmitted for data in virtual switch technology
CN109074269B (en) * 2016-07-08 2022-08-05 惠普发展公司,有限责任合伙企业 Determining equipment wear rate
CN106302199B (en) * 2016-08-10 2019-12-17 成都广达新网科技股份有限公司 user mode protocol stack implementation method and system based on three-layer switch equipment
CN106934281A (en) * 2017-03-30 2017-07-07 兴华永恒(北京)科技有限责任公司 A kind of method for building up of the virtual machine countermeasure techniques based on hardware virtualization technology
CN107370622B (en) * 2017-07-14 2020-05-26 苏州浪潮智能科技有限公司 Method and system for multiplexing host machine MAC and IP by virtual machine
CN109714238B (en) * 2018-12-11 2021-08-10 上海云轴信息科技有限公司 Method and equipment for realizing communication between virtual machines
CN110351275B (en) * 2019-07-11 2022-08-19 北京长亭未来科技有限公司 Host port flow monitoring method, system, device and storage equipment
CN110602225A (en) * 2019-09-19 2019-12-20 北京天地和兴科技有限公司 Efficient packet receiving and sending method of linux system suitable for industrial control environment
CN110728598A (en) * 2019-09-20 2020-01-24 华中科技大学 Computer network principle teaching system based on libpcap
CN112769716B (en) * 2021-01-12 2022-03-18 烽火通信科技股份有限公司 Data forwarding method and device of virtual switch based on hybrid virtual network bridge
CN113225344B (en) * 2021-05-10 2022-09-30 深信服科技股份有限公司 Access control method, device, equipment and readable storage medium
CN114584541B (en) * 2022-03-07 2024-06-04 浪潮云信息技术股份公司 Method for accelerating virtual machine network
CN116401020B (en) * 2023-06-07 2023-08-11 四川大学 KVM virtual machine I/O filter framework implementation method, system and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090334A (en) * 2007-05-23 2007-12-19 西安交大捷普网络科技有限公司 Method for solving mass alarm in NIDS

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090334A (en) * 2007-05-23 2007-12-19 西安交大捷普网络科技有限公司 Method for solving mass alarm in NIDS

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张萧等.分布式I/O资源虚拟化技术的研究.《微电子学与计算机》.2008,第25卷(第10期),第178-181页. *
曾珊等.内核虚拟机网络I/O路径的研究与分析.《计算机工程与科学》.2008,第30卷(第A1期),第137-140页. *

Also Published As

Publication number Publication date
CN101465863A (en) 2009-06-24

Similar Documents

Publication Publication Date Title
CN101465863B (en) Method for implementing high-efficiency network I/O in kernel virtual machine circumstance
CN101557420B (en) Realization method of high-efficiency network communication of a virtual machine monitor
US10728179B2 (en) Distributed virtual switch configuration and state management
CN101436966B (en) Network monitoring and analysis system under virtual machine circumstance
US9600380B2 (en) Failure recovery system and method of creating the failure recovery system
CN101859263B (en) Quick communication method between virtual machines supporting online migration
CN101430674B (en) Intraconnection communication method of distributed virtual machine monitoring apparatus
US20070168525A1 (en) Method for improved virtual adapter performance using multiple virtual interrupts
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 (en) Communication method between real-time operating system and non-real-time operating system on multi-core processor
US20180239715A1 (en) Secure zero-copy packet forwarding
Li et al. When I/O interrupt becomes system bottleneck: Efficiency and scalability enhancement for SR-IOV network virtualization
CN102591715A (en) Implementing method for optimizing network performance of virtual machine by using multiqueue technology
WO2014086193A1 (en) Data flow affinity for heterogenous virtual machines
CN114363170A (en) Container service network configuration method and related product
US9612877B1 (en) High performance computing in a virtualized environment
US20240179092A1 (en) Traffic service threads for large pools of network addresses
CN102147840B (en) Method for realizing network control through virtual machine
Ren et al. Residency-aware virtual machine communication optimization: Design choices and techniques
WO2019099328A1 (en) Virtualized i/o
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
US20230109396A1 (en) Load balancing and networking policy performance by a packet processing pipeline

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