CN104503825A - Mixed type equipment virtualization method based on KVM (Kernel-based Virtual Machine) - Google Patents

Mixed type equipment virtualization method based on KVM (Kernel-based Virtual Machine) Download PDF

Info

Publication number
CN104503825A
CN104503825A CN201410840861.0A CN201410840861A CN104503825A CN 104503825 A CN104503825 A CN 104503825A CN 201410840861 A CN201410840861 A CN 201410840861A CN 104503825 A CN104503825 A CN 104503825A
Authority
CN
China
Prior art keywords
equipment
kvm
virtual machine
virtual
access
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
CN201410840861.0A
Other languages
Chinese (zh)
Other versions
CN104503825B (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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN201410840861.0A priority Critical patent/CN104503825B/en
Publication of CN104503825A publication Critical patent/CN104503825A/en
Application granted granted Critical
Publication of CN104503825B publication Critical patent/CN104503825B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a mixed type equipment virtualization method based on a KVM. An existing equipment virtualization model is additionally provided with a virtual machine access I/O (Input/Output) route selection controller; when the quantity of virtual machines which are to access I/O equipment is larger than the quantity of the I/O equipment on a physical machine, the virtual machines access the I/O equipment by adopting an equipment simulation I/O virtual route; when the quantity of the virtual machines which are to access the I/O equipment is smaller than the quantity of the I/O equipment on the physical machine, the virtual machines access the I/O equipment by adopting a direct I/O virtual route. The method disclosed by the invention has the advantages of reducing the average time delay for the virtual machines to access the I/O equipment and simultaneously increasing the utilization rate of the equipment.

Description

A kind of based on KVM hybrid apparatus virtual method
Technical field
The present invention relates to computer realm, it is virtual to be specifically related to computer resource, is applicable to the problem solving virtual machine access physical equipment mode.
Background technology
Intel Virtualization Technology be a kind of by different types of on physical platform, dispersion physical resource by different attribute carry out abstract, reconfigure, present to the method for user with the form of logical resource.Intel Virtualization Technology is applied on the macrotype platform machines such as IBM the earliest, because computer speed was slow at that time, resource utilization is low, and computer resource costly, people propose to adopt the way of time-sharing multiplex physical resource to improve the utilization factor of resource for this problem, and this is also virtualized initial thought.Along with the development of computer technology, PC is popularized gradually, and also from strength to strength, people start the utilization factor problem paying close attention to internal memory and CPU to function.Abstract to physical memory, just creates virtual memory techniques, makes application program think owned address space available continuously, and in fact corresponding physical memory may be discontinuous, segmentation exists, even if physical memory is not enough, application program also can perform smoothly.Virtual cpu refers to run multiple operating system simultaneously on a station server, and these systems are mutually isolated, are independent of each other.The high speed development of mobile service made competition between operator in recent years, how to reduce energy consumption and improved the resource utilization Deng Shige great operator major issue that must solve.For the problems referred to above, China Mobile proposes based on centralized Base-Band Processing pond, far-end radio frequency units and the collaboration type wireless network of antenna composition and the C-RAN framework of real-time cloud type infrastructure based on open platform.Centralized Base-Band Processing can reduce the quantity of the base station covering same region, thus can reduce energy consumption, minimizing cost, realizes the sustainable growth of business and profit.After processing unit is concentrated in baseband pool, how realizing physical resource to the mapping of virtual resource and raising resource utilization is the key issue that Intel Virtualization Technology needs to solve.The particularly proposition of cloud computing concept in recent years and the widespread use of cloud computing technology, Intel Virtualization Technology becomes the hot issue that business circles and academia are extensively concerned about again.
Along with the development of Intel Virtualization Technology, CPU and internal memory virtualization technology obtain in depth to be studied and performance is greatly improved.Although recent years is both at home and abroad all in the research paying close attention to I/O device virtualization, but due to physical equipment diversity, the device category of same manufacturer and unit type are also different, the equipment interface standard used under different communication protocol is also different, and these are realized virtual and performance boost all to I/O equipment and bring certain difficulty.On current hardware platform, the handling capacity of I/O rises appreciably, and the performance of I/O equipment directly affects the height of whole system performance.Investigation display, in virtualization system, the working load of I/O frequently being accessed to generation is much larger than because calculating the load produced, and the performance therefore improving I/O device virtualization is the important task of in the work of research Intel Virtualization Technology.
At present, several more typical product is had, as VMware, Xen, KVM etc. for virtual.The position of pressing under often kind of product residing for VMM is different, can have again and different realize framework, as monitoring model (Hypervisor Model), host model (Host-based Model) and mixture model (Hybrid Model).Many at present to KVM research, KVM (Kernel-based Virtual Machine) is a kind of software virtual machine of increasing income of GPL authorization, based on the virtualization solution that hardware is auxiliary.Different from other virtual machines, KVM as one independently kernel module be present in system, what be combined with Linux is fine, makes system kernel self become a virtual machine management program, reduces the size of code of virtual exploitation.KVM can provide the virtual of CPU and internal memory, but itself does not have equipment simulating effect, realize the virtual needs of physical equipment by means of QEMU simulator, QEMU is the analog processor software of increasing income write by FabriceBel lard, the simulation of various processor framework can be supported, comprise X86, ARM, PowerPC etc.Two kinds are had at present, i.e. virtual the and direct I/O virtual method of equipment simulating I/O based on KVM physical equipment virtual method.These two kinds of device virtualization methods all have its merits and demerits, the advantage of equipment simulating I/O virtual method is that it is low to hardware platform dependence, can the various equipment of simulation, do not need host and the special technical support of KVM virtual machine, simulation code module compatibility is high.Shortcoming is that I/O access path is long, and completing an I/O request needs KVM module and KVM virtual machine, and repeatedly switch between KVM module and QEMU, data copy often, makes KVM virtual machine performance decline.Direct I/O virtual method overcomes the defect of contextual processing, also the path of virtual machine access I/O equipment is shortened, under this method, I/O performance is almost identical with under physical conditions, but the motherboard space on a station server is limited, PCI and the PCIE device of permission interpolation are also limited, after equipment directly distributes, that can only fix is accessed by a virtual machine, and the utilization factor of physical equipment is not high.
Summary of the invention
For the deficiencies in the prior art, consider in practical application, baseband pool physical equipment resource-constrained, and the number fluctuation ratio that virtual machine is opened is larger, the present invention is intended to propose one based on KVM hybrid apparatus virtual method, to reduce the average delay of virtual machine access I/O, improve the utilization factor of equipment simultaneously.
To achieve these goals, the present invention adopts following technical scheme:
A kind of based on KVM hybrid apparatus virtualization system, comprise linux kernel, KVM virtual machine, KVM module, QEMU simulation code module, KVM monitor of virtual machine and be provided with the physical machine of I/O equipment, be also provided with virtual machine access I/O Shortest Path Controller in addition.
It should be noted that, described virtual machine access I/O Shortest Path Controller is the critical component of described virtualization system, and be the key means realizing optimizing KVM virtual machine access I/O equipment virtual route, it is in fact a kind of selector switch.
Based on said system, a kind of based on KVM hybrid apparatus virtual method, comprise the steps:
The set of the I/O equipment of S1 free time represents with E, the set of occupied I/O equipment represents with B, the set of the I/O equipment of being accessed with direct I/O virtual route by KVM virtual machine represents with B_d, and the set of the I/O equipment of being accessed with equipment simulating I/O virtual route by KVM virtual machine represents with B_s; In note B_d, each I/O equipment also needs the time of executing the task to be T d, select T d<T 0i/O equipment, composition set B _ p, wherein, T 0for the threshold value that task is waited for;
The each unlatching of S2 note needs the KVM virtual machine number of accessing I/O equipment to be the number that K, Ne and Nbp then represent element in set E and set B _ p respectively; Virtual machine access I/O Shortest Path Controller is that KVM virtual machine selects optimum I/O virtual route access I/O equipment by the Relationship Comparison of Ne, Nbp and K.
It should be noted that, the concrete steps of step S2 comprise:
2.1) as Ne>=K, K KVM virtual machine all adopts direct I/O virtual route to access I/O equipment;
2.2) as 0<Ne<K and Nbp+Ne>K time, then according to necessarily required priority, KVM virtual machine is sorted, respectively front Ne KVM virtual machine is accessed I/O equipment with direct I/O virtual route, remaining K-Ne KVM virtual machine waits in line the I/O equipment in B_p set, had the I/O equipment of process, then KVM virtual machine just accesses this I/O equipment with direct I/O virtual route; As 0<Ne<K and Nbp+Ne<K time, then according to the priority of identical requirement, KVM virtual machine is sorted, a front Ne virtual machine is with the I/O equipment of direct I/O virtual route access free time, Nbp remaining virtual machine is waited in line with the I/O equipment in direct I/O virtual route access B_p successively, last remaining KVM virtual machine with the I/O equipment in equipment simulating I/O virtual route access B_s, and makes KVM virtual machine that these I/O equipment load balanced;
2.3) as Ne=0, then according to and step 2.2) priority of identical requirement sorts to KVM virtual machine, front Nbp KVM virtual machine is waited in line with the I/O equipment in direct I/O virtual route access B_p, remaining with the I/O equipment of equipment simulating I/O virtual route access in B_s, and make the KVM virtual machine number of these I/O apparatus of load reach balanced.
Need to further illustrate, step 2.2) and 2.3) in, specifically according to the priority of task requests, KVM virtual machine is sorted.
Need to further illustrate to be that KVM virtual machine adopts the method for equipment simulating I/O virtual route access I/O equipment specific as follows:
A1) KVM virtual machine initiates an I/O operation requests, intercepted and captured by the I/O capturing code in KVM module, I/O capturing code carries out respective handling to I/O request command, parse port numbers, the size of data, start address etc. information, and these information are stored in I/O share in page, I/O capturing code and QEMU simulation code module share page interactive information by I/O;
A2) I/O capturing code has I/O to ask to need process with the form of interrupting notice QEMU simulation code module, the notified rear access I/O of QEMU simulation code shares page, shares page to obtain specifying information that this I/O asks and go out corresponding I/O by simulation code operating from I/O;
A3) operate rear QEMU simulation code module result is put back into I/O shares in page, inform the I/O capturing code in KVM module simultaneously with the form of interrupting;
A4) I/O capturing code shares read operation result page from I/O, and this result is returned by former road feeds back to KVM virtual machine, and at this moment KVM virtual machine completes an I/O solicit operation.
Need to further illustrate, when KVM virtual machine adopts direct I/O mode to access I/O equipment, realizing direct I/O device virtualization needs amendment linux kernel and QEMU; Concrete steps are as follows:
B1) the virtual support needing hardware of the direct I/O owing to realizing I/O equipment, is therefore provided with a VT-d functional module in the Basic Input or Output System (BIOS) (BIOS) of physical machine, when opening physical machine, needs this functional module to open; Need supporting that the hardware of direct I/O device virtualization detects before use DMA remaps, parse according to the ACPI of BIOS table all information of I/O equipment comprising this hardware register address, management that each DMA in physical machine remaps described support direct I/O device virtualization hardware, and these information are reported to upper layer software (applications); System can carry out identifying according to these information and enter I/O device initialize;
B2) abstract I/O equipment
Before this KVM virtual machine uses target I/O equipment, KVM virtual machine is hidden by equipment and is stopped that other KVM virtual machine or host are accessed it; The I/O equipment that QEMU simulation code module is simulated out using QEMU in KVM virtual machine as equipment placeholder, then the I/O device map of distributing on this Simulation with I/O equipment;
B3) KVM virtual machine activation initialization
Before KVM virtual machine activation, create I/O port conversion list, MMIO conversion table and KVM virtual machine I/O page table; I/O port conversion list and MMIO conversion table are mainly used in the conversion of Virtual Base location register (PCI Bar) to true PCI Bar, and KVM virtual machine I/O page table is used for address conversion.
Need to further illustrate, step b1) in, I/O device initialize comprises the initialization of foundation and initialization root entry, (IOTLB) initialization of bypass translation cache device and context entries.
Need to further illustrate, step b2) in, the I/O device map of distributing mainly is comprised to I/O equipment distribution marker, filling PCI configuration information, sets up PCI Bar and map to this Simulation with I/O equipment.
Beneficial effect of the present invention is:
1, enable I/O equipment perform the working load of virtual machine, reduce the average access time delay of virtual machine access I/O equipment; And raising plant factor;
2, support that KVM virtual machine accesses I/O equipment in a different manner;
3, device resource is dynamically distributed to KVM virtual machine, and do not require to carry out significant hardware change to virtualized I/O equipment;
4, device software and (or) firmware can be revised, to support to isolate the working load of different virtual machine and dispatch.
Accompanying drawing explanation
Fig. 1 is General Implementing schematic diagram of the present invention;
Fig. 2 is based on KVM equipment simulating I/O virtualization model;
Fig. 3 is based on the direct I/O virtualization model of KVM;
Embodiment
Below with reference to accompanying drawing, the invention will be further described, it should be noted that, the present embodiment, premised on the technical program, provides detailed embodiment and concrete operating process, but is not limited to the present embodiment.
A kind of based on KVM hybrid apparatus virtualization system, comprise linux kernel, KVM virtual machine, KVM module, QEMU simulation code module, KVM monitor of virtual machine and be provided with the physical machine of I/O equipment, be also provided with virtual machine access I/O Shortest Path Controller in addition.
It should be noted that, described virtual machine access I/O Shortest Path Controller is the critical component of described virtualization system, and be the key means realizing optimizing KVM virtual machine access I/O equipment virtual route, it is in fact a kind of selector switch.
As shown in Figure 1, based on said system, a kind of based on KVM hybrid apparatus virtual method, comprise the steps:
The set of the I/O equipment of S1 free time represents with E, the set of occupied I/O equipment represents with B, the set of the I/O equipment of being accessed with direct I/O virtual route by KVM virtual machine represents with B_d, and the set of the I/O equipment of being accessed with equipment simulating I/O virtual route by KVM virtual machine represents with B_s; In note B_d, each I/O equipment also needs the time of executing the task to be T d, select T d<T 0i/O equipment, composition set B _ p, wherein, T 0for the threshold value that task is waited for;
The each unlatching of S2 note needs the KVM virtual machine number of accessing I/O equipment to be the number that K, Ne and Nbp then represent element in set E and set B _ p respectively; Virtual machine access I/O Shortest Path Controller is by the Relationship Comparison of Ne, Nbp, K being the I/O virtual route access I/O equipment that KVM virtual machine selects optimum;
Step S2 is actually the virtual machine access number of I/O path controller according to I/O equipment in physical machine and the number of KVM virtual machine, for KVM virtual machine selects equipment simulating I/O virtual route or direct I/O virtual route access I/O equipment.
It should be noted that, the concrete steps of step S2 comprise:
2.1) as Ne>=K, K KVM virtual machine all adopts direct I/O virtual route to access I/O equipment;
2.2) as 0<Ne<K and Nbp+Ne>K time, then according to necessarily required priority, KVM virtual machine is sorted, respectively front Ne KVM virtual machine is accessed I/O equipment with direct I/O virtual route, remaining K-Ne KVM virtual machine waits in line the I/O equipment in B_p set, had the I/O equipment of process, then KVM virtual machine just accesses this I/O equipment with direct I/O virtual route; As 0<Ne<K and Nbp+Ne<K time, then according to the priority of identical requirement, KVM virtual machine is sorted, a front Ne virtual machine is with the I/O equipment of direct I/O virtual route access free time, Nbp remaining virtual machine is waited in line with the I/O equipment in direct I/O virtual route access B_p successively, last remaining KVM virtual machine with the I/O equipment in equipment simulating I/O virtual route access B_s, and makes KVM virtual machine that these I/O equipment load balanced;
2.3) as Ne=0, then according to and step 2.2) identical priority sorts to KVM virtual machine, front Nbp KVM virtual machine is waited in line with the I/O equipment in direct I/O virtual route access B_p, remaining with the I/O equipment of equipment simulating I/O virtual route access in B_s, and make the KVM virtual machine number of these I/O apparatus of load reach balanced.
Need to further illustrate, step 2.2) and 2.3) in, specifically according to the priority of task requests, KVM virtual machine is sorted.
Need to further illustrate to be that as shown in Figure 2, KVM virtual machine adopts the method for equipment simulating I/O virtual route access I/O equipment specific as follows:
A1) KVM virtual machine initiates an I/O operation requests, intercepted and captured by the I/O capturing code in KVM module, I/O capturing code carries out respective handling to I/O request command, parse port numbers, the size of data, start address etc. information, and these information are stored in I/O share in page, I/O capturing code and QEMU simulation code module share page interactive information by I/O;
A2) I/O capturing code has I/O to ask to need process with the form of interrupting notice QEMU simulation code module, the notified rear access I/O of QEMU simulation code shares page, shares page to obtain specifying information that this I/O asks and go out corresponding I/O by simulation code operating from I/O;
A3) operate rear QEMU simulation code module result is put back into I/O shares in page, inform the I/O capturing code in KVM module simultaneously with the form of interrupting;
A4) I/O capturing code shares read operation result page from I/O, and this result is returned by former road feeds back to KVM virtual machine, and at this moment KVM virtual machine completes an I/O solicit operation.
Need to further illustrate to be that, as shown in Figure 3, when KVM virtual machine adopts direct I/O virtual route to access I/O equipment, realizing direct I/O device virtualization needs amendment linux kernel and QEMU; Its concrete steps are as follows:
B1) the virtualized hardware detecting of direct I/O and initialization is supported
Due to the virtual support needing hardware of the direct I/O realizing I/O equipment, therefore the Basic Input or Output System (BIOS) (BIOS) of physical machine is provided with a VT-d functional module, when opening physical machine, needs this functional module to open; Need before use DMA remaps to detect the virtualized hardware of the direct I/O of support, show according to the ACPI of BIOS all information of I/O equipment comprising this hardware register address, management that each DMA parsed in physical machine remaps described support direct I/O virtualization hardware, and these information are reported to upper layer software (applications); System can carry out identifying according to these information and enter I/O device initialize;
B2) abstract I/O equipment
The virtual target I/O equipment that makes of direct I/O is monopolized by a KVM virtual machine, therefore needed to stop that other KVM virtual machine or host are accessed it before this KVM virtual machine uses target I/O equipment, in virtual machine, use equipment is hidden and is addressed this problem, make other KVM virtual machines or host except target KVM virtual machine this I/O equipment cannot be detected, therefore also just cannot access this I/O equipment.Abstract equipment is out to the identification of target KVM virtual machine abstract for the real equipment hidden.QEMU is mainly used in equipment simulating, but utilizing VT-d technology to realize still need by means of QEMU simulation code module when direct I/O accesses, the I/O equipment that it simulates out using QEMU in KVM virtual machine as equipment placeholder, again distribute I/O device map on this Simulation with I/O equipment, In the view of KVM virtual machine use remain I/O equipment.
B3) KVM virtual machine activation initialization
Before KVM virtual machine activation, create I/O port conversion list, MMIO conversion table and KVM virtual machine I/O page table; I/O port conversion list and MMIO conversion table are mainly used in the conversion of Virtual PC I Bar to true PCI Bar, and KVM virtual machine I/O page table is used for address conversion.
Need to further illustrate, step b1) in, I/O device initialize comprises the initialization of foundation and initialization root entry, (IOTLB) initialization of bypass translation cache device and context entries.
Need to further illustrate, step b2) in, the I/O device map of distributing mainly is comprised to equipment distribution marker, filling PCI configuration information, sets up PCI Bar and map to this Simulation with I/O equipment.
For a person skilled in the art, according to above technical scheme and design, various corresponding change and distortion can be provided, and all these change and distortion all should be included within the protection domain of the claims in the present invention.

