Cluster management device, cluster management method, and program
The cluster management device optimizes workload deployment in multi-cluster virtualization infrastructures by considering workload attributes and constraints, enhancing resource efficiency and flexibility for virtual base stations.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK CORPORATION
- Filing Date
- 2024-10-29
- Publication Date
- 2026-05-07
AI Technical Summary
Conventional multi-cluster virtualization infrastructures for signal processing in virtual base stations do not account for workload-specific constraints, leading to inefficient use of computing resources and low flexibility due to transmission delays and real-time processing requirements.
A cluster management device and method that searches for optimal computing devices within a multi-cluster virtualization infrastructure by considering workload attributes, cluster constraints, and resource availability, allowing for efficient deployment and reconfiguration of workloads.
The solution enables efficient operation of multiple types of workloads by optimizing resource utilization and addressing constraints, ensuring low transmission delays and real-time processing needs.
Smart Images

Figure JP2024038510_07052026_PF_FP_ABST
Abstract
Description
Cluster management device, cluster management method, and program
[0001] The present invention relates to a cluster management device, a cluster management method, and a program, and aims to provide a multi-cluster virtualization infrastructure that can efficiently operate multiple types of workloads in consideration of constraints specific to the workload. The present invention relates to a cluster management device, a cluster management method, and a program.
[0002] In recent years, the computing demand related to AI has been strong, and the scarcity of GPU servers has been extremely increasing. In addition, scheduling methods in a multi-cluster environment have been studied, and implementation methods thereof have also been provided. For example, an extended scheduler that takes into account requirements specific to workloads related to processing such as learning and inference by AI is introduced, enabling efficient utilization of GPUs.
[0003] In addition, GPUs are expected to be used not only for learning and inference by AI but also for signal processing in virtual base stations for mobile phone networks.
[0004] Furthermore, in recent years, container virtualization technology in which a program is deployed and operated on a server device in units of containers has become widespread. Container virtualization technology is applied to, for example, a system in which a plurality of programs are distributed and deployed to a plurality of server devices. In this case, for example, containers are operated as workloads on a server device.
[0005] Using such virtualization technology, a multi-cluster virtualization infrastructure, which is a virtualization infrastructure having a plurality of clusters composed of a plurality of servers, has also been realized. The virtualization infrastructure refers to a virtual environment in which physical resources such as servers and networks are abstracted and hidden using virtualization technology and prepared as a common infrastructure for a plurality of applications and services, and a system for managing those virtual environments.
[0006] In addition, a technique has been proposed that enables automatic determination of an appropriate container deployment destination in a virtualization infrastructure (see, for example, Patent Document 1). By utilizing such a technique, it is expected that scarce computing resources of GPUs can be used more efficiently.
[0007] Japanese Patent Publication No. 2019-117485
[0008] However, when attempting to utilize a multi-cluster virtualization infrastructure for signal processing in virtual base stations, different constraints arise compared to its use in AI. For example, in mobile communication networks covering a wide area, a multi-cluster virtualization infrastructure may be configured with clusters spaced hundreds of kilometers apart or even at the prefectural level for signal processing in virtual base stations. Such a multi-cluster virtualization infrastructure may involve optimal server equipment configurations and constraints depending on the type of container.
[0009] For example, when running a virtual base station container such as a vDU (virtual distributed unit), a transmission delay occurs between the physical antenna (Radio Unit: RU) and the vDU operating in the data center. Therefore, distance constraints arise between the RU and the cluster in order to keep the transmission delay within an acceptable range.
[0010] However, conventional technologies did not take into account features such as specifying clusters based on these constraints, resulting in low flexibility and sometimes preventing the most effective use of computing resources.
[0011] One aspect of the present invention aims to provide a multi-cluster virtualization infrastructure that can efficiently operate multiple types of workloads, taking into account constraints specific to those workloads.
[0012] A cluster management device according to one aspect of the present invention is a cluster management device of a multi-cluster virtualization infrastructure having multiple clusters composed of multiple computing devices, and when it receives a deployment request that requests the operation of a new workload to run on any of the multiple computing devices, and the deployment request includes workload attribute information indicating the attributes of the workload, a first search unit searches for a computing device that satisfies the deployment request by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing devices, and the device attribute information indicating the attributes of each of the multiple computing devices, and when the search by the first search unit fails The system includes a second search unit that searches for a computing device that satisfies the deployment request, on the premise of deleting or moving any of the running workloads, wherein the device attribute information includes a type ID that identifies the type according to the content of the application processing of the workload to be run on the computing device, and a cluster ID that identifies the cluster to which the computing device belongs, and the workload attribute information includes type information indicating the type according to the content of the application processing of the workload, cluster constraint information indicating constraints on the cluster on which the workload is run, priority information indicating the priority of the application processing of the workload, and interruption permission information indicating whether the application processing of the workload can be interrupted.
[0013] A cluster management method according to one aspect of the present invention is a cluster management method for a cluster management device of a multi-cluster virtualization infrastructure having multiple clusters composed of multiple computing devices, wherein when a deployment request is received that requests the operation of a new workload to be run on any of the multiple computing devices, and the deployment request includes workload attribute information indicating the attributes of the workload, a first search unit searches for a computing device that satisfies the deployment request by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing devices, and the device attribute information indicating the attributes of each of the multiple computing devices, and if the search by the first search unit fails, a second search unit searches for a computing device that satisfies the deployment request on the premise of deleting or moving any of the running workloads, wherein the device attribute information includes a type ID that identifies the type according to the content of the application processing of the workload to be run on the computing device, and a cluster ID that identifies the cluster to which the computing device belongs, and the workload attribute information includes type information indicating the type according to the content of the application processing of the workload, cluster constraint information indicating constraints related to the cluster on which the workload is run, and priority information indicating the priority of the application processing of the workload.
[0014] Each aspect of the present invention may be implemented by a computer, in which case a program that causes the computer to perform each step of the above method, and a computer-readable recording medium on which the program is recorded, also fall within the scope of the present invention.
[0015] By taking into account workload-specific constraints, we can provide a multi-cluster virtualization platform that efficiently runs multiple types of workloads.
[0016] This figure shows an example of a multi-cluster virtualization infrastructure according to this embodiment. This is a state transition diagram illustrating the control functions related to the operation and deletion of workloads of the cluster management device in Figure 1. This is a block diagram showing an example of the functional configuration of the cluster management device. This figure illustrates an example of workload attribute information. This figure illustrates an example of a basic policy set. This figure illustrates an example of an extended policy set. This figure shows an example of a deployment request using workload information. This figure illustrates the clusters and computing units included in the multi-cluster virtualization infrastructure, as well as the containers running on each computing unit. This figure illustrates an example of a deployment request using workload information. This figure illustrates the clusters and computing units included in the multi-cluster virtualization infrastructure, as well as the containers running on each computing unit. This is a flowchart illustrating an example of the deployment destination search process flow. This is a flowchart illustrating an example of the basic policy set search process flow. This is a flowchart illustrating an example of the extended policy set search process A flow. This is a flowchart illustrating an example of the extended policy set search process B flow. This figure shows an example of the configuration of a computer that executes the instructions of a program, which is software that realizes each function.
[0017] (First Embodiment) Embodiments of the present invention will be described below with reference to the drawings. Figure 1 is a diagram showing an example of a multi-cluster virtualization infrastructure 10 according to this embodiment. Here, virtualization infrastructure refers to a virtual environment prepared as a common platform for multiple applications and services by abstracting and hiding physical resources such as servers and networks using virtualization technology, and a system for managing those virtual environments.
[0018] The multi-cluster virtualization infrastructure 10 shown in Figure 1 is a virtual environment prepared as a common infrastructure for multiple applications and services, with each cluster consisting of multiple computing units serving as a common infrastructure for multiple applications and services, and further comprising multiple such clusters. As an example, in this embodiment, application processing related to training a machine learning model or inference using a machine learning model, and application processing related to a virtual base station that realizes wireless communication base station functions are executed on the multi-cluster virtualization infrastructure 10.
[0019] Hereafter, application processing related to training machine learning models or inference using machine learning models will be referred to as AI application processing, and application processing related to virtual base stations (vRAN: virtual Radio Access Network) will be referred to as vRAN application processing.
[0020] (Configuration of the multi-cluster virtualization infrastructure) The multi-cluster virtualization infrastructure 10 shown in Figure 1 has three clusters, and clusters 21, 22, and 23 are included in the multi-cluster virtualization infrastructure 10.
[0021] Cluster 21, Cluster 22, and Cluster 23 each consist of three worker nodes. A worker node may be a computing device such as a server equipped with a GPU (Graphics Processing Unit), memory, etc. In other words, the multi-cluster virtualization infrastructure 10 is configured to have multiple computing devices equipped with GPUs, which are scarce computing resources. A cluster also includes a control node that controls the cluster itself, but this is omitted here. Furthermore, the number of worker nodes is arbitrary, and three worker nodes are merely an example.
[0022] In this example, cluster 21 includes worker nodes 31-1 through 31-3, cluster 22 includes worker nodes 32-1 through 32-3, and cluster 23 includes worker nodes 33-1 through 33-3.
[0023] The cluster management device 50 stores the configuration of the multi-cluster virtualization infrastructure 10, the location of each cluster, and attribute information indicating the attributes of the worker nodes included in each cluster. The cluster management device 50 also stores attribute information indicating the attributes of the workloads running on each worker node, and controls the operation and deletion of workloads.
[0024] The cluster management device 50 may be configured, for example, by a general-purpose server device. The workload may be a container, a VM (Virtual Machine), or the like.
[0025] As described above, the multi-cluster virtualization infrastructure 10 executes AI application processing and vRAN application processing. The multi-cluster virtualization infrastructure 10 may be installed in a data center or the like as a RIC (RAN Intelligent Controller) that controls the operation of RU and DU.
[0026] For example, in mobile communication networks covering a wide area, a multi-cluster virtualization infrastructure may be configured with clusters spaced hundreds of kilometers apart or even at the prefectural level for vRAN application processing. Such a multi-cluster virtualization infrastructure may involve optimal server equipment configurations and constraints depending on the type of container. In particular, when running containers related to vRAN application processing, transmission delays occur between the physical antenna (RU) and the containers operating in the data center. Therefore, distance constraints arise between the RU and the cluster in order to keep the transmission delay within an acceptable range.
[0027] Furthermore, unlike AI application processing, vRAN application processing requires reliable execution at predetermined intervals (requiring highly real-time processing). For this reason, in a multi-cluster virtualization infrastructure that executes both vRAN and AI application processing, it is necessary to set parameter sets related to the kernel parameters of the computing unit according to the type of application processing.
[0028] (Control Functions of the Cluster Management Device) Figure 2 is a state transition diagram illustrating the control functions related to the operation and deletion of workloads of the cluster management device 50 in Figure 1.
[0029] In Figure 2 (1), the orchestrator of the cluster management device 50 accepts a request to deploy a container as a workload.
[0030] (2) The orchestrator obtains information from the multi-cluster manager regarding the status of resources in each cluster, such as the attributes of the worker nodes belonging to each cluster and the attributes of the workloads deployed on each worker node. The orchestrator also obtains information regarding the utilization of resources in each worker node included in the multi-cluster virtualization infrastructure 10, such as the processor and memory usage. The orchestrator also presents the resource status to the user as needed.
[0031] (3) The orchestrator searches for the best worker node to deploy the container that has been requested to be deployed.
[0032] (4) The orchestrator rewrites the manifest file based on the search results from (3) and pushes it to the repository.
[0033] (5) The GitOps automated deployment function detects changes to the manifest file.
[0034] (6) GitOps starts the container that was requested to be deployed according to the manifest file. In this example, the container that was requested to be deployed will be deployed on worker node 33-1 of cluster 23.
[0035] (Functional Configuration of the Cluster Management Device) Next, the configuration of the cluster management device 50 will be described. Figure 3 is a block diagram showing an example of the functional configuration of the cluster management device 50. As shown in the figure, the cluster management device 50 includes a request receiving unit 101, a resource information acquisition unit 102, a first search unit 103, a second search unit 104, a third search unit 105, and a resource control unit 106.
[0036] (Request Reception Unit) The request reception unit 101 receives, for example, requests to run a new workload (e.g., a container). Requests to run containers and the like are called deployment requests. Deployment requests are accompanied by workload attribute information, which will be described later.
[0037] The request receiving unit 101 is a functional block that corresponds to the orchestrator that receives deployment requests in (1) of Figure 2.
[0038] (Resource Information Acquisition Unit) The resource information acquisition unit 102 acquires information relating to the utilization rate of resources of each worker node included in the multi-cluster virtualization infrastructure 10, such as processors and memory. The resource information acquisition unit 102 also acquires device attribute information indicating the attributes of the worker nodes (arithmetic units), and workload attribute information indicating the attributes of the workload. The resource information acquisition unit 102 is a functional block that corresponds to the orchestrator that acquires information relating to the resource status of each cluster from the multi-cluster manager in (2) of Figure 2.
[0039] For example, device attribute information includes a type ID that identifies the type of application processing corresponding to the workload run on the computing device, and a cluster ID that identifies the cluster to which the computing device belongs.
[0040] Furthermore, as an example, workload attribute information includes type information indicating the type according to the content of the application processing of the workload (e.g., a container), cluster constraint information indicating constraints related to the cluster on which the workload is deployed, priority information indicating the priority of the application processing of the workload, and interruption permission information indicating whether the application processing of the workload can be interrupted.
[0041] Here, we will explain device attribute information and workload attribute information in more detail.
[0042] (Device Attribute Information) The type ID of the device attribute information is information that identifies the content of the application processing of the container suitable for deployment on the computing device. As described above, in this embodiment, containers related to the application processing of AI and containers related to the application processing of vRAN operate. For example, when operating a container corresponding to the application processing of vRAN, it is necessary to always maintain a high occupancy rate of the processor and the frequency of the processor in the computing device by the container, and inevitably the power consumption increases. On the other hand, when operating a container related to the application processing of AI, it is not necessary to always maintain a high utilization rate and frequency of the processor, and the power consumption can be suppressed.
[0043] It is necessary to set the parameter set of the kernel parameters of each computing device according to the characteristics of such containers. By the parameter set of the kernel parameters, for example, CPU isolation, control of clock ticks for scheduling, page size, etc. are specified. As an example, the kernel parameters may include parameters such as "isolcpus", "nohz_full", "hugepage". The setting of the parameter set of the kernel parameters is determined by how to select the value set for each of these parameters. The type ID is set, for example, as a value corresponding to the setting of the kernel parameters of the computing device.
[0044] The cluster ID of the device attribute information is information that identifies the cluster to which the computing device belongs. For example, since the worker node 33-2 belongs to the cluster 23, the cluster ID of the computing device is set to "23" or the like.
[0045] (Workload Attribute Information) FIG. 4 is a diagram for explaining an example of the workload attribute information. As shown in the figure, the workload attribute information includes "type", "locality", "location", "priority", and "integrity".
[0046] "type" indicates the type of application processing of the container. For example, it indicates whether the container is related to AI application processing or vRAN application processing. "type" corresponds to the above-mentioned type information. As an example, the data type of "type" may be String.
[0047] "locality" is a constraint related to the cluster where the container is deployed. For example, when "locality" is "1", it indicates that it needs to be deployed on the computing device of a specific cluster, and when it is "0", it indicates that it can be deployed on the computing device of any cluster. As an example, the data type of "locality" may be int {0, 1}.
[0048] "location" is information for specifying a specific cluster where the container is to be located when "locality" is "1". As an example, the data type of "location" may be String.
[0049] "locality" and "location" correspond to the above-mentioned cluster constraint information.
[0050] That is, when operating a container of a virtual base station such as a vDU, a transmission delay occurs between the physical antenna (RU) and the vDU operating in the data center. Therefore, in order to suppress the transmission delay within the allowable range, a distance constraint between the RU and the cluster occurs, and "location" and "locality" are set. Thus, based on the processing result of the multi-cluster virtualization infrastructure 10, a cluster that is connected to another device (for example, an RU) and includes a computing device that executes a workload related to the other device, and cluster constraint information is set based on the transmission delay between the cluster and the other device.
[0051] "priority" indicates the priority of the container. As an example, the data type of "priority" may be String {high, middle, low}. "priority" corresponds to the above-mentioned priority information.
[0052] "Integrity" indicates whether the application processing of the workload can be interrupted. If "Integrity" is "1", it indicates that if the process is stopped before completion, the meaning of what has been done up to that point will be lost (cannot be interrupted). For example, the data type of "Integrity" can be int {0, 1}. "Integrity" corresponds to the interruption permission information described above.
[0053] (First Search Unit) Returning to Figure 3, when the first search unit 103 receives a deployment request that requests the operation of a new workload to run on one of the multiple computing units, and which includes workload attribute information indicating the attributes of the workload, it searches for a computing unit that satisfies the deployment request by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing units, and the device attribute information indicating the attributes of each of the multiple computing units.
[0054] The first search unit 103, for example, refers to cluster constraint information included in the workload attribute information of the container related to the deployment request and identifies a cluster having a computing device to which the container should be deployed.
[0055] The first search unit 103 then refers to the type ID of the computing device within the cluster and the type information included in the workload attribute information of the container related to the deployment request, and identifies a computing device with a type ID that matches the container's type information. Furthermore, the first search unit 103 checks whether the identified computing device has sufficient capacity (e.g., available computing resources such as processors and memory) to deploy the container related to the deployment request.
[0056] In this way, if at least one computing device capable of deploying the container related to the deployment request is found, the search by the first search unit 103 is successful; if no devices are found, the search by the first search unit 103 is unsuccessful.
[0057] (Second Search Unit) If the search by the first search unit fails, the second search unit 104 searches for a computing unit that satisfies the deployment request, on the premise of deleting or moving one of the running workloads.
[0058] The second search unit 104 refers to the priority information included in the workload attribute information of the container related to the deployment request, and identifies, for example, among the computing units that match the cluster constraint information, the computing units with a type ID that matches the container type information that are running a container with a lower priority than the container related to the deployment request.
[0059] Furthermore, the second search unit 104 refers to the interruption permission information included in the workload attribute information of the low-priority container to determine whether the application processing of the low-priority container can be interrupted. This is because if the application processing of a container cannot be interrupted, the container cannot be deleted. In this case, if the application processing of the low-priority container cannot be interrupted, the second search unit 104 needs to identify another processing unit.
[0060] In this way, if at least one computing device capable of deploying the container related to the deployment request is found, the search by the second search unit 104 is successful; if no devices are found, the search by the second search unit 104 is unsuccessful.
[0061] The second search unit 104 may also move a container that is already running to another computing unit and run it there. For example, it may delete a container that is already running, redeploy (move) the deleted container to another computing unit, and as a result, search for a computing unit that is capable of deploying the container related to the deployment request.
[0062] In this case, the second search unit 104 identifies, for example, a computing device that matches the cluster constraint information and has a type ID that matches the container type information, and that is running a container that can be deployed to a computing device in another cluster. The second search unit 104 then searches for a computing device in the other cluster to which the container will be moved, and if this search is successful, it checks whether it is possible to delete the container and redeploy it to a computing device in the other cluster. In this case, the container will be moved. The second search unit 104 then checks whether the computing device that was running the moved container has sufficient capacity to deploy the container related to the deployment request.
[0063] In this way, if at least one computing device capable of deploying the container related to the deployment request is found, the search by the second search unit 104 is successful; if no devices are found, the search by the second search unit 104 is unsuccessful.
[0064] (Third Search Unit) If the search by the second search unit 104 fails, the third search unit 105 searches for a computing device that satisfies the deployment request, assuming a change in the type ID of the computing device.
[0065] The third search unit 105, for example, refers to cluster constraint information included in the workload attribute information of the container related to the deployment request and identifies a cluster having a computing device to which the container should be deployed.
[0066] The third search unit 105 then refers to the type ID of the computing device within the cluster and the type information included in the workload attribute information of the container related to the deployment request, and identifies a computing device with a type ID that does not match the container's type information. Furthermore, the first search unit 103 checks whether a container has already been deployed on the identified computing device. If a container has not already been deployed, for example, the container related to the deployment request can be deployed by changing the kernel parameter settings of the computing device to change the type ID.
[0067] In this way, if at least one computing device capable of deploying the container related to the deployment request is found, the search by the third search unit 105 is successful; if no devices are found, the search by the third search unit 105 is unsuccessful.
[0068] The first search unit 103, the second search unit 104, and the third search unit 105 are functional blocks that correspond to an orchestrator that searches for the optimal worker node, i.e., the deployment destination, for deploying the container for which a deployment request was made in (3) of Figure 2.
[0069] (Resource Control Unit) The resource control unit 106 controls the operation of containers on each computing unit included in the multi-cluster virtualization infrastructure 10. For example, the resource control unit 106 controls the deployment and deletion of containers. The resource control unit 106 also controls the setting of kernel parameters for each computing unit.
[0070] The resource control unit 106 is a functional block that corresponds to, for example, an orchestrator that rewrites the manifest file based on the search results in (4) of Figure 2 and pushes it to the repository, GitOps that detects changes to the manifest file in (5), and a multi-cluster manager that runs the containers that have been requested to be deployed according to the manifest file in (6).
[0071] Furthermore, if the search by the third search unit 105 finds a computing device capable of deploying the container related to the deployment request, the resource control unit 106 will also perform a change to the kernel parameter settings of that computing device. For example, the resource control unit 106 will perform a process to change the kernel parameter settings from those suitable for AI application processing to those suitable for vRAN application processing (or vice versa).
[0072] In other words, the computing unit is configured with a parameter set that includes parameters related to the processor's standby state when a workload is running on the computing unit, CPU isolation by workload, control of clock ticks for scheduling, and page size. It further includes a device type change control unit that changes the type ID that identifies the type of computing unit by changing the settings of the parameter set.
[0073] (Exploration Policy Set) The first exploration unit 103, the second exploration unit 104, and the third exploration unit 105 may each be implemented by having the cluster management device 50 load an exploration policy set. For example, the first exploration unit 103, the second exploration unit 104, and the third exploration unit 105 may be implemented by loading a basic policy set and an extended policy set as the exploration policy set.
[0074] (Basic Policy Set) Figure 5 illustrates an example of a basic policy set. In this example, the basic policy set includes "NodeCapacityPolicy", "LocalityPolicy", and "NodeCapacityPolicy".
[0075] The "NodeCapabilityPolicy" is a policy that determines whether the type of worker node (processing unit) matches the type of workload. In other words, it is a policy that determines whether the type information of the workload attribute information related to the deployment request matches the type ID of the device attribute information of the processing unit. The "NodeCapabilityPolicy" is checked for each processing unit included in the multi-cluster virtualization infrastructure 10, and the result of the check for processing units where both types match is True.
[0076] "LocalityPolicy" is a policy that determines whether the cluster constraints are met. In other words, it is a policy that determines whether the cluster ID in the device attribute information of the computing device matches the cluster constraint information in the workload attribute information related to the deployment request. The "LocalityPolicy" is determined for each computing device included in the multi-cluster virtualization infrastructure 10, and the determination result is True for computing devices that meet the constraints.
[0077] The "NodeCapacityPolicy" is a policy that determines whether or not there is available capacity in a worker node. In other words, it is a policy that determines whether or not there is available capacity in the computing device to deploy a new container related to a deployment request. The "NodeCapacityPolicy" is checked for each computing device included in the multi-cluster virtualization infrastructure 10, and the result of the check will be True for computing devices with available capacity.
[0078] The computing device for which the "NodeCapacityPolicy", "LocalityPolicy", and "NodeCapacityPolicy" check results are all True will be the deployment destination for the container related to the deployment request. By applying this basic policy set and performing a search for a computing device, the functionality of the first search unit 103 is realized.
[0079] (Extended Policy Set) Figure 6 illustrates an example of an extended policy set. In this example, the extended policy set includes "PodRearrangementPolicy" and "NodeReconfigPolicy".
[0080] The "PodRearrangementPolicy" is a policy that checks whether a deployment destination can be found by deleting / moving existing containers, i.e., currently running containers. The "PodRearrangementPolicy" is determined by referring to the device attribute information of each computing device included in the multi-cluster virtualization infrastructure 10 and the workload attribute information of the running containers. If a deployment destination is found, True is output as the result of the determination; otherwise, False is output as the result of the determination.
[0081] If the determination result is True, the container to be operated on and the action taken for that container (stop or move, and in the case of move, information on the destination) are output. By applying this "PodRearrangementPolicy" and performing a search on the arithmetic unit, the functions of the second search unit 104 are realized.
[0082] "NodeReconfigPolicy" is a policy that checks if a deployment target can be found by changing the type of computing device (vRAN / AI). The "NodeReconfigPolicy" is determined by referring to the resources of each computing device included in the multi-cluster virtualization infrastructure 10 (for example, information related to the usage rate of processors, memory, etc.) and device attribute information. If a deployment target is found, True is output as the result of the determination; otherwise, False is output as the result of the determination.
[0083] If the result is True, the target worker load (arithmetic unit) and the action performed on that arithmetic unit (kernel parameter setting change: AI⇒vRAN, vRAN⇒AI) will also be output.
[0084] (Specific example of search by the second search unit) Next, a specific example of search by the second search unit 104 will be explained. Suppose there is a container deployment request as shown in Figure 7. In Figure 7, the deployment request is shown using workload information. In this example, the information showing the settings for "type", "locality", "location", "priority", and "integrity" of the workload information is shown in a 4x2 table format.
[0085] Figure 8 illustrates the clusters and computing units included in a multi-cluster virtualization infrastructure, as well as the containers running on each computing unit. In the example in Figure 8, the multi-cluster virtualization infrastructure includes cluster A, cluster B, and cluster C.
[0086] Clusters A, B, and C each contain five computing units. wk1, wk2, wk3, wk4, and wk5 within each cluster represent computing units, and the "RAN" or "AI" in parentheses below wk1, wk2, ... indicates the kernel parameter settings (type of computing unit) for that computing unit. For example, wk1 in cluster A is set with kernel parameters suitable for vRAN application processing, and wk4 in cluster A is set with kernel parameters suitable for AI application processing.
[0087] Furthermore, above each rectangle representing wk1, wk2, wk3, wk4, and wk5, there is a rectangle labeled either vRAN or AI, indicating the type of container running on that computing unit. For example, in wk1 of cluster A, a vRAN container is running, and in wk4 of cluster A, an AI container is running. Also, in wk3 of cluster A, no container is running.
[0088] In reality, it is possible to deploy multiple containers on a single computing device, but for the sake of simplicity, this explanation will assume that only one container can be deployed on a single computing device. In other words, we will assume that the computing device already running a container has no available capacity.
[0089] Once a deployment request is accepted, a search for deployment targets is performed. First, a search for deployment targets with the basic policy set applied is performed.
[0090] In the deployment request shown in Figure 7, "type" is set to "AI" and "locality" to "0," so a computing device of type AI is searched for from all clusters. In this case, wk4 and wk5 in cluster A, wk3, wk4, and wk5 in cluster B, and wk4 and wk5 in cluster C are searched for as candidates. However, since these candidate computing devices are already running containers, there is no free capacity, and the result of the "NodeCapacityPolicy" determination is not True. Therefore, the search by the first search unit 103 fails.
[0091] Next, a search for deployment targets is performed with the extended policy set "PodRearrangementPolicy" applied. In this case, wk4 and wk5 of cluster A, wk3, wk4, and wk5 of cluster B, and wk4 and wk5 of cluster C are again considered as potential deployment targets.
[0092] In Figure 7, the deployment request has a "priority" set to "high," so we compare it with the priority information of the containers running on each computing unit. In this example, the "priority" of the containers running on wk4 in cluster A, wk3, wk4, and wk5 in cluster B, and wk4 and wk5 in cluster C is "normal," so these containers have a lower priority than the container related to the deployment request.
[0093] However, the "integrity" of the containers running in wk4 of cluster A, wk4 and wk5 of cluster B, and wk4 and wk5 of cluster C is "1", so the application processing of these containers cannot be interrupted. On the other hand, the "integrity" of the container running in wk3 of cluster B is "0", so the application processing of that container can be interrupted. Therefore, assuming the deletion of the running containers, wk3 of cluster B is searched as a deployment destination. In other words, the search by the second search unit 104 is successful.
[0094] In this way, the second search unit refers to the priority information and interruption status information included in the workload attribute information of the new workload and the priority information and interruption status information included in the workload attribute information of the running workload, and searches for a computing unit that has a lower priority than the priority of the new workload and satisfies the deployment request on the premise that the interruptible workload is deleted.
[0095] (Specific example of search by the third search unit) Next, a specific example of search by the third search unit 105 will be explained. Suppose there is a container deployment request as shown in Figure 9. In Figure 9, the deployment request is shown using workload information. In this example, the information showing the settings for "type", "locality", "location", "priority", and "integrity" of the workload information is shown in a 4x2 table format.
[0096] Figure 10 illustrates the clusters and computing units included in a multi-cluster virtualization infrastructure, as well as the containers running on each computing unit. In the example in Figure 10, the multi-cluster virtualization infrastructure includes cluster A, cluster B, and cluster C.
[0097] Clusters A, B, and C each contain five computing units. wk1, wk2, wk3, wk4, and wk5 within each cluster represent computing units, and the "RAN" or "AI" in parentheses below wk1, wk2, ... indicates the kernel parameter settings (type of computing unit) for that computing unit. For example, wk1 in cluster A is set with kernel parameters suitable for vRAN application processing, and wk4 in cluster A is set with kernel parameters suitable for AI application processing.
[0098] Furthermore, above each rectangle representing wk1, wk2, wk3, wk4, and wk5, there is a rectangle labeled either vRAN or AI, indicating the type of container running on that computing unit. For example, in wk1 of cluster A, a vRAN container is running, and in wk4 of cluster A, an AI container is running. Also, in wk3 of cluster A, no container is running.
[0099] In reality, it is possible to deploy multiple containers on a single computing device, but for the sake of simplicity, this explanation will assume that only one container can be deployed on a single computing device. In other words, we will assume that the computing device already running a container has no available capacity.
[0100] Once a deployment request is accepted, a search for deployment targets is performed. First, a search for deployment targets with the basic policy set applied is performed.
[0101] In the deployment request shown in Figure 9, "type" is set to "AI" and "locality" to "0," so a computing device of type AI is searched for from all clusters. In this case, wk4 and wk5 in cluster A, wk3, wk4, and wk5 in cluster B, and wk4 and wk5 in cluster C are searched for as candidates. However, since these candidate computing devices are already running containers, there is no free capacity, and the result of the "NodeCapacityPolicy" determination is not True. Therefore, the search by the first search unit 103 fails.
[0102] Next, a search for deployment targets is performed with the extended policy set "PodRearrangementPolicy" applied. In this case, wk4 and wk5 of cluster A, wk3, wk4, and wk5 of cluster B, and wk4 and wk5 of cluster C are again considered as potential deployment targets.
[0103] The deployment request in Figure 9 has a "priority" set to "normal," so it is compared with the priority information of the containers running on each computing unit. In this example, the "priority" of the containers running on wk4 of cluster A, wk3, wk4, and wk5 of cluster B, and wk4 and wk5 of cluster C is "normal," so these containers have the same priority as the container related to the deployment request. Also, the "priority" of the container running on wk5 of cluster A is "high," so it has the same high priority as the container related to the deployment request. In this case, these containers cannot be deleted or moved. Therefore, the search by the second search unit 104 also fails.
[0104] Next, a search is performed applying the extended policy set "NodeReconfigPolicy". In this case, candidate computing devices are searched from among computing devices whose type, indicated by the type ID in the device attribute information, differs from the type indicated by the type information in the workload attribute information of the deployment request. In the deployment request in Figure 9, "type" is set to "AI", so among wk1, wk2, and wk3 of cluster A, wk1 and wk2 of cluster B, and wk1, wk2, and wk3 of cluster C, computing devices that are not running a workload are considered candidates. That is, wk3 of cluster A and wk1 and wk2 of cluster B become candidates.
[0105] The first search unit 103 searches for a computing device that satisfies the deployment request, assuming a change in the type ID of wk3 of cluster A, and either wk1 or wk2 of cluster B. For example, if there are multiple candidate computing devices, one computing device is selected from the candidates according to predetermined selection rules.
[0106] For example, suppose the selection rule is to change the type ID of the computing devices in all clusters so that the proportion of any particular type among the computing devices included in the cluster does not become too high. That is, the type ID of the computing devices is changed so that the cluster type ratio, which is the total number of computing devices of type vRAN divided by the total number of computing devices of type AI in a cluster, approaches 1.
[0107] For example, if the type ID of wk3 in cluster A is changed to AI, the cluster type ratio within cluster A becomes 2 / 3. On the other hand, if the type ID of wk1 or wk2 in cluster B is changed to AI, the cluster type ratio within cluster A becomes 1 / 4. In this case, the cluster type ratio is closest to 1 when the type ID of wk3 in cluster A is changed to AI, so wk3 in cluster A is searched as the deployment target. In other words, the search by the third search unit 105 is successful.
[0108] (Deployment Destination Search Process) Next, the deployment destination search process by the cluster management device 50 of this embodiment will be described. Figure 11 is a flowchart showing an example of the flow of the deployment destination search process. This process is executed, for example, when a deployment request is received by the request reception unit 101.
[0109] In step S101, the first search unit 103 executes a basic policy set search process, which is a search process for a computing device to which the basic policy set has been applied. At this time, for example, the search process to which the basic policy set described above has been applied is executed, referring to Figure 5.
[0110] In step S102, it is determined whether the search failed based on the results of the processing in step S101. If it is determined in step S102 that the search failed, the processing in step S103 is executed.
[0111] In step S103, the second search unit 104 executes an extended policy set search process A, which is a search process that applies some of the policies from the extended policy set. At this time, for example, a search process that applies "PodRearrangementPolicy" as shown in Figure 6 is executed.
[0112] In step S104, it is determined whether the search failed based on the results of the processing in step S103. If it is determined in step S104 that the search failed, the processing in step S105 is executed.
[0113] In step S105, the third search unit 105 executes an extended policy set search process B, which is a search process that applies another policy from the extended policy set. At this time, for example, a search process that applies "NodeReconfigPolicy" as shown in Figure 6 is executed.
[0114] In step S106, it is determined whether the search failed based on the results of the processing in step S105. If it is determined in step S106 that the search failed, the processing in step S107 is executed.
[0115] In other words, if each of the three search processes fails, "Deployment not possible" is output in step S107.
[0116] On the other hand, if it is determined in steps S102, S104, and S106 that the search has not failed (i.e., the search has been successful), the process in step S108 is executed.
[0117] In step S108, the cluster management device 50 outputs an action. This includes, for example, which workload to delete on which computing device and which workload to deploy, which are described in the manifest. If a workload is moved, information related to the destination computing device is also described in the manifest.
[0118] In this way, the deployment target search process is executed.
[0119] (Basic Policy Set Discovery Process) Next, we will explain the details of the basic policy set discovery process in step S101 of Figure 11. Figure 12 is a flowchart illustrating an example of the flow of the basic policy set discovery process.
[0120] In step S121, the first search unit 103 refers to the cluster constraint information included in the workload attribute information of the container related to the deployment request and identifies the cluster having the computing device to which the container should be deployed. The first search unit 103 then refers to the type ID of the computing device in the cluster and the type information included in the workload attribute information of the container related to the deployment request and determines whether there is a computing device with a type ID that matches the container's type information.
[0121] If it is determined in step S121 that there is a target arithmetic unit, the process in step S122 is executed. On the other hand, if it is determined in step S121 that there is no target arithmetic unit, the process proceeds to step S125.
[0122] In step S122, the first search unit 103 checks whether the identified computing unit has sufficient capacity (e.g., available computing resources such as processors and memory) to deploy the container related to the deployment request.
[0123] In step S123, the first search unit 103 determines whether or not it has been confirmed that there is capacity as a result of the processing in step S122. If it is determined in step S123 that there is capacity, the process proceeds to step S124.
[0124] In other words, if the computing device has been confirmed to have sufficient capacity in step S122, the container related to the deployment request can be deployed to it, and the search is considered successful in step S124. On the other hand, if it is determined in step S123 that there is no capacity, the process proceeds to step S125. In other words, the search is considered unsuccessful in step S125. Note that the success or failure of the search may be indicated, for example, by turning a flag ON or OFF.
[0125] In this way, the basic policy set discovery process is executed.
[0126] (Extended Policy Set Discovery Process A) Next, we will explain the details of the Extended Policy Set Discovery Process A in step S103 of Figure 11. Figure 13 is a flowchart illustrating an example of the flow of the Extended Policy Set Discovery Process A.
[0127] In step S141, the second search unit 104 refers to the priority information included in the workload attribute information of the container related to the deployment request and determines, for example, whether there is a computing device with a type ID that matches the container type information among the computing devices that match the cluster constraint information. If it is determined in step S141 that there is a target computing device, the process in step S142 is executed. On the other hand, if it is determined in step S141 that there is no target computing device, the process proceeds to step S145.
[0128] In step S142, the second search unit 104 checks the priority information and interruption permission information of the containers currently running on the computing device that was determined to be the target computing device in step S141.
[0129] In step S143, the second search unit 104 determines whether the workload (container) running on the computing unit can be deleted or moved.
[0130] At this time, for example, a computing unit running a container with a lower priority than the container related to the deployment request is identified. The second search unit 104 also refers to the interruption permission information included in the workload attribute information of the lower-priority container and checks whether the application processing of the lower-priority container can be interrupted. If the container has a lower priority than the container related to the deployment request and the application processing of the container can be interrupted, it is determined that the container can be deleted. Furthermore, when moving a container, for example, a computing unit running a container that can be deployed to a computing unit in another cluster is identified. Then, a computing unit to which the container will be moved is searched in the other cluster, and if this search is successful, it is checked whether it is possible to delete the container and redeploy it to a computing unit in the other cluster.
[0131] If it is determined in step S143 that the workload can be deleted or moved, the process proceeds to step S144.
[0132] In other words, if the container related to the deployment request can be deployed to the computing unit running the workload that was determined to be deleteable or moveable in step S143, the search is considered successful in step S144. On the other hand, if it is determined in step S143 that the workload is not deleteable or moveable, the process proceeds to step S125. In other words, the search is considered unsuccessful in step S145. Note that the success or failure of the search may be indicated, for example, by turning a flag ON or OFF.
[0133] In this way, the extended policy set discovery process A is executed.
[0134] (Extended Policy Set Search Process B) Next, we will explain the details of the extended policy set search process B in step S105 of Figure 11. Figure 14 is a flowchart illustrating an example of the flow of the extended policy set search process B.
[0135] In step S161, the third search unit 105 refers to, for example, the cluster constraint information included in the workload attribute information of the container related to the deployment request, and identifies the cluster having the computing device to which the container should be deployed. The third search unit 105 then refers to the type ID of the computing device in the cluster and the type information included in the workload attribute information of the container related to the deployment request, and determines whether or not there is a computing device with a type ID different from the container's type information.
[0136] If it is determined in step S161 that there is a target arithmetic unit, the process in step S162 is executed. If it is determined in step S161 that there is a target arithmetic unit, the process proceeds to step S164.
[0137] In step S162, the first search unit 103 determines whether a workload (container) is already running on the target computing device.
[0138] If it is determined in step S162 that the workload is not running, the process proceeds to step S163. That is, if the container is not running, it becomes possible to deploy the container related to the deployment request by changing the kernel parameter settings of the computing device and changing the type ID, so the search is considered successful in step S163. On the other hand, if it is determined in step S162 that the workload is running, the process proceeds to step S164. That is, the search is considered unsuccessful in step S164. Note that the success / failure of the search may be indicated, for example, by turning a flag ON / OFF.
[0139] In this way, the extended policy set discovery process B is executed.
[0140] (Effects of this embodiment) Conventionally, GPUs have been used when executing AI application processing, but in recent years they have also been used when executing vRAN application processing for mobile wireless communication. For example, when attempting to use a multi-cluster virtualization infrastructure for signal processing in a virtual base station, different constraints arise compared to their use in AI.
[0141] For example, in mobile communication networks covering a wide area, a multi-cluster virtualization infrastructure may be configured with clusters spaced hundreds of kilometers apart or even at the prefectural level for vRAN application processing. Such a multi-cluster virtualization infrastructure may involve optimal server equipment configurations and constraints depending on the type of container. In particular, when running containers related to vRAN application processing, transmission delays occur between the physical antenna (RU) and the containers operating in the data center. Therefore, distance constraints arise between the RU and the cluster in order to keep the transmission delay within an acceptable range.
[0142] Furthermore, unlike AI application processing, the immediacy of processing is extremely important for vRAN application processing. For this reason, vRAN application processing always requires high frequencies and a large amount of computing resources, and consumes a large amount of power. In other words, in a multi-cluster virtualization infrastructure that runs both vRAN and AI application processing, it is necessary to set the parameter set of the kernel parameters of the computing unit according to the type of application processing.
[0143] According to this embodiment, in a cluster management device of a multi-cluster virtualization infrastructure having multiple clusters composed of multiple computing devices, when a deployment request is received that requests the operation of a new workload to run on one of the multiple computing devices, and the deployment request includes workload attribute information indicating the attributes of the workload, a computing device that satisfies the deployment request is searched for by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing devices, and the device attribute information indicating the attributes of each of the multiple computing devices. If the search by the first search unit fails, a computing device that satisfies the deployment request is searched for on the premise of deleting or moving one of the running workloads.
[0144] Therefore, workloads can be deployed to the appropriate computing unit, taking into account cluster constraints. Furthermore, workloads can be deployed to the appropriate computing unit depending on the type of application processing. Additionally, it becomes possible to search for deployment destinations while considering priority and interruption tolerance, with the assumption that running workloads will be deleted or moved.
[0145] Therefore, according to this embodiment, scarce computing resources can be utilized more effectively, and a multi-cluster virtualization platform can be provided that efficiently operates multiple types of workloads while taking into account the constraints specific to the workload.
[0146] (Second Embodiment) In the first embodiment, an example was described in which two types of application processing are executed on a multi-cluster virtualization infrastructure, but it is also possible to execute three or more types of application processing.
[0147] Furthermore, while the first embodiment described an example in which each cluster included in the multi-cluster virtualization infrastructure includes the same number of computing devices, the number of computing devices included in each cluster may differ from one another.
[0148] (Example of implementation by software) The cluster management device 50 described above is a program for making a computer function, and can be implemented by a program for making a computer function as a cluster management device 50. In this case, the cluster management device 50 includes a computer having at least one control device (e.g., a processor) and at least one storage device (e.g., memory) as hardware for executing the above program. An example of such a computer is shown in Figure 15.
[0149] The computer 500 includes at least one processor 501 and at least one memory 502. The memory 502 stores a program 520 for operating the computer 500 as a cluster management device 50. In the computer 500, the processor 501 reads and executes this program 520 from the memory 502, thereby realizing the various functions of the cluster management device 50.
[0150] The processor 501 can be, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an MPU (Micro Processing Unit), an FPU (Floating Point Number Processing Unit), a PPU (Physics Processing Unit), a microcontroller, or a combination thereof.
[0151] For memory 502, for example, flash memory, HDD (Hard Disk Drive), SSD (Solid State Drive), or a combination thereof can be used.
[0152] Furthermore, the computer 500 may also be equipped with RAM (Random Access Memory) for deploying the program 520 at runtime and for temporarily storing various data. The computer 500 may also be equipped with a communication interface for sending and receiving data with other devices. Furthermore, the computer 500 may also be equipped with an input / output interface for connecting input / output devices such as a keyboard, mouse, display, and printer.
[0153] Furthermore, the program 520 for operating the computer 500 as a cluster management device 50 can be recorded on a tangible, non-temporary recording medium 530 that the computer 500 can read. Such a recording medium 530 could be, for example, a tape, disk, card, semiconductor memory, or a programmable logic circuit. The computer 500 can retrieve the program 520 via such a recording medium 530.
[0154] Furthermore, the program 520 for operating the computer 500 as a cluster management device 50 can be transmitted via a transmission medium. Such a transmission medium can be, for example, a communication network or broadcast waves. The computer 500 can also acquire the program 520 via such a transmission medium.
[0155] Furthermore, some or all of the functions of the cluster management device 50 can also be implemented by logic circuits. For example, an integrated circuit in which logic circuits functioning as the above-mentioned control blocks are formed is also included in the scope of the present invention. In addition, it is also possible to implement the functions of the above-mentioned control blocks by, for example, a quantum computer.
[0156] According to each aspect of the present invention described above, by achieving the effects described above, it is possible to contribute to the achievement of Sustainable Development Goal (SDG) 9, "Build resilient infrastructure, promote inclusive and sustainable industrialization and foster technological innovation."
[0157] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included within the technical scope of the present invention.
[0158] 〔summary〕 A cluster device according to aspect 1 of the present invention is a cluster management device of a multi-cluster virtualization infrastructure having multiple clusters composed of multiple computing devices, and when it receives a deployment request that requests the operation of a new workload to be run on any of the multiple computing devices, and the deployment request includes workload attribute information indicating the attributes of the workload, it includes a first search unit that searches for a computing device that satisfies the deployment request by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing devices, and device attribute information indicating the attributes of each of the multiple computing devices, and if the search by the first search unit fails, it includes a second search unit that searches for a computing device that satisfies the deployment request on the premise of deleting or moving any of the running workloads, wherein the device attribute information includes a type ID that identifies the type according to the content of the application processing of the workload to be run on the computing device, and a cluster ID that identifies the cluster to which the computing device belongs, and the workload attribute information includes type information indicating the type according to the content of the application processing of the workload, cluster constraint information indicating constraints on the cluster running the workload, priority information indicating the priority of the application processing of the workload, and interruption permission information indicating whether the application processing of the workload can be interrupted.
[0159] In the cluster device according to embodiment 2 of the present invention, in embodiment 1 described above, the second search unit refers to the priority information and interruption permission information included in the workload attribute information of the new workload and the priority information and interruption permission information included in the workload attribute information of the running workload, and searches for a computing device that has a lower priority than the priority of the new workload and satisfies the deployment request on the premise of deleting the interruptible workload.
[0160] A cluster device according to embodiment 3 of the present invention, in embodiment 1 or 2 above, further comprises a device type change control unit which has a parameter set set that includes parameters related to the standby state of the processor when a workload is run on the arithmetic device, CPU isolation by the workload, control of clock ticks for scheduling, or specification of page size, and which changes the type ID that identifies the type of arithmetic device by changing the setting of the parameter set.
[0161] A cluster device according to aspect 4 of the present invention further comprises, in aspect 3 above, a third search unit that, if the search by the second search unit fails, searches for a computing device that satisfies the deployment request, on the premise of changing the type ID of the computing device.
[0162] In any of the above embodiments 1 to 4, the cluster device is connected to other devices that operate based on the processing results of the multi-cluster virtualization infrastructure, and the cluster constraint information is set based on the transmission delay between the cluster, which includes the computing unit that executes the workload related to the other devices, and the other devices.
[0163] The cluster device according to embodiment 6 of the present invention, in any of embodiments 1 to 5 above, includes at least a first type and a second type, wherein the type according to the content of the application processing of the workload includes at least a first type and a second type, the first type corresponds to application processing related to training a machine learning model or inference using the machine learning model, and the second type corresponds to application processing related to vRAN (virtual Radio Access Network).
[0164] In the cluster device according to embodiment 7 of the present invention, each of the computing units in any of embodiments 1 to 6 above has a GPU (Graphics Processing Unit).
[0165] A clustering method according to aspect 8 of the present invention is a clustering method for a cluster management device of a multi-cluster virtualization infrastructure having multiple clusters composed of multiple computing devices, wherein when a deployment request is received that requests the operation of a new workload to be run on any of the multiple computing devices, and the deployment request includes workload attribute information indicating the attributes of the workload, a first search unit searches for a computing device that satisfies the deployment request by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing devices, and the device attribute information indicating the attributes of each of the multiple computing devices, and if the search by the first search unit fails, a second search unit searches for a computing device that satisfies the deployment request on the premise of deleting or moving any of the running workloads, wherein the device attribute information includes a type ID that identifies the type according to the content of the application processing of the workload to be run on the computing device, and a cluster ID that identifies the cluster to which the computing device belongs, and the workload attribute information includes type information indicating the type according to the content of the application processing of the workload, cluster constraint information indicating constraints on the cluster running the workload, and priority information indicating the priority of the application processing of the workload.
[0166] A program according to aspect 9 of the present invention is a computer in a cluster management device of a multi-cluster virtualization infrastructure having multiple clusters composed of multiple computing units, which receives a deployment request that requests the operation of a new workload to run on any of the multiple computing units, and which includes workload attribute information indicating the attributes of the workload, and includes a first search unit that searches for a computing unit that satisfies the deployment request by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing units, and the device attribute information indicating the attributes of each of the multiple computing units, and if the search by the first search unit fails, it searches for a computing unit that is currently running The system includes a second search unit that searches for a computing device that satisfies the deployment request, premised on the deletion or movement of any of the workloads, wherein the device attribute information includes a type ID that identifies the type according to the content of the application processing of the workload to be run on the computing device, and a cluster ID that identifies the cluster to which the computing device belongs, and the workload attribute information functions as a cluster management device that includes type information indicating the type according to the content of the application processing of the workload, cluster constraint information indicating constraints related to the cluster on which the workload is run, priority information indicating the priority of the application processing of the workload, and interruption permission information indicating whether the application processing of the workload can be interrupted.
[0167] 10 Multi-cluster virtualization infrastructure 21 to 23 Clusters 31-1 to 31-3 Worker nodes 32-1 to 32-3 Worker nodes 33-1 to 33-3 Worker nodes 50 Cluster management device 101 Request reception unit 102 Resource information acquisition unit 103 First search unit 104 Second search unit 105 Third search unit 106 Resource control unit
Claims
1. In a cluster management device of a multi-cluster virtualization infrastructure having multiple clusters composed of multiple computing units, when a deployment request is received that requests the operation of a new workload to be run on any of the multiple computing units, and the deployment request includes workload attribute information indicating the attributes of the workload, the device management device includes: a first search unit that searches for a computing unit that satisfies the deployment request by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing units, and device attribute information indicating the attributes of each of the multiple computing units; and, if the search by the first search unit fails, a second search unit that searches for a computing unit that satisfies the deployment request on the premise of deleting or moving any of the running workloads, wherein the device attribute information includes a type ID that identifies the type according to the content of the application processing of the workload to be run on the computing unit, and a cluster ID that identifies the cluster to which the computing unit belongs. The cluster management device includes workload attribute information, which includes type information indicating the type according to the content of the application processing of the workload, cluster constraint information indicating constraints on the cluster on which the workload is running, priority information indicating the priority of the application processing of the workload, and interruption permission information indicating whether the application processing of the workload can be interrupted.
2. The cluster management device according to claim 1, wherein the second search unit refers to the priority information and interruption / cancellation information included in the workload attribute information of the new workload and the priority information and interruption / cancellation information included in the workload attribute information of the running workload, and searches for a computing unit that has a lower priority than the priority of the new workload and satisfies the deployment request on the premise of deleting the interruptible workload.
3. The cluster management device according to claim 1, wherein the computing device is configured with a parameter set that includes parameters related to CPU isolation when a workload is run on the computing device, control of clock ticks for scheduling, or specification of page size, and further comprises a device type change control unit that changes the type ID that identifies the type of computing device by changing the settings of the parameter set.
4. The cluster management device according to claim 3, further comprising: a third search unit that, if the search by the second search unit fails, searches for a computing device that satisfies the deployment request, on the premise of changing the type ID of the computing device.
5. The cluster management device according to claim 1, wherein the cluster includes a computing unit that is connected to other devices that operate based on the processing results of the multi-cluster virtualization infrastructure and executes workloads related to the other devices, and the cluster constraint information is set based on the transmission delay between the other devices.
6. The cluster management device according to claim 1, wherein the types according to the content of the application processing of the workload include at least a first type and a second type, the first type corresponds to application processing related to training a machine learning model or inference using the machine learning model, and the second type corresponds to application processing related to vRAN (virtual Radio Access Network).
7. The cluster management device according to claim 1, wherein each of the computing units has a GPU (Graphics Processing Unit).
8. A cluster management method for a cluster management device of a multi-cluster virtualization infrastructure having multiple clusters composed of multiple computing devices, wherein when a deployment request is received that requests the operation of a new workload to be run on any of the multiple computing devices, and the deployment request includes workload attribute information indicating the attributes of the workload, the first search unit searches for a computing device that satisfies the deployment request by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing devices, and the device attribute information indicating the attributes of each of the multiple computing devices; and if the search by the first search unit fails, the second search unit searches for a computing device that satisfies the deployment request on the premise of deleting or moving any of the running workloads, wherein the device attribute information includes a type ID that identifies the type according to the content of the application processing of the workload to be run on the computing device, and a cluster ID that identifies the cluster to which the computing device belongs, and the workload attribute information includes type information indicating the type according to the content of the application processing of the workload, cluster constraint information indicating constraints relating to the cluster on which the workload is run, and priority information indicating the priority of the application processing of the workload.
9. A cluster management device of a multi-cluster virtualization infrastructure having multiple clusters composed of multiple computing units, when it receives a deployment request that requests the operation of a new workload to run on any of the multiple computing units, and which includes workload attribute information indicating the attributes of the workload, the device includes: a first search unit that searches for a computing unit that satisfies the deployment request by referring to the workload attribute information of the new workload, the workload attribute information of the workloads currently running on the multiple computing units, and device attribute information indicating the attributes of each of the multiple computing units; and, if the search by the first search unit fails, a second search unit that searches for a computing unit that satisfies the deployment request on the premise of deleting or moving any of the running workloads, wherein the device attribute information includes a type ID that identifies the type according to the content of the application processing of the workload to be run on the computing unit, and a cluster ID that identifies the cluster to which the computing unit belongs. The workload attribute information is a program that functions as a cluster management device, including type information indicating the type according to the content of the application processing of the workload, cluster constraint information indicating constraints on the cluster on which the workload runs, priority information indicating the priority of the application processing of the workload, and interruption permission information indicating whether the application processing of the workload can be interrupted.