CN106445628A - Virtualization method, apparatus and system - Google Patents

Virtualization method, apparatus and system Download PDF

Info

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
Application number
CN201510489246.4A
Other languages
Chinese (zh)
Inventor
江涛
董建波
侯锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201510489246.4A priority Critical patent/CN106445628A/en
Priority to PCT/CN2016/073860 priority patent/WO2017024783A1/en
Publication of CN106445628A publication Critical patent/CN106445628A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing 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

A kind of virtual method, device and system
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.
CN201510489246.4A 2015-08-11 2015-08-11 Virtualization method, apparatus and system Pending CN106445628A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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