Device, program, and system
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-07
- Publication Date
- 2026-08-13
Smart Images

Figure JP2025004199_13082026_PF_FP_ABST
Abstract
Description
Devices, programs, and systems
[0001] This disclosure relates to devices, programs, and systems.
[0002] In resource-sharing services where multiple users are expected to share computing and network resources, there are known techniques for allocating computing and network resources to users in a way that optimizes predetermined metrics (for example, Non-Patent Documents 1 and 2).
[0003] L. Cheng et al., "Application-aware Routing Scheme for SDN-based Cloud Datacenters," in Procs. of ICUFN, 2015. D. Saxena et al., "OP-MLB: An Online VM Prediction-Based Multi-Objective Load Balancing Framework for Resource Management at Cloud Data Center," IEEE Trans. Cloud Comput., Vol.10, No.4, pp.2804-2816, Oct. 2022.
[0004] However, with prior art, including the technologies disclosed in Non-Patent Documents 1 and 2, it is difficult to allocate resources in a way that meets certain requirements, such as the intentions of service providers offering resource-sharing services.
[0005] This disclosure is made in view of the above points and aims to provide a technology that enables resource allocation that meets specified requirements.
[0006] An apparatus according to one aspect of the present disclosure includes: a first solution calculation unit that calculates information representing the allocation of resources to a user that simultaneously optimizes the plurality of indicators, based on information regarding the supply and demand of resources and a plurality of indicators to be optimized, as a first solution; and a second solution calculation unit that calculates a second solution that satisfies the predetermined requirements, based on the first solution and predetermined requirements.
[0007] A technique that can perform resource allocation that meets predetermined requirements is provided.
[0008] It is a diagram showing an example of the hardware configuration of the resource allocation support device according to the present embodiment. It is a diagram showing an example of the functional configuration of the resource allocation support device according to the present embodiment. It is a flowchart showing an example of the resource allocation support process according to the present embodiment.
[0009] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0010] <Prior Art and Its Problems> Resource sharing type services (e.g., public clouds, etc.) assuming that a plurality of users jointly use computing resources and network resources are known. Also, techniques for allocating computing resources and network resources to users so as to optimize predetermined indicators for resource sharing type services are known (for example, Non-Patent Documents 1 and 2, etc.). Hereinafter, the indicator to be optimized is also referred to as the "optimization target indicator".
[0011] For example, Non-Patent Document 1 discloses a technique for classifying applications according to their characteristics and network requirements, and then allocating network resources so as to minimize the physical link load, with different network requirements (delay, delay variation, etc.) for each class as constraint conditions. Also, for example, Non-Patent Document 2 discloses a technique for allocating computing resources so as to minimize an objective function represented by a linear combination of the power consumption of a physical machine, the communication cost between interdependent virtual machines, and the usage rate of computing resources.
[0012] In the technology disclosed in Non-Patent Document 1, one optimization target metric (physical link load) is selected as the objective function, and the remaining metrics (quality metrics such as delay and delay variation) are set as constraints. In this case, for the metrics set as constraints, it is necessary to specify the range of values that each metric must satisfy, for example, "delay must be 500 ms or less." However, in resource allocation for a public cloud where a wide variety of applications are running, for example, it is expected that the range of values that each quality metric must satisfy will differ for each application. Therefore, it is difficult to appropriately set the values of each quality metric for each application.
[0013] Furthermore, the technology disclosed in Non-Patent Document 2 constructs an objective function by linearly combining multiple optimization targets (power consumption, communication costs, resource utilization) that are in a trade-off relationship with each other. In this case, for example, it is necessary to set relative weights for each optimization target. However, in resource-sharing services such as public clouds, there are many indicators that are in a trade-off relationship with each other, such as power consumption and various SLA (Service Level Agreement) indicators, and the meaning and units of these indicators may also differ. In addition, the criteria for deciding which of the trade-off indicators to give more weight may change depending on the situation. For this reason, it is difficult to appropriately set the relative weight values for each optimization target.
[0014] In addition to the above, with prior art, including the technologies disclosed in Non-Patent Documents 1 and 2, it is difficult to perform resource allocation that meets the specific requirements of a service provider that provides resource-sharing services (e.g., wanting to minimize changes (migration) to the physical machines assigned to each user).
[0015] Therefore, the following describes a resource allocation support device 10 that can support resource allocation that matches the service provider's intentions when there are multiple optimization target indicators, including multiple indicators that have a trade-off relationship with each other, while assuming the service provider's intentions as a predetermined requirement. According to the resource allocation support device 10 of this embodiment, for example, it is possible to optimize multiple optimization target indicators simultaneously and perform resource allocation that matches the service provider's intentions without selecting only one indicator from multiple indicators as the optimization target indicator or combining multiple optimization target indicators. For this reason, when a service provider performs resource allocation that optimizes multiple indicators, for example, it is possible to perform well-balanced resource allocation that matches its intentions without having to judge the trade-off relationships between those indicators or which indicator to give more importance to.
[0016] However, the service provider's intentions are merely one example of the required conditions, and the conditions are not limited to those of the service provider. For example, the conditions could include the intentions of a party contracted by the service provider, the intentions of a party involved in the operation of the service in any way, or the intentions of the service user. More generally, any requirements relating to the service, including the intentions of any entity somehow related to the service, can be used.
[0017] <Example of Hardware Configuration of Resource Allocation Support Device 10> Figure 1 is a diagram showing an example of the hardware configuration of the resource allocation support device 10 according to this embodiment. As shown in Figure 1, the resource allocation support device 10 according to this embodiment includes an input device 101, a display device 102, an external I / F 103, a communication I / F 104, a RAM (Random Access Memory) 105, a ROM (Read Only Memory) 106, an auxiliary storage device 107, and a processor 108. Each of these hardware components is connected to each other via a bus 109 so as to be able to communicate.
[0018] The input device 101 is, for example, a keyboard, mouse, touch panel, or physical button. The display device 102 is, for example, a display or display panel. The resource allocation support device 10 does not necessarily have to have at least one of the input device 101 and the display device 102.
[0019] The external I / F 103 is an interface with external devices such as the recording medium 103a. Examples of recording media 103a include CDs (Compact Discs), DVDs (Digital Versatile Disks), SD memory cards (Secure Digital memory cards), and USB (Universal Serial Bus) memory cards.
[0020] The communication interface 104 is an interface for connecting to a communication network. The RAM 105 is a volatile semiconductor memory (storage device) that temporarily holds programs and data. The ROM 106 is a non-volatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. The auxiliary storage device 107 is a non-volatile storage device such as an HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory. The processor 108 is a type of arithmetic unit such as a CPU (Central Processing Unit) or GPU (Graphic Processing Unit).
[0021] Note that the hardware configuration shown in Figure 1 is just one example, and the hardware configuration of the resource allocation support device 10 is not limited to this. For example, the resource allocation support device 10 may have multiple auxiliary storage devices 107 or multiple processors 108, it may not have some of the hardware shown, or it may have various hardware other than the hardware shown.
[0022] <Example of Functional Configuration of Resource Allocation Support Device 10> Figure 2 is a diagram showing an example of the functional configuration of the resource allocation support device 10 according to this embodiment. As shown in Figure 2, the resource allocation support device 10 according to this embodiment has a supply and demand input unit 201, an objective function input unit 202, a Pareto optimal solution calculation unit 203, an intention input unit 204, a solution calculation unit 205, and an output unit 206. Each of these units is realized, for example, by processing that one or more programs installed in the resource allocation support device 10 are executed by a processor 108 or the like.
[0023] The supply and demand input unit 201 inputs resource load / requirements and resource attributes as information regarding the supply and demand of resources (computational resources (e.g., physical machines, etc.) or network resources (e.g., physical links, etc.) or both). "User" refers to devices such as terminals that utilize the resources.
[0024] Resource load / requirements include at least one of the computing resource load or requirements generated by each user at each time, and the network resource load or requirements between each user and the computing resources to which they are allocated at each time. Resource attributes also include at least one of the attributes of each computing resource at each time (e.g., CPU / GPU core count / clock speed / thread count / cache size, memory capacity / speed / type, storage capacity / speed / RAID configuration, power supply capacity / efficiency, cooling system type, etc.) and the attributes of network resources at each time (e.g., bandwidth, distance, cable type, protocol, connector / media converter type, etc.).
[0025] The objective function input unit 202 receives as an objective function a plurality of functions, each representing a plurality of optimization metrics that the user wants to optimize when allocating at least one of the computing resources and network resources to the user.
[0026] The Pareto optimal solution calculation unit 203 calculates a set of resource allocations for each user as a Pareto optimal solution set by multi-objective optimization, based on the resource load / requirements and resource attributes input by the supply and demand input unit 201 and the multiple objective functions input by the objective function input unit 202. The resource allocation for each user includes at least one of the following: information representing the allocation of computing resources (e.g., physical machines, etc.) to each user, and information representing the allocation of network resources (e.g., physical links, etc.) that constitute the path between each user and the computing resources to which they are allocated. A Pareto optimal solution is an optimal solution such that improving the value of one objective function requires worsening the value of at least one other objective function.
[0027] The intention input unit 204 inputs the service provider's intentions regarding resource allocation.
[0028] The solution calculation unit 205 calculates a unique solution or a minority solution that matches the service provider's intention, based on the Pareto optimal solution set calculated by the Pareto optimal solution calculation unit 203 and the intention input unit 204.
[0029] The output unit 206 outputs the unique solution or decimal solution calculated by the solution calculation unit 205 to a predetermined output destination.
[0030] In the example shown in Figure 2, the resource allocation support device 10, implemented on a single information processing device (computer), has all the functional units, but this is just one example. For example, the resource allocation support device 10 may be implemented on multiple information processing devices (computers), and each functional unit may be distributed among multiple information processing devices. In this case, the resource allocation support device 10 may be called, for example, a resource allocation support system.
[0031] <Example of Resource Allocation Support Processing>FIG. 3 is a flowchart showing an example of resource allocation support processing according to the present embodiment. The resource allocation support processing shown in FIG. 3 is repeatedly executed every time a predetermined condition is satisfied. Specific examples of the predetermined condition include, for example, a change in the resource demand of a user, a change in the calculation load by the user, a change in the resource attributes due to addition of a physical machine or a failure of a physical machine, and the like. In addition, any condition (e.g., one hour has elapsed after the execution of the resource allocation support processing, one day has elapsed, one week has elapsed, etc.) may be set as the predetermined condition.
[0032] The supply / demand input unit 201 inputs a resource load / requirement and a resource attribute (step S101). Hereinafter, as an example, the resource load / requirement includes the required clock count D u (t) required by each user u at each time t as a calculation resource load or requirement, and the resource attribute includes the supply clock count S h (t) of each physical machine h at each time t as an attribute of the calculation resource.
[0033] The objective function input unit 202 inputs a plurality of functions each representing a plurality of optimization indexes as objective functions (step S102). Hereinafter, as an example, the optimization indexes are the total overload f 1 (t) applied to all physical machines at each time t and the total power consumption f 2 (t) of all physical machines at each time t.
[0034] The Pareto optimal solution calculation unit 203 calculates, by multi-objective optimization, a set of resource allocations to each user as a Pareto optimal solution set based on the required clock count D u (t) and the supply clock count S h (t) input in step S101 above, and the total overload f 1 (t) and the total power consumption f 2 (t) input in step S102 above (step S103).
[0035] In step S103 above, N input in step S102 above obj (As an example, Nobj = 2) objective functions f i (t) (i=1,...,N obj The set of information representing the assignment of each physical machine h to each user u that simultaneously minimizes the following is the Pareto optimal solution set S. pareto (t) = {X pareto j (t) is calculated. Here, X pareto j (t) = (x u,h (t)) (j=1,...,M pareto ) is the j-th Pareto optimal solution at time t, and is in the form of a matrix of the number of users × the number of physical machines. Also, x u,h (t) is a decision variable regarding the allocation of physical machine h to user u at time t, for example, x u,h When (t) = 0, it means that the physical machine h has not been assigned to user u at time t, x u,h When (t) = 1, it indicates that the physical machine h was assigned to user u at time t.
[0036] Furthermore, any method used in multi-objective optimization (e.g., mathematical programming, evolutionary algorithms, deep learning, etc.) can be used to find the Pareto optimal solution.
[0037] Furthermore, there is a decision variable x regarding the assignment of each physical machine h to each user u. u,h (t) and objective function f i The relationship with (t) can be written out as a mathematical formula, for example, as follows, or the decision variable x u,h (t) and objective function f i The model may be constructed using statistical, machine learning, or deep learning methods based on observational data regarding (t).
[0038] Total overload: f 1 (t) = Σ h max{D h (t)-S h (t), 0} where D h (t) = Σ u D u (t)x u,h (t) is the required number of clock cycles for the physical machine h.
[0039] Total power consumption: f 2 (t) = Σ h P h (t) However, P h (t) = max{P idle + (P busy -P idle ) U h (t), P busy} is the power consumption of the physical machine h, P idle This is the power consumption during idle, P busy This is the peak power consumption, U h (t) = min{D h (t) / S h (t), 1} is the CPU usage of the physical machine h at time t.
[0040] The intention input unit 204 receives the service provider's intention regarding resource allocation (step S104). As an example, the service provider's intention is to "minimize changes (migrations) to the physical machines h assigned to each user u." However, this is just an example and is not limited to this; any requirements regarding the service can be used. For example, the service provider's intention may be as follows:
[0041] - Maintain a constant number of physical machines in operation (in other words, physical machines assigned to users).
[0042] - Maintain a constant power consumption level.
[0043] - Physical machines subject to emergency inspection will be excluded from allocation.
[0044] The solution calculation unit 205 calculates the Pareto optimal solution set S calculated in step S103 above. pareto (t) and the intention entered in step S104 above are used to calculate a unique solution or a minority solution that matches the intention (step S105). That is, the solution calculation unit 205 calculates the Pareto optimal solution set S pareto From (t), the unique solution X that best matches the said intention unique (t) or minority solution set S subThe calculation unit 205 calculates (t). For example, if the service provider's intention is to "minimize changes (migrations) to the physical machine h assigned to each user u", the calculation unit 205 calculates the previous resource allocation time t - T intr (However, T intr The unique solution X calculated using the resource allocation interval. unique (t-T intr ) and the set of Pareto optimal solutions S calculated at the current time t pareto Each Pareto optimal solution X included in (t) pareto j (t) (j=1,...,M pareto The Pareto optimal solution X that minimizes the number of migrations when compared with the other options. pareto j (t) is the unique solution X at the current time t. unique Calculate as (t).
[0045] If, in step S105 above, there are multiple Pareto optimal solutions that best match the service provider's intentions, then a set of minority solutions S sub (t) is calculated. However, this is just one example; for instance, the set of a predetermined number of Pareto optimal solutions that best match the service provider's preferences is the set of few solutions S. sub It may also be calculated as (t).
[0046] The output unit 206 outputs the unique solution X calculated in step S105 above. unique (t) or minority solution set S sub (t) is output to a predetermined output destination (step S106). Note that the output destination is not limited to a specific destination, but specific examples of such output destinations include a display device 102 such as a display, and the unique solution X unique Examples include a control device that performs a process to realize resource allocation at time t based on (t).
[0047] Furthermore, the resource load / requirements entered in step S101 above may include the following network resource loads or requirements, and the resource attributes may include the following network resource attributes.
[0048] Network resource load or requirements: Required bandwidth D on the physical link l between each user u and the physical machine h to which user u is assigned at each time t. l (t) Attributes of network resources: bandwidth S supplied by each physical link l at each time t l (t) and physical link length L l (t) In this case, in step S102 above, the objective function representing the optimization target index is the bandwidth utilization rate f of all physical links l at each time step. 3 (t) and the total delay time f for all users u. 4 (t) may be entered. This makes it possible to calculate a set of Pareto optimal solutions in step S103 above, which includes information representing the assignment of each physical link l that constitutes the path between each user u and the physical machine h to which user u is assigned to each user u.
[0049] <Summary> As described above, the resource allocation support device 10 according to this embodiment targets resource-sharing services such as public clouds, sets multiple optimization target indicators, including indicators that have a trade-off relationship with each other, as objective functions, and calculates a Pareto optimal solution by simultaneously optimizing these multiple objective functions. Then, the resource allocation support device 10 according to this embodiment determines the optimal or appropriate resource allocation by narrowing down the Pareto optimal solution to a unique solution or a minority solution according to the intentions of the service provider of the resource-sharing service. For this reason, by using the resource allocation support device 10 according to this embodiment, service providers can, for example, perform well-balanced resource allocation that matches their intentions without having to judge the trade-off relationships between the indicators or which indicator to prioritize when performing resource allocation that optimizes multiple indicators.
[0050] The present invention is not limited to the embodiments specifically disclosed above, and various modifications, changes, and combinations with known technologies are possible without departing from the spirit of the claims.
[0051] 10 Resource allocation support device 101 Input device 102 Display device 103 External I / F 103a Recording medium 104 Communication I / F 105 RAM 106 ROM 107 Auxiliary storage device 108 Processor 109 Bus 201 Supply and demand input unit 202 Objective function input unit 203 Pareto optimal solution calculation unit 204 Intention input unit 205 Solution calculation unit 206 Output unit
Claims
1. A device comprising: a first solution calculation unit that calculates information representing the allocation of resources to users that optimize the multiple indicators simultaneously, based on information regarding the supply and demand of resources and a plurality of indicators to be optimized, as a first solution; and a second solution calculation unit that calculates a second solution that satisfies the predetermined requirements, based on the first solution and predetermined requirements.
2. The apparatus according to claim 1, wherein the first solution calculation unit calculates a Pareto optimal solution that simultaneously optimizes the multiple indicators using multi-objective optimization as the first solution, and the second solution calculation unit calculates a Pareto optimal solution that satisfies the predetermined requirements from among the Pareto optimal solutions as the second solution.
3. A program that causes a computer to function as the device described in claim 1 or 2.
4. A system comprising: a first solution calculation unit that calculates information representing the allocation of resources to users that optimize the multiple indicators simultaneously, based on information regarding the supply and demand of resources and multiple indicators to be optimized, as a first solution; and a second solution calculation unit that calculates a second solution that satisfies the predetermined requirements, based on the first solution and predetermined requirements.