PCIE-based on-card virtual machine system

By creating virtual machine systems on PCIe cards and utilizing the CPU and memory resources on the cards, the problem of limited host computing resources is solved. This allows for an increase in the number of virtual machines without reducing host performance, and accelerates virtual machine operation through heterogeneous CPUs.

CN114090180BActive Publication Date: 2025-12-19SHENZHEN YOULIAN CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111406413.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-24
Publication Date
2025-12-19
Estimated Expiration
2041-11-24

AI Technical Summary

Technical Problem

In existing virtual machine systems, host computing resources are limited, making it difficult to run a large number of virtual machines, and heterogeneous virtual machines require software emulation, resulting in slow running speed.

Method used

The system employs a PCIe-based on-card virtual machine system, utilizing the CPU, memory, and flash memory resources on the PCIe card to create virtual machines. It supports PCIe EP functionality and manages and operates virtual machines through the PCIe interface. The host and the CPU architecture on the card can be the same or different, and the heterogeneous virtual machines execute virtualization instructions through the CPU on the card.

Benefits of technology

It enables the increase of the number of virtual machines without consuming host computing resources, avoids host performance degradation, and accelerates the running speed of heterogeneous virtual machines through hardware virtualization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114090180B_ABST
    Figure CN114090180B_ABST
Patent Text Reader

Abstract

The application provides a PCIE-based on-card virtual machine system, which comprises a host and at least one PCIE card inserted into a PCIE card slot of the host, a card virtualization management system running in the PCIE card, a host virtualization management system client and a plurality of virtual machine clients running in the host; the card virtualization management system creates a plurality of virtual machines by using CPU, memory, flash memory and other resources on the card; the host virtualization management system client connects to the card virtualization management system through a PCIE interface to create and manage virtual machines in each PCIE card; the virtual machine client connects to the plurality of virtual machines created by the card virtualization management system through the PCIE interface and receives picture, audio and other data in the virtual machines through the PCIE interface. The application runs an operating system by using independent CPU, memory, flash memory and other resources on the PCIE card to support the virtualization system, does not use the computing resources of the host, does not cause the performance of the host to decrease, and can insert a plurality of PCIE cards to increase the number of virtual machines.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of virtual machines, in particular to a PCIE-based on-card virtual machine system. BACKGROUND

[0002] A virtual machine (VM) refers to a complete computer system that is simulated by software, runs in a completely isolated environment, and has complete hardware system functions. Work that can be completed in a physical computer can also be implemented in a virtual machine. Each virtual machine has independent CPU, memory, hard disk, and operating system, etc., and can be operated like a physical machine.

[0003] In the past, virtual machines were run on hosts with good performance. Users directly access virtual machines on the host or indirectly access virtual machines remotely through the network. The computing resources used by virtual machines, including CPU, memory, hard disk, etc., are allocated from the host. The more virtual machines run, the fewer computing resources are left on the host, which eventually leads to a decline in host performance.

[0004] In addition, in the past, virtual machines were generally run in a virtual hardware environment with the same CPU architecture as the host. Hardware virtualization functions of the host CPU were used to accelerate the speed of virtualization. If the host wants to use heterogeneous virtual machines, it can only use software simulation and cannot use the hardware virtualization function of the host CPU, resulting in low running speed. SUMMARY

[0005] The present application provides a PCIE-based on-card virtual machine system to solve at least one of the above technical problems.

[0006] To solve the above problems, as one aspect of the present application, a PCIE-based on-card virtual machine system is provided, which includes a host and at least one PCIE card inserted into a PCIE card slot of the host. Each PCIE card is provided with a CPU, memory, flash memory, and an operating system, and the CPU supports PCIE EP functions. A on-card virtualization management system runs in the PCIE card, and a host virtualization management system client and multiple virtual machine clients run in the host. The on-card virtualization management system creates multiple virtual machines using the CPU, memory, flash memory, etc. on the card. The host virtualization management system client connects to the on-card virtualization management system through a PCIE interface to create and manage virtual machines in each PCIE card, etc. The virtual machine client connects to the multiple virtual machines created by the on-card virtualization management system through a PCIE interface and receives data such as pictures and audio in the virtual machines through the PCIE interface, and implements operations on the virtual machines and management of the virtual machines, etc.

[0007] Preferably, the operating system on the host is automatically started after power on, the host virtualization management system client is automatically started, and waits for user operation; the operating system on the card is automatically started after power on, the operating system on the card is automatically started after starting, and the virtualization management system on the card is automatically started to prepare to receive the control information of the host virtualization management system client.