Claims (8)

1. one kind based on KVM hybrid apparatus virtualization system, comprise linux kernel, KVM virtual machine, KVM module, QEMU simulation code module, KVM monitor of virtual machine and be provided with the physical machine of I/O equipment, it is characterized in that, be also provided with virtual machine access I/O Shortest Path Controller.
2. based on a KVM hybrid apparatus virtual method, it is characterized in that, described method comprises the steps:
The set of the I/O equipment of S1 free time represents with E, the set of occupied I/O equipment represents with B, the set of the I/O equipment of being accessed with direct I/O virtual route by KVM virtual machine represents with B_d, and the set of the I/O equipment of being accessed with equipment simulating I/O virtual route by KVM virtual machine represents with B_s; In note B_d, each I/O equipment also needs the time of executing the task to be T d, select T d<T 0i/O equipment, composition set B _ p, wherein, T 0for the threshold value that task is waited for;
The each unlatching of S2 note needs the KVM virtual machine number of accessing I/O equipment to be the number that K, Ne and Nbp then represent element in set E and set B _ p respectively; Virtual machine access I/O Shortest Path Controller is that KVM virtual machine selects optimum I/O virtual route access I/O equipment by the Relationship Comparison of Ne, Nbp and K.
3. one according to claim 2 is based on KVM hybrid apparatus virtual method, it is characterized in that, the concrete steps of step S2 comprise:
2.1) as Ne>=K, K KVM virtual machine all adopts direct I/O virtual route to access idle I/O equipment;
2.2) as 0<Ne<K and Nbp+Ne>K time, then according to necessarily required priority, KVM virtual machine is sorted, respectively front Ne KVM virtual machine is accessed idle I/O equipment with direct I/O virtual route, remaining K-Ne KVM virtual machine waits in line the I/O equipment in B_p set, when having had the I/O equipment of process, then KVM virtual machine just accesses this I/O equipment with direct I/O virtual route; As 0<Ne<K and Nbp+Ne<K time, then according to the priority of identical requirement, KVM virtual machine is sorted, a front Ne virtual machine is with the I/O equipment of direct I/O virtual route access free time, Nbp remaining virtual machine is waited in line with the I/O equipment in direct I/O virtual route access B_p successively, and last remaining KVM virtual machine is with the I/O equipment in equipment simulating I/O virtual route access B_s and make KVM virtual machine equilibrium that these I/O equipment load;
2.3) as Ne=0, then according to and step 2.2) priority of identical requirement sorts to KVM virtual machine, front Nbp KVM virtual machine is waited in line with the I/O equipment in direct I/O virtual route access B_p, remainingly makes the KVM virtual machine number of these I/O apparatus of load reach balanced with the I/O equipment of equipment simulating I/O virtual route access in B_s.
4. one according to claim 3 is based on KVM hybrid apparatus virtual method, it is characterized in that, step 2.2) and 2.3) in, specifically according to the priority of task requests, KVM virtual machine is sorted.
5. according to the arbitrary described one of claim 2-4 based on KVM hybrid apparatus virtual method, it is characterized in that, KVM virtual machine adopts the method for equipment simulating I/O virtual route access I/O equipment specific as follows:
A1) KVM virtual machine initiates an I/O operation requests, intercepted and captured by the I/O capturing code in KVM module, I/O capturing code carries out respective handling to I/O request command, parse port numbers, the size of data, start address etc. information, and these information are stored in I/O share in page, I/O capturing code and QEMU simulation code module share page interactive information by I/O;
A2) I/O capturing code has I/O to ask to need process with the form of interrupting notice QEMU simulation code, and the notified rear access I/O of QEMU simulation code shares page, shares page to obtain specifying information that this I/O asks and simulate corresponding I/O operating from I/O;
A3) operate rear QEMU simulation code module result is put back into I/O shares in page, inform the I/O capturing code in KVM module simultaneously with the form of interrupting;
A4) I/O capturing code shares read operation result page from I/O, and this result is returned by former road feeds back to KVM virtual machine, and at this moment KVM virtual machine completes an I/O solicit operation.
6. the one according to claim 2-4, based on KVM hybrid apparatus virtual method, is characterized in that, when KVM virtual machine adopts direct I/O virtual route to access I/O equipment, realizes that direct I/O is virtual needs amendment linux kernel and QEMU; Its concrete steps are as follows:
B1) the virtualized hardware detecting of direct I/O and initialization is supported
Due to the virtual support needing hardware of the direct I/O realizing I/O equipment, therefore the Basic Input or Output System (BIOS) (BIOS) of physical machine is provided with VT-d functional module, when opening physical machine, needs to start described VT-d functional module; Need before use DMA remaps to detect the virtualized hardware of the direct I/O of support, according to the ACPI of BIOS table parse each DMA in physical machine remap described support direct I/O virtualization hardware comprise this hardware register address, management I/O equipment all information, and these information are reported to upper layer software (applications); System can carry out identifying according to these information and enter I/O device initialize;
B2) abstract I/O equipment
Before KVM virtual machine uses target I/O, KVM virtual machine is hidden by equipment and is stopped that other KVM virtual machine or host are accessed it; The I/O equipment that QEMU simulation code module is simulated out using QEMU in KVM virtual machine as equipment placeholder, then the I/O device map of distributing on this Simulation with I/O equipment;
B3) KVM virtual machine activation initialization
Before KVM virtual machine activation, create I/O port conversion list, MMIO conversion table and KVM virtual machine I/O page table; I/O port conversion list and MMIO conversion table are mainly used in the conversion of Virtual Base location register (PCI Bar) to true PCI Bar, and KVM virtual machine I/O page table is used for address conversion.
7. one according to claim 6 is based on KVM hybrid apparatus virtual method, it is characterized in that, step b1) in, I/O device initialize comprises the initialization of foundation and initialization root entry, (IOTLB) initialization of bypass translation cache device and context entries.
8. one according to claim 6 is based on KVM hybrid apparatus virtual method, it is characterized in that, step b2) in, the I/O device map of distributing mainly is comprised to equipment distribution marker, filling PCI configuration information, sets up PCI Bar and map to this Simulation with I/O equipment.
CN201410840861.0A 2014-12-29 2014-12-29 One kind is based on KVM hybrid apparatus virtual methods Active CN104503825B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410840861.0A CN104503825B (en) 2014-12-29 2014-12-29 One kind is based on KVM hybrid apparatus virtual methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410840861.0A CN104503825B (en) 2014-12-29 2014-12-29 One kind is based on KVM hybrid apparatus virtual methods

