A method, apparatus, device, and medium for virtual resource configuration of a graphical display
By receiving virtual resource creation requests and specification information from users on the Kubernetes platform, and utilizing K8S and device plugins to automate the configuration and scheduling of GPU virtual resources, the problem of complex configuration in existing technologies is solved, user operation and learning costs are reduced, and platform usability is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- JINAN INSPUR DATA TECH CO LTD
- Filing Date
- 2023-02-10
- Publication Date
- 2026-04-17
AI Technical Summary
In existing technologies, the configuration of GPU virtualization on the Kubernetes platform is cumbersome and the usage process is complicated, resulting in high user operation and learning costs, and making it difficult to achieve visual configuration and automatic scheduling of GPU virtual resources.
By receiving virtual resource creation requests and specification information from the user's client through Kubernetes, and scheduling them to the target node based on the device plugin, the system can automatically configure and mount GPU virtual resources, reducing the user's operation and learning costs.
It enables visual configuration and automatic scheduling of GPU virtual resources, reducing user operation and learning costs and improving the ease of use of the Kubernetes platform.
Smart Images

Figure CN116089090B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of virtualization technology, and in particular to a method, apparatus, device, and medium for configuring virtual resources for a graphics display. Background Technology
[0002] Currently, GPUs (Graphics Processing Units) are the core computing power units for artificial intelligence and high-performance applications, but high-performance GPUs are relatively expensive. For ordinary users, on the one hand, they want to utilize some features of newer GPU versions, such as high-performance CUDA operations; on the other hand, typical business scenarios cannot fully utilize the computing power of a single GPU card. Therefore, there is a demand for high-performance GPUs with limited resources in terms of usage and architecture. For cloud providers, there is also a need to provide affordable and stable GPUs for their customers. To address these needs, GPU manufacturers have introduced GPU virtualization technologies that can divide a single GPU card into multiple vGPUs (virtual graphics processing units) for customer use. MIG (Multi-Instance GPU), a new GPU virtualization technology launched by NVIDIA based on the Ampere architecture, can divide a GPU into multiple vGPUs at the hardware level, improving the isolation between vGPUs and reducing user costs.
[0003] Kubernetes, Google's open-source container orchestration platform, is the mainstream technology for container platforms in the industry and one of the main technologies for training and inference in artificial intelligence / high-performance applications. Therefore, using vGPUs on Kubernetes via GPU MIG technology is a core market demand. Although NVIDIA provides GPU DevicePlugins for connecting to the Kubernetes platform and related operation manuals, the configuration is cumbersome and the usage process is complex, making the learning cost too high for AI and high-performance application personnel.
[0004] In summary, how to enable users to select a specific vGPU specification and then schedule it to the corresponding server node via Kubernetes and based on the device plugin, thereby achieving visualized configuration of GPU virtualization, automatic resource scheduling, and reducing user operation and learning costs, is a technical problem that needs to be solved in this field. Summary of the Invention
[0005] In view of this, the purpose of this invention is to provide a virtual resource configuration method, apparatus, device, and medium for a graphics display, which enables the user to select a specified vGPU specification and then schedule resources to the corresponding server node via Kubernetes and based on a device plugin. This achieves visualized configuration of GPU virtualization and automatic resource scheduling, reducing user operation and learning costs. The specific solution is as follows:
[0006] In a first aspect, this application discloses a virtual resource configuration method for a graphics display, characterized by comprising:
[0007] Receive the virtual resource creation request for the graphics display and the specification information of the virtual resource sent by the user client;
[0008] The virtual resource creation request is scheduled to the target node via Kubernetes and based on the specification information of the virtual resource;
[0009] The target node responds to the virtual resource creation request, configures, and mounts the virtual resource.
[0010] Optionally, the specification information of the virtual resources sent by the receiving user terminal includes:
[0011] The specified specification information input by the user terminal is received through a preset interface as the specification information of the virtualized resource.
[0012] Optionally, scheduling the virtual resource creation request to the target node via Kubernetes and based on the virtual resource's specification information includes:
[0013] Obtain the first node that supports configuring virtual resources, and select nodes that meet the specification information from the first node as target nodes;
[0014] The virtual resource creation request is scheduled to the target node via Kubernetes.
[0015] Before obtaining the first node that supports configuring virtual resources, the process also includes:
[0016] Call the K8S interface to obtain the first node information of the server node, which includes the node name, node unique identifier information and node IP address; and obtain the second node information of the server node, which includes the node's graphics display type, through node operating system instructions.
[0017] The first node is determined based on the first node information, the second node information, and a preset list of graphics displays that support the configuration of virtual resources.
[0018] After determining the first node based on the first node information, the second node information, and a preset list of graphics displays that support configurable virtual resources, the process further includes:
[0019] The specification information of the configurable virtual resources of the first node is queried and distributed so that K8S can obtain the specification information of the configurable virtual resources of the first node.
[0020] The querying of the specification information of the configurable virtual resources of the first node includes:
[0021] The specification information of the first instance and the specification information of the second instance obtained by splitting virtual resources through MIG are queried, and the specification information is saved to a preset database.
[0022] Before querying the specification information of the first instance and the second instance obtained through MIG-segmented virtual resources, the process also includes:
[0023] Configure the first instance and the second instance visually.
[0024] Secondly, this application discloses a virtual resource configuration device for a graphics display, characterized in that it includes:
[0025] The request receiving module is used to receive the virtual resource creation request for the graphics display and the specification information of the virtual resource sent by the user terminal.
[0026] The node scheduling module is used to schedule the virtual resource creation request to the target node through Kubernetes and based on the specification information of the virtual resource;
[0027] The request-response module is used to respond to the virtual resource creation request through the target node, and to configure and mount the virtual resource.
[0028] Thirdly, this application discloses an electronic device, including:
[0029] Memory, used to store computer programs;
[0030] A processor is configured to execute the computer program to implement the steps of the aforementioned disclosed method for virtual resource configuration of a graphics display.
[0031] Fourthly, this application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the steps of the aforementioned disclosed virtual resource configuration method for a graphics display.
[0032] Therefore, this application discloses receiving a virtual resource creation request for a graphics display sent by a user terminal, along with the virtual resource's specification information; scheduling the virtual resource creation request to a target node via Kubernetes based on the virtual resource's specification information; and having the target node respond to the virtual resource creation request, configuring and mounting the virtual resource. It is evident that after the user selects specific specification information for the virtual resource, the virtual resource creation request can be automatically scheduled to the corresponding node based on the selected specification information. The node's current resource specifications conform to the specified virtual resource specifications, enabling the automatic creation and mounting of container resources using that node. This achieves visual configuration and automatic scheduling of GPU virtual resources, reducing user operation and learning costs. Attached Figure Description
[0033] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0034] Figure 1 This application discloses a flowchart of a virtual resource configuration method for a graphics display.
[0035] Figure 2 This application discloses a flowchart of an automated management process for virtual GPU resources on a K8S container cloud platform.
[0036] Figure 3 This application discloses a flowchart of a specific method for configuring virtual resources for a graphics display.
[0037] Figure 4 This is a flowchart of a GPU MIG configuration device disclosed in this application;
[0038] Figure 5 This application discloses a method for obtaining cluster server node information.
[0039] Figure 6 This application discloses a GPU MIG specification collection diagram;
[0040] Figure 7 This is a schematic diagram of the structure of a virtual resource configuration device for a graphics display disclosed in this application;
[0041] Figure 8 This is a structural diagram of an electronic device disclosed in this application. Detailed Implementation
[0042] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present invention.
[0043] Currently, GPUs are the core computing power units for artificial intelligence and high-performance applications, but high-performance GPUs are relatively expensive. For ordinary users, on the one hand, they want to utilize some features of newer GPU versions, such as high-performance CUDA operations; on the other hand, typical business scenarios cannot fully utilize the computing power of a single GPU card. Therefore, there is a demand for high-performance GPUs with limited resources in terms of usage and architecture. For cloud providers, there is also a need to provide affordable and stable GPUs for their customers. To address these needs, GPU manufacturers have introduced GPU virtualization technologies that can divide a single GPU card into multiple vGPUs for customer use. MIG, a new GPU virtualization technology launched by NVIDIA based on the Ampere architecture, can divide a GPU into multiple vGPUs at the hardware level, improving the isolation between vGPUs and reducing user costs.
[0044] Kubernetes, Google's open-source container orchestration platform, is the mainstream technology for container platforms in the industry and one of the main technologies for training and inference in artificial intelligence / high-performance applications. Therefore, using vGPUs on Kubernetes via GPU MIG technology is a core market demand. Although NVIDIA provides GPU DevicePlugins for connecting to the Kubernetes platform and related operation manuals, the configuration is cumbersome and the usage process is complex, making the learning cost too high for AI and high-performance application personnel.
[0045] To this end, this application provides a virtual resource configuration scheme for graphics displays, which enables users to select a specified vGPU specification and schedule it to the corresponding server node via K8S and based on the device plugin, thereby realizing visual configuration of GPU virtualization and automatic resource scheduling, reducing user operation and learning costs.
[0046] Reference Figure 1 As shown in the figure, an embodiment of the present invention discloses a virtual resource configuration method for a graphics display, including:
[0047] Step S11: Receive the virtual resource creation request for the graphics display and the specification information of the virtual resource sent by the user terminal.
[0048] In this embodiment, specified specification information input by the user is received as the specification information of the virtualization resource through a preset interface, and a virtual resource creation request for the GPU sent by the user is also received through the preset interface. It is understood that the user inputs specified specification information through the user interface, so that the virtual resource configuration terminal receives the corresponding virtual resource specification information through the preset interface. The specified specification information can be included in the virtual resource creation request and sent to the virtual resource configuration terminal by sending the virtual resource creation request containing the specified specification information; alternatively, it can be sent to the virtual resource configuration terminal independently of the virtual resource creation request, together with the virtual resource creation request, through the preset interface.
[0049] Step S12: Schedule the virtual resource creation request to the target node via Kubernetes and based on the specification information of the virtual resource.
[0050] In this embodiment, cluster node information provided by the Kubernetes (Container Cloud) platform layer, along with other node information from the node operating system, is provided to the business logic layer. This allows the business logic layer to, when invoked, use the collected information and the virtual resource specifications to schedule the virtual resource creation request to a suitable node, which is the identified target node. The specific invocation process is as follows: Figure 2 As shown, it specifically includes five layers: the interface layer, the API interface layer, the business logic layer, the underlying Kubernetes layer, and the node operating system layer. The interface layer is the user interface and can be used as part of the cloud platform interface.
[0051] API layer: The communication layer between the interface and the backend service. Interface operations access the backend service through the API interface.
[0052] Business logic layer: encapsulates business logic, calls Kubernetes interfaces and operating system interfaces to obtain underlying resources and distribute configurations, and provides API interfaces to the upper layer;
[0053] Kubernetes: A container cloud platform layer that provides information such as cluster nodes and can distribute configurations. It includes a GPU device plugin, which runs on each server node equipped with a GPU. This device-plugin is essentially a gRPC service that primarily registers resources and devices with the kubelet; updates Kubernetes when devices change; and accepts requests for third-party resources from Kubernetes and returns them to Kubernetes as parameters.
[0054] Node Operating System: Because some node information cannot be obtained or configured through the API interfaces provided by Kubernetes, such as the GPU type on the server node and the MIG configuration, the business logic layer accesses the server node operating system via a remote protocol to obtain information and issue commands. It can be understood that when a user performs corresponding interface operations at the interface layer, the API layer is called. These interface operations can specifically include command input operations, request sending operations, etc. The API layer then acts as a bridge between the interface layer and the business logic layer, accessing backend services through API interfaces; that is, the API layer consists of various API interfaces. Then, when the business logic layer receives an API access request from the interface layer, it calls the Kubernetes interface or the operating system interface, or both simultaneously. It can be understood that when calling the Kubernetes interface, it obtains underlying resources from Kubernetes or obtains configuration information issued by Kubernetes to the underlying layer; when accessing the operating system interface via a remote protocol, it directly obtains other underlying resource information from the node operating system layer or issues configuration commands to the node operating system layer. These other resources of the node operating system layer may include, but are not limited to, the GPU type of the server node.
[0055] Step S13: The target node responds to the virtual resource creation request, configures and mounts the virtual resource.
[0056] In this embodiment, after being scheduled to the target node, the target node responds to the virtual resource creation request, automatically creates container resources according to the specifications of the virtual resources, and mounts vGPU (virtual graphics processing unit).
[0057] Therefore, this application discloses receiving a virtual resource creation request for a graphics display sent by a user terminal, along with the virtual resource's specification information; scheduling the virtual resource creation request to a target node via Kubernetes based on the virtual resource's specification information; and having the target node respond to the virtual resource creation request, configuring and mounting the virtual resource. It is evident that after the user selects specific specification information for the virtual resource, the virtual resource creation request can be automatically scheduled to the corresponding node based on the selected specification information. The node's current resource specifications conform to the specified virtual resource specifications, enabling the automatic creation and mounting of container resources using that node. This achieves visual configuration and automatic scheduling of GPU virtual resources, reducing user operation and learning costs.
[0058] Reference Figure 3 As shown, this embodiment of the invention discloses a specific method for configuring virtual resources for a graphics display. Compared to the previous embodiment, this embodiment further explains and optimizes the technical solution. Specifically:
[0059] Step S21: Receive the virtual resource creation request for the graphics display and the specification information of the virtual resource sent by the user terminal.
[0060] For a more detailed description of the processing steps in step S21, please refer to the aforementioned disclosed embodiments; they will not be repeated here.
[0061] Step S22: Obtain the first node that supports configuring virtual resources, and select the node that meets the specification information from the first node as the target node; schedule the virtual resource creation request to the target node through K8S.
[0062] In this embodiment, based on the current virtual resource creation request, the first node that supports configuring virtual resources is obtained from all nodes. It's important to note that among all nodes managed by Kubernetes, there are first nodes that support virtual resource configuration and other nodes that do not. Therefore, to create a virtual resource, it's first necessary to determine the first node that supports virtual resource configuration from all nodes managed by Kubernetes. After determining the first node, nodes that meet the specifications are selected as the target nodes for completing the virtual resource creation request. It's understood that the resource conditions and supported virtual resource configurations of each first node may differ; therefore, it's necessary to select the node that supports configuring the current virtual resource specifications as the target node. Once the target node is determined, the virtual resource creation request is scheduled to the target node via Kubernetes.
[0063] In this embodiment, before obtaining the first node that supports configuring virtual resources, the method further includes: calling a K8S interface to obtain first node information of the server node, including the node name, unique node identifier, and node IP address; obtaining second node information of the server node, including the node's graphics display type, through node operating system instructions; and determining the first node based on the first node information, the second node information, and a preset list of graphics displays that support configuring virtual resources. It is understood that, referring to... Figure 4 As shown, firstly, the business logic layer obtains the node information of the cluster server through K8S. At this time, the node information is partial node information, not complete node information. The partial node information may include, but is not limited to, node name, ID, and IP address. At the same time, the business logic layer obtains the GPU type of the node by calling the node operating system instructions from the node operating system layer through a remote protocol, which is the second node information. The remote protocol may include, but is not limited to, the SSH remote protocol. Finally, the “supports MIG” field information of the node can be obtained by pre-maintaining a list of GPUs that support MIG. Thus, the complete node information is formed.
[0064] In this embodiment, after determining the first node based on the first node information, the second node information, and a preset list of graphics displays supporting configurable virtual resources, the method further includes: querying and distributing the specification information of the configurable virtual resources of the first node, so that Kubernetes can obtain the specification information of the configurable virtual resources of the first node. It can be understood that querying the specification information of configurable MIGs specifically involves querying the specification information of the first instance and the second instance obtained by dividing virtual resources through MIGs, and saving the specification information to a preset database. The specification information of the first instance is the specification information of the GI, and the specification information of the second instance is the specification information of the CI.
[0065] In this embodiment, before querying the specification information of the first instance and the second instance obtained through the virtual resources partitioned by MIG, the method further includes: configuring the first instance and the second instance in a visual manner. The vGPU partitioned by MIG consists of two layers: GPU Instance (GI) and Compute Instance (CI). CI belongs to GI, and the computing units of GI can be further partitioned, but they share resources such as memory. Alternatively, the entire GI can be assigned to a single CI. The business unit ultimately uses the CI, and its corresponding specifications differ. Table 1 shows an example of GI computing unit partitioning:
[0066] Table 1
[0067]
[0068] In the table above, the GI profile is 3g.20gb, and there are two CI profiles: 1c.3g.20gb and 2c.3g.20gb.
[0069] The business logic layer retrieves CI specification information by calling server node commands and saves it to the platform database. The commands are as follows:
[0070] Query GI profile: nvidia-smi mig–lgip
[0071] Query CI profile: nvidia-smi mig–lgipp
[0072] The data types for the GI specification are shown in Table 2 below:
[0073] Table 2
[0074]
[0075] The data types for CI specifications are shown in Table 3 below:
[0076] Table 3
[0077]
[0078] Among them, SM, CE, DEC, JPEG, ENC, P2P, etc., represent the GPU device engine.
[0079] Step S23: The target node responds to the virtual resource creation request, configures and mounts the virtual resource.
[0080] In this embodiment, the virtual resource creation request is responded to based on the determined target node, and the configuration information queried in the above steps is distributed, configured, and attached to the virtual resource; refer to Figure 5 The configuration process for the GPU MIG configuration device is as follows: First, obtain cluster server node information, select a configuration node, query the profile information of the configurable MIGs on the node, and then distribute the configuration. First, obtain the cluster server node information, which consists of the first node information, the second node information, and a pre-defined list of graphics displays that support virtual resource configuration. Next, select a configuration node; specifically, the user selects the node for which the MIG needs to be configured. The GPU on the node must support MIGs. The supported MIG information for the selected configuration node can be obtained from the saved complete node information. Then, based on the queried configurable MIG specification information, distribute the configuration. Specifically, access the node's operating system via remote protocols such as SSH and distribute the GI and CI configurations. To ensure that Kubernetes can automatically obtain the specification information, the GPU device plugin on the specified node needs to be restarted. Refer to the following commands:
[0081] Create GI: nvidia-smi mig-i 0-cgi 9–C
[0082] Where: -i: specifies the parent GPU; -cgi: lists the types of child GPUs to be created; -C: creates CIs simultaneously (optional).
[0083] Create GI: nvidia-smi mig-cci 0,1-gi 1
[0084] Where: -cci: the number of the CI instance to be created; -gi: specifies the sub-GPU; at this point, the GPU specification configuration is complete.
[0085] In this embodiment, after configuring the GPU specifications, a GPU MIG specification collection device is set up. Since the GPU specifications on each node may differ, they need to be collected, aggregated, and deduplicated on the platform, which is achieved through the specification collection device. Specifically, the node vGPU specifications are obtained by calling the Kubernetes API interface, referencing the command: `Kubectl get node –ojson`; Figure 6 As shown, GPU MIG specifications 1, 2, and 3 in all nodes, including node 1 and node 2, are stored according to the attributes of each node and all are aggregated and stored in the cloud platform database. Specifically, since node 1 contains specifications 1, 2, and 3, and node 2 contains specifications 2, 3, and 4, a specification mapping table is set in the cloud platform data. The mapping relationship between specification 1 and node 1 is stored in the specification mapping table, and the mapping relationship between specification 2 and node 1 and node 2 is also stored in the specification mapping table. The overlapping specification 2 information is deduplicated, and only one copy of the specification 2 configuration information is retained in the cloud platform database.
[0086] Therefore, providing the virtual GPUs after MIG partitioning through a container cloud platform implemented with Kubernetes allows for automatic acquisition of node GPU type information via remote access protocols such as SSH, addressing the issue that the current GPU device plugin cannot obtain. It can automatically collect host GPU information and achieve automated scheduling after the user selects a specified specification. Visual configuration of GPU MIG instances and automatic aggregation of node virtual GPU specifications reduce user operation and learning costs. Innovative optimizations and supplements address Kubernetes' inability to aggregate node GPU specifications, enabling automatic aggregation and deduplication, thus improving platform usability.
[0087] Reference Figure 7 As shown, this embodiment of the invention also discloses a virtual resource configuration device for a graphics display, comprising:
[0088] The request receiving module 11 is used to receive the virtual resource creation request for the graphics display and the specification information of the virtual resource sent by the user terminal.
[0089] The node scheduling module 12 is used to schedule the virtual resource creation request to the target node through K8S and based on the specification information of the virtual resource;
[0090] The request-response module 13 is used to respond to the virtual resource creation request through the target node, and to configure and mount the virtual resource.
[0091] The request receiving module 11 is specifically used to receive specified specification information input by the user terminal as the specification information of the virtualization resource through a preset interface, and to receive the GPU virtual resource creation request sent by the user through the preset interface. It can be understood that the user inputs specified specification information through the user interface, so that the virtual resource configuration terminal receives the corresponding virtual resource specification information through the preset interface. The specified specification information can be included in the virtual resource creation request and sent to the virtual resource configuration terminal by sending the virtual resource creation request containing the specified specification information; or it can be sent to the virtual resource configuration terminal independently of the virtual resource creation request, together with the virtual resource creation request, through the preset interface.
[0092] The node scheduling module 12 is specifically used to provide cluster node information provided by the K8S (i.e., container cloud platform) layer, as well as other node information provided by the node operating system, to the business logic layer. This allows the business logic layer to, when invoked, use the collected information and based on the virtual resource specifications to schedule the virtual resource creation request to a suitable node, which is the determined target node. The specific invocation process is as follows: Figure 2 As shown, it specifically includes five layers: the interface layer, the API interface layer, the business logic layer, the underlying Kubernetes layer, and the node operating system layer. The interface layer is the user interface and can be used as part of the cloud platform interface.
[0093] API layer: The communication layer between the interface and the backend service. Interface operations access the backend service through the API interface.
[0094] Business logic layer: encapsulates business logic, calls Kubernetes interfaces and operating system interfaces to obtain underlying resources and distribute configurations, and provides API interfaces to the upper layer;
[0095] Kubernetes: A container cloud platform layer that provides information such as cluster nodes and can distribute configurations. It includes a GPU device plugin, which runs on each server node equipped with a GPU. This device-plugin is essentially a gRPC service that primarily registers resources and devices with the kubelet; updates Kubernetes when devices change; and accepts requests for third-party resources from Kubernetes and returns them to Kubernetes as parameters.
[0096] Node Operating System: Because some node information cannot be obtained or configured through the API interfaces provided by Kubernetes, such as the GPU type on the server node and the MIG configuration, the business logic layer accesses the server node operating system via a remote protocol to obtain information and issue commands. It can be understood that when a user performs corresponding interface operations at the interface layer, the API layer is called. These interface operations can specifically include command input operations, request sending operations, etc. The API layer then acts as a bridge between the interface layer and the business logic layer, accessing backend services through API interfaces; that is, the API layer consists of various API interfaces. Then, when the business logic layer receives an API access request from the interface layer, it calls the Kubernetes interface or the operating system interface, or both simultaneously. It can be understood that when calling the Kubernetes interface, it obtains underlying resources from Kubernetes or obtains configuration information issued by Kubernetes to the underlying layer; when accessing the operating system interface via a remote protocol, it directly obtains other underlying resource information from the node operating system layer or issues configuration commands to the node operating system layer. These other resources of the node operating system layer may include, but are not limited to, the GPU type of the server node.
[0097] Therefore, this application discloses receiving a virtual resource creation request for a graphics display sent by a user terminal, along with the virtual resource's specification information; scheduling the virtual resource creation request to a target node via Kubernetes based on the virtual resource's specification information; and having the target node respond to the virtual resource creation request, configuring and mounting the virtual resource. It is evident that after the user selects specific specification information for the virtual resource, the virtual resource creation request can be automatically scheduled to the corresponding node based on the selected specification information. The node's current resource specifications conform to the specified virtual resource specifications, enabling the automatic creation and mounting of container resources using that node. This achieves visual configuration and automatic scheduling of GPU virtual resources, reducing user operation and learning costs.
[0098] In some specific embodiments, the request receiving module 11 may specifically include:
[0099] The request receiving unit is used to receive specified specification information input by the user terminal through a preset interface as the specification information of the virtualized resource.
[0100] In some specific embodiments, the node scheduling module 12 may specifically include:
[0101] A node scheduling unit is used to obtain a first node that supports the configuration of virtual resources, and to select nodes that meet the specification information from the first node as target nodes.
[0102] The virtual resource creation request is scheduled to the target node via Kubernetes.
[0103] In some specific embodiments, the virtual resource configuration device for the graphics display may specifically include:
[0104] The node determination unit is used to call the K8S interface to obtain the first node information of the server node, which includes the node name, node unique identifier information and node IP address, and to obtain the second node information of the server node, which includes the node's graphics display type, through the node operating system instructions.
[0105] The first node is determined based on the first node information, the second node information, and a preset list of graphics displays that support the configuration of virtual resources.
[0106] In some specific embodiments, the virtual resource configuration device for the graphics display may specifically include:
[0107] The information query submodule is used to query and distribute the specification information of the configurable virtual resources of the first node so that K8S can obtain the specification information of the configurable virtual resources of the first node.
[0108] In some specific implementations, the information query submodule may specifically include:
[0109] The information storage unit is used to query the specification information of the first instance and the second instance obtained by splitting virtual resources through MIG, and save the specification information to a preset database.
[0110] In some specific embodiments, the virtual resource configuration device for the graphics display may specifically include:
[0111] The instance configuration unit is used to configure the first instance and the second instance in a visual manner.
[0112] Furthermore, embodiments of this application also disclose an electronic device, Figure 8 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content of the diagram should not be construed as limiting the scope of this application.
[0113] Figure 8This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. Specifically, the electronic device 20 may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the virtual resource configuration method for a graphics display disclosed in any of the foregoing embodiments. Alternatively, the electronic device 20 in this embodiment may specifically be an electronic computer.
[0114] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.
[0115] The processor 21 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 21 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 21 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 21 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 21 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0116] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored thereon can include operating system 221, computer program 222, etc., and the storage method can be temporary storage or permanent storage.
[0117] The operating system 221 manages and controls the various hardware devices and computer programs 222 on the electronic device 20 to enable the processor 21 to perform calculations and processing on the massive amounts of data 223 in the memory 22. The operating system 221 can be Windows Server, Netware, Unix, Linux, etc. The computer program 222, in addition to including a computer program capable of performing the virtual resource configuration method for the graphics display executed by the electronic device 20 as disclosed in any of the foregoing embodiments, may further include computer programs capable of performing other specific tasks. The data 223 may include data received by the electronic device from external devices, as well as data collected by its own input / output interface 25.
[0118] Furthermore, this application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the aforementioned virtual resource configuration method for a graphics display. Specific steps of this method can be found in the corresponding content disclosed in the foregoing embodiments, and will not be repeated here.
[0119] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.
[0120] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can implement the described functions using different methods for each specific application, but such implementation should not be considered beyond the scope of this application. The steps of the methods or algorithms described in connection with the embodiments disclosed herein can be implemented directly in hardware, software modules executed by a processor, or a combination of both. Software modules can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or any other form of storage medium known in the art.
[0121] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0122] The present invention provides a detailed description of a virtual resource configuration method, apparatus, device, and medium for a graphics display. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A method of configuring virtual resources of a graphical display, characterized by, include: Receive the virtual resource creation request for the graphics display and the specification information of the virtual resource sent by the user client; The virtual resource creation request is scheduled to the target node via Kubernetes and based on the specification information of the virtual resource; The target node responds to the virtual resource creation request, configures, and mounts the virtual resource. The step of scheduling the virtual resource creation request to the target node via Kubernetes and based on the virtual resource's specification information includes: Obtain the first node that supports configuring virtual resources, and select nodes that meet the specification information from the first node as target nodes; The virtual resource creation request is scheduled to the target node via Kubernetes; Before obtaining the first node that supports configuring virtual resources, the process also includes: Call the K8S interface to obtain the first node information of the server node, which includes the node name, node unique identifier information and node IP address; and obtain the second node information of the server node, which includes the node's graphics display type, through node operating system instructions. The first node is determined based on the first node information, the second node information, and a preset list of graphics displays that support the configuration of virtual resources; After determining the first node based on the first node information, the second node information, and a preset list of graphics displays that support configurable virtual resources, the process further includes: The specification information of the configurable virtual resources of the first node is queried and distributed so that K8S can obtain the specification information of the configurable virtual resources of the first node. The querying of the specification information of the configurable virtual resources of the first node includes: The specification information of the first instance and the specification information of the second instance obtained by splitting virtual resources through MIG are queried, and the specification information is saved to a preset database; wherein, the specification information of the first instance is the specification information of the GPU Instance, and the specification information of the second instance is the specification information of the Compute Instance.
2. The method of claim 1, wherein, The specification information of the virtual resources sent by the receiving user terminal includes: The specified specification information input by the user terminal is received through a preset interface as the specification information of the virtual resource.
3. The method of claim 1, wherein, Before querying the specification information of the first instance and the second instance obtained through MIG-segmented virtual resources, the process also includes: Configure the first instance and the second instance visually.
4. A virtual resource configuration device for a graphics display, characterized in that, include: The request receiving module is used to receive the virtual resource creation request for the graphics display and the specification information of the virtual resource sent by the user terminal. The node scheduling module is used to schedule the virtual resource creation request to the target node through K8S and based on the specification information of the virtual resource; The request-response module is used to respond to the virtual resource creation request through the target node, and to configure and mount the virtual resource; The node scheduling module may specifically include: A node scheduling unit is used to obtain a first node that supports the configuration of virtual resources, and to select nodes that meet the specification information from the first node as target nodes. The virtual resource creation request is scheduled to the target node via Kubernetes; The virtual resource configuration device for the graphics display may specifically include: The node determination unit is used to call the K8S interface to obtain the first node information of the server node, which includes the node name, node unique identifier information and node IP address, and to obtain the second node information of the server node, which includes the node's graphics display type, through node operating system instructions. The first node is determined based on the first node information, the second node information, and a preset list of graphics displays that support the configuration of virtual resources; The virtual resource configuration device for the graphics display may specifically include: The information query submodule is used to query and distribute the specification information of the configurable virtual resources of the first node so that K8S can obtain the specification information of the configurable virtual resources of the first node. The information query submodule may specifically include: The information storage unit is used to query the specification information of the first instance and the second instance obtained by splitting virtual resources through MIG, and save the specification information to a preset database; wherein, the specification information of the first instance is the specification information of the GPU Instance, and the specification information of the second instance is the specification information of the Compute Instance.
5. An electronic device, comprising: include: Memory, used to store computer programs; A processor for executing the computer program to implement the steps of the virtual resource configuration method for a graphics display as described in any one of claims 1 to 3.
6. A computer-readable storage medium, characterized in that, Used to store computer programs; wherein, when executed by a processor, the computer programs implement the steps of the virtual resource configuration method for a graphics display as described in any one of claims 1 to 3.
Citation Information
Patent Citations
Building method of remote real-time rendering platform based on graphics cluster
CN108388460A
Resource configuration method and device, electronic equipment and computer readable storage medium
CN113419846A