[0008] Preferably, the user uses the virtual machine in the following process:

[0009] Step 1, the user logs in the host virtualization management system client;

[0010] Step 2, the user communicates with the virtualization management system on the card in the operation interface of the host virtualization management system client, checks the resource situation on the card, such as CPU, memory, flash memory and the like, and completes the query of related information;

[0011] Step 3, the user communicates with the virtualization management system on the card in the operation interface of the host virtualization management system client, sends related virtualization operation instructions to the virtualization management system on the card, and the virtualization management system on the card completes the virtualization operation instructions, thereby creating a new virtual machine and allocating computing resources on the card to the new virtual machine, including CPU, memory and flash memory resources;

[0012] Step 4, the user communicates with the virtualization management system on the card in the operation interface of the host virtualization management system client, sends related virtualization operation instructions to the virtualization management system on the card, and the virtualization management system on the card completes the virtualization operation instructions, thereby starting the corresponding virtual machine by the virtualization management system on the card to wait for the user to access;

[0013] Step 5, the user selects to log in the specified virtual machine for operation in the operation interface of the host virtualization management system client, and then jumps to the virtual machine client, the virtual machine client directly communicates with the corresponding virtual machine, the user can complete the operation of the corresponding virtual machine in the virtual machine client, the virtual machine client displays and plays the video and audio transmitted by the virtual machine, and sends the keyboard and mouse operation of the user to the virtual machine.

[0014] Preferably, the CPU architecture of the host and the CPU architecture on the PCIE card can be the same or different.

[0015] Preferably, the CPU architecture on the PCIE card and the CPU architecture of the host can each adopt x86 architecture, or ARM architecture, or RISC-V architecture, or MIPS architecture.

[0016] Preferably, the CPU on the PCIE card and the CPU of the host computer adopt different architectures, and the virtual machine on the PCIE card uses the CPU on the PCIE card to execute the virtualization instruction from the host virtualization management system client or the virtual machine client, so that the host computer can use the heterogeneous virtual machine on the PCIE card.

[0017] Due to the above technical solutions, in view of the limited computing resources of the host computer in the prior art, it is difficult to run more virtual machines, the card virtualization system based on the PCIE technology of the application runs an operating system by using the CPU, memory, flash memory and other resources on the independent PCIE card to support the virtualization system, the CPU on the card can support the PCIE EP function, so as to directly control the data transmission and reception of the PCIE, and provide the virtual machine, so that the computing resources of the host computer are not used, and the performance of the host computer is not reduced; the host computer can also be plugged into multiple PCIE cards to increase the number of virtual machines. BRIEF DESCRIPTION OF DRAWINGS

[0018] Figure 1 The hardware structure schematic diagram of the application is schematically shown;

[0019] Figure 2 The software principle diagram of the application is schematically shown. DETAILED DESCRIPTION

[0020] The embodiments of the application are described in detail below, but the application can be implemented in various different ways limited and covered by the claims.

[0021] The application discloses a card virtual machine system using a PCIE EP device, the device has a CPU, memory, flash memory and an operating system, and can run N virtual machines. The device also has a PCIE interface and can be plugged into any host computer with a PCIE card slot. The method for users to use the virtual machine on the device is to access the virtual machine in the card system through the virtual machine client on the host computer via the PCIE interface, including obtaining the running screen of the virtual machine, operating the virtual machine and managing the virtual machine.

[0022] As one aspect of the present invention, a PCIe-based on-card virtual machine system is provided, comprising: a host and at least one PCIe card inserted into the PCIe card slot of the host, each PCIe card being provided with a CPU, memory, flash memory, and an operating system, wherein the CPU supports PCIe EP functionality; an on-card virtualization management system running on the PCIe card, and a host virtualization management system client and multiple virtual machine clients running on the host; the on-card virtualization management system using the CPU, memory, flash memory, and other resources on the card to create multiple virtual machines; the host virtualization management system client connecting to the on-card virtualization management system via a PCIe interface to create and manage virtual machines in each PCIe card; and the virtual machine clients connecting to the multiple virtual machines created by the on-card virtualization management system via a PCIe interface, and receiving screen and audio data from the virtual machines via the PCIe interface to operate and manage the virtual machines.

[0023] By adopting the above technical solution, and addressing the limitation of host computing resources in existing technologies, which makes it difficult to run a large number of virtual machines, this invention provides a card-based virtualization system based on PCIe technology. This system uses the CPU, memory, flash memory, and other resources on an independent PCIe card to run the operating system to support the virtualization system. The CPU on the card supports PCIe EP functionality, enabling direct control of PCIe data transmission and reception for use by virtual machines. Therefore, it does not utilize the host's computing resources and does not lead to a decrease in host performance. Furthermore, the host can accommodate multiple PCIe cards to increase the number of virtual machines.