Publications (2)

Publication Number Publication Date
CN104503825A true CN104503825A (en) 2015-04-08
CN104503825B CN104503825B (en) 2017-11-24

Family

ID=52945226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410840861.0A Active CN104503825B (en) 2014-12-29 2014-12-29 One kind is based on KVM hybrid apparatus virtual methods

Country Status (1)

Country Link
CN (1) CN104503825B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653372A (en) * 2015-12-30 2016-06-08 中电科华云信息技术有限公司 Cloud platform-based method for realizing multi-virtualization hybrid management and scheduling
CN106371895A (en) * 2016-09-04 2017-02-01 国云科技股份有限公司 Method for upgrading KVM (Kernel-based Virtual Machine) for de-virtualization
CN106789337A (en) * 2017-01-18 2017-05-31 郑州云海信息技术有限公司 A kind of network performance optimizing method of KVM
WO2017121273A1 (en) * 2016-01-12 2017-07-20 阿里巴巴集团控股有限公司 Method and device for processing i/o request under kvm virtualization
CN107977256A (en) * 2017-12-15 2018-05-01 郑州云海信息技术有限公司 It is a kind of to the access method of FPGA accelerator cards, device and medium
CN107977251A (en) * 2016-10-21 2018-05-01 超威半导体(上海)有限公司 Exclusive access to the shared register in virtualization system
CN113886007A (en) * 2021-09-18 2022-01-04 云宏信息科技股份有限公司 Configuration method, management method, system and medium for KVM virtualization system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876954A (en) * 2009-12-23 2010-11-03 中国科学院计算技术研究所 Virtual machine control system and working method thereof
CN103034526A (en) * 2012-12-06 2013-04-10 中国电信股份有限公司云计算分公司 Realization method and device of virtualized service
CN103473139A (en) * 2013-09-26 2013-12-25 四川中电启明星信息技术有限公司 Virtual machine cluster resource allocation and scheduling method
CN103605562A (en) * 2013-12-10 2014-02-26 浪潮电子信息产业股份有限公司 Method for migrating kernel-based virtual machine (KVM) between physical hosts
CN104050014A (en) * 2014-05-23 2014-09-17 上海爱数软件有限公司 Efficient storage management method based on virtualization platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876954A (en) * 2009-12-23 2010-11-03 中国科学院计算技术研究所 Virtual machine control system and working method thereof
CN103034526A (en) * 2012-12-06 2013-04-10 中国电信股份有限公司云计算分公司 Realization method and device of virtualized service
CN103473139A (en) * 2013-09-26 2013-12-25 四川中电启明星信息技术有限公司 Virtual machine cluster resource allocation and scheduling method
CN103605562A (en) * 2013-12-10 2014-02-26 浪潮电子信息产业股份有限公司 Method for migrating kernel-based virtual machine (KVM) between physical hosts
CN104050014A (en) * 2014-05-23 2014-09-17 上海爱数软件有限公司 Efficient storage management method based on virtualization platform

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
戢友: "《OpenStack开源云王者归来:云计算、虚拟化Nova、Swift、Quantum与Hadoop》", 30 August 2014, 清华大学出版社 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653372A (en) * 2015-12-30 2016-06-08 中电科华云信息技术有限公司 Cloud platform-based method for realizing multi-virtualization hybrid management and scheduling
CN105653372B (en) * 2015-12-30 2019-03-29 中电科华云信息技术有限公司 The method for realizing multiple virtualization mixed management and scheduling based on cloud platform
WO2017121273A1 (en) * 2016-01-12 2017-07-20 阿里巴巴集团控股有限公司 Method and device for processing i/o request under kvm virtualization
CN106970821A (en) * 2016-01-12 2017-07-21 阿里巴巴集团控股有限公司 A kind of method and apparatus that I/O requests are handled under KVM virtualization
CN106970821B (en) * 2016-01-12 2021-02-02 阿里巴巴集团控股有限公司 Method and device for processing I/O request under KVM virtualization
CN106371895A (en) * 2016-09-04 2017-02-01 国云科技股份有限公司 Method for upgrading KVM (Kernel-based Virtual Machine) for de-virtualization
CN107977251A (en) * 2016-10-21 2018-05-01 超威半导体(上海)有限公司 Exclusive access to the shared register in virtualization system
CN107977251B (en) * 2016-10-21 2023-10-27 超威半导体(上海)有限公司 Exclusive access to shared registers in virtualized systems
CN106789337A (en) * 2017-01-18 2017-05-31 郑州云海信息技术有限公司 A kind of network performance optimizing method of KVM
CN106789337B (en) * 2017-01-18 2020-06-26 郑州云海信息技术有限公司 Network performance optimization method of KVM
CN107977256A (en) * 2017-12-15 2018-05-01 郑州云海信息技术有限公司 It is a kind of to the access method of FPGA accelerator cards, device and medium
CN113886007A (en) * 2021-09-18 2022-01-04 云宏信息科技股份有限公司 Configuration method, management method, system and medium for KVM virtualization system

