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 PDFInfo
- 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
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
(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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090334A (en) * | 2007-05-23 | 2007-12-19 | 西安交大捷普网络科技有限公司 | Method for solving mass alarm in NIDS |
-
2009
- 2009-01-14 CN CN200910076362A patent/CN101465863B/en not_active Expired - Fee Related
Patent Citations (1)
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)
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 |