[0024] Preferably, the operating system on the host computer starts automatically after power-on, and the host virtualization management system client starts automatically, waiting for user operation; the operating system on the card starts automatically after power-on, and the virtualization management system starts automatically after the operating system on the card starts, and the virtualization management system on the card is ready to receive control information from the host virtualization management system client.

[0025] Preferably, the user's process for using the virtual machine is as follows:

[0026] Step 1: The user logs into the host virtualization management system client;

[0027] Step 2: The user communicates with the virtualization management system on the card through the operation interface of the host virtualization management system client to view the resource status on the card, such as CPU, memory, flash memory, etc., and complete the query of relevant information.

[0028] Step 3, the user communicates with the virtualization management system on the card through the operation interface of the host virtualization management system client, sends relevant virtualization operation instructions to the virtualization management system on the card, and the virtualization management system on the card completes the virtualization operation instructions, thereby creating a new virtual machine and allocating computing resources on the card to the new virtual machine, including CPU, memory, and flash memory resources.

[0029] Step 4, the user communicates with the virtualization management system on the card through the operation interface of the host virtualization management system client, sends relevant virtualization operation instructions to the virtualization management system on the card, and the virtualization management system on the card completes the virtualization operation instructions, thereby starting the corresponding virtual machine by the virtualization management system on the card to wait for the user to access.

[0030] Step 5, the user selects to log in to the specified virtual machine for operation through the operation interface of the host virtualization management system client, and then jumps to the virtual machine client. The virtual machine client directly communicates with the corresponding virtual machine, and the user can complete the operation of the corresponding virtual machine through the virtual machine client. The virtual machine client displays and plays the video and audio transmitted by the virtual machine, and sends the keyboard and mouse operation of the user to the virtual machine.

[0031] Preferably, the CPU architecture of the host and the CPU architecture on the PCIE card can be the same or different.

[0032] Preferably, the CPU architecture on the PCIE card and the CPU architecture of the host can each adopt an x86 architecture, or an ARM architecture, or a RISC-V architecture, or a MIPS architecture.

[0033] Preferably, the CPU on the PCIE card and the CPU of the host adopt different architectures. The virtual machine on the PCIE card uses the CPU on the PCIE card to execute the virtualization instructions from the host virtualization management system client or the virtual machine client, thereby enabling the host to use the heterogeneous virtual machine on the PCIE card.

[0034] Next, aspects of the application will be described in detail.

[0035] As shown in Figure 2 , the software of the application includes:

[0036] The virtualization management system on the card is used to create and manage virtual machines. The system uses the CPU, memory, flash memory, and other resources on the card to create N virtual machines for user use.

[0037] The host virtualization management system client is used to connect the virtualization management system on the card through the PCIE to complete the functions of creating and managing virtual machines.

[0038] Virtual machine client, the user can use the software to connect to the card on the virtual machine in the virtualization system through PCIE, complete the operation of the virtual machine; and receive the picture and audio data in the virtual machine through PCIE.

[0039] Wherein, the virtual machine system on the card part of the starting process is as follows: after power on, the operating system on the card is automatically started; after the card operating system is started, the virtualization management system is automatically started; the virtualization system is ready to receive the control information of the host virtualization management system client.

[0040] The virtual machine system of the host part starts as follows: after power on, the host operating system is automatically started; the virtualization management system client is automatically started, waiting for user operation.

[0041] User using virtual machine process is as follows:

[0042] 1, the user logs in the virtualization management system client;

[0043] 2, the user can view the card on the resource situation, such as cpu, memory, flash memory information in the virtualization management system client operation interface; at this time, the virtualization management system client is in communication with the virtualization management system on the card (through PCIE), and the query of related information is completed;

[0044] 3, the user can create a new virtual machine in the virtualization management system client operation interface, and allocate the card computing resources to the new virtual machine, including cpu, memory, flash memory resources; at this time, the virtualization management system client is in communication with the virtualization management system on the card (through PCIE), and the sending of related virtualization operation instruction is completed, and finally the virtualization management system completes these instructions;

[0045] 4, the user can start, shut down, restart and other operations on the created virtual machine in the virtualization management system client operation interface; at this time, the virtualization management system client is in communication with the virtualization management system on the card (through PCIE), and the sending of related virtualization operation instruction is completed, and finally the virtualization management system starts the corresponding virtual machine to wait for the user's access;