Also Published As

Publication number Publication date
CN104503825B (en) 2017-11-24

Similar Documents

Publication Publication Date Title
CN104503825A (en) Mixed type equipment virtualization method based on KVM (Kernel-based Virtual Machine)
CN100472451C (en) Dummy machine system and its hardware access method
KR101782398B1 (en) Technologies for secure inter-virtual-machine shared memory communication
CN101477496B (en) NUMA structure implementing method based on distributed internal memory virtualization
US8281303B2 (en) Dynamic ejection of virtual devices on ejection request from virtual device resource object within the virtual firmware to virtual resource driver executing in virtual machine
US20160267013A1 (en) Techniques to prelink software to improve memory de-duplication in a virtual system
CN104239238B (en) Method and apparatus for managing translation lookaside buffering
CN100570562C (en) Video card, the dummy machine system of using this video card and display processing method
CN101739283B (en) Computer and method for virtual system to directly access computer hardware
CN101751284A (en) I/O resource scheduling method for distributed virtual machine monitor
US9697024B2 (en) Interrupt management method, and computer implementing the interrupt management method
US10540294B2 (en) Secure zero-copy packet forwarding
CN103282881A (en) Direct sharing of smart devices through virtualization
CN103793260A (en) Platform virtualization system
CN102754076A (en) Method and apparatus for handling an i/o operation in a virtualization environment
CN102096597B (en) The virtual bus equipment of use management engine
CN101876954B (en) Virtual machine control system and working method thereof
KR20210001886A (en) Data accessing method and apparatus, device and medium
CN103064724A (en) Virtual mechanism constructing method and device
CN103995733A (en) Lightweight nested virtualization implementation method based on physical resource penetration mechanism
Chang et al. Assessment of hypervisor and shared storage for cloud computing server
CN107741868B (en) Setting method and device for Basic Input Output System (BIOS)
US9852100B2 (en) Guest-programmable location of advanced configuration and power interface (ACPI) tables in virtualized systems
US20230185593A1 (en) Virtual device translation for nested virtual machines
CN102981962B (en) Method for fast scanning dirty page bitmap of full-virtualization virtual machine

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant