WO2017049945A1 - 加速器虚拟化的方法、装置及集中资源管理器 - Google Patents

加速器虚拟化的方法、装置及集中资源管理器 Download PDF

Info

Publication number
WO2017049945A1
WO2017049945A1 PCT/CN2016/084022 CN2016084022W WO2017049945A1 WO 2017049945 A1 WO2017049945 A1 WO 2017049945A1 CN 2016084022 W CN2016084022 W CN 2016084022W WO 2017049945 A1 WO2017049945 A1 WO 2017049945A1
Authority
WO
WIPO (PCT)
Prior art keywords
accelerator
virtual machine
physical
virtual
physical accelerator
Prior art date
Application number
PCT/CN2016/084022
Other languages
English (en)
French (fr)
Inventor
唐朝飞
姚志明
肖昆
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP16847827.9A priority Critical patent/EP3343364B1/en
Publication of WO2017049945A1 publication Critical patent/WO2017049945A1/zh
Priority to US15/933,323 priority patent/US10698717B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the present invention relates to the field of the Internet, and in particular, to a method, an apparatus, and a centralized resource manager for accelerator virtualization.
  • Virtualization technology can realize the dynamic allocation of Internet resources, flexible scheduling and cross-domain sharing, and can improve the utilization of IT resources, thus becoming a new trend in the development of the Internet.
  • Accelerator is a kind of Internet resource. It is a functional unit that transfers some functions completed by the CPU to the accelerator itself to reduce the CPU load.
  • accelerators include graphics accelerator, encryption and decryption accelerator, video codec accelerator, compression accelerator, etc. .
  • a single accelerator has become more and more difficult to meet the load transfer requirements of the CPU.
  • the virtual machine monitor creates a pair of transceiver queues for each virtual acceleration resource, which is based on shared memory.
  • the virtual acceleration resource accesses the physical acceleration resource through the sending and receiving queue, and the virtual machine monitor schedules the sending and receiving queue of each virtual acceleration resource, and converts into access to the physical acceleration resource.
  • the prior art there are usually two methods for virtualizing Internet resources.
  • the first is the VirtIO solution, and the other is the SRIOV (Single-Root IO Virtuliaztion) solution.
  • a virtual machine monitor also known as a virtual machine manager, or a hypervisor
  • the virtual resources pass through the send and receive queues and the virtual machine monitor.
  • the scheduling enables access to physical resources.
  • the SRIOV scheme is an IO virtualization technology based on the PCIe bus, and physical resources are interconnected with the CPU through the PCIe bus.
  • software is used to integrate the send and receive queues into the hardware, allowing direct access to the hardware in the virtual machine for improved performance.
  • the physical resources can be virtualized into multiple virtual resources, and multiple virtual resources can be combined to form a virtual machine.
  • a service processing unit can be deployed to complete different service functions.
  • the virtualization system includes a centralized resource manager 101, a virtual machine monitor 102, and virtual machines 103 and 104.
  • the centralized resource manager and the virtual machine monitor may be implemented by a software based on a physical CUP. At the software level, it may be a part of a functional module of the operating system, or may be a relatively independent part of the functional software, and the specific form is not limited.
  • the centralized resource manager 101 is used to implement management of various physical resources 107.
  • the specific product representatives are open source software such as open source software, open source software, vCenter of VMware, and FusionSphere of Huawei.
  • the virtual machine monitor 102 is used to implement virtual resource management. As shown in FIG. 1 , a service processing unit 105 is deployed on the virtual machine 103 , and a service processing unit 106 is deployed on the virtual machine 104 .
  • the business processing units 105 and 106 respectively run a workload. There can be multiple business loads running on each business processing unit.
  • the virtual resources on the virtual machine can be classified into virtual computing resources, virtual storage resources, and virtual network card resources according to the attributes.
  • the physical resources can also be divided into physical computing resources, physical storage resources, and physical network card resources.
  • the virtual machine accesses the corresponding physical resource through the virtual resource, and transfers the workload to the corresponding physical resource.
  • the existing virtualization technology cannot virtualize the accelerator, so it is impossible to create a virtual machine with a virtual accelerator, so that the accelerator cannot be used in the virtual machine.
  • a method, an apparatus, and a centralized resource manager for accelerating virtualization are provided, which can solve the problem that the accelerator virtualization cannot be implemented in the prior art.
  • a method for accelerating virtualization is provided, which is applied to a host, where the host runs a centralized resource manager and a virtual machine monitor, and the method includes:
  • the centralized resource manager receives a virtual machine resource configuration command, where the virtual machine resource configuration command includes the virtual accelerator information to be created;
  • the centralized resource manager selects a matching physical accelerator from the physical accelerator resource pool as a matching physical accelerator according to the virtual accelerator information to be created in the virtual machine resource configuration command;
  • the centralized resource manager generates description information for describing a matching physical accelerator
  • the centralized resource manager sends a first virtual machine creation command to the virtual machine monitor, where the first virtual machine creation command includes the description information, so that the virtual machine monitor receives the first virtual machine creation command a first virtual machine including the first virtual accelerator corresponding to the matching physical accelerator, wherein the first virtual accelerator is generated by using the description information, or the centralized resource manager is to the virtual machine
  • the monitor sends a second virtual machine creation command, where the second virtual machine creation command includes a description information acquisition identifier, so that the virtual machine monitor creates the second virtual machine after receiving the second virtual machine creation command, and causes The second virtual machine generates a second virtual accelerator after acquiring the description information according to the description information acquisition identifier.
  • the method before the centralized resource manager receives the virtual machine resource configuration command, the method further includes:
  • the centralized resource manager acquires information of a physical accelerator, and the physical accelerator includes at least a local physical accelerator or a remote physical accelerator;
  • the centralized resource manager generates a physical accelerator information file to generate a physical accelerator resource pool according to the information of the physical accelerator;
  • the centralized resource manager selects a matching physical accelerator from the physical accelerator resource pool as a matching physical accelerator according to the virtual accelerator information to be created in the virtual machine resource configuration command, including:
  • the centralized resource manager selects the information of the matched physical accelerator from the physical accelerator information file according to the virtual accelerator information to be created, and uses the physical accelerator corresponding to the information of the matched physical accelerator as the matching physical accelerator.
  • the centralized resource manager selects a matching physical accelerator from the physical accelerator resource pool as a matching physical accelerator, include:
  • the centralized resource manager selects a matching matching physical accelerator from the physical accelerator resource pool according to the physical location;
  • the centralized resource manager selects a matching matching physical accelerator from the physical accelerator resource pool according to a physical accelerator load.
  • the matching physical accelerator is not on the host
  • the virtual After the machine monitor creates the first virtual machine or the second virtual machine the method further includes:
  • the unit communicates and causes the remote accelerator management unit to communicate with the corresponding matching physical accelerator through the matching physical accelerator identification.
  • the generating, by the centralized resource manager, the first virtual machine or the first After the second virtual machine the method further includes:
  • the virtual accelerator transfers an acceleration request sent by the service unit on the virtual machine to the matching physical accelerator for processing, and returns the result of the matching physical accelerator processing to the service unit, where the virtual The accelerator is a first virtual accelerator or a second virtual accelerator.
  • the matching physical accelerator is not on the host, the first virtual accelerator sends the service unit on the virtual machine
  • the acceleration request is transferred to the matching physical accelerator for processing, and the result of the matching physical accelerator processing is returned to the service unit, including:
  • the virtual accelerator sends a handshake request based on a handshake protocol to the remote accelerator management unit, and receives a handshake success response fed back by the accelerator management unit;
  • the virtual accelerator sends the acceleration request to the remote accelerator management unit, so that the remote accelerator management unit sends the acceleration request to a corresponding matching physical accelerator for processing;
  • the virtual accelerator sends the acceleration request response to the service unit
  • the virtual accelerator is a first virtual accelerator or a second virtual accelerator.
  • an apparatus for accelerator virtualization which is applied to a host, where the apparatus includes a centralized resource manager and a virtual machine monitor, and the centralized resource manager includes:
  • a receiving unit configured to receive a virtual machine resource configuration command, where the virtual machine resource configuration command includes the virtual accelerator information to be created;
  • a matching physical accelerator selection unit configured to select a matching physical accelerator from the physical accelerator resource pool as a matching physical accelerator according to the virtual accelerator information to be created in the virtual machine resource configuration command received by the accepting unit;
  • a generating unit configured to generate description information for describing a matching physical accelerator
  • a sending unit configured to send a first virtual machine creation command to the virtual machine monitor, where the first virtual machine is created
  • the command includes the description information, so that after the virtual machine monitor receives the first virtual machine creation command, the first virtual machine that includes the first virtual accelerator corresponding to the matching physical accelerator is created, where the The first virtual accelerator is generated by using the description information, or the sending unit is configured to send a second virtual machine creation command to the virtual machine monitor, where the second virtual machine creation command includes a description information acquisition identifier, such that After the virtual machine monitor receives the second virtual machine creation command, the second virtual machine is created, and the second virtual machine obtains the description information according to the description information acquisition identifier to generate a second virtual accelerator.
  • the centralized resource manager further includes:
  • a physical accelerator information acquiring unit configured to acquire information of a physical accelerator, where the physical accelerator includes at least a local physical accelerator or a remote physical accelerator;
  • a physical accelerator resource pool generating unit configured to generate a physical accelerator information file to generate a physical accelerator resource pool according to the information of the physical accelerator
  • the matching physical accelerator selection unit is further configured to select, according to the virtual accelerator information to be created, information of the matched physical accelerator from the physical accelerator information file, and match the physical accelerator corresponding to the information of the matched physical accelerator as a match. Physical accelerator.
  • the matching physical accelerator selecting unit is further configured to select a phase from the physical accelerator resource pool according to the physical location Matching matching physical accelerators;
  • the matching physical accelerator selection unit is further configured to select a matching matching physical accelerator from the physical accelerator resource pool according to a physical accelerator load.
  • the matching physical accelerator is not on the host
  • the virtual machine monitor is further configured to send a communication address and a matching physical accelerator identifier to a remote accelerator management unit on a node where the matching physical accelerator is located
  • the virtual machine monitor communicates with the remote accelerator management unit through the communication address, and causes the remote accelerator management unit to communicate with a corresponding matching physical accelerator through the matching physical accelerator identifier.
  • the first virtual machine or the second virtual entity is created in the centralized resource manager After the machine, the virtual accelerator is configured to transfer an acceleration request sent by the service unit on the virtual machine to the match The accelerator is processed, and the result of the matching physical accelerator processing is returned to the service unit, wherein the virtual accelerator is a first virtual accelerator or a second virtual accelerator.
  • the matching physical accelerator is not used on the host, and the first virtual accelerator is further used to the remote accelerator
  • the management unit sends a handshake request based on the handshake protocol, and receives a handshake success response fed back by the remote accelerator management unit;
  • the first virtual accelerator is further configured to send the acceleration request to the remote accelerator management unit, so that the remote accelerator management unit sends the acceleration request to a corresponding matching physical accelerator for processing;
  • the virtual accelerator is further configured to receive an acceleration request response sent by the remote accelerator management unit, where the acceleration request response is a processing result returned by the matching physical accelerator to the remote accelerator management unit after processing the acceleration request. ;
  • the virtual accelerator is further configured to send the acceleration request response to the service unit; wherein the virtual accelerator is a first virtual accelerator or a second virtual accelerator.
  • a host for performing accelerator virtualization including a processor, a memory, and a processor for reading code stored in the memory for running a virtual machine monitor and a centralized resource manager,
  • the virtual machine monitor and the centralized resource manager are configured to perform the methods disclosed in the first aspect and the various implementations of the first aspect. :
  • a method for virtualizing an accelerator is disclosed.
  • the embodiment of the present invention can implement virtualization of a physical accelerator by concentrating interaction between a resource manager and a virtual machine monitor, thereby facilitating the use of these for subsequent convenience.
  • the physical accelerator lays the foundation; at the same time, since the implementation of the accelerator virtualization in the embodiment of the present invention is implemented based on the centralized resource manager and the virtual machine monitor, the software has few changes and is easy to implement.
  • FIG. 1 is a schematic diagram of a virtualization system in the prior art
  • FIG. 2 is a flowchart of a method for virtualizing an accelerator according to Embodiment 1 of the present invention
  • Embodiment 3 is a flowchart of a method for load transfer according to Embodiment 3 of the present invention.
  • Embodiment 4 is a schematic diagram of an application scenario shown in Embodiment 4 of the present invention.
  • FIG. 5 is a schematic structural diagram of an apparatus for virtualizing an accelerator according to Embodiment 5 of the present invention.
  • FIG. 6 is a schematic structural diagram of a host according to Embodiment 6 of the present invention.
  • FIG. 7 is a schematic structural diagram of a system according to Embodiment 1 of the present invention.
  • the following embodiments of the present invention provide a method, an apparatus, and a centralized resource manager for an accelerator virtualization, which can implement virtualization of an accelerator and improve resource sharing.
  • FIG. 7 is a schematic diagram of a system architecture according to an embodiment of the present invention.
  • a node where the host 700 is located includes a software layer 701 and a hardware layer 702.
  • the software layer 701 includes a centralized resource manager 7011 and a virtual machine monitor 7012.
  • the hardware layer may include a processor 7021, a memory 7022, and the like.
  • the system of the embodiment of the present invention further includes a physical accelerator resource pool 703.
  • the physical accelerator resource pool 703 includes a plurality of physical accelerators, such as the physical accelerator 1, the physical accelerator 2, and the physical accelerator N shown in FIG.
  • FIG. 2 is a flowchart of a method for virtualizing an accelerator according to an embodiment of the present invention. As shown in FIG. 2, the method is applied to a host, where a centralized resource manager and a virtual machine monitor are run, and the method includes :
  • Step 201 The centralized resource manager receives the virtual machine resource configuration command, and the virtual machine resource configuration command includes the virtual accelerator information to be created.
  • the virtual machine resource configuration command may be from operation and maintenance software, for example, it may be a relatively independent software, such as MANO; or it may be a software module in a large software.
  • operation and maintenance software knows that the application software has a need for the virtual accelerator.
  • the virtual machine resource configuration command is sent to the centralized resource manager.
  • the virtual machine resource configuration command is used to configure the virtual machine resource.
  • the resources in the present invention include virtual CPU information, virtual storage resource information, and virtual network resource information required for the virtual machine to be created.
  • This configuration command can be implemented by means of an xml file, and the virtual machine resource is configured through the xml file. If other software platforms are used, they can also be implemented using the corresponding commands defined in other software platforms, and will not be described here.
  • the virtual machine resource configuration command further includes the virtual accelerator information to be created.
  • the resource configuration command may be extended by using the resource configuration command. For example, when the openstack is based, the xml file may be extended. Contains the virtual accelerator information to be created.
  • the virtual accelerator information to be created is used to indicate the requester's requirements for the virtual accelerator to be created.
  • the information may include: a type of virtual accelerator to be created (eg, encryption, decryption, compression, etc.), acceleration capability (eg, The communication protocol and the communication address are optional, and the communication protocol and the communication address are optional. If the physical accelerator is located at the remote node, the communication protocol and the communication address are required. If the physical accelerator is located at the local node, this information can be omitted.
  • the "nodes" in the embodiment of the present invention are generally divided according to physical locations, and may be set according to system structure, distance, requirements, etc.
  • a computer room may be a node, and a cabinet may also be a node, a slot, and a A board can be a node.
  • Each node may include a host or may also include a physical accelerator. Among them, the host is mainly used to complete some general business processing, while the physical accelerator is to accelerate some specific services.
  • at least two nodes are involved. For convenience of explanation, one of the two nodes may be referred to as a "local node” and the other may be referred to as a "remote node".
  • one of the cabinets may be C1 is called a local node, and another cabinet C2 is called a remote node.
  • One of the equipment rooms H1 may also be referred to as a local node, and another equipment room H2 may be referred to as a remote node.
  • the above concepts of nodes, hosts, and accelerators and their specific implementations are concepts well known to those skilled in the art. This embodiment will not be described again. Since the host is generally implemented based on the CPU, for the convenience of explanation, the functions performed by the CPU mentioned below can be considered as functions performed by the host.
  • Step 202 The centralized resource manager selects a matching physical accelerator from the physical accelerator resource pool as a matching physical accelerator according to the virtual accelerator information to be created in the virtual machine resource configuration command.
  • the accelerator type of the virtual accelerator required to be created in the virtual acceleration information is encryption and the acceleration capability is required to reach 1 Gbps
  • the accelerator type is selected from the physical accelerator resource pool as encryption, and the acceleration capability is required.
  • a physical accelerator capable of reaching 1 Gbps ie, 1 Gbps or more is used as a matching physical accelerator.
  • the physical accelerator resource pool refers to a resource pool composed of multiple physical accelerators, and the implementation manners of the physical accelerators are not limited. For example, they may be PCIe bus-based accelerators, and the accelerators are connected to the CPU through a PCIe interface; or It can also be an accelerator integrated inside the CPU; or it can be a network-based accelerator.
  • the specific implementation forms and methods of these physical accelerators are well known to those skilled in the art, and are not described herein again.
  • step 203 the centralized resource manager generates description information for describing the matching physical accelerator.
  • the description information is used to describe the matching physical accelerator for use in the subsequent generation of the virtual accelerator.
  • the concept of the virtual accelerator is similar to the concept of many existing virtual devices (such as virtual network cards and virtual ports), that is, corresponding to the physical accelerator.
  • An accelerator that is virtualized by software that is, a software module
  • this "accelerator” simulated by software can pass some parameters to other applications through some interfaces, so that other applications receive these parameters and then think that there is an "accelerator”. ", and communicate with this "accelerator.”
  • a “virtual accelerator” may also be presented in the user interface, and the user may operate the “virtual accelerator” through a graphical interface. When an application needs to accelerate a certain service, the acceleration request can be sent to the "virtual accelerator", and then the virtual accelerator forwards the acceleration request to the matching physical accelerator for processing.
  • the description information includes but is not limited to the following information: the accelerator type mentioned above, the acceleration capability, etc.; some location information indicating the location of the accelerator, for example, when the accelerator is connected to the CPU as a PCIe card based on the PCIe bus, the information may be
  • the BDF number (bus number, device number, function number) of the PCIe card, or when connecting through the network, may include information such as an IP address and a port number; and may also include various attribute information required according to actual needs;
  • the description information generation "virtual accelerator” is a technique well known to those skilled in the art and will not be described again here.
  • the description information can be written in a file for storage.
  • the embodiments of the present invention are not limited to other ways of saving.
  • Step 204 The centralized resource manager sends a first virtual machine creation command to the virtual machine monitor, where the first virtual machine creation command includes description information, so that after the virtual machine monitor receives the first virtual machine creation command, the virtual machine monitor includes the matching physical medium.
  • step 204 may be: the centralized resource manager sends a second virtual machine creation command to the virtual machine monitor, and the second virtual machine creation command includes a description information acquisition identifier, so that the virtual machine monitor receives the second virtual machine creation command. Creating a second virtual machine, and causing the second virtual machine to generate the second virtual accelerator after acquiring the identification obtaining information according to the description information.
  • a second embodiment of step 204 is shown in dashed lines in Figure 2, and corresponding reference numerals are also shown in dashed boxes.
  • the virtual machine creation command refers to a command used to create a virtual machine in the prior art.
  • the following commands can be used:
  • the first virtual machine creation command and the second virtual machine creation command are commands based on the virtual machine to create a command.
  • the first virtual machine creation command performs some minor modifications on the basis of the original virtual machine creation command, so that the virtual machine monitor can create the first virtual machine that includes the virtual accelerator according to the description information. Indicates the field in which the virtual accelerator is created. For example, the modified command can look like this:
  • the underlined part is a new parameter, which means that the virtual accelerator is generated by reading the file "sa_vf1" (which holds the description information of the virtual accelerator to be generated).
  • this implementation method is only For an example, a person skilled in the art may also obtain the description information by directly transmitting the description information without using the file, and generate a first virtual virtual virtual accelerator corresponding to the description information according to the description information. machine.
  • the second virtual machine creation command modifies the existing virtual machine creation command by adding a description information acquisition identifier, which does not instruct the virtual machine monitor to generate a virtual accelerator when generating the virtual machine, but indicates the virtual machine monitor. After generating the second virtual machine, let the second virtual machine generate the virtual accelerator according to the acquisition description information. The second virtual machine knows through the identifier that a virtual accelerator needs to be generated, and then can go to a default location (or can also obtain the location by interacting with the centralized resource manager) to obtain the description information. For example, get a file that holds the description information from a disk path.
  • the method may further include:
  • the centralized resource manager obtains information of the physical accelerator, and the physical accelerator includes at least a local physical accelerator or a remote physical accelerator;
  • the centralized resource manager generates a physical accelerator information file to generate a physical accelerator resource pool according to the information of the physical accelerator;
  • the centralized resource manager selects a matching physical accelerator from the physical accelerator resource pool as a matching physical accelerator according to the virtual accelerator information to be created in the virtual machine resource configuration command, including:
  • the centralized resource manager selects the information of the matching physical accelerator from the physical accelerator information file according to the virtual accelerator information to be created, and uses the physical accelerator corresponding to the information of the matched physical accelerator as the matching physical accelerator.
  • the information of the physical accelerator includes but is not limited to the following information: physical resource name, node address where the physical resource is located, function, attribute, capability, idle state.
  • Each node collects the physical accelerator information of the node and reports it to the centralized resource manager. When the physical accelerator changes, each node can also actively report to the centralized resource manager, and the centralized resource manager updates the physical accelerator resource pool.
  • the physical accelerator information is obtained by the centralized resource manager, and the physical accelerator can be uniformly managed and scheduled.
  • the physical accelerator resource pool is actually equivalent to a database, and the internal data may be one or more physical accelerator information files.
  • the storage mode of the physical accelerator resource pool can be stored in any database.
  • the management structure of the physical accelerator resource pool of one embodiment can be as shown in Table 1:
  • the physical accelerator resource pools shown in Table 1 are shown in the form of a list, and only one row is explicitly listed in Table 1.
  • Each row of the list can correspond to a physical accelerator information file, each physical accelerator information file pair Should be a physical accelerator; or, the entire list corresponds to a physical accelerator information file, each row in the list corresponds to a physical accelerator.
  • the embodiment of the invention uses the physical accelerator resource pool to manage the physical accelerators in the system, facilitates unified management of the physical accelerators, and improves the selection efficiency of matching physical resources.
  • the centralized resource manager selects a matching matching physical accelerator from the physical accelerator resource pool based on the physical location;
  • the centralized resource manager selects a matching matching physical accelerator from the physical accelerator resource pool based on the physical accelerator load.
  • Physical accelerators can be divided into local physical accelerators and remote physical accelerators based on physical location.
  • the local physical accelerator is located at the local node, that is, the local physical accelerator is located at the node where the host is located; the remote physical accelerator is located at the non-host node, that is, the remote physical accelerator is located at the remote node.
  • the centralized resource manager has a shorter communication delay with the local physical accelerator, and the lower-loaded physical accelerator has a faster response speed, so the local physical accelerator can be preferentially selected, or the physical accelerator with lower load can be preferentially selected. It can be selected by combining physical location and load.
  • the method of the embodiment of the present invention may implement virtualization of the accelerator, and at the same time, since the accelerator virtualization is implemented based on the centralized resource manager and the virtual machine monitor in the embodiment of the present invention, Software changes are small and easy to implement.
  • the embodiment discloses an accelerator virtualization method.
  • the location of the matching physical accelerator is not limited, for example, the matching physical accelerator may be located at the local node or may be located at the remote node.
  • an embodiment of the disclosed accelerator virtualization method can be employed.
  • the description is directed to the case where the matching physical accelerator is on the remote node.
  • the method further includes:
  • the virtual machine monitor sends the communication address and matches the physical accelerator identifier to the remote accelerator management unit on the node where the physical accelerator is matched, so that the virtual machine monitor communicates with the remote accelerator management unit through the communication address, and enables the remote accelerator management
  • the unit matches the physical accelerator by matching the corresponding matching physical accelerator communication.
  • the remote accelerator management unit may be a functional unit located at the remote node and capable of managing the physical accelerator on the remote node under the control of the centralized resource manager, which may be a separate software module, or may be far A software submodule in the end node operating system.
  • a physical accelerator management unit such as a physical acceleration engine.
  • accelerator virtualization has a high demand for non-local remote accelerator resources.
  • the physical accelerator can be communicated with the matching physical accelerator. That is, the embodiment of the present invention can realize the virtualization of the accelerator when the physical accelerator is located at the remote end, thereby improving the sharing degree of resources.
  • an embodiment of the present invention discloses an accelerator virtualization method for describing how to perform service processing based on the foregoing method. Specifically, after the centralized resource manager creates the first virtual machine or the second virtual machine, the method provided by the embodiment further includes:
  • the virtual accelerator transfers the acceleration request sent by the business unit on the virtual machine to the matching physical accelerator for processing, and returns the result processed by the matching physical accelerator to the business unit.
  • the virtual accelerator in this embodiment is the first virtual accelerator, or may be the second virtual accelerator, and needs to be consistent with the virtual accelerator created in step 204 of the above embodiment, that is, if the first virtual accelerator is created, A virtual accelerator transfers the acceleration request sent by the service unit to the physical matching accelerator for processing. If the second virtual accelerator is created, the second virtual accelerator transfers the acceleration request sent by the service unit to the matching physical accelerator for processing.
  • Transfer the acceleration request sent by the service unit on the virtual machine to the matching physical accelerator for processing which is equivalent to transferring the accelerated load on the virtual machine to the matching physical accelerator for processing, which can improve the sharing degree of the physical resources and reduce the virtual machine and the host.
  • the matching physical accelerator may be located at the local node or at the remote node.
  • the virtual accelerator receives the acceleration request from the service unit and sends the acceleration request to the local accelerator management unit; the local accelerator management unit sends the acceleration request to the corresponding matching physical accelerator for processing; the matching at the local node After the physical accelerator processes the acceleration request, the processing result is fed back to the virtual accelerator through the local accelerator management unit; the virtual accelerator sends the processing result to the business unit.
  • the matching physical accelerator When the matching physical accelerator is located at the remote node, the situation is relatively complicated due to the interaction between the local node and the remote node. The following details how to implement load transfer when the matching physical accelerator is not in the host.
  • FIG. 3 is a flowchart of a method for load transfer according to an embodiment of the present invention.
  • the matching physical accelerator is not at the local node, but on the remote node, the virtual accelerator sends the acceleration of the service unit on the virtual machine.
  • the method of requesting to transfer to the matching physical accelerator for processing, and returning the result of the matching physical accelerator processing to the business unit is specifically as shown in FIG. 3, including:
  • Step 301 The virtual accelerator sends a handshake request based on the handshake protocol to the remote accelerator management unit, and receives a handshake success response fed back by the remote accelerator management unit.
  • the handshake request based on the handshake protocol is used to establish a connection between the virtual accelerator and the remote accelerator management unit, and the specific implementation is the same as in the prior art, for example, may be based on a TCP handshake protocol. Handshake requests to establish a connection, which is not described here.
  • Step 302 The virtual accelerator sends an acceleration request to the remote accelerator management unit, so that the remote accelerator management unit sends the acceleration request to the corresponding matching physical accelerator for processing.
  • the virtual accelerator can communicate with the remote accelerator management unit, and the acceleration request sent by the virtual accelerator is encapsulated into an acceleration request message packet, in subsequent processing. It will also be unpacked. Encapsulation and decapsulation can be done by prior art and will not be described here.
  • the acceleration request may include a request based on the basic communication protocol and the first acceleration request communication protocol.
  • the basic communication protocol may be various protocols used in the prior art for communication, such as an Ethernet protocol, a TCP protocol, and the like.
  • the first acceleration request communication information includes: an acceleration request ID, an acceleration request type, an acceleration request buffer address and length, an acceleration response buffer address and length, and acceleration request data.
  • the acceleration request ID is used to identify different acceleration requests; the acceleration operation type may be a graphics acceleration request, or may encrypt and decrypt the acceleration request; the acceleration request buffer address and length, the acceleration response buffer address and the length are needed in processing the acceleration request.
  • the storage area to which the acceleration request is requested may be various data involved in the acceleration request. The above information is the same as or similar to that in the prior art, and is not described herein.
  • Step 303 The virtual accelerator receives the acceleration request response sent by the remote accelerator management unit, and the acceleration request response is a processing result returned to the remote accelerator management unit after the physical accelerator processes the acceleration request.
  • step 304 the virtual accelerator sends an acceleration request response to the service unit.
  • the acceleration request response may include a response based on the basic acceleration protocol and the second acceleration request communication protocol, and the request based on the second acceleration request communication protocol includes: an acceleration request ID, an acceleration operation result, an acceleration request buffer address and length, and an acceleration destination data cache. Area address and length, acceleration response data.
  • the information contained in the acceleration request response is the same as or similar to the first acceleration request communication information, and is not described herein.
  • the processed data can be obtained according to the acceleration request response, and the buffer used in the above processing is released.
  • the virtual accelerator is the first virtual accelerator or the second virtual accelerator, and needs to be consistent with the virtual accelerator created in step 204 of the foregoing embodiment, that is, if the first virtual accelerator is created, the first virtual accelerator is used.
  • the acceleration request sent by the service unit is transferred to the physical matching accelerator for processing. If the second virtual accelerator is created, the second virtual accelerator transfers the acceleration request sent by the service unit to the matching physical accelerator for processing.
  • the virtual accelerator transfers the acceleration request sent by the service unit on the virtual machine to the matching physical accelerator for processing, which is equivalent to transferring the accelerated load on the virtual machine to the matching physical accelerator for processing, which can improve the sharing of physical resources. Degree, while reducing the load pressure on the virtual machine and the host.
  • FIG. 4 is a schematic diagram of an application scenario according to an embodiment of the present invention.
  • a host 410 is required to have an accelerator virtualization requirement, and a centralized resource manager 420 and a virtual machine monitor 450 are run on the host 410.
  • the host 410 has a physical acceleration engine 411 and a local physical accelerator 412.
  • the physical acceleration engine 411 can manage the local physical accelerator 412 according to the command of the centralized resource manager 420, and transfer the acceleration request of the service unit on the host to the local physical accelerator 412. deal with.
  • the physical acceleration engine 411 represents a functional module, and this part of the function may also be completed by a centralized resource manager in practice (equivalent to adding a corresponding function to the centralized resource manager).
  • a functional module that is independent of the resource manager.
  • the centralized resource manager 420 selects a matching physical accelerator from the physical accelerator resource pool according to requirements.
  • the matching physical accelerator selected in this embodiment includes a local physical accelerator 412 and/or a remote physical accelerator 432 located on the remote node 430.
  • the remote node 430 includes a remote physical acceleration engine 434 and a remote physical accelerator 432.
  • the physical acceleration engine 434 can manage the remote physical accelerator 432 according to the commands of the centralized resource manager 420 and transfer the acceleration request of the business unit on the host 410 to the remote physical accelerator 432 for processing.
  • the remote physical acceleration engine 434 has the same function as the remote accelerator management unit in the above embodiment.
  • the centralized resource manager 420 creates a local virtual accelerator 413 on the host 410.
  • the local virtual accelerator 413 accesses the local physical accelerator 412 through the local physical acceleration engine 411.
  • the centralized resource manager 420 creates a virtual client 414 on the host 410, communicates with the remote communication module 433 at the remote node 430 via the local communication module 415, and communicates with the remote physical acceleration engine 434 via the remote communication module 433. .
  • the virtual client 414 is equivalent to a virtual accelerator.
  • the communication function of the local communication module 415 can be integrated on the virtual client 414, and the communication function of the remote communication module 433 can be integrated on the remote physical acceleration engine 434. After the communication function is integrated, the local communication module 415 and the remote communication module 433 can be omitted.
  • the created virtual machine 440 includes a local virtual acceleration engine 441, a local virtual accelerator 413, a virtual client 414, and a local communication module 415.
  • the acceleration request of the service unit on the host 410 may be transferred to the local physical accelerator 412 and/or the remote physical accelerator 431 for processing, which may improve the processing efficiency of the host 410 and reduce the load of the host 410. Improve the sharing of physical accelerators.
  • an embodiment of the present invention discloses an apparatus for virtualizing an accelerator.
  • the apparatus is applied to a host.
  • the apparatus includes a centralized resource manager 510 and a virtual machine monitor 520, and the centralized resource manager 510. include:
  • the receiving unit 511 is configured to receive a virtual machine resource configuration command, where the virtual machine resource configuration command includes the virtual accelerator information to be created.
  • the matching physical accelerator selecting unit 512 is configured to select a matching physical accelerator from the physical accelerator resource pool as a matching physical accelerator according to the virtual accelerator information to be created in the virtual machine resource configuration command received by the accepting unit 511;
  • a generating unit 513 configured to generate description information for describing a matching physical accelerator
  • the sending unit 514 is configured to send a first virtual machine creation command to the virtual machine monitor, where the first virtual machine creation command includes description information, so that after the virtual machine monitor receives the first virtual machine creation command, the virtual machine monitor includes the matching physical accelerator. a first virtual machine of the corresponding first virtual accelerator, wherein the first virtual accelerator is generated by the description information, or the sending unit is configured to send a second virtual machine creation command to the virtual machine monitor, where the second virtual machine creation command includes a description
  • the information acquisition identifier is such that the virtual machine monitor creates the second virtual machine after receiving the second virtual machine creation command, and causes the second virtual machine to generate the second virtual accelerator according to the description information.
  • the device for accelerator virtualization of the embodiment of the present invention can realize virtualization of the accelerator and is easy to implement.
  • the centralized resource manager 510 further includes:
  • a physical accelerator information acquiring unit configured to acquire information of a physical accelerator, where the physical accelerator includes at least a local physical accelerator or a remote physical accelerator;
  • a physical accelerator resource pool generating unit configured to generate a physical accelerator information file to generate a physical accelerator resource pool according to the information of the physical accelerator
  • the matching physical accelerator selection unit 512 is further configured to select the information of the matched physical accelerator from the physical accelerator information file according to the virtual accelerator information to be created, and use the physical accelerator corresponding to the information of the matched physical accelerator as the matching physical accelerator.
  • the matching physical accelerator selection unit 512 is further configured to select a matching matching physical accelerator from the physical accelerator resource pool according to the physical location; and/or
  • the matching physical accelerator selection unit 512 is further configured to select a matching matching physical accelerator from the physical accelerator resource pool according to the physical accelerator load.
  • the virtual machine monitor 520 is further configured to send the communication address and match the physical accelerator identifier to the node where the matching physical accelerator is located.
  • the remote accelerator management unit is configured to cause the virtual machine monitor 520 to communicate with the remote accelerator management unit through the communication address, and to cause the remote accelerator management unit to communicate with the corresponding matching physical accelerator by matching the physical accelerator identifier.
  • the virtual accelerator is configured to transfer the acceleration request sent by the service unit on the virtual machine to the matching physical accelerator for processing, and the matching physical accelerator is matched.
  • the processed result is returned to the business unit, where the virtual accelerator is the first virtual accelerator or The second virtual accelerator.
  • the matching physical accelerator is not on the host, and the virtual accelerator is further configured to send a handshake protocol-based handshake request to the remote accelerator management unit and receive a handshake success response fed back by the remote accelerator management unit;
  • the virtual accelerator is further configured to send an acceleration request to the remote accelerator management unit, so that the remote accelerator management unit sends the acceleration request to the corresponding matching physical accelerator for processing;
  • the virtual accelerator is further configured to receive an acceleration request response sent by the remote accelerator management unit, where the acceleration request response is a processing result returned to the remote accelerator management unit after the physical accelerator processes the acceleration request;
  • the virtual accelerator is also used to send an acceleration request response to the business unit
  • the virtual accelerator is a first virtual accelerator or a second virtual accelerator.
  • the device for the accelerator virtualization of the embodiment of the invention can realize the virtualization of the accelerator, improve the sharing degree of resources, and is easy to implement.
  • FIG. 6 is a schematic structural diagram of a host according to an embodiment of the present invention, including:
  • the disclosed method is configured to read the code stored in the memory for running the virtual machine monitor and the centralized resource manager, wherein the virtual machine monitor and the centralized resource manager are used in the foregoing embodiments.
  • the technology in the embodiments of the present invention can be implemented by means of software plus necessary general hardware including general-purpose integrated circuits, general-purpose CPUs, general-purpose memories, general-purpose components, and the like. It can be implemented by dedicated hardware including an application specific integrated circuit, a dedicated CPU, a dedicated memory, a dedicated component, etc., but in many cases the former is a better implementation. Based on such understanding, the technical solution in the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product, which may be stored in a storage medium such as a read-only memory.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • CD Compact Disc

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例中公开了一种加速器虚拟化的方法、装置以及集中资源管理器,方法包括:集中资源管理器根据虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器;集中资源管理器向虚拟机监控器发送第一虚拟机创建命令,使得虚拟机监控器创建包含有匹配物理加速器对应的第一虚拟加速器的第一虚拟机,或者,集中资源管理器向虚拟机监控器发送第二虚拟机创建命令,第二虚拟机创建命令包括描述信息获取标识,使得虚拟机监控器收到第二虚拟机创建命令后创建第二虚拟机,并使得第二虚拟机根据描述信息获取标识获取描述信息后生成第二虚拟加速器。本发明能实现加速器的虚拟化。

Description

加速器虚拟化的方法、装置及集中资源管理器
本申请要求于2015年9月25日提交中国专利局、申请号为201510621728.0、发明名称为“加速器虚拟化的方法、装置及集中资源管理器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及互联网领域,特别涉及一种加速器虚拟化的方法、装置及集中资源管理器。
背景技术
虚拟化技术可以实现互联网资源的动态分配、灵活调度和跨域共享,可以提高IT资源利用率,因此成为互联网发展的新趋势。
加速器是互联网资源的一种,是将CPU完成的部分功能转移至加速器自身处理,以降低CPU负载的功能单元,目前广泛使用的加速器包括图形加速器、加解密加速器、视频编解码加速器、压缩加速器等。但目前单一的加速器已经越来越难以满足CPU的负载转移的需求,为了提高加速器的性能,迫切需要将加速器和互联网资源虚拟化技术相结合。VirtIO的方案中,虚拟机监控器为每个虚拟加速资源创建一对收发队列,该收发队列基于共享内存实现。虚拟加速资源通过收发队列实现对物理加速资源的访问,虚拟机监控器调度每个虚拟加速资源的收发队列,并且转换成对物理加速资源的访问。
现有技术中,将互联网资源虚拟化通常有两种方法,第一种是VirtIO方案,另一种是SRIOV(Single-Root IO Virtuliaztion,单根IO虚拟化)方案。在VirtIO方案中,虚拟机监控器(Virtual Machine Monitor,也称虚拟机管理器Virtual Machine Manager,或者管理程序hypervisor)为每个虚拟资源创建一对收发队列,虚拟资源通过收发队列和虚拟机监控器的调度实现对物理资源的访问。SRIOV方案是基于PCIe总线的IO虚拟化技术,物理资源通过PCIe总线与CPU互联。在SRIOV方案中,用软件将收发队列集成到硬件中,允许在虚拟机中直接访问硬件,从而提高性能。
通过虚拟化技术,可以将物理资源虚拟成多个虚拟资源,多个虚拟资源组合起来构成虚拟机,在虚拟机上,可以部署业务处理单元完成不同的业务功能。一个典型的 虚拟化***如图1所示,包括集中资源管理器101,虚拟机监控器102,虚拟机103、104。其中,集中资源管理器和虚拟机监控器可以是基于物理CUP的软件实现,在软件层面,可以是操作***的一部分功能模块,也可以是相对独立的一部分功能软件,具体形式并不限定。集中资源管理器101用于完成对各种物理资源107的管理,具体的产品代表如开源软件openstack,VMware公司的vCenter以及Huawei的FusionSphere等;虚拟机监控器102用于实现虚拟资源的管理。如图1所示,虚拟机103上部署有业务处理单元105,虚拟机104上部署有业务处理单元106。业务处理单元105和106上分别运行有工作负载。每个业务处理单元上运行的业务负载可以有多个。虚拟机上的虚拟资源按照属性区分可以分为虚拟计算资源、虚拟存储资源、虚拟网卡资源等,同样物理资源也可以分为物理计算资源、物理存储资源、物理网卡资源。虚拟机通过虚拟资源访问对应的物理资源,将工作负载转移至对应的物理资源。
但现有的虚拟化技术无法实现加速器的虚拟化,因此也无法创建含有虚拟加速器的虚拟机,从而无法在虚拟机中使用加速器。
发明内容
本发明实施例中提供了一种加速虚拟化的方法、装置及集中资源管理器,能解决现有技术中无法实现加速器虚拟化的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
一方面,提供了一种加速器虚拟化的方法,应用于主机,所述主机上运行有集中资源管理器和虚拟机监控器,所述方法包括:
所述集中资源管理器接收虚拟机资源配置命令,所述虚拟机资源配置命令中包含待创建虚拟加速器信息;
所述集中资源管理器根据所述虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器;
所述集中资源管理器生成用于描述匹配物理加速器的描述信息;
所述集中资源管理器向虚拟机监控器发送第一虚拟机创建命令,所述第一虚拟机创建命令包括所述描述信息,使得所述虚拟机监控器收到所述第一虚拟机创建命令后,创建包含有所述匹配物理加速器对应的第一虚拟加速器的第一虚拟机,其中,所述第一虚拟加速器通过所述描述信息生成,或者,所述集中资源管理器向所述虚拟机 监控器发送第二虚拟机创建命令,所述第二虚拟机创建命令包括描述信息获取标识,使得所述虚拟机监控器收到所述第二虚拟机创建命令后创建第二虚拟机,并使得所述第二虚拟机根据所述描述信息获取标识获取所述描述信息后生成第二虚拟加速器。
结合第一方面,在第一方面的第一种可能实现方式中,所述在集中资源管理器接收虚拟机资源配置命令之前,所述方法还包括:
所述集中资源管理器获取物理加速器的信息,所述物理加速器至少包括本地物理加速器或远端物理加速器;
所述集中资源管理器根据所述物理加速器的信息,生成物理加速器信息文件以生成物理加速器资源池;
所述集中资源管理器根据所述虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器,包括:
所述集中资源管理器根据所述待创建虚拟加速器信息,从所述物理加速器信息文件中选择相匹配的物理加速器的信息,将相匹配的物理加速器的信息对应的物理加速器作为匹配物理加速器。
结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述集中资源管理器从所述物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器,包括:
所述集中资源管理器根据所述物理位置从所述物理加速器资源池中选择相匹配的匹配物理加速器;和/或
所述集中资源管理器根据物理加速器负荷从所述物理加速器资源池中选择相匹配的匹配物理加速器。
结合第一方面至第一方面的第二种可能实现方式中的任一种实现方式,在第一方面的第三种可能实现方式中,所述匹配物理加速器不在所述主机上,所述虚拟机监控器创建所述第一虚拟机或第二虚拟机之后,所述方法还包括:
所述虚拟机监控器发送通讯地址和匹配物理加速器标识至所述匹配物理加速器所在节点上的远端加速器管理单元,以使所述虚拟机监控器通过所述通讯地址与所述远端加速器管理单元进行通讯,且使所述远端加速器管理单元通过所述匹配物理加速器标识与对应的匹配物理加速器通讯。
结合第一方面至第一方面的第三种可能实现方式中的任一种实现方式,在第一方面的第四种可能实现方式中,所述在集中资源管理器创建第一虚拟机或第二虚拟机之后,所述方法还包括:
所述虚拟加速器将所述虚拟机上的业务单元发送的加速请求转移至所述匹配物理加速器进行处理,并将所述匹配物理加速器处理后的结果返回至所述业务单元,其中,所述虚拟加速器为第一虚拟加速器或第二虚拟加速器。
结合第一方面第四种可能实现方式,在第一方面的第五种可能实现方式中,所述匹配物理加速器不在主机上,则所述第一虚拟加速器将所述虚拟机上的业务单元发送的加速请求转移至所述匹配物理加速器进行处理,并将所述匹配物理加速器处理后的结果返回至所述业务单元,包括:
所述虚拟加速器向所述远端加速器管理单元发送基于握手协议的握手请求,并接收所述加速器管理单元反馈的握手成功响应;
所述虚拟加速器发送所述加速请求至所述远端加速器管理单元,以使所述远端加速器管理单元将所述加速请求发送至对应的匹配物理加速器进行处理;
所述虚拟加速器接收所述远端加速器管理单元发送的加速请求响应,所述加速请求响应是所述匹配物理加速器处理所述加速请求后向所述远端加速器管理单元返回的处理结果;
所述虚拟加速器将所述加速请求响应发送至所述业务单元;
其中,所述虚拟加速器为第一虚拟加速器或第二虚拟加速器。
第二方面,提供了一种加速器虚拟化的装置,应用于主机,所述装置包括集中资源管理器和虚拟机监控器,所述集中资源管理器包括:
接收单元,用于接收虚拟机资源配置命令,所述虚拟机资源配置命令中包含待创建虚拟加速器信息;
匹配物理加速器选择单元,用于根据所述接受单元接收的虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器;
生成单元,用于生成用于描述匹配物理加速器的描述信息;
发送单元,用于向虚拟机监控器发送第一虚拟机创建命令,所述第一虚拟机创建 命令包括所述描述信息,使得所述虚拟机监控器收到所述第一虚拟机创建命令后,创建包含有所述匹配物理加速器对应的第一虚拟加速器的第一虚拟机,其中,所述第一虚拟加速器通过所述描述信息生成,或者,所述发送单元用于向所述虚拟机监控器发送第二虚拟机创建命令,所述第二虚拟机创建命令包括描述信息获取标识,使得所述虚拟机监控器收到所述第二虚拟机创建命令后创建第二虚拟机,并使得所述第二虚拟机根据所述描述信息获取标识获取所述描述信息后生成第二虚拟加速器。
结合第二方面,在第二方面的第一种可能实现方式中,所述集中资源管理器还包括:
物理加速器信息获取单元,用于获取物理加速器的信息,所述物理加速器至少包括本地物理加速器或远端物理加速器;
物理加速器资源池生成单元,用于根据所述物理加速器的信息,生成物理加速器信息文件以生成物理加速器资源池;
所述匹配物理加速器选择单元还用于根据所述待创建虚拟加速器信息,从所述物理加速器信息文件中选择相匹配的物理加速器的信息,将相匹配的物理加速器的信息对应的物理加速器作为匹配物理加速器。
结合第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式中,所述匹配物理加速器选择单元还用于根据所述物理位置从所述物理加速器资源池中选择相匹配的匹配物理加速器;和/或
所述匹配物理加速器选择单元还用于根据物理加速器负荷从所述物理加速器资源池中选择相匹配的匹配物理加速器。
结合第二方面至第二方面的第二种可能实现方式中的任一种实现方式,在第二方面的第三种可能实现方式中,所述匹配物理加速器不在所述主机上,所述虚拟机监控器创建所述第一虚拟机或第二虚拟机之后,所述虚拟机监控器还用于发送通讯地址和匹配物理加速器标识至所述匹配物理加速器所在节点上的远端加速器管理单元,以使所述虚拟机监控器通过所述通讯地址与所述远端加速器管理单元进行通讯,且使所述远端加速器管理单元通过所述匹配物理加速器标识与对应的匹配物理加速器通讯。
结合第二方面至第二方面的第三种可能实现方式中的任一种实现方式,在第二方面的第四种可能实现方式中,在集中资源管理器创建第一虚拟机或第二虚拟机之后,所述虚拟加速器用于将所述虚拟机上的业务单元发送的加速请求转移至所述匹配物 理加速器进行处理,并将所述匹配物理加速器处理后的结果返回至所述业务单元,其中,所述虚拟加速器为第一虚拟加速器或第二虚拟加速器。
结合第二方面的第四种可能实现方式,在第二方面的第五种可能实现方式中,所述匹配物理加速器不在主机上,则所述第一虚拟加速器还用于向所述远端加速器管理单元发送基于握手协议的握手请求,并接收所述远端加速器管理单元反馈的握手成功响应;
所述第一虚拟加速器还用于发送所述加速请求至所述远端加速器管理单元,以使所述远端加速器管理单元将所述加速请求发送至对应的匹配物理加速器进行处理;
所述虚拟加速器还用于接收所述远端加速器管理单元发送的加速请求响应,所述加速请求响应是所述匹配物理加速器处理所述加速请求后向所述远端加速器管理单元返回的处理结果;
所述虚拟加速器还用于将所述加速请求响应发送至所述业务单元;其中,所述虚拟加速器为第一虚拟加速器或第二虚拟加速器。
第三方面,提供了一种用于完成加速器虚拟化的主机,所述主机包括处理器,存储器,处理器用于读取存储在存储器中的代码用于运行虚拟机监控器及集中资源管理器,其中,虚拟机监控器以及集中资源管理器用于执行第一方面及第一方面各种实现方式中所揭示的方法。:
本发明的实施例中公开了一种加速器虚拟化的方法,通过集中资源管理器、虚拟机监控器的交互,本发明实施例可以实现对物理加速器的虚拟化,从而为后续更方便地使用这些物理加速器打下基础;同时,由于本发明实施例中实现加速器虚拟化基于集中资源管理器和虚拟机监控器来实现,对软件改动少,易于实现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为现有技术中的虚拟化***的示意图;
图2所示为本发明实施例一所示的一种加速器虚拟化的方法的流程图;
图3所示为本发明实施例三所示的负载转移的方法的流程图;
图4所示为本发明实施例四所示的应用场景的示意图;
图5所示为本发明实施例五所示的加速器虚拟化的装置的结构示意图;
图6所示为本发明实施例六所示的一种主机的结构示意图;
图7所示为本发明实施例一所示的***架构示意图。
具体实施方式
实施例一
本发明如下实施例提供了一种加速器虚拟化的方法、装置和集中资源管理器,能实现加速器的虚拟化,提高资源的共享度。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图7所示为本发明实施例的***架构示意图,如图7所示,主机700所在的节点上包括软件层701和硬件层702,软件层701包括集中资源管理器7011和虚拟机监控器7012,硬件层可以包括处理器7021以及存储器7022等。
此外,本发明实施例的***中,还包括物理加速器资源池703,物理加速器资源池703中包括多个物理加速器,例如图7中所示的物理加速器1、物理加速器2……物理加速器N。
基于图7所示的***架构,本发明实施例能实现加速器的虚拟化。图2所示为本发明实施例的加速器虚拟化的方法的流程图,如图2所示,所述方法应用于主机,主机上运行有集中资源管理器和虚拟机监控器,所述方法包括:
步骤201,集中资源管理器接收虚拟机资源配置命令,虚拟机资源配置命令中包含待创建虚拟加速器信息。
虚拟机资源配置命令可以来自操作维护软件,例如可以是一个相对独立的软件,例如MANO;或者也可以是一个大的软件里面的一个软件模块,当操作维护软件得知应用软件对虚拟加速器有需求时,会发送虚拟机资源配置命令至集中资源管理器。 上述技术均为现有技术,在此不再赘述。
虚拟机资源配置命令用于配置虚拟机资源,本发明中的资源包括待创建虚拟机所需的虚拟CPU信息、虚拟存储资源信息、虚拟网络资源信息,上述信息以及如何配置方法均为现有技术,例如,基于开源软件openstack实现时,这个配置命令可以通过一个xml文件的方式来实现,通过这个xml文件来配置虚拟机资源。如果使用其他的软件平台,也可以使用其他软件平台中定义的相应的命令来实现,这里不再赘述。
本实施例中,除上述信息外,虚拟机资源配置命令还包括待创建虚拟加速器信息,具体的,可以通过对上述资源配置命令进行扩展得到,例如,基于openstack时,可以对xml文件进行扩展来包含待创建虚拟加速器信息。
待创建虚拟加速器信息用于指示请求方对需要创建的虚拟加速器的要求,例如,该信息可以包括:待创建的虚拟加速器的类型(例如,加密、解密、压缩等)、加速能力(例如,能达到处理多少流量的水平、时延控制到多少等能力),通讯协议以及通信地址等信息,其中,通讯协议以及通信地址是可选项,如果物理加速器位于远端节点,则需要通讯协议和通讯地址,如果物理加速器位于本地节点,该信息可以省略。
本发明实施例中的“节点”通常是按照物理位置来划分的,可以根据***结构、距离、需求等进行设置,一个机房可以是一个节点,一个机柜也可以是一个节点,一个槽位、一个单板都可以是一个节点。每个节点可以包括主机,或者还可以包括物理加速器。其中,主机主要用于完成一些通用的业务处理,而物理加速器则是对一些特定的业务进行加速。在通信时,至少会涉及到两个节点,为了说明方便,可以将这两个节点中的其中一个称为“本地节点”,另一个称为“远端节点”,例如,可以将其中一个机柜C1称为本地节点,将另一个机柜C2称为远端节点;也可以将其中一个机房H1称为本地节点,将另一个机房H2称为远端节点。需要说明的是,上述节点、主机以及加速器等概念及其具体实现(例如,基于一个通用的处理器来实现主机,以及基于专用的硬件器件来实现物理加速器)为本领域技术人员所公知的概念,本实施例不再赘述。由于主机一般都基于CPU来实现,为了说明方便,下文中提到的CPU所完成的功能可以认为是主机所完成的功能。
步骤202,集中资源管理器根据虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器。
例如,如果待创建虚拟加速信息中要求的虚拟加速器的类型是加密,加速能力要求达到1Gbps,则从物理加速器资源池中选择加速器类型为加密,且加速能力要求能 够达到1Gbps(即大于等于1Gbps)的物理加速器作为匹配物理加速器。
本实施例中,物理加速器资源池是指由多个物理加速器组成的资源池,这些物理加速器的实现形式不限,例如,可以是基于PCIe总线的加速器,这些加速器通过PCIe接口与CPU相连;或者,也可以是CPU内部集成的加速器;或者,也可以是基于网络的加速器。这些物理加速器的具体实现形式及方法(例如,使用FPGA、ASIC等芯片来实现)是本领域技术人员所公知的,这里不再赘述。
步骤203,集中资源管理器生成用于描述匹配物理加速器的描述信息。
描述信息用于描述匹配物理加速器,用于后续生成虚拟加速器时使用,其中,虚拟加速器这个概念与现有的很多虚拟设备(如虚拟网卡、虚拟端口)的概念类似,即指与物理加速器对应的一个通过软件虚拟的加速器(即一个软件模块),这个用软件模拟出的“加速器”可以通过一些接口向其他应用程序传递一些参数,使得其他应用程序收到这些参数后以为真实地存在一个“加速器”,并与这个“加速器”进行通信。可选地,为了更直观方便地对虚拟加速器进行使用,还可以在用户界面呈现出“虚拟加速器”,用户可以通过图形界面对“虚拟加速器”进行操作。当应用程序需要对某个业务进行加速时,则可以将加速请求发送给“虚拟加速器”,后续再由虚拟加速器将加速请求转发给匹配的物理加速器来处理。
为了生成对应于匹配物理加速器的“虚拟加速器”这个软件模块,需要用到描述信息,即通过描述信息知道生成一个什么样的“虚拟加速器”。描述信息包括但不仅限于以下信息:前文提到的加速器类型,加速能力等信息;用于指示加速器位置的一些位置信息,例如,加速器作为一个PCIe卡基于PCIe总线与CPU连接时,该信息可以是PCIe卡的BDF号(总线号、设备号、功能号),或者,通过网络连接时,可以包括IP地址、端口号等信息;还可以包括各种根据实际需求所需的属性信息;如何根据这些描述信息生成“虚拟加速器”为本领域技术人员所公知的技术,这里不再赘述。
为了管理方便,可将这些描述信息写到一个文件中进行保存,当然,本发明的实施例也不限定其他的方式进行保存。
步骤204,集中资源管理器向虚拟机监控器发送第一虚拟机创建命令,第一虚拟机创建命令包括描述信息,使得虚拟机监控器收到第一虚拟机创建命令后,创建包含有匹配物理加速器对应的第一虚拟加速器的第一虚拟机,其中,第一虚拟加速器通过描述信息生成。
或者,步骤204可以是,集中资源管理器向虚拟机监控器发送第二虚拟机创建命令,第二虚拟机创建命令包括描述信息获取标识,使得虚拟机监控器收到第二虚拟机创建命令后创建第二虚拟机,并使得第二虚拟机根据描述信息获取标识获取描述信息后生成第二虚拟加速器。步骤204的第二种实施方式在图2中用虚线框示出,相应的标号也用虚线框示出。
本步骤中,虚拟机创建命令是指现有技术中用于创建虚拟机的命令,例如,基于Linux***时,可以使用下面所示的命令:
./x86_64-softmmu/qemu-system-x86_64-hda/home/image/VM_KVM_MSG0.img-cpu host-m 2048-smp 4-net nic,model=virtio-net tap,script=/etc/qemu-ifup-nographic-vnc:22
本实施例中,第一虚拟机创建命令以及第二虚拟机创建命令都为基于虚拟机创建命令的命令。为了使得虚拟机监控器可以根据描述信息创建包含有虚拟加速器的第一虚拟机,本实施例中,第一虚拟机创建命令在原有的虚拟机创建命令的基础上进行一些小的修改,增加能够指示创建虚拟加速器的字段,例如,修改后的命令可以如下所示:
./x86_64-softmmu/qemu-system-x86_64-hda/home/image/VM_KVM_MSG0.img-cpu host-m 2048-smp 4-net nic,model=virtio-net tap,script=/etc/qemu-ifup-nographic-vnc:22-device ivshmem,shm="sa_vf1",size=1m
上述命令中,有下划线标识的部分为新增的参数,表示通过读取"sa_vf1"这个文件(该文件保存了要生成的虚拟加速器的描述信息)来生成虚拟加速器,当然,这种实现方法只是一种示例,本领域技术人员也可以通过不使用文件而直接传递描述信息的方式来让虚拟机监控器获取描述信息,并根据该描述信息生成包含有该描述信息对应的虚拟加速器的第一虚拟机。
第二虚拟机创建命令对现有的虚拟机创建命令的修改是增加一个描述信息获取标识,该标识并不指示虚拟机监控器在生成虚拟机时就生成虚拟加速器,而是指示虚拟机监控器在生成第二虚拟机后,让第二虚拟机根据获取描述信息并生成虚拟加速器。第二虚拟机通过该标识知道还需要生成虚拟加速器,然后可以去一个默认的位置(或者也可以通过与集中资源管理器交互后获取该位置)获取描述信息。例如,从某个磁盘路径下获取保存了描述信息的文件。
本发明的实施例中,在步骤201之前,在集中资源管理器接收虚拟机资源配置命令之前,方法还可以包括:
集中资源管理器获取物理加速器的信息,物理加速器至少包括本地物理加速器或远端物理加速器;
集中资源管理器根据物理加速器的信息,生成物理加速器信息文件以生成物理加速器资源池;
集中资源管理器根据虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器,包括:
集中资源管理器根据待创建虚拟加速器信息,从物理加速器信息文件中选择相匹配的物理加速器的信息,将相匹配的物理加速器的信息对应的物理加速器作为匹配物理加速器。
物理加速器的信息包括但不限于以下信息:物理资源名称、物理资源所在节点地址、功能、属性、能力、空闲状态。各节点会收集本节点的物理加速器信息上报至集中资源管理器。在物理加速器变化时,各节点也可以主动上报集中资源管理器,集中资源管理器更新物理加速器资源池。
本实施例通过集中资源管理器来获取物理加速器信息,能够对物理加速器进行统一的管理、调度。
本发明实施例中,物理加速器资源池实际上相当于一个数据库,其内部数据可以是一个或多个物理加速器信息文件。物理加速器资源池的存储方式可以采用任一数据库的存储方式,一个实施例的物理加速器资源池的管理结构可以如表1所示:
表1
Figure PCTCN2016084022-appb-000001
表1所示的物理加速器资源池以列表的形式来示意,表1中仅示例性的列出了一行。列表的每一行可以对应于一个物理加速器信息文件,每个物理加速器信息文件对 应于一个物理加速器;或者,整个列表对应于与一个物理加速器信息文件,列表中的每一行对应于一个物理加速器。
本发明实施例采用物理加速器资源池来管理***中的物理加速器,便于对物理加速器进行统一管理,也可以提高匹配物理资源的选择效率。
在选择匹配物理加速器时,还可以通过以下方法来实现:
集中资源管理器根据物理位置从物理加速器资源池中选择相匹配的匹配物理加速器;和/或
集中资源管理器根据物理加速器负荷从物理加速器资源池中选择相匹配的匹配物理加速器。
物理加速器根据物理位置可以分为本地物理加速器和远端物理加速器。本地物理加速器位于本地节点,即本地物理加速器位于主机所在的节点;远端物理加速器位于位于非主机的节点,即远端物理加速器位于远端节点。
通常情况下,集中资源管理器与本地物理加速器的通讯时延较短,负荷较低的物理加速器的响应速度较快,因此可以优先选择本地物理加速器,或优先选择负荷较低的物理加速器,还可以综合物理位置以及负荷来选择。
本发明实施例的加速器虚拟化的方法,本发明实施例的方法可以实现加速器的虚拟化,同时,由于本发明实施例中实现加速器虚拟化基于集中资源管理器和虚拟机监控器来实现,对软件改动少,易于实现。
实施例二
基于实施例一,本实施例公开了一种加速器虚拟化方法。在实施例一中,并不限定匹配物理加速器的位置,例如,匹配物理加速器可以位于本地节点,或可以位于远端节点。当匹配物理加速器位于本地节点时,可以采用实施例一种公开的加速器虚拟化的方法。本实施例中,重点针对匹配物理加速器在远端节点上的情况进行描述,具体的,在这种情况下,虚拟机监控器创建第一虚拟机或第二虚拟机之后,方法还包括:
虚拟机监控器发送通讯地址和匹配物理加速器标识至匹配物理加速器所在节点上的远端加速器管理单元,以使虚拟机监控器通过通讯地址与远端加速器管理单元进行通讯,且使远端加速器管理单元通过匹配物理加速器标识与对应的匹配物理加速器 通讯。其中,远端加速器管理单元可以指位于远端节点的,在集中资源管理器的控制下,可以对远端节点上的物理加速器进行管理的功能单元,可以是单独的软件模块,或可以是远端节点操作***中的一个软件子模块。物理加速器管理单元例如物理加速引擎。
在很多应用场景中,对于操作***来说,本地的加速器资源非常有限,因此,加速器虚拟化对非本地的远端加速器资源有较高的需求。本发明实施例中,如果匹配物理加速器不在主机上,也可以与匹配物理加速器进行通讯,即本发明实施例在物理加速器位于远端时仍能实现加速器的虚拟化,提高了资源的共享度。
实施例三
基于上述各实施例,本发明实施例公开了一种加速器虚拟化方法,用于对基于上述方法如何进行业务处理进行描述。具体的,本实施例提供的方法在集中资源管理器创建第一虚拟机或第二虚拟机之后,还包括:
虚拟加速器将虚拟机上的业务单元发送的加速请求转移至匹配物理加速器进行处理,并将匹配物理加速器处理后的结果返回至业务单元。
本实施例中的虚拟加速器为第一虚拟加速器,或可以是第二虚拟加速器,需要与上述实施例步骤204中创建的虚拟加速器保持一致,即,若创建的是第一虚拟加速器,则由第一虚拟加速器将业务单元发送的加速请求转移至物理匹配加速器进行处理,若创建的是第二虚拟加速器,则由第二虚拟加速器将业务单元发送的加速请求转移至匹配物理加速器进行处理。
将虚拟机上的业务单元发送的加速请求转移至匹配物理加速器进行处理,相当于将虚拟机上的加速负载转移至匹配物理加速器进行处理,可以提高物理资源的共享度,同时减轻虚拟机以及主机上的负载压力。
通过前面实施例所述,匹配物理加速器可以位于本地节点,也可以位于远端节点。当匹配物理加速器位于本地节点时,虚拟加速器从业务单元接收加速请求,并发送加速请求至本地加速器管理单元;本地加速器管理单元将加速请求发送至对应的匹配物理加速器进行处理;位于本地节点的匹配物理加速器处理完加速请求后,将处理结果通过本地加速器管理单元反馈至虚拟加速器;虚拟加速器将处理结果发送给业务单元。
当匹配物理加速器位于远端节点时,由于涉及本地节点与远端节点的交互,情况相对复杂一些,下面详细说明匹配物理加速器不在主机时,如何实现负载转移。
图3所示为本发明实施例的负载转移的方法的流程图,该实施例中,匹配物理加速器不在本地节点,而是在远端节点上,虚拟加速器将虚拟机上的业务单元发送的加速请求转移至匹配物理加速器进行处理,并将匹配物理加速器处理后的结果返回至业务单元的方法具体如图3所示,包括:
步骤301,虚拟加速器向远端加速器管理单元发送基于握手协议的握手请求,并接收远端加速器管理单元反馈的握手成功响应。
本实施例中,发送、接收基于握手协议的握手请求用于建立虚拟加速器和远端加速器管理单元之间的连接,其具体实施方式与现有技术中相同,例如,可以是基于TCP握手协议的握手请求以建立连接,此不在赘述。
步骤302,虚拟加速器发送加速请求至远端加速器管理单元,以使远端加速器管理单元将加速请求发送至对应的匹配物理加速器进行处理。
实际应用中,在虚拟加速器和远端加速器管理单元之间连接建立之后,虚拟加速器可以与远端加速器管理单元进行通讯,虚拟加速器发送的加速请求会被封装为加速请求消息包,在后续处理时也会解封装。封装和解封装可以采用现有技术,此处不再赘述。
加速请求中可以包括基于基础通讯协议和第一加速请求通讯协议的请求。基础通讯协议可以是现有技术中用于通讯的各种协议,例如以太网协议、TCP协议等。
第一加速请求通讯信息包括:加速请求ID、加速请求类型、加速请求缓存区地址和长度、加速响应缓存区地址和长度以及加速请求数据等。
加速请求ID用来标识不同的加速请求;加速操作类型可以是图形加速请求,或者可以加解密加速请求;加速请求缓存区地址和长度、加速响应缓存区地址和长度是在处理加速请求中需要用到的存储区;加速请求数据可以是加速请求中涉及到的各种数据。上述信息与现有技术中相同或相似,在此不在赘述。
步骤303,虚拟加速器接收远端加速器管理单元发送的加速请求响应,加速请求响应是匹配物理加速器处理加速请求后向远端加速器管理单元返回的处理结果。
步骤304,虚拟加速器将加速请求响应发送至业务单元。
加速请求响应可以包括基于基础通讯协议和第二加速请求通讯协议的响应,基于第二加速请求通讯协议的请求包括:加速请求ID、加速操作结果、加速请求缓存区地址和长度、加速目的数据缓存区地址和长度、加速响应数据。
加速请求响应中包含的信息与第一加速请求通讯信息相同或相似,在此不在赘述。
虚拟加速器获得加速请求响应后,可以根据加速请求响应获得处理后的数据,并释放上述处理过程中使用的缓存区。
本实施例中,虚拟加速器为第一虚拟加速器或第二虚拟加速器,需要与上述实施例步骤204中创建的虚拟加速器保持一致,即,若创建的是第一虚拟加速器,则由第一虚拟加速器将业务单元发送的加速请求转移至物理匹配加速器进行处理,若创建的是第二虚拟加速器,则由第二虚拟加速器将业务单元发送的加速请求转移至匹配物理加速器进行处理。
本发明实施例中,虚拟加速器将虚拟机上的业务单元发送的加速请求转移至匹配物理加速器进行处理,相当于将虚拟机上的加速负载转移至匹配物理加速器进行处理,可以提高物理资源的共享度,同时减轻虚拟机以及主机上的负载压力。
实施例四
基于上述各实施例,本实施例提供了一种应用场景。图4所示为本发明实施例的应用场景的示意图,如图4所示,有加速器虚拟化需求的为主机410,主机410上运行有集中资源管理器420和虚拟机监控器450。主机410上有物理加速引擎411以及本地物理加速器412,物理加速引擎411可以根据集中资源管理器420的命令对本地物理加速器412进行管理,将主机上业务单元的加速请求转移至本地物理加速器412进行处理。需要说明的是,物理加速引擎411表示一个功能模块,这部分功能在实际中也可以由集中资源管理器来完成(相当于为集中资源管理器增加相应的功能),本实施例中,为与集中资源管理器相独立的一个功能模块。
集中资源管理器420根据需求,从物理加速器资源池中选择匹配物理加速器,本实施例中选择出的匹配物理加速器包括本地物理加速器412和/或位于远端节点430上的远端物理加速器432。
远端节点430上包括远端物理加速引擎434、远端物理加速器432。其中,远端 物理加速引擎434可以根据集中资源管理器420的命令管理远端物理加速器432,并将主机410上业务单元的加速请求转移至远端物理加速器432进行处理。
本发明实施例中,远端物理加速引擎434与上述实施例中的远端加速器管理单元功能相同。
集中资源管理器420在主机410上创建本地虚拟加速器413。本地虚拟加速器413通过本地物理加速引擎411对本地物理加速器412进行访问。
集中资源管理器420在主机410上创建虚拟客户端414,通过本地通讯模块415与位于远端节点430的远端通讯模块433进行通讯,并通过远端通讯模块433与远端物理加速引擎434通讯。
本实施例中,虚拟客户端414相当于虚拟加速器。
本地通讯模块415的通讯功能可以集成在虚拟客户端414上,远端通讯模块433的通讯功能可以集成在远端物理加速引擎434上,在通讯功能集成之后,本地通讯模块415以及远端通讯模块433可以省略。
本实施例中,创建的虚拟机440包括本地虚拟加速引擎441,本地虚拟加速器413,虚拟客户端414,本地通讯模块415。
本发明实施例的应用场景中,可以将主机410上业务单元的加速请求转移至本地物理加速器412,和/或远端物理加速器431进行处理,可以提高主机410的处理效率,降低主机410的负载,提高物理加速器的共享度。
实施例五
基于上述各实施例,本发明实施例公开了一种加速器虚拟化的装置,装置应用于主机,如图5所示,装置包括集中资源管理器510和虚拟机监控器520,集中资源管理器510包括:
接收单元511,用于接收虚拟机资源配置命令,虚拟机资源配置命令中包含待创建虚拟加速器信息;
匹配物理加速器选择单元512,用于根据接受单元511接收的虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器;
生成单元513,用于生成用于描述匹配物理加速器的描述信息;
发送单元514,用于向虚拟机监控器发送第一虚拟机创建命令,第一虚拟机创建命令包括描述信息,使得虚拟机监控器收到第一虚拟机创建命令后,创建包含有匹配物理加速器对应的第一虚拟加速器的第一虚拟机,其中,第一虚拟加速器通过描述信息生成,或者,发送单元用于向虚拟机监控器发送第二虚拟机创建命令,第二虚拟机创建命令包括描述信息获取标识,使得虚拟机监控器收到第二虚拟机创建命令后创建第二虚拟机,并使得第二虚拟机根据描述信息获取标识获取描述信息后生成第二虚拟加速器。
本发明实施例的加速器虚拟化的装置,能实现加速器的虚拟化,且易于实现。
本发明实施例中,集中资源管理器510还包括:
物理加速器信息获取单元,用于获取物理加速器的信息,物理加速器至少包括本地物理加速器或远端物理加速器;
物理加速器资源池生成单元,用于根据物理加速器的信息,生成物理加速器信息文件以生成物理加速器资源池;
匹配物理加速器选择单元512还用于根据待创建虚拟加速器信息,从物理加速器信息文件中选择相匹配的物理加速器的信息,将相匹配的物理加速器的信息对应的物理加速器作为匹配物理加速器。
可选的,匹配物理加速器选择单元512还用于根据物理位置从物理加速器资源池中选择相匹配的匹配物理加速器;和/或
匹配物理加速器选择单元512还用于根据物理加速器负荷从物理加速器资源池中选择相匹配的匹配物理加速器。
可选的,匹配物理加速器不在主机上,虚拟机监控器520创建第一虚拟机或第二虚拟机之后,虚拟机监控器520还用于发送通讯地址和匹配物理加速器标识至匹配物理加速器所在节点上的远端加速器管理单元,以使虚拟机监控器520通过通讯地址与远端加速器管理单元进行通讯,且使远端加速器管理单元通过匹配物理加速器标识与对应的匹配物理加速器通讯。
可选的,在集中资源管理器510创建第一虚拟机或第二虚拟机之后,虚拟加速器用于将虚拟机上的业务单元发送的加速请求转移至匹配物理加速器进行处理,并将匹配物理加速器处理后的结果返回至业务单元,其中,虚拟加速器为第一虚拟加速器或 第二虚拟加速器。
可选的,匹配物理加速器不在主机上,则虚拟加速器还用于向远端加速器管理单元发送基于握手协议的握手请求并接收远端加速器管理单元反馈的握手成功响应;
虚拟加速器还用于发送加速请求至远端加速器管理单元,以使远端加速器管理单元将加速请求发送至对应的匹配物理加速器进行处理;
虚拟加速器还用于接收远端加速器管理单元发送的加速请求响应,加速请求响应是匹配物理加速器处理加速请求后向远端加速器管理单元返回的处理结果;
虚拟加速器还用于将加速请求响应发送至业务单元;
其中,虚拟加速器为第一虚拟加速器或第二虚拟加速器。
本发明实施例的加速器虚拟化的装置,能实现加速器的虚拟化,提高资源的共享度,且易于实现。
实施例六
基于上述各实施例,本发明实施例公开了一种主机,如图6所示,为本发明实施例主机的结构示意图,包括:
处理器601以及存储器602,其中,处理器用于读取存储在存储器中的代码用于运行虚拟机监控器及集中资源管理器,其中,虚拟机监控器以及集中资源管理器用于前面各实施例中所揭示的方法。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件的方式来实现,通用硬件包括通用集成电路、通用CPU、通用存储器、通用元器件等,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (15)

  1. 一种加速器虚拟化的方法,其特征在于,应用于主机,所述主机上运行有集中资源管理器和虚拟机监控器,所述方法包括:
    所述集中资源管理器接收虚拟机资源配置命令,所述虚拟机资源配置命令中包含待创建虚拟加速器信息;
    所述集中资源管理器根据所述虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器;
    所述集中资源管理器生成用于描述匹配物理加速器的描述信息;
    所述集中资源管理器向虚拟机监控器发送第一虚拟机创建命令,所述第一虚拟机创建命令包括所述描述信息,使得所述虚拟机监控器收到所述第一虚拟机创建命令后,创建包含有所述匹配物理加速器对应的第一虚拟加速器的第一虚拟机,其中,所述第一虚拟加速器通过所述描述信息生成,或者,所述集中资源管理器向所述虚拟机监控器发送第二虚拟机创建命令,所述第二虚拟机创建命令包括描述信息获取标识,使得所述虚拟机监控器收到所述第二虚拟机创建命令后创建第二虚拟机,并使得所述第二虚拟机根据所述描述信息获取标识获取所述描述信息后生成第二虚拟加速器。
  2. 如权利要求1所述的方法,其特征在于,所述在集中资源管理器接收虚拟机资源配置命令之前,所述方法还包括:
    所述集中资源管理器获取物理加速器的信息,所述物理加速器至少包括本地物理加速器或远端物理加速器;
    所述集中资源管理器根据所述物理加速器的信息,生成物理加速器信息文件以生成物理加速器资源池;
    所述集中资源管理器根据所述虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器,包括:
    所述集中资源管理器根据所述待创建虚拟加速器信息,从所述物理加速器信息文件中选择相匹配的物理加速器的信息,将相匹配的物理加速器的信息对应的物理加速器作为匹配物理加速器。
  3. 如权利要求2所述的方法,其特征在于,所述集中资源管理器从所述物 理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器,包括:
    所述集中资源管理器根据所述物理位置从所述物理加速器资源池中选择相匹配的匹配物理加速器;和/或
    所述集中资源管理器根据物理加速器负荷从所述物理加速器资源池中选择相匹配的匹配物理加速器。
  4. 如权利要求1至3任一项所述的方法,其特征在于,所述匹配物理加速器不在所述主机上,所述虚拟机监控器创建所述第一虚拟机或第二虚拟机之后,所述方法还包括:
    所述虚拟机监控器发送通讯地址和匹配物理加速器标识至所述匹配物理加速器所在节点上的远端加速器管理单元,以使所述虚拟机监控器通过所述通讯地址与所述远端加速器管理单元进行通讯,且使所述远端加速器管理单元通过所述匹配物理加速器标识与对应的匹配物理加速器通讯。
  5. 如权利要求1至4任一项所述的方法,其特征在于,所述在集中资源管理器创建第一虚拟机或第二虚拟机之后,所述方法还包括:
    所述虚拟加速器将所述虚拟机上的业务单元发送的加速请求转移至所述匹配物理加速器进行处理,并将所述匹配物理加速器处理后的结果返回至所述业务单元,其中,所述虚拟加速器为所述第一虚拟加速器或所述第二虚拟加速器。
  6. 如权利要求5所述的方法,其特征在于,所述匹配物理加速器不在主机上,则所述虚拟加速器将所述虚拟机上的业务单元发送的加速请求转移至所述匹配物理加速器进行处理,并将所述匹配物理加速器处理后的结果返回至所述业务单元,包括:
    所述虚拟加速器发送所述加速请求至所述远端加速器管理单元,以使所述远端加速器管理单元将所述加速请求发送至对应的匹配物理加速器进行处理;
    所述虚拟加速器接收所述远端加速器管理单元发送的加速请求响应,所述加速请求响应包括所述匹配物理加速器处理所述加速请求后向所述远端加速器管理单元返回的处理结果;
    所述虚拟加速器将所述加速请求响应发送至所述业务单元。
  7. 一种加速器虚拟化的装置,其特征在于,应用于主机,所述装置包括集 中资源管理器和虚拟机监控器,所述集中资源管理器包括:
    接收单元,用于接收虚拟机资源配置命令,所述虚拟机资源配置命令中包含待创建虚拟加速器信息;
    匹配物理加速器选择单元,用于根据所述接受单元接收的虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器;
    生成单元,用于生成用于描述匹配物理加速器的描述信息;
    发送单元,用于向虚拟机监控器发送第一虚拟机创建命令,所述第一虚拟机创建命令包括所述描述信息,使得所述虚拟机监控器收到所述第一虚拟机创建命令后,创建包含有所述匹配物理加速器对应的第一虚拟加速器的第一虚拟机,其中,所述第一虚拟加速器通过所述描述信息生成,或者,所述发送单元用于向所述虚拟机监控器发送第二虚拟机创建命令,所述第二虚拟机创建命令包括描述信息获取标识,使得所述虚拟机监控器收到所述第二虚拟机创建命令后创建第二虚拟机,并使得所述第二虚拟机根据所述描述信息获取标识获取所述描述信息后生成第二虚拟加速器。
  8. 如权利要求7所述的装置,其特征在于,所述集中资源管理器还包括:
    物理加速器信息获取单元,用于获取物理加速器的信息,所述物理加速器至少包括本地物理加速器或远端物理加速器;
    物理加速器资源池生成单元,用于根据所述物理加速器的信息,生成物理加速器信息文件以生成物理加速器资源池;
    所述匹配物理加速器选择单元还用于根据所述待创建虚拟加速器信息,从所述物理加速器信息文件中选择相匹配的物理加速器的信息,将相匹配的物理加速器的信息对应的物理加速器作为匹配物理加速器。
  9. 如权利要求8所述的装置,其特征在于,所述匹配物理加速器选择单元还用于根据所述物理位置从所述物理加速器资源池中选择相匹配的匹配物理加速器;和/或
    所述匹配物理加速器选择单元还用于根据物理加速器负荷从所述物理加速器资源池中选择相匹配的匹配物理加速器。
  10. 如权利要求7至9任一项所述的装置,其特征在于,所述匹配物理加速 器不在所述主机上,所述虚拟机监控器创建所述第一虚拟机或第二虚拟机之后,所述虚拟机监控器还用于发送通讯地址和匹配物理加速器标识至所述匹配物理加速器所在节点上的远端加速器管理单元,以使所述虚拟机监控器通过所述通讯地址与所述远端加速器管理单元进行通讯,且使所述远端加速器管理单元通过所述匹配物理加速器标识与对应的匹配物理加速器通讯。
  11. 如权利要求7至10任一项所述的装置,其特征在于,在集中资源管理器创建第一虚拟机或第二虚拟机之后,所述虚拟加速器用于将所述虚拟机上的业务单元发送的加速请求转移至所述匹配物理加速器进行处理,并将所述匹配物理加速器处理后的结果返回至所述业务单元,其中,所述虚拟加速器为所述第一虚拟加速器或所述第二虚拟加速器。
  12. 如权利要求11所述的装置,其特征在于,所述匹配物理加速器不在主机上,则:
    所述虚拟加速器还用于发送所述加速请求至所述远端加速器管理单元,以使所述远端加速器管理单元将所述加速请求发送至对应的匹配物理加速器进行处理;
    所述虚拟加速器还用于接收所述远端加速器管理单元发送的加速请求响应,所述加速请求响应是所述匹配物理加速器处理所述加速请求后向所述远端加速器管理单元返回的处理结果;
    所述虚拟加速器还用于将所述加速请求响应发送至所述业务单元。
  13. 一种集中资源管理器,其特征在于,应用于主机,所述主机上还运行有虚拟机监控器,所述集中资源管理器包括:
    接收器,用于接收虚拟机资源配置命令,所述虚拟机资源配置命令中包含待创建虚拟加速器信息;
    处理器,用于根据所述接收器接收的虚拟机资源配置命令中的待创建虚拟加速器信息,从物理加速器资源池中选择相匹配的物理加速器作为匹配物理加速器;
    所述处理器还用于生成用于描述匹配物理加速器的描述信息;
    发送器,用于向虚拟机监控器发送第一虚拟机创建命令,所述第一虚拟机创建命令包括所述描述信息,使得所述虚拟机监控器收到所述第一虚拟机创建命令 后,创建包含有所述匹配物理加速器对应的第一虚拟加速器的第一虚拟机,其中,所述第一虚拟加速器通过所述描述信息生成,或者,所述发送器还用于向所述虚拟机监控器发送第二虚拟机创建命令,所述第二虚拟机创建命令包括描述信息获取标识,使得所述虚拟机监控器收到所述第二虚拟机创建命令后创建第二虚拟机,并使得所述第二虚拟机根据所述描述信息获取标识获取所述描述信息后生成第二虚拟加速器。
  14. 如权利要求13所述的集中资源管理器,其特征在于,所述处理器还用于在集中资源管理器接收虚拟机资源配置命令之前,获取物理加速器的信息,所述物理加速器至少包括本地物理加速器或远端物理加速器,根据所述物理加速器的信息,生成物理加速器信息文件以生成物理加速器资源池;
    所述处理器还用于根据所述待创建虚拟加速器信息,从所述物理加速器信息文件中选择相匹配的物理加速器的信息,将相匹配的物理加速器的信息对应的物理加速器作为匹配物理加速器。
  15. 如权利要求14所述的集中资源管理器,其特征在于,所述处理器还用于根据所述物理位置从所述物理加速器资源池中选择相匹配的匹配物理加速器;和/或
    所述处理器还用于根据物理加速器负荷从所述物理加速器资源池中选择相匹配的匹配物理加速器。
PCT/CN2016/084022 2015-09-25 2016-05-31 加速器虚拟化的方法、装置及集中资源管理器 WO2017049945A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16847827.9A EP3343364B1 (en) 2015-09-25 2016-05-31 Accelerator virtualization method and apparatus, and centralized resource manager
US15/933,323 US10698717B2 (en) 2015-09-25 2018-03-22 Accelerator virtualization method and apparatus, and centralized resource manager

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510621728.0 2015-09-25
CN201510621728.0A CN105159753B (zh) 2015-09-25 2015-09-25 加速器虚拟化的方法、装置及集中资源管理器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/933,323 Continuation US10698717B2 (en) 2015-09-25 2018-03-22 Accelerator virtualization method and apparatus, and centralized resource manager

Publications (1)

Publication Number Publication Date
WO2017049945A1 true WO2017049945A1 (zh) 2017-03-30

Family

ID=54800617

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/084022 WO2017049945A1 (zh) 2015-09-25 2016-05-31 加速器虚拟化的方法、装置及集中资源管理器

Country Status (4)

Country Link
US (1) US10698717B2 (zh)
EP (1) EP3343364B1 (zh)
CN (1) CN105159753B (zh)
WO (1) WO2017049945A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3693853A4 (en) * 2017-11-15 2020-11-11 Huawei Technologies Co., Ltd. ACCELERATION RESOURCE PLANNING PROCESS AND DEVICE, AND ACCELERATION SYSTEM
CN112153554A (zh) * 2019-06-27 2020-12-29 京东方科技集团股份有限公司 定位装置及***
EP3734928A4 (en) * 2018-03-23 2021-01-20 Huawei Technologies Co., Ltd. PROCESS ALLOWING A VIRTUAL MACHINE ACCESS TO A REMOTE ACCELERATION DEVICE, AND SYSTEM

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159753B (zh) 2015-09-25 2018-09-28 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器
CN106933646B (zh) * 2015-12-29 2020-04-14 杭州华为数字技术有限公司 一种创建虚拟机的方法及装置
CN107515775B (zh) 2016-06-15 2021-11-19 华为技术有限公司 一种数据传输方法及装置
CN105979007B (zh) 2016-07-04 2020-06-02 华为技术有限公司 加速资源处理方法、装置及网络功能虚拟化***
US10390114B2 (en) * 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center
CN107783913B (zh) 2016-08-31 2021-12-03 华为技术有限公司 一种应用于计算机的资源访问方法和计算机
CN108073423B (zh) * 2016-11-09 2020-01-17 华为技术有限公司 一种加速器加载方法、***和加速器加载装置
CN111813459A (zh) * 2016-11-09 2020-10-23 华为技术有限公司 一种加速器加载方法、***和加速器加载装置
CN108347341A (zh) * 2017-01-24 2018-07-31 华为技术有限公司 一种用于调整虚拟机加速能力的加速能力调整方法及装置
JP6777050B2 (ja) * 2017-09-21 2020-10-28 株式会社デンソー 仮想化システム、仮想化プログラム、及び、記憶媒体
CN107977256A (zh) * 2017-12-15 2018-05-01 郑州云海信息技术有限公司 一种对fpga加速卡的访问方法、装置及介质
US10795718B2 (en) * 2019-02-08 2020-10-06 Microsoft Technology Licensing, Llc Updating hardware with reduced virtual machine downtime
CN109976876B (zh) * 2019-03-20 2021-11-16 联想(北京)有限公司 加速器管理方法和装置
CN111736950B (zh) * 2020-06-12 2024-02-23 广东浪潮大数据研究有限公司 一种虚拟机的加速器资源添加方法及相关装置
CN113674131A (zh) * 2021-07-21 2021-11-19 山东海量信息技术研究院 硬件加速器设备管理方法、装置及电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220217A1 (en) * 2006-03-17 2007-09-20 Udaya Shankara Communication Between Virtual Machines
CN102314377A (zh) * 2010-06-30 2012-01-11 国际商业机器公司 加速器及其实现支持虚拟机迁移的方法
CN104541242A (zh) * 2012-09-28 2015-04-22 英特尔公司 代码执行的灵活加速
CN105159753A (zh) * 2015-09-25 2015-12-16 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US8274518B2 (en) 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US8910153B2 (en) * 2009-07-13 2014-12-09 Hewlett-Packard Development Company, L. P. Managing virtualized accelerators using admission control, load balancing and scheduling
US8869160B2 (en) 2009-12-24 2014-10-21 International Business Machines Corporation Goal oriented performance management of workload utilizing accelerators
CN102650950B (zh) * 2012-04-10 2015-04-15 南京航空航天大学 一种支持多gpu虚拟化的平台架构及其工作方法
US20140351811A1 (en) * 2013-05-24 2014-11-27 Empire Technology Development Llc Datacenter application packages with hardware accelerators
US10140639B2 (en) * 2013-08-23 2018-11-27 Empire Technology Development Llc Datacenter-based hardware accelerator integration
US10037222B2 (en) * 2013-09-24 2018-07-31 University Of Ottawa Virtualization of hardware accelerator allowing simultaneous reading and writing
US10261813B2 (en) * 2013-09-25 2019-04-16 Arm Limited Data processing system for dispatching tasks from a plurality of applications to a shared resource provided by an accelerator
CN104156663B (zh) * 2014-07-31 2018-01-02 上海华为技术有限公司 一种硬件虚拟端口及处理器***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220217A1 (en) * 2006-03-17 2007-09-20 Udaya Shankara Communication Between Virtual Machines
CN102314377A (zh) * 2010-06-30 2012-01-11 国际商业机器公司 加速器及其实现支持虚拟机迁移的方法
CN104541242A (zh) * 2012-09-28 2015-04-22 英特尔公司 代码执行的灵活加速
CN105159753A (zh) * 2015-09-25 2015-12-16 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3693853A4 (en) * 2017-11-15 2020-11-11 Huawei Technologies Co., Ltd. ACCELERATION RESOURCE PLANNING PROCESS AND DEVICE, AND ACCELERATION SYSTEM
US11336521B2 (en) 2017-11-15 2022-05-17 Huawei Technologies Co., Ltd. Acceleration resource scheduling method and apparatus, and acceleration system
EP4033356A1 (en) * 2017-11-15 2022-07-27 Huawei Technologies Co., Ltd. Acceleration resource scheduling method and apparatus, and acceleration system
EP4220396A1 (en) * 2017-11-15 2023-08-02 Huawei Technologies Co., Ltd. Acceleration resource scheduling method and acceleration system
EP3734928A4 (en) * 2018-03-23 2021-01-20 Huawei Technologies Co., Ltd. PROCESS ALLOWING A VIRTUAL MACHINE ACCESS TO A REMOTE ACCELERATION DEVICE, AND SYSTEM
CN112153554A (zh) * 2019-06-27 2020-12-29 京东方科技集团股份有限公司 定位装置及***
CN112153554B (zh) * 2019-06-27 2024-04-05 京东方科技集团股份有限公司 定位装置及***

Also Published As

Publication number Publication date
US20180210752A1 (en) 2018-07-26
EP3343364A4 (en) 2018-08-29
EP3343364B1 (en) 2020-01-01
US10698717B2 (en) 2020-06-30
EP3343364A1 (en) 2018-07-04
CN105159753B (zh) 2018-09-28
CN105159753A (zh) 2015-12-16

Similar Documents

Publication Publication Date Title
WO2017049945A1 (zh) 加速器虚拟化的方法、装置及集中资源管理器
US10649798B2 (en) Virtual switching method, related apparatus, and computer system
US11372802B2 (en) Virtual RDMA switching for containerized applications
CN111542064B (zh) 一种用于无线接入网的容器编排管理***及编排方法
WO2018035856A1 (zh) 实现硬件加速处理的方法、设备和***
JP5644150B2 (ja) サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム
WO2018133035A1 (zh) 用于转发数据包的方法、网卡、主机设备和计算机***
US10397132B2 (en) System and method for granting virtualized network function life cycle management
WO2017066944A1 (zh) 一种存储设备访问方法、装置和***
WO2015165298A1 (zh) 计算机,控制设备和数据处理方法
WO2015062339A1 (zh) 远程应用程序运行的方法和装置
JP2000020490A (ja) 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
TW201423422A (zh) 具有PCIe介面的裝置共享系統及方法
CN112905304B (zh) 一种虚拟机间通信方法、装置、物理主机及介质
US8849905B2 (en) Centralized computing
WO2016119469A1 (zh) 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
CN108886473A (zh) 一种管理方法及装置
WO2018076882A1 (zh) 存储设备的操作方法及物理服务器
CN116800616B (zh) 虚拟化网络设备的管理方法及相关装置
WO2016172862A1 (zh) 一种内存管理方法、设备和***
US10523741B2 (en) System and method for avoiding proxy connection latency
US11003618B1 (en) Out-of-band interconnect control and isolation
US11005782B2 (en) Multi-endpoint adapter/multi-processor packet routing system
WO2016074179A1 (zh) 一种数据处理方法及多核处理器***
TWM440467U (en) Cloud platform integration system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16847827

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016847827

Country of ref document: EP