[0046] 5, the user can select to log in to the specified virtual machine for operation in the virtualization management system client operation interface, which will jump to the virtual machine client; the user can complete the operation of the virtual machine in the virtual machine client. At this time, the virtual machine client is in direct communication with the virtual machine (through PCIE). The virtual machine client displays and plays the video and audio transmitted by the virtual machine; and sends the user's keyboard and mouse operation to the virtual machine.

[0047] By using the technical scheme, the present application can improve the prior art in which more virtual machines need to use more servers to expand the use of more virtual machines in one server.

[0048] Further, the present application can also solve the problem of using heterogeneous virtual machines for the host. In the present application, the virtual machine on the card uses the virtualization instruction executed by the CPU on the card, so the CPU architecture on the card can be the same as or different from the host; the CPU architecture on the card can be x86 architecture or ARM architecture. When the CPU architecture on the card is different from the host CPU architecture, for example, the host is an x86 architecture CPU and the card is an ARM architecture CPU, the host can use the virtual machine of heterogeneous CPU. The virtual machine is accelerated by the hardware virtualization function of the CPU on the device, and the speed is faster than the software simulation on the host.

[0049] The above only describes the preferred embodiments of the present application and is not intended to limit the present application. Various modifications and changes can be made by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A PCIE-based on-card virtual machine system, characterized in that, The application relates to a PCIE card system, which comprises a host and at least one PCIE card inserted into a PCIE card slot of the host, wherein each PCIE card is provided with a CPU, memory, flash memory and an operating system, and the CPU supports a PCIE EP function; a card virtualization management system is run in the PCIE card; a host virtualization management system client and a plurality of virtual machine clients are run in the host; the card virtualization management system creates a plurality of virtual machines by using the CPU, memory and flash memory resources on the card; the host virtualization management system client connects the card virtualization management system through a PCIE interface to create and manage virtual machines in each PCIE card; the virtual machine client connects the plurality of virtual machines created by the card virtualization management system through a PCIE interface and receives picture and audio data in the virtual machines to realize operation and management of the virtual machines; and the user uses the virtual machine in the following steps: step 1, the user logs in the host virtualization management system client; step 2, the user communicates with the card virtualization management system on an operation interface of the host virtualization management system client to check resource conditions on the card, including CPU, memory and flash memory information, and completes relevant information query; step 3, the user communicates with the card virtualization management system on the operation interface of the host virtualization management system client to send relevant virtualization operation instructions to the card virtualization management system, and the card virtualization management system completes the virtualization operation instructions to create a new virtual machine and allocate card computing resources, including CPU, memory and flash memory resources, to the new virtual machine; step 4, the user communicates with the card virtualization management system on the operation interface of the host virtualization management system client to send relevant virtualization operation instructions to the card virtualization management system, and the card virtualization management system completes the virtualization operation instructions to start the corresponding virtual machine to wait for the user to access; and step 5, the user selects to log in a specified virtual machine on the operation interface of the host virtualization management system client to operate, and then jumps to the virtual machine client to directly communicate between the virtual machine client and the corresponding virtual machine, the user completes operation of the corresponding virtual machine on the virtual machine client, the virtual machine client displays and plays video and audio transmitted by the virtual machine, and sends the keyboard and mouse operation of the user to the virtual machine. The operating system on the host is automatically started after power-on, the host virtualization management system client is automatically started, and the card virtualization management system is automatically started after the operating system on the card is started. The CPU architecture of the host is the same as or different from the CPU architecture on the PCIE card. The CPU architecture on the PCIE card and the CPU architecture of the host are respectively x86 architecture, ARM architecture, RISC-V architecture or MIPS architecture. ​ ​ ​ ​ ​ ​ ​ ​ 2. The PCIE-based on-card virtual machine system of claim 1, wherein, ​ ​ 3. The PCIE-based on-card virtual machine system of claim 1, wherein, ​ 4. The PCIE-based on-card virtual machine system of claim 2, wherein, ​ 5. The PCIE-based on-card virtual machine system of claim 1, wherein, The CPU on the PCIE card and the CPU of the host adopt different architectures, and the virtual machine on the PCIE card uses the CPU on the PCIE card to execute the virtualization instruction from the host virtualization management system client or the virtual machine client, so that the host can use the heterogeneous virtual machine on the PCIE card.

Citation Information

Patent Citations

  • Hardware acceleration system for antivirus virtual machine

    CN102012801A

  • Secure booting of virtualization managers

    CN109564524A