CN106445628A - Virtualization method, apparatus and system - Google Patents
Virtualization method, apparatus and system Download PDFInfo
- Publication number
- CN106445628A CN106445628A CN201510489246.4A CN201510489246A CN106445628A CN 106445628 A CN106445628 A CN 106445628A CN 201510489246 A CN201510489246 A CN 201510489246A CN 106445628 A CN106445628 A CN 106445628A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- message
- data
- memory access
- memory
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Embodiments of the invention provide a virtualization method, apparatus and system, which realizes hardware virtualization. The method comprises the steps of generating a data access message, wherein the data access message carries a virtual machine identifier and virtual address information, the virtual machine identifier is used for identifying a virtual machine which generates the data access message, and the virtual address information is a virtual address of to-be-accessed data in the virtual machine; sending the data access message to a memory controller; and determining a physical memory address of the to-be-accessed data in a memory device according to the virtual machine identifier and the virtual address information by the memory controller. By adding the virtual machine identifier to the data access message, direct access to memory resources is realized, a tedious management process of memory resource access by software in the virtualization system is removed, and a base is provided for dynamic allocation of virtual machine resources.
Description
Technical field
The present embodiments relate to computer realm, more particularly, to a kind of virtual method, device and system.
Background technology
Data center's load at present is varied, and the very difficult high efficiency of single hardware configuration, at low cost satisfaction load are multifarious
Demand.For effective use data center resource, the whole hardware resource dynamically distributes realizing data center server are needed to maximize.
Intel Virtualization Technology (Virtualization Technology, VT) is a kind of major technique that can make full use of hardware resource.
Intel Virtualization Technology, is to refer to, in the computer hardware platforms of complete set, one group of hardware be invented multigroup hardware,
And it is supplied to the software system (typically operating system, such as Windows, Linux, Unix, Mac etc.) of multiple independent operatings
As independent operating environment, the environment (operating system) of these independent operatings is commonly known as virtual machine (Virtual
Machine,VM).The computer installation possessing Intel Virtualization Technology can concurrently run multiple independent operating systems, these operations
Between system in addition to sharing hardware resource (as internal memory, I/O, storage and processor ability) in running, keep mutually
Independent, can be regarded as multiple independent computers and running.Under normal circumstances, it is used as using the computer of Intel Virtualization Technology
Run operating system and the application software system of execution difference in functionality.Intel Virtualization Technology requires there is one for realizing to multiple behaviour
Make system hardware resources and the management software system calling, it be referred to as virtual machine monitor (Virtual Machine Monitor,
Abbreviation VMM).VMM is invoked software system at first in the computer platform possess VT technology, and it is responsible for VT processor
VT function initializes, and sets up virtual machine environment, the virtualization of hardware, and instruction filtration when running, multiple operating system and runs
The operation such as scheduling.
Most of Intel Virtualization Technology is all to realize total system virtualization by software at present, causes virtual machine performance not ideal enough.Example
As the virtualization of processor is realized by the task scheduling of VMM, and each virtual machine switching all can bring certain performance loss;
The virtualization of internal memory is realized by virtual memory techniques, a large amount of transmission look-aside buffer (Translation thus bringing
Lookaside Buffer, TLB) disappearance, lead to performance loss, and Memory Controller Hub cannot perceive virtual machine, thus
It is difficult to carry out the optimization of memory access scheduling according to virtual machine.If loaded down with trivial details software management can be reduced, support entirely empty from hardware
Planization, the resource utilization of data center will be greatly improved.
Content of the invention
In view of this, a kind of virtual method, device and system are embodiments provided, by each portion of computer installation
Virtual machine mark is added in communication packet between part, so that can between processor and internal memory, and processor and I/O equipment
With Direct Communication.
In a first aspect, embodiments providing a kind of virtual method, including:The Memory Controller Hub of computer system obtains
The data memory access message of virtual machine, described data memory access message carries virtual machine mark and Pseudo Address information, described virtual machine mark
Know the described virtual machine sending described data memory access message for mark, described Pseudo Address information is the data treating memory access described
The virtual address of virtual machine;Described Memory Controller Hub identifies and described Pseudo Address information according to described virtual machine, treats described in determination
Physical memory addresses in memory device for the data of memory access.
In conjunction with a first aspect, in the first possible implementation in first aspect, described Memory Controller Hub is according to described virtual machine
Mark and described Pseudo Address information, treat the data of the memory access physical memory addresses in memory device described in determination, including:Institute
State Memory Controller Hub and default corresponding relation is inquired about according to described virtual machine mark and described Pseudo Address information, wait to visit described in determination
Physical memory addresses in memory device for the data deposited, wherein, described corresponding relation includes the every of described computer system operation
The corresponding relation of the physical memory addresses that the virtual machine mark of individual virtual machine is distributed with each virtual machine described.
In conjunction with the possible implementation of first aspect or first aspect any of the above, in the possible realization side of first aspect second
In formula, described Memory Controller Hub is provided with least one buffer queue, each of at least one buffer queue described buffer queue
One virtual machine mark of association;After described Memory Controller Hub obtains described data memory access message, also include:Described Memory control
Described data memory access message is stored in the buffer queue associated by the described virtual machine mark that described data memory access message carries by device.
In conjunction with the possible implementation of first aspect or first aspect any of the above, in the third possible realization side of first aspect
In formula, the Memory Controller Hub of described computer system obtains the data memory access message of virtual machine, including:Described Memory Controller Hub leads to
Cross system bus and receive the described data memory access message carrying described virtual machine mark and described Pseudo Address information.
In conjunction with the possible implementation of first aspect or first aspect any of the above, in the 4th kind of possible realization side of first aspect
In formula, described data memory access message includes that data writes message or data is read the newspaper literary composition;If described data memory access message writes report for data
Literary composition, described Memory Controller Hub identifies and described Pseudo Address information according to described virtual machine, treats including the data of memory access described in determination
After depositing the physical memory addresses in equipment, also include:The memory field that described Memory Controller Hub indicates to described physical memory addresses
The data of memory access is treated described in the write of domain;If described data memory access message is read the newspaper literary composition for data, described Memory Controller Hub is according to described
Virtual machine identifies and described Pseudo Address information, treats the data of memory access after the physical memory addresses in memory device described in determination,
Also include:The region of memory that described Memory Controller Hub indicates from described physical memory addresses treats the data of memory access described in reading.
Second aspect, embodiments provides a kind of virtual method, including:Virtual machine generates data memory access message, institute
State data memory access message and carry virtual machine mark and Pseudo Address information, described virtual machine identifies and generates described data visit for mark
The described virtual machine of stored messages, described Pseudo Address information is the virtual address in described virtual machine for the data treating memory access;Described void
Plan machine sends described data memory access message to Memory Controller Hub.
In conjunction with second aspect, in the first possible implementation in second aspect, the processor resource of described virtual machine is configured with
At least one depositor, at least one depositor described is used for storing the virtual machine mark of described virtual machine;Described virtual machine generates
Before data memory access message, also include:The virtual machine mark of described virtual machine is obtained from least one depositor described.
In conjunction with the possible implementation of second aspect or second aspect any of the above, in the possible realization side of second aspect second
In formula, also include:Described virtual machine, according to described virtual machine mark and described Pseudo Address information, searches described void from caching
The cache blocks that plan machine mark indicates collectively with described Pseudo Address information, the flag of the cache blocks of described caching comprises virtual machine mark
Know position and address information labelling position.
In conjunction with the possible implementation of second aspect or second aspect any of the above, in the third possible realization side of second aspect
In formula, described virtual machine sends described data memory access message to Memory Controller Hub and includes:Described virtual machine passes through system bus to institute
State Memory Controller Hub and send the described data memory access message carrying described virtual machine mark and described Pseudo Address information.
In conjunction with the possible implementation of second aspect or second aspect any of the above, in the 4th kind of possible realization side of second aspect
In formula, described data memory access message includes that data writes message or data is read the newspaper literary composition;Described data writes message for described virtual machine
The data of memory access is treated described in the region of memory write that mark and described Pseudo Address information indicate collectively;Described data literary composition of reading the newspaper is used for
From the data treating memory access described in the region of memory reading that described virtual machine mark and described Pseudo Address information indicate collectively.
The third aspect, embodiments provides a kind of data virtualization method it is characterised in that including:Computer system
I/O controller obtain the first virtual machine the first I/O access message, described first I/O access message carry virtual machine mark,
Described virtual machine identifies and sends, for mark, the first virtual machine that described I/O accesses message;Described I/O controller is according to described
One I/O accesses message, I/O equipment is distributed to described first virtual machine and uses.
In conjunction with the third aspect, in the first possible implementation in the third aspect, also get second in described I/O controller
When 2nd I/O of virtual machine accesses message, described I/O controller accesses message according to a described I/O, and I/O equipment is divided
Described in dispensing, the first virtual machine uses, including:Described I/O controller according to default priority relationship, according to priority successively
Described I/O equipment is distributed to described first virtual machine and is used by order, and wherein, described priority relationship is used for representing described first
Virtual machine and the priority size of described second virtual machine.
In conjunction with the possible implementation of the third aspect or third aspect any of the above, in the possible realization side of third aspect second
In formula, described I/O controller also get the second virtual machine the 2nd I/O access message when, described I/O controller according to
A described I/O accesses message, I/O equipment is distributed to described first virtual machine and uses, including:Described I/O controller root
According to getting, a described I/O accesses message and described I/O equipment is distributed to by the sequencing of described 2nd I/O access message
Described first virtual machine uses.
In conjunction with the possible implementation of the third aspect or third aspect any of the above, in the third possible realization side of the third aspect
In formula, I/O equipment is distributed to described first virtual machine using afterwards by described I/O controller, also includes:Lock described I/O
Equipment, so that described I/O equipment is exclusively enjoyed by described first virtual machine, and uses described I/O equipment in described first virtual machine
After completing I/O operation, release the locking to described I/O equipment, so that described I/O equipment is assigned to other virtual machines
Use.
In conjunction with the possible implementation of the third aspect or third aspect any of the above, in the 4th kind of possible realization side of the third aspect
In formula, described I/O controller is configured with least one buffer queue, each of at least one buffer queue described buffer queue
One virtual machine mark of association;
After described I/O controller obtains an I/O access message of the first virtual machine, also include:Described I/O controller will
A described I/O accesses message and is stored in the buffer queue that described I/O accesses the virtual machine mark association in message.
In conjunction with the possible implementation of the third aspect or third aspect any of the above, in the 5th kind of possible realization side of the third aspect
In formula, the I/O that described I/O controller obtains the first virtual machine accesses message, including:Described I/O controller passes through
System bus receives and accesses message from an I/O of described first virtual machine.
Fourth aspect, embodiments provides a kind of virtual method it is characterised in that including:Virtual machine generates I/O
Access message, described I/O accesses message and comprises virtual machine mark, described virtual machine identifies and accesses for the described I/O of mark generation
The described virtual machine of message;Described virtual machine sends described I/O to I/O controller and accesses message, and described I/O controller is used for
Management I/O equipment.
In conjunction with fourth aspect, in the first possible implementation in fourth aspect, the processor resource of described virtual machine is configured with
At least one depositor, at least one depositor described is used for storing the virtual machine mark of described virtual machine;Described virtual machine generates
Before I/O accesses message, also include:The virtual machine mark of described virtual machine is obtained from least one depositor described.
In conjunction with the possible implementation of fourth aspect or fourth aspect any of the above, in the possible realization side of fourth aspect second
In formula, described virtual machine sends described I/O to I/O controller and accesses message, including:Described virtual machine pass through system bus to
Described I/O controller sends the described I/O access message carrying described virtual machine mark.
5th aspect, embodiments provides a kind of virtualization apparatus it is characterised in that including:Acquiring unit, is used for
Obtain the data memory access message of virtual machine, described data memory access message carries virtual machine mark and Pseudo Address information, described virtual
Machine identifies the described virtual machine sending described data memory access message for mark, and described Pseudo Address information is that the data treating memory access exists
The virtual address of described virtual machine;Determining unit, for according to described virtual machine mark and described Pseudo Address information, determining institute
State physical memory addresses in memory device for the data treating memory access.
In conjunction with the 5th aspect, in the first possible implementation of the 5th aspect, described determining unit is used for according to described virtual
Machine mark and described Pseudo Address information, treat the data of the memory access physical memory addresses in memory device described in determination, including:
Described determining unit is used for inquiring about default corresponding relation according to described virtual machine mark and described Pseudo Address information, determines described
Treat the data of the memory access physical memory addresses in memory device, wherein, described corresponding relation includes described computer system and runs
The virtual machine mark of each virtual machine and the physical memory addresses of described each virtual machine distribution corresponding relation.
In conjunction with the possible implementation of the 5th aspect or the 5th aspect any of the above, in the possible realization side of the 5th aspect second
In formula, described device is provided with least one buffer queue, each of at least one buffer queue described buffer queue association one
Individual virtual machine mark;After described acquiring unit obtains described data memory access message, it is additionally operable to be stored in described data memory access message
The buffer queue associated by described virtual machine mark that described data memory access message carries.
In conjunction with the possible implementation of the 5th aspect or the 5th aspect any of the above, in the 5th the third possible realization side of aspect
In formula, described acquiring unit is used for obtaining the data memory access message of virtual machine, including:Described acquiring unit is used for total by system
Line receives the described data memory access message carrying described virtual machine mark and described Pseudo Address information.
In conjunction with the possible implementation of the 5th aspect or the 5th aspect any of the above, in the 4th kind of possible realization side of the 5th aspect
In formula, described device also includes processing unit, and described data memory access message includes that data writes message or data is read the newspaper literary composition;If institute
State data memory access message and write message for data, described processing unit is used for the region of memory write to the instruction of described physical memory addresses
The described data treating memory access;If described data memory access message is read the newspaper literary composition for data, described processing unit is used in described physics
The data of memory access is treated described in the region of memory reading depositing address instruction.
6th aspect, embodiments provides a kind of virtualization apparatus it is characterised in that including:Signal generating unit, is used for
Generate data memory access message, described data memory access message carries virtual machine mark and Pseudo Address information, described virtual machine mark is used
In mark operation virtual machine on such devices, described Pseudo Address information is to treat that the data of memory access is virtual in described virtual machine
Address;Transmitting element, for sending described data memory access message to Memory Controller Hub.
In conjunction with the 6th aspect, in the first possible implementation of the 6th aspect, described device is configured with least one depositor,
At least one depositor described is used for storing the virtual machine mark of described virtual machine;Described signal generating unit generate data memory access message it
Before, it is additionally operable to obtain the virtual machine mark of described virtual machine from least one depositor described.
In conjunction with the possible implementation of the 6th aspect or the 6th aspect any of the above, in the possible realization side of the 6th aspect second
In formula, corresponding device also comprises searching unit, and described searching unit is used for according to described virtual machine mark and described virtual address letter
Breath, searches the cache blocks that described virtual machine mark and described Pseudo Address information indicate collectively, the caching of described caching from caching
The flag of block comprises virtual machine flag and address information labelling position.
In conjunction with the possible implementation of the 6th aspect or the 6th aspect any of the above, in the 6th the third possible realization side of aspect
In formula, described transmitting element is used for sending described data memory access message to Memory Controller Hub, including:Described transmitting element is used for leading to
Cross system bus and send the described data memory access carrying described virtual machine mark and described Pseudo Address information to described Memory Controller Hub
Message.
In conjunction with the possible implementation of the 6th aspect or the 6th aspect any of the above, in the 4th kind of possible realization side of the 6th aspect
In formula, described data memory access message includes that data writes message or data is read the newspaper literary composition;Described data writes message for described virtual machine
The data of memory access is treated described in the region of memory write that mark and described Pseudo Address information indicate collectively;Described data literary composition of reading the newspaper is used for
From the data treating memory access described in the region of memory reading that described virtual machine mark and described Pseudo Address information indicate collectively.
7th aspect, embodiments provides a kind of data virtual gasifying device it is characterised in that including:Acquiring unit,
An I/O for obtaining the first virtual machine accesses message, and a described I/O accesses message and carries virtual machine mark, described void
Plan machine identifies and sends, for mark, the first virtual machine that described I/O accesses message;Allocation unit, for according to a described I/O
Access message, I/O equipment is distributed to described first virtual machine and uses.
In conjunction with the 7th aspect, in the first possible implementation of the 7th aspect, also get second in described acquiring unit empty
When 2nd I/O of plan machine accesses message, described allocation unit is used for accessing message according to a described I/O, and I/O equipment is divided
Described in dispensing, the first virtual machine uses, including:Described allocation unit is used for according to default priority relationship, first according to priority
Described I/O equipment is distributed to described first virtual machine and is used by order afterwards, and wherein, described priority relationship is used for representing described the
One virtual machine and the priority size of described second virtual machine.
In conjunction with the possible implementation of the 7th aspect or the 7th aspect any of the above, in the possible realization side of the 7th aspect second
In formula, when described acquiring unit also gets the 2nd I/O access message of the second virtual machine, described allocation unit is used for basis
A described I/O accesses message, I/O equipment is distributed to described first virtual machine and uses, including:Described allocation unit is used for
According to getting, a described I/O accesses message and described I/O equipment is distributed by the sequencing of described 2nd I/O access message
Use to described first virtual machine.
In conjunction with the possible implementation of the 7th aspect or the 7th aspect any of the above, in the 7th the third possible realization side of aspect
In formula, I/O equipment is distributed to described first virtual machine using afterwards by described allocation unit, is additionally operable to lock described I/O equipment,
So that described I/O equipment is exclusively enjoyed by described first virtual machine, and complete I/O in described first virtual machine using described I/O equipment
After operation, release the locking to described I/O equipment, so that described I/O equipment is assigned to other virtual machines and uses.
In conjunction with the possible implementation of the 7th aspect or the 7th aspect any of the above, in the 4th kind of possible realization side of the 7th aspect
In formula, described device is configured with least one buffer queue, each of at least one buffer queue described buffer queue association one
Individual virtual machine mark;After described acquiring unit obtains an I/O access message of the first virtual machine, it is additionally operable to described first
I/O accesses message and is stored in the buffer queue that described I/O accesses the virtual machine mark association in message.
In conjunction with the possible implementation of the 7th aspect or the 7th aspect any of the above, in the 5th kind of possible realization side of the 7th aspect
In formula, the I/O that described acquiring unit is used for obtaining the first virtual machine accesses message, including:Described acquiring unit is used for leading to
Cross system bus and receive the I/O access message from described first virtual machine.
Eighth aspect, embodiments provides a kind of virtualization apparatus it is characterised in that including:Signal generating unit, is used for
Generate I/O and access message, described I/O accesses message and comprises virtual machine mark, and described virtual machine identifies and operates in institute for mark
State the virtual machine on device;Transmitting element, accesses message, described I/O controller for sending described I/O to I/O controller
For managing I/O equipment.
In conjunction with eighth aspect, in the first possible implementation in eighth aspect, described device is configured with least one depositor,
At least one depositor described is used for storing the virtual machine mark of described virtual machine;Described signal generating unit generate I/O access message it
Before, it is additionally operable to obtain the virtual machine mark of described virtual machine from least one depositor described.
In conjunction with the possible implementation of eighth aspect or eighth aspect any of the above, in the possible realization side of eighth aspect second
In formula, described transmitting element is used for sending described I/O access message to I/O controller, including:Described transmitting element is used for leading to
Cross system bus and send the described I/O access message carrying described virtual machine mark to described I/O controller.
9th aspect, embodiments provides a kind of virtualization system it is characterised in that including processor cluster, internal memory
Equipment and Memory Controller Hub, described processor cluster includes at least one concurrent physical processor, and described processor cluster is interior with described
Memory controller passes through system bus and is connected, and described virtualization system runs at least one virtual machine, and every virtual machine is assigned
Virtual machine processor from described processor cluster and the virutal machine memory from described memory device, at least one physics described
In reason device, each concurrent physical processor configures at least one depositor, and each depositor described is used for storing corresponding concurrent physical processor
The mark of the virtual machine running;The first concurrent physical processor in described processor cluster, for generate data memory access message with
And described data memory access message is sent to described Memory Controller Hub by described system bus, described data memory access message carries first
Virtual machine mark and the first Pseudo Address information, described first virtual machine is designated described first concurrent physical processor corresponding first and posts
The virtual machine mark of storage in storage, described first Pseudo Address information is to treat that the data of memory access is virtual in described first virtual machine
Address;Described Memory Controller Hub is for receiving described data memory access message and empty according to described first virtual machine mark and first
Intend address information, treat the data of the memory access physical memory addresses in described memory device described in determination.
In conjunction with the 9th aspect, in the first possible implementation of the 9th aspect, described Memory Controller Hub is used for according to described the
One virtual machine mark and the first Pseudo Address information, treat the data of the memory access physical memory ground in described memory device described in determination
Location, including:Described Memory Controller Hub is used for default according to described first virtual machine mark and described first Pseudo Address information inquiry
Corresponding relation, treat the data of the memory access physical memory addresses in described memory device described in determination, wherein, described corresponding close
System includes the virtual machine mark of each virtual machine that described virtualization system runs and the physical memory ground of described each virtual machine distribution
The corresponding relation of location.
In conjunction with the possible implementation of the 9th aspect or the 9th aspect any of the above, in the possible realization side of the 9th aspect second
In formula, described Memory Controller Hub is provided with least one buffer queue, each of at least one buffer queue described buffer queue
One virtual machine mark of association;After described Memory Controller Hub receives described data memory access message, it is additionally operable to described data memory access
Message is stored in the buffer queue of described first virtual machine mark association.
In conjunction with the possible implementation of the 9th aspect or the 9th aspect any of the above, in the 9th the third possible realization side of aspect
In formula, described data memory access message includes that data writes message or data is read the newspaper literary composition;If described data memory access message writes report for data
Literary composition, described Memory Controller Hub is additionally operable to the data treating memory access described in the region of memory write of described physical memory addresses instruction;As
Really described data memory access message is read the newspaper literary composition for data, and described Memory Controller Hub is additionally operable to the internal memory from the instruction of described physical memory addresses
The data of memory access is treated described in the reading of region.
In conjunction with the possible implementation of the 9th aspect or the 9th aspect any of the above, in the 4th kind of possible realization side of the 9th aspect
In formula, described first concurrent physical processor is additionally operable to:Identified and described first Pseudo Address information according to described first virtual machine, from
Search described first virtual machine mark and the cache blocks that indicate collectively of described first Pseudo Address information in caching, described caching slow
The flag of counterfoil comprises virtual machine flag and address information labelling position.
Tenth aspect, embodiments provides a kind of virtualization system it is characterised in that including processor cluster, I/O
Equipment and I/O controller, described processor cluster includes at least one concurrent physical processor, described processor cluster and described I/O
Controller passes through system bus and is connected, and described virtualization system runs at least one virtual machine, every virtual machine is assigned and is derived from
The virtual machine processor of described processor cluster and the virtual machine I/O equipment from described I/O equipment, at least one physics described
In processor, each concurrent physical processor configures at least one depositor, and each depositor described is used for storing corresponding concurrent physical processor
The mark of one virtual machine of upper operation;First processor in described processor cluster, accesses message for generating an I/O
And a described I/O access message is sent to described I/O controller by described system bus, a described I/O accesses report
Literary composition carries the first virtual machine mark, and described first virtual machine is designated in corresponding first depositor of described first concurrent physical processor and deposits
The virtual machine mark of storage;Described I/O controller, accesses message for receiving a described I/O, and according to a described I/O
Access message, I/O equipment is distributed to described first virtual machine and uses.
In conjunction with the tenth aspect, in the first possible implementation of the tenth aspect, also receive second in described I/O controller
When I/O accesses message, wherein, described 2nd I/O accesses message and carries the second virtual machine mark, described second virtual machine mark
For identifying the second virtual machine, described I/O controller is used for accessing message according to a described I/O, and I/O equipment is distributed to
Described first virtual machine uses, including:Described I/O controller is used for according to default priority relationship, according to priority priority
Described I/O equipment is distributed to described first virtual machine and is used by order, and wherein, described priority relationship is used for representing described first
Virtual machine and the priority size of described second virtual machine.
In conjunction with the possible implementation of the tenth aspect or the tenth aspect any of the above, in the possible realization side of the tenth aspect second
In formula, when described I/O controller also receives the 2nd I/O and accesses message, wherein, described 2nd I/O accesses message and carries
Second virtual machine mark, described second virtual machine identifies for identifying the second virtual machine, and described I/O controller is used for according to described
First I/O accesses message, I/O equipment is distributed to described first virtual machine and uses, including:Described I/O controller is used for root
According to receiving, a described I/O accesses message and described I/O equipment is distributed to by the sequencing of described 2nd I/O access message
Described first virtual machine uses.
In conjunction with the possible implementation of the tenth aspect or the tenth aspect any of the above, in the tenth the third possible realization side of aspect
In formula, I/O equipment is distributed to described first virtual machine using afterwards by described I/O controller, is additionally operable to lock described I/O and sets
Standby, so that described I/O equipment is exclusively enjoyed by described first virtual machine, and use described I/O equipment complete in described first virtual machine
After becoming I/O operation, release the locking to described I/O equipment, so that described I/O equipment is assigned to other virtual machines making
With.
In conjunction with the possible implementation of the tenth aspect or the tenth aspect any of the above, in the 4th kind of possible realization side of the tenth aspect
In formula, described I/O controller is configured with least one buffer queue, each of at least one buffer queue described buffer queue
One virtual machine mark of association;After described I/O controller is used for receiving a described I/O access message, being additionally operable to will be described
First I/O accesses the buffer queue that message is stored in described first virtual machine mark association.
Disclosed technical scheme according to embodiments of the present invention, in computer systems, the processor resource of virtual machine accesses internal memory money
When source or I/O resource, identified it is achieved that processor resource is to memory source or I/O resource by increasing virtual machine in messages
Direct access, reduce the loaded down with trivial details management process that software in virtualization system accesses to memory source and I/O resource accesses, enter
One step provides the foundation for resources of virtual machine dynamically distributes.
Brief description
In order to be illustrated more clearly that the technical scheme of the embodiment of the present invention, the accompanying drawing of required use in embodiment being described below
Be briefly described it should be apparent that, drawings in the following description are only some embodiments of the present invention, general for this area
For logical technical staff, on the premise of not paying creative work, other accompanying drawings can also be obtained according to these accompanying drawings.
Fig. 1 is a kind of virtualization system structural representation;
Fig. 2 is the virtualization system hardware structure schematic diagram according to one embodiment of the invention;
Fig. 3 is the virtualization system hardware structure schematic diagram according to one embodiment of the invention;
Fig. 4 is the exemplary flow chart of the virtual method according to one embodiment of the invention;
Fig. 5 is the exemplary flow chart of the virtual method according to one embodiment of the invention;
Fig. 6 is the logical construction schematic diagram of the virtualization apparatus according to one embodiment of the invention;
Fig. 7 is the logical construction schematic diagram of the virtualization apparatus according to one embodiment of the invention;
Fig. 8 is the logical construction schematic diagram of the virtualization apparatus according to one embodiment of the invention;
Fig. 9 is the logical construction schematic diagram of the virtualization apparatus according to one embodiment of the invention.
Specific embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is clearly and completely retouched
State it is clear that described embodiment a part of embodiment that is the present invention, rather than whole embodiments.Based in the present invention
Embodiment, the every other embodiment that those of ordinary skill in the art are obtained under the premise of not making creative work, all belong to
In the scope of protection of the invention.
Fig. 1 is a kind of structural representation of virtualization system 100, as shown in figure 1, system 100 includes:Physical hardware 106,
Virtual machine monitor 104 (Virtual Machine Monitor, VMM) and multiple virtual machine 102 operating on physical hardware.
Virtual machine monitor (Virtual Machine Monitor) is between VME operating system and physical hardware
Software description layer.It is responsible for carrying out processor scheduling and Memory Allocation etc. between each virtual machine.VMM not only takes out virtual
The hardware of machine, also control the execution of each virtual machine simultaneously.
VMM is additionally operable to manage establishment, destruction, time-out, recovery and the migration of virtual machine, and the CPU scheduling between virtual machine,
Memory Allocation and equipment access etc..
VMM provides a level of abstraction to virtual machine, wherein contains the application programming interfaces of management and virtual hardware
(Application Programming Interface, API).VMM provides virtual center processor (Virtual to virtual machine
Central Processing Unit, abbreviation VCPU), virtual memory management unit (Memory Management Unit,
Abbreviation MMU) etc. basic virtual hardware, and provide corresponding hardware interface (hardware security interface) to virtual machine, to ensure
Equipment accesses and is able to carry out safely.
Hardware security interface provides direct memory access (Direct Memory Access, abbreviation DMA), input and output (Input
&Output, abbreviation I/O), driver, virtual peripheral assembly interconnection (Peripheral Component Interconnect,
Abbreviation PCI) the hardware virtual work such as address configuration, virtual hardware interruption.
System 100 can support half virtualization and fully virtualized, operate in half virtualization on VMM (Paravirtualized,
Abbreviation PV) run the operating system being modified kernel on virtual machine, or upper strata operating system is mounted with paravirtualized drive
The system of dynamic program.Operate in run on the fully virtualized virtual machine on VMM and do not change kernel and be fitted without half virtualization
The operating system of driver.
Fig. 2 is the structural representation of the virtualization system 200 according to one embodiment of the invention, as shown in Fig. 2 system 200
Physical hardware 106 includes computing resource, memory source and input/output (input/output, I/O) resource, wherein, calculates
Resource, memory source and I/O resource three are decoupling, are separated from each other, and computing resource forms computing resource pond 202, and internal memory provides
Source forms memory source pond 204, and I/O resource forms I/O resource pool.
Comprise multiple concurrent physical processors in computing resource pond 202, process to the virtual machine offer operating on virtualization system 200
Device resource, wherein concurrent physical processor can be micro- using general central processing unit (Central Processing Unit, CPU)
Processor, application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one
Individual or multiple integrated circuit etc., for executing relative program, to realize the technical scheme that the embodiment of the present invention is provided.It will be appreciated that
In embodiments of the present invention using CPU exemplary sign concurrent physical processor, but the embodiment of the present invention is not defined to this.
Wherein, processor resource can be processor core or hardware thread, and the embodiment of the present invention is not defined to this.Hardware
Thread is also referred to as logic core or logic processor, and each hardware thread is identified as a schedulable logical process by system
Device, for convenience, hereinafter a processor resource refers to a processor core or a hardware thread.
Comprise the memory source of virtualization system 200 in memory source pond 204, can be SRAM (Static
Random Access Memory, SRAM), dynamic random access memory (Dynamic Random Access Memory, DRAM)
Or other nonvolatile memories (Non-Volatile Memory, NVM) etc..It will be appreciated that using in embodiments of the present invention
DRAM exemplary sign memory source, but the embodiment of the present invention is not defined to this.
The I/O resource of virtualization system 200 is comprised, in order to meet virtualization system 200 general service in I/O resource pool 206
Extension, including but not limited to:Graphic process unit (Graphics Processing Unit, GPU), NIC (Network
Interface Card, NIC), Serial Advanced Technology Attachment (Serial Advanced Technology Attachment, SATA)
With various I/O equipment such as storage devices.It will be appreciated that being set using SATA and NIC exemplary sign I/O in embodiments of the present invention
Standby, but the embodiment of the present invention is not defined to this.
In a kind of implementation of the embodiment of the present invention, different resource pools has the cloud controller of oneself, for managing resource
The resource in pond, the cloud controller in computing resource pond 202 is computing controller 208, and the cloud controller in memory source pond 204 is interior
Memory controller 210, the cloud controller of I/O resource pool is I/O controller 212.
It will be appreciated that the embodiment of the present invention is merely exemplary the physical hardware 106 of virtualization system 200 is described, this is not entered
Row limits, and for example, computing resource pond 202 can not have computing controller 208.
It is in communication with each other by system bus 214 between different resource pools.
It will be appreciated that Fig. 2 is only a kind of concrete implementation mode of the embodiment of the present invention, the present invention is not to virtualization system 200
Structure, and the hardware structure of the physical hardware 106 of virtualization system 200 is defined, and for example, physical hardware 106 can
With partly decoupled or puzzled idol.
At least one virtual machine 102 is run on system 200, when system initialization, VMM divides to each virtual machine
Join a unique virtual machine and identify (Virtual Machine Identification, VMID), this virtual machine identifies for table
Show the identity of virtual machine, VMM is associated with the VMID of this virtual machine to the hardware resource that virtual machine distributes.
In a kind of implementation of the embodiment of the present invention, VMM can be reflected by configuration one on the controller of hardware resource pool
Firing table, this mapping table have recorded the hardware resource of this controller management and the corresponding relation of VMID, that is, be used for characterizing hardware resource quilt
Be assigned to which virtual machine.For example, VMM configures a computing resource mapping table, this mapping in computing controller 208
The corresponding relation of table record processor resource and VMID;VMM configures a memory source mapping table on Memory Controller Hub 210,
This mapping table have recorded the corresponding relation of memory source and VMID;VMM configures an I/O resource on I/O controller 212 and reflects
Firing table, this mapping table have recorded the corresponding relation of I/O resource and VMID.Resource mapping table can create a virtual machine, and
For this new establishment virtual machine distribution hardware resource when, write is responsible for by VMM.And dynamically adjust in resources of virtual machine each time
When, VMM, according to the hardware resource distribution condition after adjustment, is adjusted to resource mapping table or rewrites.
It is also possible to distribute one by each processor resource to virtual machine in another kind of implementation of the embodiment of the present invention
Individual depositor, deposits the middle VMID recording the virtual machine that this processor resource is assigned to, as shown in figure 3, when VMM is one
When processor resource distributes to a virtual machine, VMM can write this virtual machine in depositor corresponding with this processor resource
VMID, thus processor resource is associated with virtual machine by VMID, this depositor preserves the VMID of up-to-date virtual machine,
When virtual machine switching or processor resource dynamically adjust, VMM can be according to the distribution condition of processor resource, to this depositor
The VMID of record is updated, to guarantee the VMID of this depositor up-to-date virtual machine of preservation.When processor resource or operate in
Before virtual machine on processor resource generates data memory access message or before I/O accesses message, can from this processor resource
The virtual machine mark of the virtual machine operating on this processor resource is obtained in the depositor of association.
When the processor resource of some virtual machine or virtual machine will access data, data memory access message, described data can be generated
Memory access message carries virtual machine mark and Pseudo Address information, and described virtual machine identifies and generates described data memory access message for mark
Described virtual machine, described Pseudo Address information is the virtual address in described virtual machine for the data treating memory access.
The processor resource of virtual machine sends described data memory access message by system bus 214 to Memory Controller Hub 210, described
The transmission of virtual machine mark supported by system bus 214, and described Memory Controller Hub 210 is used for controlling the accessing operation to memory source.
In a kind of implementation of the embodiment of the present invention, system bus 214 can be extended, VMID is increased on address wire
(such as 8), the access request that processor resource sends need to carry VMID.
In a kind of implementation of the embodiment of the present invention, before send described data memory access message to Memory Controller Hub 210,
Processor resource, always according to described virtual machine mark and described Pseudo Address information, searches described virtual machine mark and institute from caching
State the cache blocks Cache line that Pseudo Address information indicates collectively, the flag of the cache blocks of described caching comprises virtual machine mark
Position and address information labelling position.
Each cache blocks increases VMID field, and distributing to the VMID field record of Cache line of some virtual machine, this is virtual
The VMID of machine.For example, when the VMID of some Cache line is 0, may indicate that this Cache line can be many
Individual virtual machine is shared;When VMID is not 0, show that the virtual machine that this Cache line can only be identified by this VMID uses.When
When caching carries out virtual address and compares, compare together with VMID and virtual address.VMID field in Cache line is permissible
Filled in when distributing cache blocks for a virtual machine by VMM or processor resource, when VMM or processor resource
When one Cache line is distributed to a virtual machine, corresponding void is just filled on the virtual machine flag of this Cache line
The VMID of plan machine, represents the corresponding relation of Cache line and virtual machine with this.
If finding Cache line corresponding with VMID and address information, can directly this Cache line be visited
Deposit operation;When not finding corresponding Cache line in the buffer or need caching to synchronize with internal memory, inwardly
Memory controller 210 sends described data memory access message.
In a kind of possible implementation of the embodiment of the present invention, sending described data memory access message to Memory Controller Hub 210
Afterwards, processor resource, always according to described virtual machine mark and described Pseudo Address information, searches described virtual machine mark from caching
Know the cache blocks indicating collectively with described Pseudo Address information, and the synchronized update with internal memory is carried out to the data in cache blocks.
During implementing, described data memory access message includes that data writes message or data is read the newspaper literary composition;Described data writes message
For to the data treating memory access described in the region of memory write that described virtual machine identifies and described Pseudo Address information indicates collectively;Institute
State data and read the newspaper literary composition for waiting to visit described in reading from described virtual machine mark and the region of memory that indicates collectively of described Pseudo Address information
The data deposited.
After Memory Controller Hub 210 receives data memory access message, identified and described Pseudo Address information according to described virtual machine, really
The data of the memory access physical memory addresses in memory device are treated described in fixed.
In a kind of implementation of the embodiment of the present invention, Memory Controller Hub 210 supports virtual multichannel, and supports that VMID arrives void
Intend the conversion between multichannel, that is, Memory Controller Hub 210 can connect internal memory and multiple virtual machines.VMID is with tunnel one by one
Corresponding, tunnel realizes the division of memory size and bandwidth according to VMID.In a kind of possible implementation, described internal memory
Controller 210 is provided with least one buffer queue, and each of at least one buffer queue described buffer queue associates a void
Plan machine identifies;After described Memory Controller Hub 210 obtains described data memory access message, it is additionally operable to deposit described data memory access message
Enter the buffer queue associated by described virtual machine mark that described data memory access message carries.For example, buffer queue can be with
One depositor is associated, and records the VMID of the corresponding virtual machine of this buffer queue in this depositor.When VMM creates virtual machine,
And during for this virtual machine storage allocation resource, a buffer queue with this virtual machine can be created in Memory Controller Hub 210, and
The VMID of this virtual machine is write a depositor corresponding with this virtual machine, to indicate buffer queue with virtual machine one by one with this
Corresponding relation, when Memory Controller Hub 210 receives data memory access message, can use and send the virtual of this data memory access message
The corresponding buffer queue of machine is caching the data memory access message receiving.
Memory Controller Hub 210 can also adopt the mode of First Input First Output (First Input First Output, FIFO),
The data receiving memory access message is stored in this FIFO, in a serial fashion, data memory access message is processed.
Memory Controller Hub 210 supports the parsing of " VMID+ Pseudo Address information ", by address translator, by " VMID+
Pseudo Address information " is converted to the actual physics memory address of internal memory.Because there being the presence of VMID, the inside of different virtual machine is empty
Intending address can be overlapping.
When VMM is for virtual machine storage allocation resource, can set up virtual machine in Memory Controller Hub 210 with VMM is this virtual machine
The mapping relations of the region of memory of distribution, it is for instance possible to use the form of mapping table, record VMM is a virtual machine distribution
Mapping relations, " VMID+ virtual machine virtual address " and the physical memory addresses one of the interval VMID with this virtual machine of memory address
One is corresponding, after Memory Controller Hub 210 receives data memory access message, according to VMID and can want the data of memory access in virtual machine
Internal virtual address determines physical address in internal memory for the data.
If described data memory access message writes message for data, described Memory Controller Hub 210 identifies and described according to described virtual machine
Pseudo Address information, treats that the data of memory access, after the physical memory addresses in memory device, is additionally operable to described thing described in determination
The data of memory access is treated described in the region of memory write of reason memory address instruction;
If described data memory access message is read the newspaper literary composition for data, described Memory Controller Hub 210 is according to described virtual machine mark and described
Pseudo Address information, treats that the data of memory access, after the physical memory addresses in memory device, is additionally operable to from described thing described in determination
The data of memory access is treated described in the region of memory reading of reason memory address instruction.
Optionally, Memory Controller Hub 210 can be scheduling based on VMID, for example:If described Memory Controller Hub 210 receives
To N number of memory access request carrying identical virtual machine mark, described Memory Controller Hub 210 can by described N number of carry identical
The memory access request of virtual machine mark merges, and wherein N is the positive integer more than 1.
When processor resource or when the virtual machine that operates on processor resource will access I/O equipment, generate I/O and access message,
Described I/O accesses message and comprises virtual machine mark, and described virtual machine identifies and generates described in described I/O access message for mark
Virtual machine, and described I/O access message, described system bus are sent to described I/O controller 212 by system bus 214
214 transmission supporting virtual machine mark, described I/O controller 212 is used for managing I/O equipment.
After the I/O controller 212 of computer system obtains an I/O access message of the first virtual machine, according to a described I/O
Access message, I/O equipment is distributed to described first virtual machine and uses.A described I/O accesses message and carries virtual machine mark,
Described virtual machine identifies and sends, for mark, the first virtual machine that described I/O accesses message.
In a kind of possible implementation of the embodiment of the present invention, also get the second virtual machine in described I/O controller 212
The 2nd I/O access message when, described I/O controller 212 according to described first I/O access message, by I/O equipment distribute
Use to described first virtual machine, including:Described I/O controller 212 is according to default priority relationship, first according to priority
Described I/O equipment is distributed to described first virtual machine and is used by order afterwards, and wherein, described priority relationship is used for representing described the
One virtual machine and the priority size of described second virtual machine.
In the alternatively possible implementation of the embodiment of the present invention, also get second in described I/O controller 212 virtual
When 2nd I/O of machine accesses message, described I/O controller 212 accesses message according to a described I/O, and I/O equipment is divided
Described in dispensing, the first virtual machine uses, including:Described I/O controller 212 according to get described first I/O access message and
Described I/O equipment is distributed to described first virtual machine use by the sequencing that described 2nd I/O accesses message.
In a kind of possible implementation of the embodiment of the present invention, described I/O controller 212 is configured with least one and caches team
Row, each of at least one buffer queue described buffer queue associates a virtual machine mark;Described I/O controller 212 obtains
After taking an I/O of the first virtual machine to access message, it is additionally operable to for a described I/O access message to be stored in described I/O access
The buffer queue of the virtual machine mark association in message.It is, for example possible to use a depositor is associated with a buffer queue, post
The VMID of this buffer queue of labelling is preserved in storage, when VMM creates virtual machine, and during for this virtual machine distribution I/O resource, meeting
Create a buffer queue associating with this virtual machine in I/O controller 212, and the VMID of this virtual machine is write and this void
The corresponding depositor of plan machine, to indicate the one-to-one relationship of buffer queue and virtual machine with this, when I/O controller 212 receives
To I/O access message when, can be received using caching with the corresponding buffer queue of virtual machine sending this data memory access message
I/O accesses message.
In a kind of possible implementation of the embodiment of the present invention, I/O equipment is distributed to described by described I/O controller 212
First virtual machine, using afterwards, is additionally operable to lock described I/O equipment, so that described I/O equipment is only by described first virtual machine
Enjoy, and after described first virtual machine completes I/O operation using described I/O equipment, release the locking to described I/O equipment,
So that described I/O equipment is assigned to other virtual machines and uses.
Optionally, a depositor can be distributed for each I/O equipment, when VMM distributes to one some I/O equipment
During virtual machine, by VMID write and this corresponding depositor of I/O equipment of this virtual machine.
In a kind of implementation of the embodiment of the present invention, parsing and the conversion of VMID supported by I/O controller 212.From processor
The angle of resource can only see virtual i/o functional device, and multiple virtual i/o functional devices can correspond to an I/O equipment.An i.e. thing
Reason I/O equipment can be time sharing shared by multiple virtual machines, and multiple virtual machines all can see an I/O equipment, this I/O respectively
Equipment is had by multiple virtual machines, can be by multiple virtual machine time-sharing multiplexs, and I/O resouce controller receives I/O and accesses message
After, can judge which virtual machine the virtual machine asking to access I/O equipment is according to the VMID carrying in message, and point
When I/O equipment distributed to different virtual machines use, each virtual machine timesharing can be met with this and monopolize using I/O equipment
Require.Thus driver need not be run in VMM, it is to avoid virtualized by the poorly efficient I/O that realizes of software approach.
For example:Only one of which network interface card on hardware, can be with virtual multiple network interface cards by this controller, can from the angle of virtual machine
To multiple network interface cards.Multiple virtual machines realize the time-sharing multiplex to a physics I/O equipment or interface, but in some virtual machine
Apparently, this virtual machine monopolizes this physics I/O equipment.
In a kind of implementation of the embodiment of the present invention, the direct memory access of I/O equipment (Direct Memory Access,
DMA) controller is also configured with a VMID depositor.When initializing dma controller, post except original address will be filled in
In addition it is also necessary to fill in VMID depositor beyond storage.The access request that dma controller sends includes VMID and virtual machine physically
Location.
In a kind of implementation of the embodiment of the present invention, the corresponding multiple processor resources of same virtual machine also have the mark of oneself
Know VCPUID, the mark of the processor resource of same virtual machine can be with serial number.Corresponding one of each processor resource
VCPUID depositor, this depositor is used for preserving the numbering in virtual machine internal for this processor resource.Multiple places of identical VMID
Reason device resource, VMM can arrange VCPUID depositor when for this virtual machine distribution processor resource, the place to this virtual machine
Reason device resource is numbered.From the point of view of VME operating system to processor core can be from 0 open numbering.This VCPUID
Depositor is filled in when processor resource is distributed to some virtual machine by VMM, and after processor resource dynamically distributes, by
VMM is updated.
The interrupt control unit (not shown) of virtualization system 200 has difference for interruption between peripheral interrupt and processor core
Treatment mechanism.
Interruption for peripheral hardware.Interrupt control unit increases interrupt number IRQ a to VMID, virtual interrupt number (VIRQ) and CPUID
Between mapping table, interrupt control unit can according to CPUID select interrupt to processor route.Table 1 illustrates this mapping table
Structure.Mapping table can be responsible for filling in by VMM, and each virtual i/o equipment corresponds to an interrupt number, each interrupt number corresponding
Individual VMID and virtual interrupt number, and point to a CPUID.After processor receives interrupt requests, read virtual
Interrupt number and VMID value.
After processor reads virtual interrupt number, from the angle of processor, the virtual interrupt number now reading is exactly virtual machine
Physical discontinuity number.Operate in the VME operating system on the processor pointed by CPUID need not change, at original interruption
Reason flow process is the same, to index interrupt vector table by virtual interrupt number.
Table 1 peripheral interrupt vector table
IRQ | VMID | VIRQ | CPUID |
0 | 3 | 0 | 2 |
1 | 2 | 0 | 1 |
2 | 1 | 0 | 3 |
…… | …… | …… | …… |
For internuclear interruption, interrupt control unit increases the mapping table of a VMID and VCPUID to CPUID, as shown in table 2.
Internuclear interrupt to processor 0 when the processor 2 (VCPUID=2) on the virtual machine operating in VMID=1 needs to send one
(VCPUID=0), when, processor 2 (VCPUID=2) can send request to interrupt control unit, and request bag contains the VMID (VMID=1) of oneself
With the processor ID (VCPUID=0) being interrupted.Interrupt control unit inquires corresponding CPUID according to VMID and VCPUID, so
Interrupt requests initiated by backward processor pointed by CPUID.
The internuclear interrupt vector table of table 2
VMID | VCPUID | CPUID |
0 | 0 | 2 |
1 | 0 | 1 |
2 | 0 | 3 |
…… | …… | …… |
In a kind of concrete implementation mode of the embodiment of the present invention, during system start-up, the VMID of each part is reset, for example
0 can be reset to.When VMM starts a virtual machine, VMM is that it distributes an independent VMID, and distributes hardware for it
Resource:
Distribute processor resource for it, and set up the incidence relation of the processor resource of distribution and the VMID of this virtual machine, for example,
The depositor associating with processor resource can be filled in, VMID is write corresponding depositor;
Distribute Cache space for it according to demand, the VMID of corresponding Cache line is set to its VMID;
Distribute corresponding virtual memory passage for it, Memory Controller Hub 210 is set, sets up VMID and the correspondence of memory virtual passage
Relation, and be this virtual machine storage allocation region, the physical memory addresses of region of memory are corresponding with VMID;
Distribute corresponding I/O virtual work energy for it, and the VMID of this virtual work energy is set;
Setting interrupt control unit is the interruption configuration VMID of this I/O virtual work energy simultaneously.
Next start virtual machine, hereafter without the intervention of VMM, all hardware resource of virtual machine all can be directly only by virtual machine
Account for access.
When virtual machine needs resource is entered Mobile state adjustment, realized by VMM, the VMID to I/O equipment, internal memory is empty logical
The VMID in road, the VMID of the VMID and Cache line of interrupt control unit is redistributed.
If necessary to some processor resources are distributed to virtual machine, the VMID depositor in this processor resource, table can be changed
Which virtual machine this processor core bright or thread distribute to.
For the processor resource belonging to same virtual machine, VMM arranges the VCPUID of processor resource, and these can be allowed to process
Device resource starts serial number from 0.
All of virtual interrupt is routed to the processor resource that corresponding VMID specifies by VMID by interrupt control unit.
The Cache line of identical VMID, internal memory and I/O resource are all exclusively enjoyed by processor resource corresponding with this VMID.
Disclosed technical scheme according to embodiments of the present invention, in computer systems, the processor resource of virtual machine accesses internal memory money
When source or I/O resource, identified it is achieved that processor resource is to memory source or I/O resource by increasing virtual machine in messages
Direct access, reduce the loaded down with trivial details management process that software in virtualization system accesses to memory source and I/O resource accesses, enter
One step provides the foundation for resources of virtual machine dynamically distributes.
Fig. 4 is the exemplary flow chart of the virtual method 400 according to one embodiment of the invention, and virtual method 400 is one kind
Virtual-machine data access method, the virtual machine for running in computer system conducts interviews to the memory source of computer system,
When system initialization, VMM distributes a virtual machine mark to each virtual machine, and this virtual machine identifies for representing
The identity of virtual machine, VMM is associated with the VMID of this virtual machine for the hardware resource that virtual machine distributes.As shown in Figure 4, method
400 include:
S402:Virtual machine generates data memory access message, and described data memory access message carries virtual machine mark and Pseudo Address information,
Described virtual machine identifies the described virtual machine generating described data memory access message for mark, and described Pseudo Address information is to treat memory access
Data described virtual machine virtual address.
During implementing, this data memory access message is generated by the processor resource of virtual machine, wherein, virtual machine mark is used
Which virtual machine belonged in this processor resource of expression.
In a kind of possible implementation of the embodiment of the present invention, each processor resource corresponds to a VMID, and VMID shows
Which virtual machine this processor resource is allocated to.For example, it is possible to by each processor resource distribution to virtual machine
One depositor, when VMM distributes to a virtual machine a processor resource, VMM can be corresponding with this processor resource
Depositor in write the VMID of this virtual machine, thus processor resource is associated with virtual machine by VMID, this is deposited
Device preserves the VMID of up-to-date virtual machine, and when virtual machine switching or processor resource dynamically adjust, VMM can provide according to processor
The distribution condition in source, is updated to the VMID of this depositor record, to guarantee the VMID of this depositor up-to-date virtual machine of preservation.
The processor resource of virtual machine is configured with least one depositor, and at least one depositor described is used for storing described virtual machine
Virtual machine mark, when a virtual machine is assigned multiple processor cores or hardware thread, then this virtual machine processor money
The virtual machine mark of this virtual machine, to there being multiple depositors, is all preserved in source in each depositor.Described virtual machine generates number
Before memory access message, method 400 also includes:The virtual machine mark of described virtual machine is obtained from least one depositor described.
During implementing, described data memory access message includes that data writes message or data is read the newspaper literary composition;Described data writes message
For to the data treating memory access described in the region of memory write that described virtual machine identifies and described Pseudo Address information indicates collectively;Institute
State data and read the newspaper literary composition for waiting to visit described in reading from described virtual machine mark and the region of memory that indicates collectively of described Pseudo Address information
The data deposited.
Method 400 also includes:Described virtual machine, according to described virtual machine mark and described Pseudo Address information, is searched from caching
The cache blocks that described virtual machine mark indicates collectively with described Pseudo Address information, the flag of the cache blocks of described caching comprises void
Plan machine flag and address information labelling position.
Each cache blocks Cache line increases VMID field.Distribute to the VMID word of the Cache line of some virtual machine
The VMID of this virtual machine of segment record.When the VMID of some Cache line is 0, may indicate that this Cache line can
To be shared by multiple virtual machines;When VMID is not 0, show that the virtual machine that this Cache line can only be identified by this VMID makes
With.When caching carries out virtual address and compares, compare together with VMID and virtual address.VMID word in Cache line
Section can be filled in when distributing cache blocks for a virtual machine by VMM or processor resource, when VMM or process
When one Cache line is distributed to a virtual machine by device resource, just fill in the virtual machine flag of this Cache line
The VMID of corresponding virtual machine, represents the corresponding relation of Cache line and virtual machine with this.
If finding Cache line corresponding with VMID and address information, can directly this Cache line be visited
Deposit operation, or the synchronized update with internal memory is carried out to the data in cache blocks.
S404:Described virtual machine sends described data memory access message to Memory Controller Hub, and described Memory Controller Hub is used for controlling internally
The accessing operation deposited.
In a kind of implementation of the embodiment of the present invention, described virtual machine sends described data memory access message bag to Memory Controller Hub
Include:Described virtual machine passes through system bus and carries described virtual machine mark and described virtual address letter to the transmission of described Memory Controller Hub
The described data memory access message of breath.The transmission of virtual machine mark supported by described system bus.
In a kind of implementation of the embodiment of the present invention, system bus can be extended, VMID (ratio is increased on address wire
As 8), the access request that processor resource sends need to carry VMID.
S406:Memory Controller Hub identifies and described Pseudo Address information according to described virtual machine, treats that the data of memory access exists described in determination
Physical memory addresses in memory device.
In a kind of implementation of the embodiment of the present invention, Memory Controller Hub supports virtual multichannel, and it is virtual many to support that VMID arrives
Conversion between passage, that is, Memory Controller Hub can connect internal memory and multiple virtual machines.VMID is corresponded with tunnel, empty
Intend the division that passage realizes memory size and bandwidth according to VMID.
In a kind of possible implementation, described Memory Controller Hub is provided with least one buffer queue, described at least one delay
Deposit each of queue buffer queue and associate a virtual machine mark;After described Memory Controller Hub obtains described data memory access message,
Also include:Described data memory access message is stored in the described virtual machine mark that described data memory access message carries by described Memory Controller Hub
Associated buffer queue.
For example, a buffer queue can be associated with a depositor, records this buffer queue corresponding virtual in this depositor
The VMID of machine.When VMM creates virtual machine, and during for this virtual machine storage allocation resource, one can be created in Memory Controller Hub
With the buffer queue of this virtual machine, and the VMID of this virtual machine is write a depositor corresponding with this virtual machine, to be referred to this
Show the one-to-one relationship of buffer queue and virtual machine, when Memory Controller Hub receives data memory access message, can use and transmission
The corresponding buffer queue of virtual machine of this data memory access message is caching the data memory access message receiving.
Memory Controller Hub can also adopt the mode of First Input First Output (First Input First Output, FIFO), will
The data memory access message receiving is stored in this FIFO, in a serial fashion, data memory access message is processed.
Memory Controller Hub supports the parsing of " VMID+ Pseudo Address information ", by address translator, by " VMID+ is virtual
Address information " is converted to the actual physics memory address of internal memory.Because there being the presence of VMID, the internal virtual ground of different virtual machine
Location can be overlapping.
When VMM is for virtual machine storage allocation resource, virtual machine can be set up in Memory Controller Hub and distribute for this virtual machine with VMM
Region of memory mapping relations, it is for instance possible to use the form of mapping table, record VMM is the internal memory of a virtual machine distribution
The mapping relations of the VMID of address section and this virtual machine, a pair of " VMID+ virtual machine virtual address " and physical memory addresses 1
Should, after Memory Controller Hub receives data memory access message, can be according to VMID and the void in virtual machine internal for the data wanting memory access
Intend address and determine physical address in internal memory for the data.
If described data memory access message writes message for data, described Memory Controller Hub identifies and described virtual according to described virtual machine
Address information, treats that the data of memory access, after the physical memory addresses in memory device, also includes described in determination:Described internal memory control
The data of memory access is treated to described physical memory addresses described in the region of memory write that device processed indicates;
If described data memory access message is read the newspaper literary composition for data, described Memory Controller Hub is according to described virtual machine mark and described virtual
Address information, treats that the data of memory access, after the physical memory addresses in memory device, also includes described in determination:Described internal memory control
The region of memory that device processed indicates from described physical memory addresses treats the data of memory access described in reading.
Optionally, Memory Controller Hub can be scheduling based on VMID, and method 400 also includes:If described Memory Controller Hub connects
Receive N number of memory access request carrying identical virtual machine mark, described Memory Controller Hub N number of can carry identical void by described
The memory access request of plan machine mark merges, and wherein N is the positive integer more than 1.
Disclosed technical scheme according to embodiments of the present invention, in computer systems, the processor resource of virtual machine accesses internal memory money
During source, identified it is achieved that the direct access to memory source for the processor resource by increasing virtual machine in messages, reduce void
The loaded down with trivial details management process that in planization system, software accesses to memory source, provides the foundation for resources of virtual machine dynamically distributes further.
Fig. 5 is the exemplary flow chart of the virtual method 500 according to one embodiment of the invention, and virtual method 500 is one kind
Virtual machine I/O device access method, the virtual machine for running in computer system is visited to the I/O resource of computer system
Ask, when system initialization, VMM distributes a virtual machine mark to each virtual machine, and this virtual machine identifies and is used for
Represent the identity of virtual machine, VMM is associated with the VMID of this virtual machine to the hardware resource that virtual machine distributes.As shown in figure 5,
Method 500 includes:
S502:First virtual machine generates an I/O and accesses message, and a described I/O accesses message and comprises virtual machine mark, institute
State virtual machine and identify described first virtual machine generating a described I/O access message for mark.
During implementing, this I/O access report is generated by the processor resource accessing I/O equipment that needs of the first virtual machine
Literary composition, wherein, the first virtual machine identifies for representing that this processor resource belongs to the first virtual machine.
In a kind of possible implementation of the embodiment of the present invention, each processor resource corresponds to a VMID, and VMID shows
Which virtual machine this processor resource is allocated to.For example, it is possible to by each processor resource distribution to virtual machine
One depositor, when VMM distributes to a virtual machine a processor resource, VMM can be corresponding with this processor resource
Depositor in write the VMID of this virtual machine, thus processor resource is associated with virtual machine by VMID, this is deposited
Device preserves the VMID of up-to-date virtual machine, and when virtual machine switching or processor resource dynamically adjust, VMM can provide according to processor
The distribution condition in source, is updated to the VMID of this depositor record, to guarantee the VMID of this depositor up-to-date virtual machine of preservation.
The processor resource of virtual machine is configured with least one depositor, and at least one depositor described is used for storing described virtual machine
Virtual machine mark, when a virtual machine is assigned multiple processor cores or hardware thread, then this virtual machine processor money
The virtual machine mark of this virtual machine, to there being multiple depositors, is all preserved in source in each depositor.Described virtual machine generates I/O
Before accessing message, method 500 also includes:The virtual machine mark of described virtual machine is obtained from least one depositor described.
S504:Described first virtual machine sends a described I/O to I/O controller and accesses message, and described I/O controller is used for
Management I/O equipment.
In a kind of implementation of the embodiment of the present invention, described first virtual machine sends a described I/O to I/O controller and visits
Ask message, including:Described first virtual machine passes through system bus and carries described first virtual machine mark to the transmission of described I/O controller
The described I/O knowing accesses message, and the transmission of virtual machine mark supported by described system bus.
In a kind of implementation of the embodiment of the present invention, system bus can be extended, VMID (ratio is increased on address wire
As 8), the access request that processor resource sends need to carry VMID.
Described I/O equipment includes but is not limited to:Graphic process unit (Graphics Processing Unit, GPU), network interface
Card (Network Interface Card, NIC), Serial Advanced Technology Attachment (Serial Advanced Technology
Attachment, SATA) and storage device etc..
S506:Described I/O controller accesses message according to a described I/O, and I/O equipment is distributed to described first virtual machine
Use.
Optionally, when the 2nd I/O also getting the second virtual machine in described I/O controller accesses message, described I/O controls
Device accesses message according to a described I/O, I/O equipment is distributed to described first virtual machine and uses, including:Described I/O control
According to default priority relationship, according to priority sequencing, described I/O equipment is distributed to described first virtual machine makes device processed
With wherein, described priority relationship is used for representing described first virtual machine and the priority size of described second virtual machine.
Optionally, when the 2nd I/O also getting the second virtual machine in described I/O controller accesses message, described I/O controls
Device accesses message according to a described I/O, I/O equipment is distributed to described first virtual machine and uses, including:Described I/O control
According to getting, a described I/O accesses message to device processed and described 2nd I/O accesses the sequencing of message by described I/O equipment
Distribute to described first virtual machine to use.
In a kind of implementation of the embodiment of the present invention, parsing and the conversion of VMID supported by I/O controller.From processor resource
Angle can only see virtual i/o functional device, multiple virtual i/o functional devices can correspond to an I/O equipment.An i.e. physics
I/O equipment can be time sharing shared by multiple virtual machines, and multiple virtual machines all can see an I/O equipment respectively, and this I/O sets
Standby had by multiple virtual machines, can by multiple virtual machine time-sharing multiplexs, I/O resouce controller receive I/O access message with
Afterwards, can judge which virtual machine the virtual machine asking to access I/O equipment is according to the VMID carrying in message, and timesharing
I/O equipment is distributed to different virtual machines use, each virtual machine timesharing can be met with this and monopolize wanting using I/O equipment
Ask.Thus driver need not be run in VMM, it is to avoid virtualized by the poorly efficient I/O that realizes of software approach.
For example:Only one of which network interface card on hardware, can be with virtual multiple network interface cards by this controller, can from the angle of virtual machine
To multiple network interface cards.Multiple virtual machines realize the time-sharing multiplex to a physics I/O equipment or interface, but in some virtual machine
Apparently, this virtual machine monopolizes this physics I/O equipment.
In a kind of implementation of the embodiment of the present invention, I/O equipment is distributed to described first virtual machine by described I/O controller
Using afterwards, also include:Lock described I/O equipment, so that described I/O equipment is exclusively enjoyed by described first virtual machine, and
After described first virtual machine completes I/O operation using described I/O equipment, release the locking to described I/O equipment, so that
Described I/O equipment is assigned to other virtual machines and uses.
Optionally, a depositor can be distributed for each I/O equipment, when VMM distributes to one some I/O equipment
During virtual machine, by VMID write and this corresponding depositor of I/O equipment of this virtual machine.
In a kind of possible implementation of the embodiment of the present invention, described I/O controller is configured with least one buffer queue,
Each of at least one buffer queue described buffer queue associates a virtual machine mark;It is empty that described I/O controller obtains first
After first I/O of plan machine accesses message, also include:A described I/O access message is stored in described by described I/O controller
I/O accesses the buffer queue of the virtual machine mark association in message.
It is, for example possible to use a depositor is associated, preserve the VMID of this buffer queue of labelling with a buffer queue in depositor,
When VMM creates virtual machine, and during for this virtual machine distribution I/O resource, one and this virtual machine can be created in I/O controller
The buffer queue of association, and the VMID of this virtual machine is write depositor corresponding with this virtual machine, buffer queue is indicated with this
With the one-to-one relationship of virtual machine, when I/O controller receives I/O and accesses message, can use and send this data memory access
The corresponding buffer queue of virtual machine of message accesses message caching the I/O that receives.
Disclosed technical scheme according to embodiments of the present invention, in computer systems, the processor resource of virtual machine accesses I/O money
During source, identified it is achieved that the direct access to I/O resource for the processor resource by increasing virtual machine in messages, reduce void
The loaded down with trivial details management process that in planization system, software accesses to I/O resource, provides the foundation for resources of virtual machine dynamically distributes further.
Fig. 6 is the logical construction schematic diagram of the virtualization apparatus 600 according to one embodiment of the invention, and virtualization apparatus 600 are one
Plant virtual-machine data memory access device, as shown in fig. 6, device 600 includes signal generating unit 602 and transmitting element 604,
Signal generating unit 602 is used for generating data memory access message, and described data memory access message carries virtual machine mark and virtual address letter
Breath, described virtual machine identifies the virtual machine on such devices for mark operation, and described Pseudo Address information is the number treating memory access
According to the virtual address in described virtual machine.
Transmitting element 604 is used for sending described data memory access message to Memory Controller Hub, and described Memory Controller Hub is used for controlling internally
The accessing operation deposited.
In a kind of implementation of the embodiment of the present invention, described device 600 is configured with least one depositor, and described at least one
Individual depositor is used for storing the virtual machine mark of described virtual machine;Before described signal generating unit 602 generates data memory access message, also
Virtual machine for obtaining described virtual machine from least one depositor described identifies.
In a kind of implementation of the embodiment of the present invention, corresponding device also comprises searching unit, and described searching unit is used for basis
Described virtual machine mark and described Pseudo Address information, search described virtual machine mark with described Pseudo Address information altogether from caching
With the cache blocks of instruction, the flag of the cache blocks of described caching comprises virtual machine flag and address information labelling position.
Described transmitting element 604 is used for sending described data memory access message to Memory Controller Hub, including:Described transmitting element is used for
Send the described data visit carrying described virtual machine mark and described Pseudo Address information by system bus to described Memory Controller Hub
Stored messages.
Specifically, described data memory access message includes that data writes message or data is read the newspaper literary composition;Described data writes message for described
The data of memory access is treated with described Pseudo Address information described in the region of memory write that virtual machine mark indicates collectively;Described data is read the newspaper
Literary composition is for from the data treating memory access described in the region of memory reading that described virtual machine identifies and described Pseudo Address information indicates collectively.
The embodiment of the present invention is corresponding with the embodiment of the method for Fig. 4, and the feature description of Fig. 4 embodiment part is it is adaptable to the present invention
Embodiment, will not be described here.
Disclosed technical scheme according to embodiments of the present invention, in computer systems, the processor resource of virtual machine accesses internal memory money
During source, identified it is achieved that the direct access to memory source for the processor resource by increasing virtual machine in messages, reduce void
The loaded down with trivial details management process that in planization system, software accesses to memory source, provides the foundation for resources of virtual machine dynamically distributes further.
Fig. 7 is the logical construction schematic diagram of the virtualization apparatus 700 according to one embodiment of the invention, and virtualization apparatus 700 are one
Plant virtual-machine data memory access device, as shown in fig. 7, device 700 includes acquiring unit 702 and determining unit 704,
Acquiring unit 702 is used for obtaining the data memory access message of virtual machine, and described data memory access message carries virtual machine mark and void
Intend address information, described virtual machine identifies the described virtual machine sending described data memory access message for mark, described virtual address
Information is to treat the virtual address in described virtual machine for the data of memory access.
Determining unit 704 is used for being identified and described Pseudo Address information according to described virtual machine, treats that the data of memory access exists described in determination
Physical memory addresses in memory device.
In a kind of implementation of the embodiment of the present invention, described determining unit 704 is used for being identified and described according to described virtual machine
Pseudo Address information, treats the data of the memory access physical memory addresses in memory device described in determination, including:Described determining unit
704 are used for inquiring about default corresponding relation according to described virtual machine mark and described Pseudo Address information, treat memory access described in determination
Physical memory addresses in memory device for the data, wherein, described corresponding relation includes each void that described computer system is run
The corresponding relation of the physical memory addresses that the virtual machine mark of plan machine is distributed with each virtual machine described.
Optionally, described device 700 is provided with least one buffer queue, and each of at least one buffer queue described caches
Queue associates a virtual machine mark;After described acquiring unit 702 obtains described data memory access message, it is additionally operable to described number
It is stored in the buffer queue associated by the described virtual machine mark that described data memory access message carries according to memory access message.
Optionally, described acquiring unit 702 is used for obtaining the data memory access message of virtual machine, including:Described acquiring unit 702
For receiving the described data memory access message carrying described virtual machine mark and described Pseudo Address information by system bus.
In a kind of implementation of the embodiment of the present invention, described device also includes processing unit, and described data memory access message includes
Data writes message or data is read the newspaper literary composition;If described data memory access message writes message for data, described processing unit is used for described
The data of memory access is treated described in the region of memory write of physical memory addresses instruction;If described data memory access message is read the newspaper literary composition for data,
Described processing unit is used for from the data treating memory access described in the region of memory reading of described physical memory addresses instruction.
The embodiment of the present invention is corresponding with the embodiment of the method for Fig. 4, and the feature description of Fig. 4 embodiment part is it is adaptable to the present invention
Embodiment, will not be described here.
Disclosed technical scheme according to embodiments of the present invention, in computer systems, the processor resource of virtual machine accesses internal memory money
During source, identified it is achieved that the direct access to memory source for the processor resource by increasing virtual machine in messages, reduce void
The loaded down with trivial details management process that in planization system, software accesses to memory source, provides the foundation for resources of virtual machine dynamically distributes further.
Fig. 8 is the logical construction schematic diagram of the virtualization apparatus 800 according to one embodiment of the invention, and virtualization apparatus 800 are one
Plant virtual machine I/O equipment access mechanism, as shown in figure 8, device 800 includes signal generating unit 802 and transmitting element 804,
Signal generating unit 802 is used for generating I/O access message, and described I/O accesses message and comprises virtual machine mark, described virtual machine
Identify the virtual machine on such devices for mark operation.
Transmitting element 804 is used for sending described I/O access message to I/O controller, and described I/O controller is used for managing I/O
Equipment.
In a kind of implementation of the embodiment of the present invention, described device 800 is configured with least one depositor, and described at least one
Individual depositor is used for storing the virtual machine mark of described virtual machine;Before described signal generating unit 802 generates I/O access message, also
Virtual machine for obtaining described virtual machine from least one depositor described identifies.
Optionally, described transmitting element 804 is used for sending described I/O access message to I/O controller, including:Described transmission
Unit is used for sending the described I/O access message carrying described virtual machine mark to described I/O controller by system bus.
Disclosed technical scheme according to embodiments of the present invention, in computer systems, the processor resource of virtual machine accesses I/O money
During source, identified it is achieved that the direct access to I/O resource for the processor resource by increasing virtual machine in messages, reduce void
The loaded down with trivial details management process that in planization system, software accesses to I/O resource, provides the foundation for resources of virtual machine dynamically distributes further.
The embodiment of the present invention is corresponding with the embodiment of the method for Fig. 5, and the feature description of Fig. 5 embodiment part is it is adaptable to the present invention
Embodiment, will not be described here.
Fig. 9 is the logical construction schematic diagram of the virtualization apparatus 900 according to one embodiment of the invention, and virtualization apparatus 900 are one
Plant virtual machine I/O equipment access mechanism, as shown in figure 9, device 900 includes acquiring unit 902 and allocation unit 904,
The I/O that acquiring unit 902 is used for obtaining the first virtual machine accesses message, and a described I/O accesses message and carries void
Plan machine identifies, and described virtual machine identifies and sends, for mark, the first virtual machine that described I/O accesses message.
Allocation unit 904 is used for accessing message according to a described I/O, I/O equipment is distributed to described first virtual machine and uses.
The 2nd I/O of the second virtual machine in a kind of implementation of the embodiment of the present invention, is also got in described acquiring unit 902
When accessing message, described allocation unit 904 is used for accessing message according to a described I/O, and I/O equipment is distributed to described the
One virtual machine uses, including:Described allocation unit 904 is used for according to default priority relationship, according to priority sequencing
Described I/O equipment is distributed to described first virtual machine use, wherein, described priority relationship is used for representing that described first is virtual
Machine and the priority size of described second virtual machine.
The 2nd I/O of the second virtual machine in a kind of implementation of the embodiment of the present invention, is also got in described acquiring unit 902
When accessing message, described allocation unit 904 is used for accessing message according to a described I/O, and I/O equipment is distributed to described the
One virtual machine uses, including:Described allocation unit 904 is used for basis and gets a described I/O access message and described second
Described I/O equipment is distributed to described first virtual machine use by the sequencing that I/O accesses message.
In a kind of implementation of the embodiment of the present invention, it is virtual that I/O equipment is distributed to described first by described allocation unit 904
Machine, using afterwards, is additionally operable to lock described I/O equipment, so that described I/O equipment is exclusively enjoyed by described first virtual machine, and
After described first virtual machine completes I/O operation using described I/O equipment, release the locking to described I/O equipment, so that
Described I/O equipment is assigned to other virtual machines and uses.
Optionally, described device configuration 900 has at least one buffer queue, and each of at least one buffer queue described caches
Queue associates a virtual machine mark;After described acquiring unit 902 obtains an I/O access message of the first virtual machine, also
It is stored in the buffer queue that described I/O accesses the virtual machine mark association in message for a described I/O is accessed message.
Optionally, described acquiring unit 902 is used for obtaining an I/O access message of the first virtual machine, including:Described acquisition
Unit is used for receiving the I/O access message from described first virtual machine by system bus.
The embodiment of the present invention is corresponding with the embodiment of the method for Fig. 5, and the feature description of Fig. 5 embodiment part is it is adaptable to the present invention
Embodiment, will not be described here.
Disclosed technical scheme according to embodiments of the present invention, in computer systems, the processor resource of virtual machine accesses I/O money
During source, identified it is achieved that the direct access to I/O resource for the processor resource by increasing virtual machine in messages, reduce void
The loaded down with trivial details management process that in planization system, software accesses to I/O resource, provides the foundation for resources of virtual machine dynamically distributes further.
It should be understood that disclosed system, apparatus and method in several embodiments provided herein, can pass through
Other modes are realized.For example, device embodiment described above is only schematically, for example, the division of described module,
Be only a kind of division of logic function, can have other dividing mode when realizing, for example multiple module or components can in conjunction with or
Person is desirably integrated into another system, or some features can be ignored, or does not execute.Another, shown or discussed is mutual
Between coupling or direct-coupling or communication connection can be by some interfaces, the INDIRECT COUPLING of device or module or communication connection,
Can be electrical, mechanical or other forms.
The described module illustrating as separating component can be or may not be physically separate, the portion showing as module
Part can be or may not be physical module, you can with positioned at a place, or can also be distributed to multiple mixed-media network modules mixed-medias
On.The purpose to realize this embodiment scheme for some or all of module therein can be selected according to the actual needs.
In addition, can be integrated in a processing module or each in each functional module in each embodiment of the present invention
Module is individually physically present it is also possible to two or more modules are integrated in a module.Above-mentioned integrated module was both permissible
Realized in the form of hardware, it would however also be possible to employ the form that hardware adds software function module is realized.
The above-mentioned integrated module realized in the form of software function module, can be stored in a computer read/write memory medium
In.Above-mentioned software function module is stored in a storage medium, including some instructions with so that a computer equipment (can
To be personal computer, server, or the network equipment etc.) execution each embodiment methods described of the present invention part steps.
And aforesaid storage medium includes:Portable hard drive, read only memory (English:Read-Only Memory, abbreviation ROM), with
Machine access memorizer (English:Random Access Memory, abbreviation RAM), magnetic disc or CD etc. are various can store journey
The medium of sequence code.
Finally it should be noted that:Above example only in order to technical scheme to be described, is not intended to limit;Although reference
Previous embodiment has been described in detail to the present invention, it will be understood by those within the art that:It still can be to front
State the technical scheme described in each embodiment to modify, or equivalent is carried out to wherein some technical characteristics;And these are repaiied
Change or replace, do not make the essence of appropriate technical solution depart from the protection domain of various embodiments of the present invention technical scheme.
Claims (48)
1. a kind of virtual method is it is characterised in that include:
The Memory Controller Hub of computer system obtains the data memory access message of virtual machine, and described data memory access message carries virtual machine mark
Know and Pseudo Address information, described virtual machine identifies the described virtual machine sending described data memory access message for mark, described void
Intending address information is to treat the virtual address in described virtual machine for the data of memory access;
Described Memory Controller Hub identifies and described Pseudo Address information according to described virtual machine, treats including the data of memory access described in determination
Deposit the physical memory addresses in equipment.
2. method according to claim 1 is it is characterised in that described Memory Controller Hub identifies according to described virtual machine and institute
State Pseudo Address information, described in determination, treat the data of the memory access physical memory addresses in memory device, including:Described internal memory control
Device processed inquires about default corresponding relation according to described virtual machine mark and described Pseudo Address information, treats the data of memory access described in determination
Physical memory addresses in memory device, wherein, described corresponding relation includes each virtual machine that described computer system is run
Virtual machine mark and the physical memory addresses of described each virtual machine distribution corresponding relation.
3. method according to claim 1 is it is characterised in that described Memory Controller Hub is provided with least one buffer queue,
Each of at least one buffer queue described buffer queue associates a virtual machine mark;
After described Memory Controller Hub obtains described data memory access message, also include:Described Memory Controller Hub is by described data memory access
Message is stored in the buffer queue associated by described virtual machine mark that described data memory access message carries.
4. method according to claim 1 is it is characterised in that the Memory Controller Hub of described computer system obtains virtual machine
Data memory access message, including:Described Memory Controller Hub carries described virtual machine by system bus reception and identifies and described virtual
The described data memory access message of address information.
5. the method according to any one of claim 1-4 is it is characterised in that described data memory access message includes data and writes report
Literary composition or data are read the newspaper literary composition;
If described data memory access message writes message for data, described Memory Controller Hub identifies and described virtual according to described virtual machine
Address information, treats that the data of memory access, after the physical memory addresses in memory device, also includes described in determination:Described internal memory control
The data of memory access is treated to described physical memory addresses described in the region of memory write that device processed indicates;
If described data memory access message is read the newspaper literary composition for data, described Memory Controller Hub is according to described virtual machine mark and described virtual
Address information, treats that the data of memory access, after the physical memory addresses in memory device, also includes described in determination:Described internal memory control
The region of memory that device processed indicates from described physical memory addresses treats the data of memory access described in reading.
6. a kind of virtual method is it is characterised in that include:
Virtual machine generates data memory access message, and described data memory access message carries virtual machine mark and Pseudo Address information, described void
Plan machine identifies the described virtual machine generating described data memory access message for mark, and described Pseudo Address information is the data treating memory access
Virtual address in described virtual machine;
Described virtual machine sends described data memory access message to Memory Controller Hub.
7. method according to claim 6 is it is characterised in that the processor resource of described virtual machine is configured with least one
Depositor, at least one depositor described is used for storing the virtual machine mark of described virtual machine;
Before described virtual machine generates data memory access message, also include:Obtain described virtual machine from least one depositor described
Virtual machine mark.
8. method according to claim 6 is it is characterised in that also include:Described virtual machine identifies according to described virtual machine
With described Pseudo Address information, search the cache blocks that described virtual machine mark and described Pseudo Address information indicate collectively from caching,
The flag of the cache blocks of described caching comprises virtual machine flag and address information labelling position.
9. the method according to any one of claim 6-8 is it is characterised in that described virtual machine sends institute to Memory Controller Hub
State data memory access message to include:Described virtual machine passes through system bus and carries described virtual machine mark to the transmission of described Memory Controller Hub
Described data memory access message with described Pseudo Address information.
10. the method according to any one of claim 6-8 is it is characterised in that described data memory access message includes data and writes
Message or data are read the newspaper literary composition;
Described data writes message for the region of memory write institute indicating collectively to described virtual machine mark and described Pseudo Address information
State the data treating memory access;
Described data reads the newspaper literary composition for the region of memory reading institute indicating collectively from described virtual machine mark and described Pseudo Address information
State the data treating memory access.
A kind of 11. data virtualization methods are it is characterised in that include:
The I/O that the I/O controller of computer system obtains the first virtual machine accesses message, and a described I/O accesses message
Carry virtual machine mark, described virtual machine identifies and sends, for mark, the first virtual machine that described I/O accesses message;
Described I/O controller accesses message according to a described I/O, I/O equipment is distributed to described first virtual machine and uses.
12. methods according to claim 11 are it is characterised in that also get the second virtual machine in described I/O controller
The 2nd I/O access message when, described I/O controller according to described first I/O access message, I/O equipment is distributed to institute
State the first virtual machine to use, including:Described I/O controller, will according to priority sequencing according to default priority relationship
Described I/O equipment is distributed to described first virtual machine and is used, and wherein, described priority relationship is used for representing described first virtual machine
Priority size with described second virtual machine.
13. methods according to claim 11 are it is characterised in that also get the second virtual machine in described I/O controller
The 2nd I/O access message when, described I/O controller according to described first I/O access message, I/O equipment is distributed to institute
State the first virtual machine to use, including:Described I/O controller accesses message and described 2nd I/O according to getting a described I/O
Described I/O equipment is distributed to described first virtual machine use by the sequencing accessing message.
14. methods according to any one of claim 11-13 are it is characterised in that described I/O controller is by I/O equipment
Distribute to described first virtual machine using afterwards, also include:Lock described I/O equipment, so that described I/O equipment is described
First virtual machine exclusively enjoys, and after described first virtual machine completes I/O operation using described I/O equipment, releases to described I/O
The locking of equipment, so that described I/O equipment is assigned to other virtual machines and uses.
15. methods according to any one of claim 11-13 are it is characterised in that described I/O controller is configured with least
One buffer queue, each of at least one buffer queue described buffer queue associates a virtual machine mark;
After described I/O controller obtains an I/O access message of the first virtual machine, also include:Described I/O controller will
A described I/O accesses message and is stored in the buffer queue that described I/O accesses the virtual machine mark association in message.
16. methods according to any one of claim 11-13 are it is characterised in that described I/O controller obtains the first void
First I/O of plan machine accesses message, including:Described I/O controller is received from described first virtual machine by system bus
First I/O accesses message.
A kind of 17. virtual methods are it is characterised in that include:
Virtual machine generates I/O and accesses message, and described I/O accesses message and comprises virtual machine mark, and described virtual machine identifies for marking
Know and generate the described virtual machine that described I/O accesses message;
Described virtual machine sends described I/O to I/O controller and accesses message, and described I/O controller is used for managing I/O equipment.
18. methods according to claim 17 are it is characterised in that the processor resource of described virtual machine is configured with least one
Individual depositor, at least one depositor described is used for storing the virtual machine mark of described virtual machine;
Before described virtual machine generates I/O access message, also include:Obtain described virtual machine from least one depositor described
Virtual machine mark.
19. methods according to claim 17 or 18 are it is characterised in that described virtual machine sends institute to I/O controller
State I/O and access message, including:Described virtual machine passes through system bus and carries described virtual machine mark to the transmission of described I/O controller
The described I/O knowing accesses message.
A kind of 20. virtualization apparatus are it is characterised in that include:
Acquiring unit, for obtaining the data memory access message of virtual machine, described data memory access message carries virtual machine and identifies and virtual
Address information, described virtual machine identifies the described virtual machine sending described data memory access message for mark, described virtual address letter
Cease the virtual address in described virtual machine for the data treating memory access;
Determining unit, for being identified and described Pseudo Address information according to described virtual machine, treats described in determination including the data of memory access
Deposit the physical memory addresses in equipment.
21. devices according to claim 20 are it is characterised in that described determining unit is used for being identified according to described virtual machine
With described Pseudo Address information, treat the data of the memory access physical memory addresses in memory device described in determination, including:Described true
Order unit, for inquiring about default corresponding relation according to described virtual machine mark and described Pseudo Address information, treats memory access described in determination
Physical memory addresses in memory device for the data, wherein, described corresponding relation includes each that described computer system is run
The corresponding relation of the physical memory addresses that the virtual machine mark of virtual machine is distributed with each virtual machine described.
22. devices according to claim 20 are it is characterised in that described device is provided with least one buffer queue, institute
State each of at least one buffer queue buffer queue and associate a virtual machine mark;
After described acquiring unit obtains described data memory access message, it is additionally operable to for described data memory access message to be stored in described data visit
The buffer queue associated by described virtual machine mark that stored messages carry.
23. devices according to claim 20 are it is characterised in that the data that described acquiring unit is used for obtaining virtual machine is visited
Stored messages, including:Described acquiring unit is used for receiving by system bus to carry described virtual machine and identify believing with described virtual address
The described data memory access message of breath.
24. devices according to any one of claim 20-23 it is characterised in that described device also includes processing unit,
Described data memory access message includes that data writes message or data is read the newspaper literary composition;
If described data memory access message writes message for data, described processing unit is used for into the instruction of described physical memory addresses
Deposit the data treating memory access described in the write of region;
If described data memory access message is read the newspaper literary composition for data, described processing unit is used in the instruction of described physical memory addresses
Deposit the data treating memory access described in the reading of region.
A kind of 25. virtualization apparatus are it is characterised in that include:
Signal generating unit, for generating data memory access message, described data memory access message carries virtual machine mark and Pseudo Address information,
Described virtual machine identifies the virtual machine on such devices for mark operation, and described Pseudo Address information is that the data treating memory access exists
The virtual address of described virtual machine;
Transmitting element, for sending described data memory access message to Memory Controller Hub.
26. devices according to claim 25 are it is characterised in that described device is configured with least one depositor, described
At least one depositor is used for storing the virtual machine mark of described virtual machine;
Before described signal generating unit generates data memory access message, it is additionally operable to obtain described virtual machine from least one depositor described
Virtual machine mark.
27. devices according to claim 25 it is characterised in that corresponding device also comprises searching unit, described lookup list
Unit is for according to described virtual machine mark and described Pseudo Address information, searching described virtual machine mark and described virtual from caching
The cache blocks that address information indicates collectively, the flag of the cache blocks of described caching comprises virtual machine flag and address information labelling
Position.
28. devices according to any one of claim 25-27 are it is characterised in that described transmitting element is used for internal memory control
Device processed sends described data memory access message, including:Described transmitting element is used for sending to described Memory Controller Hub by system bus
Carry the described data memory access message of described virtual machine mark and described Pseudo Address information.
29. devices according to any one of claim 25-27 are it is characterised in that described data memory access message includes data
Write message or data is read the newspaper literary composition;
Described data writes message for the region of memory write institute indicating collectively to described virtual machine mark and described Pseudo Address information
State the data treating memory access;
Described data reads the newspaper literary composition for the region of memory reading institute indicating collectively from described virtual machine mark and described Pseudo Address information
State the data treating memory access.
A kind of 30. data virtual gasifying devices are it is characterised in that include:
Acquiring unit, the I/O for obtaining the first virtual machine accesses message, and a described I/O access message carries virtual
Machine identifies, and described virtual machine identifies and sends, for mark, the first virtual machine that described I/O accesses message;
Allocation unit, for accessing message according to a described I/O, I/O equipment is distributed to described first virtual machine and uses.
31. devices according to claim 30 are it is characterised in that also get the second virtual machine in described acquiring unit
When 2nd I/O accesses message, described allocation unit is used for accessing message according to a described I/O, and I/O equipment is distributed to institute
State the first virtual machine to use, including:Described allocation unit is used for according to default priority relationship, according to priority sequencing
Described I/O equipment is distributed to described first virtual machine use, wherein, described priority relationship is used for representing that described first is virtual
Machine and the priority size of described second virtual machine.
32. devices according to claim 30 are it is characterised in that also get the second virtual machine in described acquiring unit
When 2nd I/O accesses message, described allocation unit is used for accessing message according to a described I/O, and I/O equipment is distributed to institute
State the first virtual machine to use, including:Described allocation unit is used for basis and gets a described I/O access message and described second
Described I/O equipment is distributed to described first virtual machine use by the sequencing that I/O accesses message.
33. devices according to any one of claim 30-32 are it is characterised in that I/O equipment is divided by described allocation unit
Described in dispensing, the first virtual machine using afterwards, is additionally operable to lock described I/O equipment, so that described I/O equipment is by described first
Virtual machine exclusively enjoys, and after described first virtual machine completes I/O operation using described I/O equipment, releases and described I/O is set
Standby locking, so that described I/O equipment is assigned to other virtual machines and uses.
34. devices according to any one of claim 30-32 are it is characterised in that described device is configured with least one delays
Deposit queue, each of at least one buffer queue described buffer queue associates a virtual machine mark;
After described acquiring unit obtains an I/O access message of the first virtual machine, it is additionally operable to for a described I/O to access report
Literary composition is stored in the buffer queue that described I/O accesses the virtual machine mark association in message.
35. devices according to any one of claim 30-32 are it is characterised in that described acquiring unit is used for acquisition first
First I/O of virtual machine accesses message, including:Described acquiring unit is used for virtual from described first by system bus reception
First I/O of machine accesses message.
A kind of 36. virtualization apparatus are it is characterised in that include:
Signal generating unit, accesses message for generating I/O, and described I/O accesses message and comprises virtual machine mark, described virtual machine mark
Know the virtual machine on such devices for mark operation;
Transmitting element, accesses message for sending described I/O to I/O controller, and described I/O controller is used for managing I/O and sets
Standby.
37. devices according to claim 36 are it is characterised in that described device is configured with least one depositor, described
At least one depositor is used for storing the virtual machine mark of described virtual machine;
Before described signal generating unit generates I/O access message, it is additionally operable to obtain described virtual machine from least one depositor described
Virtual machine mark.
38. devices according to claim 36 or 37 are it is characterised in that described transmitting element is used for I/O controller
Send described I/O and access message, including:Described transmitting element is used for carrying to the transmission of described I/O controller by system bus
The described I/O of described virtual machine mark accesses message.
A kind of 39. virtualization systems are it is characterised in that including processor cluster, memory device and Memory Controller Hub, described
Processor cluster includes at least one concurrent physical processor, and described processor cluster is connected by system bus with described Memory Controller Hub,
At least one virtual machine is run on described virtualization system, every virtual machine is assigned at the virtual machine of described processor cluster
Reason device and from described memory device virutal machine memory, at least one concurrent physical processor described each concurrent physical processor configure to
A few depositor, each depositor described is used for storing the mark of the virtual machine running on corresponding concurrent physical processor;
The first concurrent physical processor in described processor cluster, for generate data memory access message and by described system bus to
Described Memory Controller Hub sends described data memory access message, and it is virtual with first that described data memory access message carries the first virtual machine mark
Address information, described first virtual machine is designated the virtual machine mark of storage in corresponding first depositor of described first concurrent physical processor
Know, described first Pseudo Address information is the virtual address in described first virtual machine for the data treating memory access;
Described Memory Controller Hub is for receiving described data memory access message and virtual according to described first virtual machine mark and first
Address information, treats the data of the memory access physical memory addresses in described memory device described in determination.
40. systems according to claim 39 are it is characterised in that described Memory Controller Hub is for virtual according to described first
Machine mark and the first Pseudo Address information, treat the data of the memory access physical memory addresses in described memory device, bag described in determination
Include:Described Memory Controller Hub is used for inquiring about default correspondence according to described first virtual machine mark and described first Pseudo Address information
Relation, treats the data of the memory access physical memory addresses in described memory device described in determination, wherein, described corresponding relation includes
The virtual machine mark of each virtual machine that described virtualization system runs is right with the physical memory addresses of each virtual machine described distribution
Should be related to.
41. systems according to claim 39 cache team it is characterised in that described Memory Controller Hub is provided with least one
Row, each of at least one buffer queue described buffer queue associates a virtual machine mark;
After described Memory Controller Hub receives described data memory access message, it is additionally operable to for described data memory access message to be stored in described first
The buffer queue of virtual machine mark association.
42. systems according to claim 39 are it is characterised in that described data memory access message includes data and writes message or number
According to literary composition of reading the newspaper;
If described data memory access message writes message for data, described Memory Controller Hub is additionally operable to indicate to described physical memory addresses
Region of memory write described in treat the data of memory access;
If described data memory access message is read the newspaper literary composition for data, described Memory Controller Hub is additionally operable to indicate from described physical memory addresses
Region of memory read described in treat the data of memory access.
43. systems according to any one of claim 39-42 are it is characterised in that described first concurrent physical processor is additionally operable to:
According to described first virtual machine mark and described first Pseudo Address information, search described first virtual machine mark and institute from caching
State the cache blocks that the first Pseudo Address information indicates collectively, the flag of the cache blocks of described caching comprises virtual machine flag and ground
Location message identification position.
A kind of 44. virtualization systems are it is characterised in that including processor cluster, I/O equipment and I/O controller, described
Processor cluster includes at least one concurrent physical processor, and described processor cluster is connected by system bus with described I/O controller,
At least one virtual machine is run on described virtualization system, every virtual machine is assigned at the virtual machine of described processor cluster
Reason device and the virtual machine I/O equipment from described I/O equipment, at least one concurrent physical processor described, each concurrent physical processor is joined
Put at least one depositor, each depositor described is used for storing the mark of the virtual machine running on corresponding concurrent physical processor;
First processor in described processor cluster, for generate the first I/O access message and by described system bus to
Described I/O controller sends a described I/O and accesses message, and a described I/O accesses message and carries the first virtual machine mark,
Described first virtual machine is designated the virtual machine mark of storage in corresponding first depositor of described first concurrent physical processor;
Described I/O controller, accesses message for receiving a described I/O, and accesses message according to a described I/O, will
I/O equipment is distributed to described first virtual machine and is used.
45. systems according to claim 44 are visited it is characterised in that also receiving the 2nd I/O in described I/O controller
When asking message, wherein, described 2nd I/O accesses message and carries the second virtual machine mark, and described second virtual machine identifies for marking
Know the second virtual machine, described I/O controller is used for accessing message according to a described I/O, and I/O equipment is distributed to described the
One virtual machine uses, including:Described I/O controller is used for according to default priority relationship, will according to priority sequencing
Described I/O equipment is distributed to described first virtual machine and is used, and wherein, described priority relationship is used for representing described first virtual machine
Priority size with described second virtual machine.
46. systems according to claim 44 are visited it is characterised in that also receiving the 2nd I/O in described I/O controller
When asking message, wherein, described 2nd I/O accesses message and carries the second virtual machine mark, and described second virtual machine identifies for marking
Know the second virtual machine, described I/O controller is used for accessing message according to a described I/O, and I/O equipment is distributed to described the
One virtual machine uses, including:Described I/O controller is used for basis and receives a described I/O access message and described 2nd I/O
Described I/O equipment is distributed to described first virtual machine use by the sequencing accessing message.
47. systems according to any one of claim 44-46 are it is characterised in that described I/O controller is by I/O equipment
Distribute to described first virtual machine using afterwards, be additionally operable to lock described I/O equipment, so that described I/O equipment is by described the
One virtual machine exclusively enjoys, and after described first virtual machine completes I/O operation using described I/O equipment, releases to described I/O
The locking of equipment, so that described I/O equipment is assigned to other virtual machines and uses.
48. systems according to any one of claim 44-46 are it is characterised in that described I/O controller is configured with least
One buffer queue, each of at least one buffer queue described buffer queue associates a virtual machine mark;
After described I/O controller is used for receiving a described I/O access message, it is additionally operable to for a described I/O to access message
It is stored in the buffer queue of described first virtual machine mark association.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510489246.4A CN106445628A (en) | 2015-08-11 | 2015-08-11 | Virtualization method, apparatus and system |
PCT/CN2016/073860 WO2017024783A1 (en) | 2015-08-11 | 2016-02-16 | Virtualization method, apparatus and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510489246.4A CN106445628A (en) | 2015-08-11 | 2015-08-11 | Virtualization method, apparatus and system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106445628A true CN106445628A (en) | 2017-02-22 |
Family
ID=57982960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510489246.4A Pending CN106445628A (en) | 2015-08-11 | 2015-08-11 | Virtualization method, apparatus and system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106445628A (en) |
WO (1) | WO2017024783A1 (en) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085535A (en) * | 2017-03-30 | 2017-08-22 | 联想(北京)有限公司 | A kind of information processing method and electronic equipment |
CN107562515A (en) * | 2017-08-04 | 2018-01-09 | 致象尔微电子科技(上海)有限公司 | A kind of method of the managing internal memory in virtualization technology |
WO2018041075A1 (en) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | Resource access method applied to computer, and computer |
CN108920252A (en) * | 2018-06-15 | 2018-11-30 | 西安微电子技术研究所 | A kind of I/O virtualization device based on more queue Gigabit Ethernet controllers |
CN108920269A (en) * | 2018-07-19 | 2018-11-30 | 中国联合网络通信集团有限公司 | The dispatching method and device of the I/O transformation task of container |
CN109828827A (en) * | 2018-11-22 | 2019-05-31 | 海光信息技术有限公司 | A kind of detection method, device and relevant device |
CN110532816A (en) * | 2018-05-25 | 2019-12-03 | 瑞萨电子株式会社 | Memory protection circuit and memory-protection method |
CN110618962A (en) * | 2019-08-16 | 2019-12-27 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | Multi-core network concurrent access method, system and medium of FT-M6678 chip |
CN110851371A (en) * | 2018-08-20 | 2020-02-28 | 华为技术有限公司 | Message processing method and related equipment |
CN111666579A (en) * | 2020-06-18 | 2020-09-15 | 安谋科技(中国)有限公司 | Computer device, access control method thereof, and computer-readable medium |
CN111782268A (en) * | 2020-04-10 | 2020-10-16 | 北京京东尚科信息技术有限公司 | Method, apparatus, device and computer readable medium for allocating hardware resources |
CN111857943A (en) * | 2019-04-30 | 2020-10-30 | 华为技术有限公司 | Data processing method, device and equipment |
CN112114738A (en) * | 2019-06-20 | 2020-12-22 | 杭州海康威视数字技术股份有限公司 | Data storage method and storage device |
CN112416525A (en) * | 2020-11-27 | 2021-02-26 | 海光信息技术股份有限公司 | Device driver initialization method, direct storage access method and related device |
CN112905304A (en) * | 2021-03-08 | 2021-06-04 | 深信服科技股份有限公司 | Communication method and device between virtual machines, physical host and medium |
CN115442317A (en) * | 2021-12-17 | 2022-12-06 | 北京罗克维尔斯科技有限公司 | Message processing method, device, system, equipment and medium |
TWI787741B (en) * | 2020-11-05 | 2022-12-21 | 美商谷歌有限責任公司 | Memory-request priority up-leveling |
CN115988218A (en) * | 2023-03-14 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | Virtualized video coding and decoding system, electronic equipment and storage medium |
CN116719606A (en) * | 2023-06-12 | 2023-09-08 | 北京芯素科技有限公司 | Accelerator supporting hardware virtualization and data access method thereof |
CN117707994A (en) * | 2024-02-02 | 2024-03-15 | 北京象帝先计算技术有限公司 | Request buffer, system, component, device and transmission method |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110417683B (en) * | 2019-07-24 | 2022-07-29 | 新华三大数据技术有限公司 | Message processing method and device and server |
CN113691465B (en) * | 2020-05-19 | 2023-05-26 | 阿里巴巴集团控股有限公司 | Data transmission method, intelligent network card, computing device and storage medium |
CN114741214B (en) * | 2022-04-01 | 2024-02-27 | 新华三技术有限公司 | Data transmission method, device and equipment |
CN117492932B (en) * | 2023-12-28 | 2024-04-09 | 北京微核芯科技有限公司 | Virtual machine access method and device |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN85101171A (en) * | 1985-04-01 | 1987-02-11 | 株式会社日立制作所 | The I/O manner of execution of dummy machine system and computer system thereof |
US20060224816A1 (en) * | 2005-03-31 | 2006-10-05 | Koichi Yamada | Method and apparatus for managing virtual addresses |
CN102306126A (en) * | 2011-08-24 | 2012-01-04 | 华为技术有限公司 | Memory management method, device and system |
CN102483718A (en) * | 2009-08-25 | 2012-05-30 | 国际商业机器公司 | Cache partitioning in virtualized environments |
CN102754076A (en) * | 2009-12-24 | 2012-10-24 | 英特尔公司 | Method and apparatus for handling an i/o operation in a virtualization environment |
CN103530167A (en) * | 2013-09-30 | 2014-01-22 | 华为技术有限公司 | Virtual machine memory data migration method and relevant device and cluster system |
CN104063281A (en) * | 2013-03-21 | 2014-09-24 | 华为技术有限公司 | Method and device for regulating and controlling physical memory of virtual machine |
WO2014182314A2 (en) * | 2013-05-10 | 2014-11-13 | Empire Technology Development, Llc | Acceleration of memory access |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514043B (en) * | 2012-06-29 | 2017-09-29 | 华为技术有限公司 | The data processing method of multicomputer system and the system |
-
2015
- 2015-08-11 CN CN201510489246.4A patent/CN106445628A/en active Pending
-
2016
- 2016-02-16 WO PCT/CN2016/073860 patent/WO2017024783A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN85101171A (en) * | 1985-04-01 | 1987-02-11 | 株式会社日立制作所 | The I/O manner of execution of dummy machine system and computer system thereof |
US20060224816A1 (en) * | 2005-03-31 | 2006-10-05 | Koichi Yamada | Method and apparatus for managing virtual addresses |
CN102483718A (en) * | 2009-08-25 | 2012-05-30 | 国际商业机器公司 | Cache partitioning in virtualized environments |
CN102754076A (en) * | 2009-12-24 | 2012-10-24 | 英特尔公司 | Method and apparatus for handling an i/o operation in a virtualization environment |
CN102306126A (en) * | 2011-08-24 | 2012-01-04 | 华为技术有限公司 | Memory management method, device and system |
CN104063281A (en) * | 2013-03-21 | 2014-09-24 | 华为技术有限公司 | Method and device for regulating and controlling physical memory of virtual machine |
WO2014182314A2 (en) * | 2013-05-10 | 2014-11-13 | Empire Technology Development, Llc | Acceleration of memory access |
CN103530167A (en) * | 2013-09-30 | 2014-01-22 | 华为技术有限公司 | Virtual machine memory data migration method and relevant device and cluster system |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018041075A1 (en) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | Resource access method applied to computer, and computer |
US10970104B2 (en) | 2016-08-31 | 2021-04-06 | Huawei Technologies Co., Ltd. | Resource access method applied to computer and computer |
CN107085535A (en) * | 2017-03-30 | 2017-08-22 | 联想(北京)有限公司 | A kind of information processing method and electronic equipment |
CN107085535B (en) * | 2017-03-30 | 2020-10-27 | 联想(北京)有限公司 | Information processing method and electronic equipment |
CN107562515A (en) * | 2017-08-04 | 2018-01-09 | 致象尔微电子科技(上海)有限公司 | A kind of method of the managing internal memory in virtualization technology |
CN107562515B (en) * | 2017-08-04 | 2021-09-07 | 海光信息技术股份有限公司 | Method for managing memory in virtualization technology |
CN110532816A (en) * | 2018-05-25 | 2019-12-03 | 瑞萨电子株式会社 | Memory protection circuit and memory-protection method |
CN110532816B (en) * | 2018-05-25 | 2024-04-23 | 瑞萨电子株式会社 | Memory protection circuit and memory protection method |
CN108920252A (en) * | 2018-06-15 | 2018-11-30 | 西安微电子技术研究所 | A kind of I/O virtualization device based on more queue Gigabit Ethernet controllers |
CN108920269B (en) * | 2018-07-19 | 2021-03-19 | 中国联合网络通信集团有限公司 | Scheduling method and device for I/O transmission task of container |
CN108920269A (en) * | 2018-07-19 | 2018-11-30 | 中国联合网络通信集团有限公司 | The dispatching method and device of the I/O transformation task of container |
US11616738B2 (en) | 2018-08-20 | 2023-03-28 | Huawei Technologies Co., Ltd. | Packet processing method and related device |
CN110851371A (en) * | 2018-08-20 | 2020-02-28 | 华为技术有限公司 | Message processing method and related equipment |
CN110851371B (en) * | 2018-08-20 | 2023-09-26 | 华为技术有限公司 | Message processing method and related equipment |
CN109828827A (en) * | 2018-11-22 | 2019-05-31 | 海光信息技术有限公司 | A kind of detection method, device and relevant device |
CN109828827B (en) * | 2018-11-22 | 2023-10-27 | 海光信息技术股份有限公司 | Detection method, detection device and related equipment |
CN111857943B (en) * | 2019-04-30 | 2024-05-17 | 华为技术有限公司 | Data processing method, device and equipment |
CN111857943A (en) * | 2019-04-30 | 2020-10-30 | 华为技术有限公司 | Data processing method, device and equipment |
CN112114738A (en) * | 2019-06-20 | 2020-12-22 | 杭州海康威视数字技术股份有限公司 | Data storage method and storage device |
CN112114738B (en) * | 2019-06-20 | 2024-02-20 | 杭州海康威视数字技术股份有限公司 | Method for storing data and storage device |
CN110618962A (en) * | 2019-08-16 | 2019-12-27 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | Multi-core network concurrent access method, system and medium of FT-M6678 chip |
CN111782268B (en) * | 2020-04-10 | 2024-05-17 | 北京京东尚科信息技术有限公司 | Method, apparatus, device and computer readable medium for allocating hardware resources |
CN111782268A (en) * | 2020-04-10 | 2020-10-16 | 北京京东尚科信息技术有限公司 | Method, apparatus, device and computer readable medium for allocating hardware resources |
CN111666579A (en) * | 2020-06-18 | 2020-09-15 | 安谋科技(中国)有限公司 | Computer device, access control method thereof, and computer-readable medium |
CN111666579B (en) * | 2020-06-18 | 2024-03-08 | 安谋科技(中国)有限公司 | Computer device, access control method thereof and computer readable medium |
TWI819900B (en) * | 2020-11-05 | 2023-10-21 | 美商谷歌有限責任公司 | Memory-request priority up-leveling |
TWI787741B (en) * | 2020-11-05 | 2022-12-21 | 美商谷歌有限責任公司 | Memory-request priority up-leveling |
CN112416525A (en) * | 2020-11-27 | 2021-02-26 | 海光信息技术股份有限公司 | Device driver initialization method, direct storage access method and related device |
CN112416525B (en) * | 2020-11-27 | 2022-06-03 | 海光信息技术股份有限公司 | Device driver initialization method, direct storage access method and related device |
CN112905304A (en) * | 2021-03-08 | 2021-06-04 | 深信服科技股份有限公司 | Communication method and device between virtual machines, physical host and medium |
CN115442317B (en) * | 2021-12-17 | 2023-10-10 | 北京罗克维尔斯科技有限公司 | Message processing method, device, system, equipment and medium |
CN115442317A (en) * | 2021-12-17 | 2022-12-06 | 北京罗克维尔斯科技有限公司 | Message processing method, device, system, equipment and medium |
CN115988218B (en) * | 2023-03-14 | 2023-06-09 | 摩尔线程智能科技(北京)有限责任公司 | Virtualized video encoding and decoding system, electronic equipment and storage medium |
CN115988218A (en) * | 2023-03-14 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | Virtualized video coding and decoding system, electronic equipment and storage medium |
CN116719606A (en) * | 2023-06-12 | 2023-09-08 | 北京芯素科技有限公司 | Accelerator supporting hardware virtualization and data access method thereof |
CN117707994A (en) * | 2024-02-02 | 2024-03-15 | 北京象帝先计算技术有限公司 | Request buffer, system, component, device and transmission method |
CN117707994B (en) * | 2024-02-02 | 2024-06-21 | 北京象帝先计算技术有限公司 | Request buffer, system, component, device and transmission method |
Also Published As
Publication number | Publication date |
---|---|
WO2017024783A1 (en) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445628A (en) | Virtualization method, apparatus and system | |
US10423435B1 (en) | Page swapping in virtual machine environment | |
JP5735070B2 (en) | Guest address to host address translation for devices to access memory in partitioned systems | |
CN107783913B (en) | Resource access method applied to computer and computer | |
US7376949B2 (en) | Resource allocation and protection in a multi-virtual environment | |
CN101847105B (en) | Computer and internal memory sharing method of a plurality of operation systems | |
US20210216453A1 (en) | Systems and methods for input/output computing resource control | |
CN103870311B (en) | The method of hardware that accesses, rear end is driven to drive and front-end driven by half virtualization | |
CN103034524A (en) | Paravirtualized virtual GPU | |
US11132290B2 (en) | Locality domain-based memory pools for virtualized computing environment | |
US11119942B2 (en) | Facilitating access to memory locality domain information | |
JP2019523920A (en) | Page fault solution | |
US10713081B2 (en) | Secure and efficient memory sharing for guests | |
CN115456862B (en) | Memory access processing method and device for image processor | |
CN118159951A (en) | Method, device and system for processing request | |
US10691590B2 (en) | Affinity domain-based garbage collection | |
CN110058946A (en) | Device virtualization method, apparatus, equipment and storage medium | |
US7389398B2 (en) | Methods and apparatus for data transfer between partitions in a computer system | |
US7840772B2 (en) | Physical memory control using memory classes | |
CN110447019B (en) | Memory allocation manager and method for managing memory allocation performed thereby | |
CN115398408A (en) | Computer memory management in a computing device | |
US11314522B2 (en) | Fast boot resource allocation for virtual machines | |
JPH09319653A (en) | Information processor, information processing system and control method for the same | |
CN108932205B (en) | Method and equipment for defending RowHammer attack | |
CN117857253A (en) | Inter-domain communication method based on jailhouse smmu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |
|
RJ01 | Rejection of invention patent application after publication |