Resource determination device, method and program
The resource determination device and method address the challenge of accurately calculating resource allocations in VDI environments by using a model to relate resource allocation, processing loads, and performance, resulting in high-accuracy resource allocation calculations that enhance resource usage and user experience.
Patent Information
- Application Number
- JP2023508307
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-25
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2041-03-25
AI Technical Summary
In VDI environments, existing methods struggle to accurately calculate resource allocation due to limited variation in resource allocation in past log data, making it difficult to express the relationship between resource amounts and performance effectively.
A resource determination device and method that utilize a model showing the relationship between virtual machine resource allocation, multiple types of processing loads, and processing performance. This involves extracting a type of processing load highly related to performance, deriving a function based on this relationship, and calculating the processing load for specified resource arrangements to determine appropriate resource allocations.
Enables high-accuracy calculation of resource allocations that meet performance requirements, improving resource usage and user experience in VDI environments.
Smart Images

Figure 0007647870000005 
Figure 0007647870000006 
Figure 0007647870000007
Abstract
Description
[Technical field]
[0001] SUMMARY OF THE PRESENT EMBODIMENT An embodiment of the present invention relates to a resource determination device, a method, and a program. [Background technology]
[0002] In a VDI (Virtual Desktop Infrastructure) environment, it is necessary to calculate the amount of resources that can be appropriately allocated according to performance requirements, for example, the number of VMs (Virtual Machines) that can be placed on a host.
[0003] In order to automatically calculate these resource amounts, a method can be applied in which a learning model is trained to express the relationship, i.e., dependencies, between resource amounts, workload, and performance, which is processing capability, and this model is used to calculate, i.e., to back-calculate, the amount of resources to be allocated according to specified performance requirements (see, for example, non-patent document 1). [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] C. Wu, H. Shingo, K. Tayama, “A Resource Design Framework to Realize Intent-based Cloud Management,” IEEE Cloudcom 2019, Sydney, December 2019, p37-44. Summary of the Invention [Problem to be solved by the invention]
[0005] When training a model, past log data can be used, but in actual VDI operations, operations that significantly change the number of VMs are not performed, so there is very little variation in the amount of resources allocated within the past log data. Therefore, the relationship between resource amount and performance cannot be accurately expressed in the model, and it is difficult to use the learning model to calculate with high accuracy the amount of resources to be allocated in accordance with performance requirements.
[0006] The present invention has been made in light of the above-mentioned circumstances, and an object of the present invention is to provide a resource determination device, method, and program that are capable of calculating the amount of resources to be allocated with high accuracy. [Means for solving the problem]
[0007] The resource determination device according to one aspect of the present invention is a device for determining whether a resource allocation of a virtual machine is possible or not by calculating a model indicating a relationship between a resource allocation of a virtual machine, a plurality of types of processing loads of the virtual machine, and a processing performance of the virtual machine. An apparatus using an extraction unit that extracts a type of processing load that is relatively highly related to the processing performance from among the multiple types of processing loads; and time zone a function derivation unit that derives a function having a return value that is a processing load related to the type extracted by the extraction unit, using the above-mentioned function as an argument; and During a specified time period The processing load in the specified resource allocation is calculated, and the calculated processing load is input to the model, thereby And during the specified time period and a determination unit that calculates the processing performance of the resource allocation and determines that the specified resource allocation is an appropriate resource allocation if the calculated processing performance satisfies a requirement for the processing performance.
[0008] A resource determination method according to an aspect of the present invention is performed by a resource determination device that uses a model indicating a relationship between resource allocation of a virtual machine, a plurality of types of processing loads of the virtual machine, and processing performance of the virtual machine. circle A method for The extraction unit of the resource determination device extracting a type of processing load that is relatively highly related to the processing performance from among the plurality of types of processing load; A function derivation unit of the resource determination device The resource allocation and time zone With the above as an argument, By the extraction section Deriving a function that returns a processing load related to the extracted type; A determination unit of the resource determination device The above By the function derivation part Based on the derived functions, During a specified time period The processing load in the specified resource allocation is calculated, and the calculated processing load is input to the model, thereby And during the specified time period and if the calculated processing performance satisfies a requirement for the processing performance, determining that the specified resource allocation is an appropriate resource allocation. Effect of the Invention
[0009] According to the present invention, the amount of resources to be allocated can be calculated with high accuracy. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a block diagram showing an application example of a resource determination device according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram illustrating an example of the relationship between the feature amount and the performance for a model. [Diagram 3] FIG. 3 is a diagram showing, in a table format, an example of the number of VMs, the host CPU (Central Processing Unit) usage rate, and the host disk usage status at each time in past log data. [Figure 4]FIG. 4 is a diagram showing, in the form of a table, an example of the host CPU utilization rate per unit number of VMs and the host disk utilization status per unit number of VMs at each time. [Diagram 5] FIG. 5 is a diagram illustrating an example of input and output by an optimal VM number calculation unit of a resource determination device according to an embodiment of the present invention. [Figure 6] FIG. 6 is a flow chart showing an example of a processing operation by the optimal VM number calculation unit of the resource determination device according to one embodiment of the present invention. [Figure 7] FIG. 7 is a diagram showing an example of a comparison result between a predicted value and an actual value of performance by a resource determination device according to an embodiment of the present invention. [Figure 8] FIG. 8 is a block diagram showing an example of a hardware configuration of a resource determination device according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an application example of a resource determination device according to an embodiment of the present invention. As shown in FIG. 1, a resource determination device 10 according to an embodiment of the present invention includes a model generation unit 11, an optimal VM number calculation unit 12, a highly relevant feature extraction unit 13, and a VM number function derivation unit . In this embodiment, the resource determination device 10 extracts or narrows down types of resource features (hereinafter sometimes referred to as features) that have a relatively high correlation with performance (hereinafter sometimes referred to as highly correlated features), for example, host CPU utilization, from among the types of resource features (hereinafter sometimes referred to as features), and derives the relationship between these types of highly correlated features and resource amounts.
[0012] The resource determination device 10 can predict performance in a situation where a certain amount of resources is allocated based on the type of feature that is highly related to performance, and can therefore calculate with high accuracy the amount of resources that satisfies the performance requirement.
[0013] Specifically, the resource determining device 10 first analyzes the relationship between the performance and the feature quantities of types other than the resource amount, and narrows down the types of feature quantities that are highly related to the performance. Next, the resource determining device 10 derives, for each of these types of feature quantities, a function that uses at least the resource quantity as an argument and takes the feature quantity of the type as a return value. The resource determination device 10 predicts performance from features using a trained model that is used to calculate the types of features that are highly related to performance when a certain amount of resources is allocated, and as a result, it is possible to derive the amount of resources that satisfies the performance requirements.
[0014] By performing the above predictions, it is possible to calculate with high accuracy the amount of resources to be allocated in accordance with the VDI performance requirements, even if there is a lack of variation in the amount of resources to be allocated in the log data. This is expected to reduce the workload when calculating the amount of allocated resources by the VDI operator, to improve the efficiency of resource utilization, and to improve the quality of experience for VDI users.
[0015] In this embodiment, in order to calculate the amount of resources to be allocated in a VDI scenario, the following processing is performed. In this embodiment, we will explain the case where it is applied to calculating the "optimum number of VMs per host" (abbreviated as optimal VM number), which is a typical amount of resource that can be allocated in a VDI environment, but it can also be applied to calculating other resource amounts in other VDI environments.
[0016] As a premise, the model generation unit 11 has already collected past log data regarding the following feature variables and objective variables from the VDI environment. The model generation unit 11 trains a model expressing the following feature variables and objective variables using the collected past log data. This trained model is stored in the internal memory of the resource determination device 10 or in a separate storage device, for example, an external storage device.
[0017] The feature variables of the model include resource allocation and workload. Specifically, the resource allocation includes the number of VMs allocated to the host. More specifically, the workload includes the host CPU utilization rate, memory utilization rate, disk utilization status, and network traffic.
[0018] The objective variables of the model are the VDI performance when the resource allocation and workload indicated by the feature variables are assigned, specifically, the host CPU ready time, the host disk write latency, and the host disk read latency.
[0019] The optimal VM number calculation unit 12 uses a VM number function described later according to the settable number of VMs and also uses a model generated by the model generation unit 11 to calculate performance for the set number of VMs, and stores the number of VMs that can satisfy all performance requirements as an appropriate VM number among the various set numbers of VMs. Moreover, the optimal VM number calculation unit 12 sets the maximum number of VMs among the appropriate numbers of VMs as the optimal VM number and outputs it.
[0020] In this embodiment, the resource determination device 10 indirectly calculates the optimal number of VMs by using the dependency relationship between the performance and other characteristic amounts other than the number of VMs, and the dependency relationship between these other characteristic amounts and the number of VMs.
[0021] Next, an overview of the functions of the highly relevant feature extraction unit 13 and the VM number function derivation unit 14 will be described. The highly relevant feature extraction unit 13 of the resource determination device 10 selects a type of highly relevant feature that is highly relevant to performance, which is the objective variable of the model. The VM number function derivation unit 14 derives a function for each of the selected types, using the number of VMs and time, for example, time or date and time, as arguments and taking the feature amount of the type as a return value. In this embodiment, this function is sometimes referred to as a VM number function.
[0022] When any of the numbers of VMs that can be set by the user is set, the optimal VM number calculation unit 12 of the resource determination device 10 calculates the value of the highly relevant feature at any time, for example, the host CPU utilization rate and the host disk utilization rate, based on the product of the number of VMs and a function that takes time as an argument and returns the highly relevant feature for each unit number of VMs.
[0023] The optimum VM number calculation unit 12 inputs the calculation result as a feature variable of the model generated by the model generation unit 11, and predicts performance at an arbitrary time, for example, host CPU ready time, as a target variable of the model. Then, the optimum VM number calculation unit 12 calculates the optimum number of VMs based on the number of VMs when the predicted performance satisfies the performance requirement.
[0024] Next, the functions of the highly relevant feature extracting unit 13 and the VM number function deriving unit 14 will be described in detail. In detail, the highly relevant feature extraction unit 13 acquires features other than the number of VMs, such as variations in host CPU utilization rate, memory utilization rate, disk utilization status, etc., as well as the dependency relationships between these features and performance, for example, from the internal memory of the resource determination device 10 or a separate storage device. Based on the obtained results, the highly relevant feature extraction unit 13 selects, from these feature amounts, a type of feature amount that has a high degree of dependency on performance.
[0025] The dependency between features and performance can be identified by various methods, one of which is to calculate the existing Pearson product-moment correlation coefficient and determine the correlation between features and performance based on the results of the calculation.
[0026] The VM number function derivation unit 14 derives a function using the number of VMs and time as arguments and using the highly relevant feature of the type selected by the highly relevant feature extraction unit 13 as a return value. FIG. 2 is a diagram illustrating an example of the relationship between the feature amount and the performance for a model. In the example shown in Fig. 2, the host CPU utilization rate and the host disk utilization status are selected as types of highly relevant features for the host CPU ready time, which is a performance (see symbols a and b in Fig. 2). The host disk utilization status is also called the host disk utilization rate. The functions that return the feature quantities of these types are derived by defining them for each type as functions that take the number of VMs and time as arguments. Note that in the example shown in Figure 2, the degree of correlation between the number of VMs and the host CPU ready time is unclear (see symbol c in Figure 2).
[0027] In the example shown in Fig. 2, a function that takes the number of VMs and time as arguments and returns the host CPU utilization rate is represented as "f(number of VMs, time)". Also, a function that takes the number of VMs and time as arguments and returns the host disk utilization status is represented as "g(number of VMs, time)".
[0028] There are several patterns for defining a function that returns a highly relevant feature and deriving the feature. Assuming that VDI users are homogeneous and that "each VM in the same host imposes the same load," it is possible to assume that the host resource utilization rate is proportional to the number of VMs, and the above function f (number of VMs, time) can be converted as shown in the following formula (1). In other words, a function that takes the number of VMs and time as arguments and returns the host CPU utilization rate can be converted into the sum of the product of a function that takes time as an argument and returns the host CPU utilization rate in a VM per unit amount, the number of VMs, and the value e, which will be described later. f(number of VMs, time)=number of VMs*f´(time)+e...Formula (1)
[0029] Similarly, the above function g (number of VMs, time) can be converted into the following formula (2): That is, the function that takes the number of VMs and time as arguments and returns the host disk usage status can be converted into the sum of the product of the number of VMs and a function that takes time as an argument and returns the host disk usage status in a VM per unit amount as a return value, and a value e, which will be described later. g(number of VMs, time)=number of VMs*g´(time)+e...Formula (2) In equation (1), f' (time) is the host CPU utilization rate per unit number of VMs at a certain time, and g' (time) in equation (2) is the host disk utilization rate per unit number of VMs at a certain time.
[0030] The value e in equations (1) and (2) represents workloads that occur under conditions other than the host running VMs, such as the amount of CPU usage that occurs when running a host OS (Operating System). e is adjustable to improve the accuracy of the algorithm.
[0031] There are various methods for calculating f' (time) in equation (1) and g' (time) in equation (2). In order to predict future performance, it is necessary to predict various information of the workload. In this embodiment, under the same conditions, for example, on the same day of the week, the workload does not change, and for example, the way in which a user uses resources does not change at the same time of day, f'(time) can be derived as a function whose return value is the CPU utilization rate per unit number of VMs by dividing the host CPU utilization rate at each time by the number of VMs from past log data.
[0032] Similarly, under the same conditions, for example, on the same day of the week as above, assuming that the workload does not change, g' (time) can be derived as a function whose return value is the host disk usage per unit number of VMs by dividing the host disk usage at each time from past log data by the number of VMs.
[0033] Furthermore, without being limited to the above example, for example, the above f' (time) and g' (time) may be derived as a function whose return value is the resource utilization rate per unit number of VMs at any future time using a time series forecasting technique.
[0034] FIG. 3 is a diagram showing, in a table format, an example of the number of VMs, the host CPU usage rate, and the host disk usage status at each time in past log data. The example shown in FIG. 3 shows the relationship between the number of VMs running at each time in the past, the host CPU usage rate for the running VMs, and the host disk usage status for the running VMs.
[0035] FIG. 4 is a diagram showing, in the form of a table, an example of the host CPU utilization rate per unit number of VMs and the host disk utilization status per unit number of VMs at each time. In the example shown in Fig. 4, the relationship between each time and the host CPU utilization rate per unit number of VMs corresponds to the function f' (time) shown in the above formula (1). The host CPU utilization rate per unit number of VMs shown in Fig. 4 is a value obtained by dividing the host CPU utilization rate shown in Fig. 3 at each time by the number of VMs operating at the same time, under the assumption that e in the above formula (1) is 0.
[0036] The relationship between each time and the host disk usage status per unit number of VMs corresponds to the function g' (time) shown in the above formula (2). In the example shown in Fig. 4, the host disk usage status per unit number of VMs is a value obtained by dividing the host disk usage status shown in Fig. 3 at each time by the number of VMs running at the same time, under the assumption that e in the above formula (2) is 0. The relationship between each time and the host CPU utilization rate per unit number of VMs shown in FIG. 4 above can be expressed, for example, as in the following equation (3), where the host CPU utilization rate per unit number of VMs is f' (time) above.
[0037]
number
[0038] The relationship between each time and the host disk usage status per unit number of VMs shown in Fig. 4 above can be expressed, for example, as in the following formula (4), where the host disk usage status per unit number of VMs is g' (time). In an actual program, calculations can be made more efficient by treating it as a vector.
[0039]
number
[0040] FIG. 5 is a diagram illustrating an example of input and output by an optimal VM number calculation unit of a resource determination device according to an embodiment of the present invention. Here, it is assumed that, first, the model generation unit 11 generates a model in which the number of VMs, host CPU utilization rate, host disk utilization status, and other workloads are used as feature variables, and the host CPU ready time is used as the objective variable.
[0041] Secondly, it is assumed that the highly relevant feature extracting unit 13 extracts the host CPU utilization rate and the host disk utilization status as types of highly relevant features. Thirdly, it is assumed that, based on the extraction result, the VM number function derivation unit 14 derives the function shown in the above formula (3) for the extracted host CPU utilization rate, and derives the function shown in the above formula (4) for the extracted host Disk utilization status.
[0042] The internal memory of the resource determination device 10 or a separate storage device stores n VM In the example shown in FIG. 5, the number of VMs that can be set is n VM The range is 1 to 50, as indicated by the symbol a in FIG.
[0043] In addition, the optimal VM number calculation unit 12 determines the number of VMs, which is one of the feature variables of the model, as the above n VM A value set by the user, for example, "10" indicated by symbol b in FIG. 5, is input to the model.
[0044] The optimal VM number calculation unit 12 calculates the host CPU utilization rate, which is one of the feature variables of the model that outputs the host CPU ready time as the objective variable and is the first type of highly relevant feature, by sampling a return value reflecting an arbitrary date and time, here a specified time period t1 to t2, in the function shown in the above formula (3), for example, the maximum value of the host CPU utilization rate in the specified time period t1 to t2. VM The value shown in the following formula (5), which reflects the values set by the user among (a) and (b) and the value of e, is also input to the model. time is input to the model. sample(f´ cpu-use (t))*n VM +e…Formula (5)
[0045] In addition, the optimal VM number calculation unit 12 calculates the host disk usage status, which is one of the feature variables of the model that outputs the host CPU ready time as the objective variable and is the second type of highly relevant feature, by sampling a return value reflecting an arbitrary date and time, here a specified time period t1 to t2, in the function shown in the above formula (4), for example, the maximum value of the host disk usage status in the specified time period t1 to t2. VM The value shown in the following formula (6), which reflects the values set by the user among (a) and (b) and the value of e, is also input to the model. time is input to the model. sample(g´ disk-use (t))*n VM +e…Formula (6)
[0046] FIG. 5 shows an example in which the host CPU utilization rate and the host disk utilization status, which are highly relevant features, are expressed as linear functions of the number of VMs. The above feature variables, (1) number of VMs, (2) host CPU utilization, (3) host disk utilization, and (4) other workloads, are input into the above model, and the model outputs the host CPU ready time.
[0047] Furthermore, as shown in FIG. 5, even if a model that outputs host disk write latency as an objective variable or a model that outputs other performance as an objective variable is generated by the model generation unit 11 in addition to the above model, the above (1) number of VMs, (2) host CPU utilization rate, (3) host disk utilization status, and (4) other workloads are input to the model, and an output corresponding to the objective variable is produced.
[0048] A specific example of the processing by the optimum VM number calculation unit 12 relating to the input / output shown in FIG. 5 will be described below. FIG. 6 is a flowchart showing an example of a processing operation by the optimal VM number calculation unit of the resource determination device according to an embodiment of the present invention. First, the optimum VM number calculation unit 12 inputs an arbitrary designated time period and a VDI performance requirement R, and outputs an optimum number of VMs that satisfies the VDI performance requirement R in the designated time period through various processes.
[0049] The optimal VM number calculation unit 12 inputs (1) an arbitrary specified time period t1 to t2 (=1, 2, 3, ...), for example, “9:00 to 12:00 on the next day (Monday)”, and (2) an arbitrary performance requirement R, for example, “host CPU ready time is 5 seconds or less” (S11).
[0050] The optimal VM number calculation unit 12 acquires a set C of VM numbers that can be set (specified) by the user from the internal memory of the resource determination device 10 (S12). Here, it is assumed that the set C of VM numbers is 1 to 50, that is, in the range of 1 to 50.
[0051] The optimal VM number calculation unit 12 sets the number of VMs designated by the user's input operation from the set C acquired in S12 (for n VM in C) (S13). Here, it is assumed that the specified number of VMs is 10.
[0052] The optimal VM number calculation unit 12 calculates the number of VMs by calculating n in the formulas (5) and (6) using the number of VMs set in S13 in the function derived by the VM number function derivation unit 14, which is used to calculate the highly relevant feature related to the type extracted by the highly relevant feature extraction unit 13. VM In this case, the values of various highly relevant feature amounts are calculated for each time t (=1, 2, 3, . . . ) within the range of the specified time period t1 to t2 (S14).
[0053] In detail, for the host CPU utilization rate, which is the first highly relevant feature extracted by the highly relevant feature extraction unit 13, the optimal number of VMs calculation unit 12 calculates n VMThe host CPU utilization rate is calculated as the value shown by the result of substituting the value "10" set in S13 above into e and substituting each time t (=1, 2, 3, ...) within the range of the specified time period t1 to t2 into t in the above formula (5). Here, e=0.
[0054]
number
[0055] Similarly, for the host disk usage status, which is the second highly relevant feature extracted by the highly relevant feature extraction unit 13, the optimal VM number calculation unit 12 calculates n VM The host disk usage status is calculated as the value shown by the result of the following formula (8) when the value "10" set in S13 above is substituted into e and each time t (=1, 2, 3, ...) within the range of the specified time period t1 to t2 is substituted into t in formula (6) above. Here, e=0.
[0056]
number
[0057] The optimal VM number calculation unit 12 samples the values of various highly relevant feature quantities in the specified time period t1 to t2 calculated in S14 (S15). This sampling is a process for reducing the amount of calculations to be performed later, and is not essential. There are various methods for sampling, and an example of the sampling method is to extract the maximum values of various highly relevant features in the above-mentioned specified time period t1 to t2.
[0058] Next, the optimal VM number calculation unit 12 inputs the values of the various highly relevant features sampled in S15 into the feature variables of the generated model, and calculates the VDI performance at each time within the range of the specified time period t1 to t2 when the number of VMs was set as above (S16). Here, for example, the host CPU ready time (=4.2) when time t is 1 in the specified time period t1 to t2, the host CPU ready time (=5.0) when time t is 2, and the host CPU ready time (=6.1) when time t is 3 are calculated.
[0059] The optimal VM number calculation unit 12 judges whether the performance calculated in S16 satisfies the set performance requirement R (S1 7 ). S1 7 If the result of S1 is "No", the process returns to S13 and another number of VMs is set. 7 If the answer is "Yes," the number of VMs set in S13 in relation to this calculation is stored in an internal memory or the like of the resource determination device 10 as an appropriate number of VMs (S18).
[0060] As shown above, when the number of VMs is 10, the host CPU ready times "4.2", "5.0" and "6.1" at time t "1", "2" and "3" respectively do not meet the performance requirement of the host CPU ready time (= 5 seconds or less). Therefore, S1 7 The answer is "No" and a different number of VMs is set.
[0061] After S18, if there is another settable number of VMs in the set C (Yes in S19), the process returns to S13 and another number of VMs is set. On the other hand, when there is no other number of VMs that can be set in the set C (No in S19), the optimal VM number calculation unit 12 calculates the maximum value among the appropriate VM numbers stored in S18 as the optimal VM number and outputs this (S20).
[0062] FIG. 7 is a diagram showing an example of a comparison result between a predicted value and an actual value of performance by a resource determination device according to an embodiment of the present invention. 7 shows an example in which the performance predicted value calculated by the optimum number of VMs calculation unit 12 and the actual measured value of performance under the same conditions are compared as one-hour average values for each of five VDI servers. As shown in FIG. 7, the error between the performance predicted value calculated using the highly relevant feature and the actual measured value is small. That is, the optimum number of VMs calculation unit 12 can predict performance with high accuracy. Therefore, it is possible to calculate the number of VMs that satisfy the performance requirements with high accuracy.
[0063] FIG. 8 is a block diagram showing an example of a hardware configuration of a resource determination device according to an embodiment of the present invention. 8, the resource determination device 10 according to the above embodiment is configured, for example, by a server computer or a personal computer, and has a hardware processor 111A such as a CPU. A program memory 111B, a data memory 112, an input / output interface 113, and a communication interface 114 are connected to the hardware processor 111A via a bus 120.
[0064] The communication interface 114 includes, for example, one or more wireless communication interface units, and enables transmission and reception of information to and from the communication network NW. As the wireless interface, for example, an interface that adopts a low-power wireless data communication standard such as a wireless LAN (Local Area Network) is used.
[0065] To the input / output interface 113, an input device 200 and an output device 300 that are attached to the resource determination device 10 and used by a user or the like are connected. The input / output interface 113 can take in operation data input by a user or the like through an input device 200 such as a keyboard, a touch panel, a touchpad, a mouse, or the like, and can also perform processing for outputting and displaying output data to an output device 300 including a display device using liquid crystal or organic EL (Electro Luminescence), or the like. Note that the input device 200 and the output device 300 may be devices built into the resource determination device 10, or may be input devices and output devices of other information terminals capable of communicating with the resource determination device 10 via the network NW.
[0066] The program memory 111B is a non-transient tangible storage medium that is a combination of a non-volatile memory that can be written to and read from at any time, such as a hard disk drive (HDD) or a solid state drive (SSD), and a non-volatile memory such as a read only memory (ROM), and can store programs necessary for executing various control processes, etc. according to one embodiment.
[0067] The data memory 112 is a tangible storage medium that is, for example, a combination of the above-mentioned nonvolatile memory and a volatile memory such as a RAM (Random Access Memory), and can be used to store various data or information acquired and created in the course of various processes. The data memory 112 can store various data or information such as the model generated by the model generation unit 11 shown in FIG. 1, the optimal number of VMs calculated by the optimal VM number calculation unit 12, information on highly relevant features extracted by the highly relevant feature extraction unit 13, and a function derived by the VM number function derivation unit 14.
[0068] A resource determination device 10 according to one embodiment of the present invention can be configured as a data processing device having a model generation unit 11, an optimal VM number calculation unit 12, a highly relevant feature extraction unit 13, and a VM number function derivation unit 14 shown in FIG. 1 as software-based processing function units.
[0069] Each information storage unit used as a work memory or the like by each unit of the resource determination device 10 can be configured by using the data memory 112 shown in Fig. 8. However, these configured storage areas are not essential components within the resource determination device 10, and may be areas provided in, for example, an external storage medium such as a Universal Serial Bus (USB) memory, or a storage device such as a database server arranged in the cloud.
[0070] The processing function units in each of the above-mentioned model generating unit 11, optimal VM number calculating unit 12, highly relevant feature extracting unit 13, and VM number function derivation unit 14 can be realized by reading and executing a program stored in the program memory 111B by the above-mentioned hardware processor 111A. Note that some or all of these processing function units may be realized in various other forms, including integrated circuits such as an application specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).
[0071] In a resource determination device according to one embodiment of the present invention, a model is used that shows the relationship between the resource allocation of a virtual machine, multiple types of processing loads of the virtual machine, and the processing performance of the virtual machine, and a type of processing load that is relatively highly correlated with processing performance from the multiple types of processing load is extracted, a function is derived that takes at least the resource allocation as an argument and has the processing load related to the extracted type as a return value, the processing load with the specified resource allocation is calculated based on the derived function, and the calculated processing load is input into the model to calculate the processing performance with the specified resource allocation, and if the calculated processing performance satisfies the requirements of the processing performance, it is determined that the specified resource allocation is an appropriate resource allocation, thereby making it possible to calculate the amount of resources to be allocated with high accuracy.
[0072] The methods described in each embodiment may be stored as a program (software means) that can be executed by a computer on a recording medium such as a magnetic disk (floppy disk, hard disk, etc.), an optical disc (CD-ROM, DVD, MO, etc.), or a semiconductor memory (ROM, RAM, flash memory, etc.), and may be distributed by transmitting the program via a communication medium. The programs stored on the medium include a setting program that configures the software means (including not only execution programs but also tables and data structures) that the computer executes. The computer that realizes the present device reads the program recorded on the recording medium, and in some cases, configures the software means by the setting program, and executes the above-mentioned processing by controlling the operation of the software means. The recording medium in this specification is not limited to a recording medium for distribution, but also includes a storage medium such as a magnetic disk or semiconductor memory provided inside the computer or in a device connected via a network.
[0073] The present invention is not limited to the above-mentioned embodiment, and can be modified in various ways without departing from the gist of the present invention. The embodiments may be combined as appropriate, and in that case, the combined effect can be obtained. Furthermore, the above-mentioned embodiment includes various inventions, and various inventions can be extracted by combinations selected from the multiple components disclosed. For example, if the problem can be solved and the effect can be obtained even if some components are deleted from all the components shown in the embodiment, the configuration from which the components are deleted can be extracted as an invention. [Explanation of symbols]
[0074] 10...Resource determination device 11…Model generation section 12…Optimal VM number calculation section 13…Highly relevant feature extraction unit 14…VM number function derivation part
Claims
1. An apparatus using a model showing a relationship between a resource allocation of a virtual machine, a plurality of types of processing loads of the virtual machine, and a processing performance of the virtual machine, the apparatus comprising: an extraction unit that extracts a type of processing load that is relatively highly related to the processing performance from among the plurality of types of processing loads; a function derivation unit that derives a function using the resource allocation and the time period as arguments and taking the processing load related to the type extracted by the extraction unit as a return value; Calculating the processing load in a specified time period with respect to the specified resource allocation based on the function derived by the function derivation unit; inputting the calculated processing load into the model to calculate the processing performance in the specified resource allocation and in the specified time period; If the calculated processing performance satisfies a requirement for the processing performance, it is determined that the specified resource allocation is an appropriate resource allocation. A determination unit; A resource determination device comprising:
2. The function derivation unit converting the derived function into a product of a function that takes a time period as an argument and returns a processing load in the resource allocation per unit amount, and the resource allocation; The determination unit is Calculating the processing load in the specified time period with the specified resource allocation based on the converted result; inputting the calculated processing load into the model to calculate the processing performance in the specified resource allocation and in the specified time period; If the calculated processing performance satisfies a requirement for the processing performance, it is determined that the specified resource allocation is an appropriate resource allocation. The resource determination device according to claim 1 .
3. The determination unit is Calculating the processing load in the specified time period in the specified resource allocation based on the function derived by the function derivation unit; Sampling the calculated processing load during the specified time period; inputting the sampled processing load into the model to calculate the processing performance in the specified resource allocation and in the specified time period; If the calculated processing performance satisfies a requirement for the processing performance, it is determined that the specified resource allocation is an appropriate resource allocation. The resource determination device according to claim 1 .
4. A method performed by a resource determination device using a model indicating a relationship between a resource allocation of a virtual machine, a plurality of types of processing loads of the virtual machine, and a processing performance of the virtual machine, the method comprising: extracting a type of processing load having a relatively high correlation with the processing performance from among the multiple types of processing loads by an extraction unit of the resource determination device; a function derivation unit of the resource determination device deriving a function using the resource allocation and the time period as arguments and having a processing load related to the type extracted by the extraction unit as a return value; A determination unit of the resource determination device Calculating the processing load in a specified time period with respect to the specified resource allocation based on the function derived by the function derivation unit; inputting the calculated processing load into the model to calculate the processing performance in the specified resource allocation and in the specified time period; determining that the specified resource allocation is an appropriate resource allocation when the calculated processing performance satisfies a requirement for the processing performance; A resource determination method comprising:
5. The function derivation unit converting the derived function into a product of a function that takes a time period as an argument and returns a processing load in the resource allocation per unit amount, and the resource allocation; The determination unit is Calculating the processing load in the specified time period with the specified resource allocation based on the converted result; inputting the calculated processing load into the model to calculate the processing performance in the specified resource allocation and in the specified time period; If the calculated processing performance satisfies a requirement for the processing performance, it is determined that the specified resource allocation is an appropriate resource allocation. The resource determination method according to claim 4.
6. The determination unit is Calculating the processing load in the specified time period in the specified resource allocation based on the function derived by the function derivation unit; Sampling the calculated processing load during the specified time period; inputting the sampled processing load into the model to calculate the processing performance in the specified resource allocation and in the specified time period; If the calculated processing performance satisfies a requirement for the processing performance, it is determined that the specified resource allocation is an appropriate resource allocation. The resource determination method according to claim 4.
7. A resource determination processing program that causes a processor to function as each unit of the resource determination device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Provisioning apparatus, system, provisioning method, and provisioning program
JP2015011365A
Construction device, construction method, and construction program
JP2015022501A
Resource determination device, method, and program
WO2020090830A1