Power consumption estimation device, power consumption estimation system, and power consumption estimation method
By calculating the similarity between target and past applications based on metadata and using corresponding power consumption data, the power consumption estimation device addresses the challenge of application diversity in distributed computing environments, achieving accurate power consumption estimates and improved workload placement.
Patent Information
- Application Number
- JP2022031431
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-02
- Publication Date
- 2025-04-03
- Estimated Expiration
- 2042-03-02
AI Technical Summary
Existing methods for estimating power consumption in distributed computing environments fail to accurately account for the diversity of applications, leading to inaccurate power consumption estimates when benchmark applications similar to the target application are not available.
A power consumption estimation device that calculates the similarity between target applications and past applications based on metadata, using information on power consumption measured for past applications that meet a given similarity standard to provide accurate estimates.
Enables accurate estimation of power consumption for various applications by leveraging past power consumption data from similar applications, improving the accuracy of power models and optimizing workload placement in distributed computing environments.
Smart Images

Figure 0007656561000004 
Figure 0007656561000005 
Figure 0007656561000006
Abstract
Description
[Technical field]
[0001] The present invention relates to a power consumption estimation device, a power consumption estimation system, and a power consumption estimation method. [Background technology]
[0002] In a distributed computing environment consisting of many interconnected servers (hereinafter referred to as "nodes"), it is important to efficiently select the optimal node for executing a particular application workload. Various criteria are used to select the optimal node for executing a particular workload, such as the number of processors of the node, memory and storage capacity, and power consumption efficiency.
[0003] In particular, in recent years, with the introduction of green IT, which requires consideration of the impact of information and communications technology on the global environment, power consumption by workloads has become an important consideration when placing applications, and there is a demand for workload placement that takes power consumption into consideration, such as reducing power consumption and increasing the use of renewable energy.
[0004] In order to realize workload placement that takes power consumption into consideration, a means is used for estimating the power consumption of the workload of an application before determining a node on which the application is to be placed. For example, as one means of estimating the power consumption of a workload, Patent Document 1 discloses a "method of operating a data processing system having a plurality of nodes, comprising: receiving an indication of a mode for a first job; determining an available power for the first job based on the mode; adjusting a first frequency of the plurality of nodes executing the first job based on the available power, the first frequency being common to the plurality of nodes executing the first job; allocating a first power for the first job executed on the plurality of nodes based on the first frequency; determining whether the first frequency is greater than a predetermined frequency; and, if the first frequency is greater than the predetermined frequency, determining an available power for a second job."
[0005] Furthermore, Patent Document 2 discloses a technology that "provides a device and method for estimating power consumption and efficiency of an application container configured to run on a server system, such as a cloud server. In one example, the method includes creating a benchmark application container, naming the benchmark application container on a host server, collecting power consumption information of the host server, collecting resource usage information of the benchmark application container using an artificial workload, building a statistical model using the power consumption information and the resource usage information, and generating a first power model of the host server." [Prior art documents] [Patent documents]
[0006] [Patent Document 1] U.S. Patent No. 9,575,536 [Patent Document 2] U.S. Patent No. 10,432,491 Summary of the Invention [Problem to be solved by the invention]
[0007] The above-mentioned Patent Document 1 discloses a means for estimating the power consumption of a workload of a specific application by referring to information on the maximum power and average power consumed when the workload of the same application is executed on a specific node.
[0008] Furthermore, Patent Document 2 discloses a means for creating a power model that estimates power consumption by running a benchmark application on a specified node, measuring resource usage information such as processor usage, memory usage, and I / O usage due to the workload of the benchmark application, and processing the measured resource usage information using regression modeling.
[0009] However, in reality, one node in a distributed computing environment is required to host various applications such as business analysis, media streaming, and web services, and the power consumption of the workload varies depending on the application. Since the power consumption of the workload varies depending on the application, a single power model for one node alone cannot accurately estimate the power consumption of various applications that the node may host, and a power model must be constructed for each application. However, applications are diverse, and it is not realistic to construct power models in advance for all applications that a node may host.
[0010] However, the influence of the diversity of applications described above on the estimation of power consumption is not taken into consideration in either Patent Document 1 or Patent Document 2. More specifically, in Patent Document 1 and Patent Document 2, a benchmark application similar to the characteristics of a target application is used to estimate the power consumption of the workload of the target application, but a benchmark application similar to the target application is not necessarily available. In Patent Document 1, when there is no benchmark application similar to the target application, power estimation based only on the maximum power consumption of the node is proposed, but accurate power consumption estimation for a specific application cannot be obtained using only the maximum power consumption. In addition, in Patent Document 2, when there is no benchmark application similar to the target application, a means for adjusting the coefficients of an already constructed power model is proposed, but considering the diversity of applications, modifying the power model can be a heavy burden.
[0011] Therefore, the present disclosure has been made in consideration of the above-mentioned problems, and aims to provide a power consumption estimation means that can accurately estimate the power consumption of various applications by calculating the similarity between an application to be placed on a node in a distributed computing environment and applications that have been executed on that node in the past based on the metadata of each application, and using information on power consumption measured for past applications that satisfy a specified similarity standard. [Means for solving the problem]
[0012] In order to solve the above-mentioned problems, one representative power consumption estimation device of the present invention is a power consumption estimation device that estimates the power consumption of an application to be estimated that is placed in a node cluster consisting of a plurality of nodes, and includes a metadata database that stores past application metadata related to past applications that were previously executed in the node cluster, a power consumption database that includes power consumption information indicating the power consumption of the past applications, and a power consumption estimation unit that estimates the power consumption of the application to be estimated, wherein the power consumption estimation unit obtains an application manifest including information of the application to be estimated, extracts target application metadata, which is metadata related to the application to be estimated, from the application manifest, calculates a similarity of the target application metadata to the past application metadata stored in the metadata database, and if there is a similar application among the past applications whose calculated similarity satisfies a predetermined similarity criterion, extracts first power consumption information corresponding to the similar application from the power consumption database, and outputs the first power consumption information as a first power consumption estimation result indicating an estimate of the power consumption of the application to be estimated. Effect of the Invention
[0013] According to the present disclosure, a power consumption estimation means can be provided that can accurately estimate the power consumption of a variety of applications by calculating the similarity between an application to be placed on a node in a distributed computing environment and applications that have been executed on that node in the past based on the metadata of each application, and using information on power consumption measured for past applications that meet a specified similarity standard. Other objects, configurations and effects will become apparent from the following description of the preferred embodiment of the invention. [Brief description of the drawings]
[0014] [Figure 1]FIG. 1 illustrates a computer system for implementing an embodiment of the present disclosure. [Diagram 2] FIG. 2 is a diagram illustrating an example of a configuration of a power consumption estimation system according to an embodiment of the present disclosure. [Diagram 3] FIG. 3 is a flowchart showing an example of the flow of a power consumption estimation method according to an embodiment of the present disclosure. [Figure 4] FIG. 4 is a diagram illustrating an example of the configuration of a past application metadata database according to an embodiment of the present disclosure. [Diagram 5] FIG. 5 is a diagram illustrating an example of the configuration of the past application power consumption database according to the embodiment of the present disclosure. [Figure 6] FIG. 6 is a diagram illustrating an example of a configuration of a past application profile according to an embodiment of the present disclosure. [Figure 7] FIG. 7 is a diagram illustrating an example of metadata conversion according to an embodiment of the present disclosure. [Figure 8] FIG. 8 is a diagram illustrating a configuration example of a text metadata conversion table according to an embodiment of the present disclosure. [Figure 9] FIG. 9 is a diagram illustrating an example of the configuration of an unstructured text metadata conversion table according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. Note that the present invention is not limited to the embodiment. In addition, in the description of the drawings, the same parts are denoted by the same reference numerals. (Summary of the Disclosure)
[0016] First, before describing the embodiments of the present disclosure, an overview of the present disclosure will be described.
[0017] As described above, there are a wide variety of applications, and the power consumption of the workload varies depending on the application, so there is a problem in that it is difficult to accurately estimate power consumption in a node cluster that is required to host and run a variety of applications. Therefore, in this disclosure, the similarity between an application to be placed in a node cluster in a distributed computing environment (hereinafter referred to as the "application to be estimated") and an application that was previously executed on that node (hereinafter referred to as the "past application") is calculated based on the metadata of each application, and by using information on power consumption measured for past applications that meet specified similarity criteria, it becomes possible to accurately estimate the power consumption of a variety of applications.
[0018] Based on the power consumption estimate of the application generated in this manner, the application can be placed in an appropriate node cluster. After placing the application in an appropriate node cluster, the actual power consumption of the application can be measured and analyzed to evaluate the accuracy of a power model that estimates the power consumption taking into account the resource usage of the application. If the evaluation result shows that the accuracy of the power model does not meet a predetermined standard (i.e., the estimate of the power model deviates from the actually measured value), the accuracy of the power model can be improved by updating the power model based on information on the actual power consumption of the application.
[0019] On the other hand, if there is no past application that meets the predetermined similarity criteria with the application to be estimated, a power consumption estimate for the application to be estimated is generated based on the average power consumption of past applications executed in the node cluster.The application to be estimated is then deployed to an appropriate node cluster based on this power consumption estimate.In addition, by measuring and analyzing the actual power consumption of the deployed application, a new power model for the application can be constructed.
[0020] In this way, over time, a node cluster will host different applications and update existing power models or create new power models for each hosted application, building a repertoire of power models that correspond to a wide range of applications, enabling accurate estimation of power consumption for a wide range of applications.
[0021] Next, referring to FIG. 1, a computer system 100 for implementing the embodiments of the present disclosure will be described. The mechanisms and devices of the various embodiments disclosed herein may be applied to any suitable computing system. The main components of the computer system 100 include one or more processors 102, memory 104, terminal interface 112, storage interface 113, I / O (input / output) device interface 114, and network interface 115. These components may be interconnected via a memory bus 106, an I / O bus 108, a bus interface unit 109, and an I / O bus interface unit 110.
[0022] Computer system 100 may include one or more general purpose programmable central processing units (CPUs) 102A and 102B, collectively referred to as processors 102. In some embodiments, computer system 100 may include multiple processors, and in other embodiments, computer system 100 may be a single CPU system. Each processor 102 executes instructions stored in memory 104 and may include an on-board cache.
[0023] In one embodiment, memory 104 may include random access semiconductor memory, storage devices, or storage media (either volatile or non-volatile) for storing data and programs. Memory 104 may store all or a portion of the programs, modules, and data structures that implement the functions described herein. For example, memory 104 may store a power consumption estimation application 150. In one embodiment, power consumption estimation application 150 may include instructions or descriptions to execute on processor 102 the functions described below.
[0024] In some embodiments, power consumption estimation application 150 may be implemented in hardware via semiconductor devices, chips, logic gates, circuits, circuit cards, and / or other physical hardware devices instead of or in addition to a processor-based system. In some embodiments, power consumption estimation application 150 may include data other than instructions or descriptions. In some embodiments, cameras, sensors, or other data input devices (not shown) may be provided to communicate directly with bus interface unit 109, processor 102, or other hardware of computer system 100.
[0025] Computer system 100 may include a bus interface unit 109 that provides communication between processor 102, memory 104, display system 124, and I / O bus interface unit 110. I / O bus interface unit 110 may couple to an I / O bus 108 for transferring data to and from various I / O units. I / O bus interface unit 110 may communicate via I / O bus 108 with multiple I / O interface units 112, 113, 114, and 115, also known as I / O processors (IOPs) or I / O adapters (IOAs).
[0026] Display system 124 may include a display controller, a display memory, or both. The display controller may provide video, audio, or both data to display device 126. Computer system 100 may also include one or more sensors or other devices configured to collect data and provide the data to processor 102.
[0027] For example, computer system 100 may include biometric sensors to collect heart rate data, stress level data, etc., environmental sensors to collect humidity data, temperature data, pressure data, etc., and motion sensors to collect acceleration data, movement data, etc. Other types of sensors may also be used. Display system 124 may be connected to a display device 126, such as a standalone display screen, a television, a tablet, or a handheld device.
[0028] The I / O interface unit provides the ability to communicate with various storage or I / O devices. For example, the terminal interface unit 112 may be attached to user I / O devices 116, such as user output devices, such as a video display, a television with speakers, and user input devices, such as a keyboard, a mouse, a keypad, a touchpad, a trackball, buttons, a light pen, or other pointing device. A user may use a user interface to enter input data or instructions to the user I / O devices 116 and the computer system 100, and receive output data from the computer system 100, by manipulating the user input devices. The user interface may be displayed on a display, played through speakers, or printed via a printer, for example, via the user I / O devices 116.
[0029] Storage interface 113 may be attached to one or more disk drives or direct access storage device 117 (usually a magnetic disk drive storage device, but may also be an array of disk drives or other storage devices configured to appear as a single disk drive). In one embodiment, storage device 117 may be implemented as any secondary storage device. Contents of memory 104 may be stored in storage device 117 and retrieved from storage device 117 as needed. I / O device interface 114 may provide an interface to other I / O devices such as printers, fax machines, etc. Network interface 115 may provide a communications path to allow computer system 100 and other devices to communicate with each other. This communications path may be, for example, network 130.
[0030] In some embodiments, computer system 100 may be a device that receives requests from other computer systems (clients) without a direct user interface, such as a multi-user mainframe computer system, a single-user system, or a server computer. In other embodiments, computer system 100 may be a desktop computer, a portable computer, a laptop, a tablet computer, a pocket computer, a telephone, a smartphone, or any other suitable electronic device.
[0031] Next, a configuration of a power consumption estimation system according to an embodiment of the present disclosure will be described with reference to FIG.
[0032] Fig. 2 is a diagram illustrating an example of a configuration of a power consumption estimation system 160 according to an embodiment of the present disclosure. As shown in Fig. 2, the power consumption estimation system 160 according to an embodiment of the present disclosure mainly includes a cluster management device 1000, a communication network 2000, node clusters 3010, 3020...30N0, and a client terminal 4000. As shown in Fig. 2, in the power consumption estimation system 160, the cluster management device 1000, the node clusters 3010, 3020...30N0, and the client terminal 4000 are connected to each other via the communication network 2000 so as to be able to communicate with each other.
[0033] The communications network 2000 may include, for example, a local area network (LAN), a wide area network (WAN), a satellite network, a cable network, a WiFi network, or any combination thereof.
[0034] The client terminal 4000 is a terminal device used by a requester to request the cluster management device 1000 to execute or manage a specific application. The application here may include, for example, a business analysis application, a media streaming application, a web service application, etc., and is not particularly limited here. The client terminal 4000 communicates with the cluster management device 1000 via the communication network 2000. The client terminal 4000 may send an execution request including an application manifest having information of the requested application to the cluster management device 1000 via the communication network 2000.
[0035] Node clusters 3010, 3020...30N0 are groups of nodes that make up a so-called distributed computing environment, and are configured to execute applications deployed by cluster management device 1000, which will be described later. Here, each node in node clusters 3010, 3020...30N0 is considered to be a homogeneous node (i.e., a node having the same server configuration).
[0036] 2, the node cluster 3010 includes one master node 3011 and multiple slave nodes 3012, 3013, and 301N. The master node 3011 communicates with the cluster management device 1000 via a communication network 2000.
[0037] The master node 3011 is a node for managing the execution of applications on the slave nodes 3012, 3013, and 301N, and assigns the workload of a given application to an appropriate slave node in accordance with instructions from the cluster management device 1000 described below, and then executes the application. The master node 3011 also measures information on the power consumption of each of the slave nodes 3012, 3013, and 301N, and information on the resource usage of the workload of the application executed on the slave nodes 3012, 3013, and 301N (processor usage, memory usage, I / O usage, etc.), and transmits the information to the cluster management device 1000.
[0038] The cluster management device 1000 is a server device for placing an application requested in an execution request received from a client terminal 4000 in one of the node clusters 3010, 3020, ..., 30N0. As shown in Fig. 2, the cluster management device 1000 includes a power consumption estimation device 1010, an input / output device 1020, a processor 1030, a memory 1040, and a network interface 1050. The cluster management device 1000 may be configured, for example, by the computer system 100 shown in FIG.
[0039] The network interface 1050 is a functional unit that performs communication between the cluster management device 1000 and the outside (node clusters 3010, 3020, . . . 30N0 and the client terminal 4000) via the communication network 2000. The input / output device 1020 is a functional unit that provides an interface for inputting information to the cluster management device 1000 and for confirming information output from the cluster management device 1000 . The processor 1030 executes program instructions (eg, functions of each functional unit in the power consumption estimation device 1010) retrieved by the memory 1040 described below. The memory 1040 acquires program instructions for implementing the functions of functional units stored in the power consumption estimation device 1010 (described later), and provides the program instructions to the processor 1030 .
[0040] The power consumption estimation device 1010 is a device for implementing a power consumption estimation means according to an embodiment of the present disclosure. As shown in Fig. 2, the power consumption estimation device 1010 includes a power consumption estimation unit 1011, an execution management unit 1013, a metadata database 1014, a metadata conversion table database 1015, an application power consumption database 1016, an application profile database 1017, and a power model database 1018. Each functional unit of the power consumption estimation device 1010 (such as the power consumption estimation unit 1011 and the execution management unit 1013) may be configured, for example, as a software module in the power consumption estimation application 150 shown in FIG. 1, or may be configured as a dedicated hardware device. However, for ease of explanation in this disclosure, a case in which each functional unit is configured as a software module will be described as an example.
[0041] The power consumption estimation unit 1011 is a functional unit for generating a power consumption estimation result (first power consumption estimation result) that estimates the power consumed by the workload of an application (hereinafter referred to as "application to be estimated") to be deployed in the node clusters 3010, 3020...30N0. Here, "application workload" refers to processing tasks executed to realize the function of a certain application. The application workload may be divided and allocated to different nodes in the node cluster. The function of the power consumption estimation unit 1011 will be described in detail later, and therefore will not be described here.
[0042] The execution management unit 1013 is a functional unit for placing the application to be estimated in an appropriate node cluster 3010, 3020...30N0 based on the power consumption estimation result (first power consumption estimation result) of the application to be estimated, generated, for example, by the power consumption estimation unit 1011.
[0043] The metadata database 1014 is a database that stores metadata about applications run by the node clusters 3010, 3020...30N0 (eg, applications that have been deployed to the node clusters in the past).
[0044] The metadata conversion table database 1015 is a table for converting the metadata of the applications executed by the node clusters 3010, 3020, . . . 30N0 from text format to vector format.
[0045] The application power consumption database 1016 is a database that stores information about the power consumption of applications executed by node clusters 3010, 3020...30N0, information about the storage location of application profiles indicating the resource usage of the applications, and information about the storage location of power models for estimating the power consumption taking into account the resource usage of the applications.
[0046] The application profile database 1017 is a database that stores information about application profiles that indicate the resource usage of an application.
[0047] The power model database 1018 is a database that stores a power model for estimating power consumption (i.e., generating a second power consumption estimation result) that takes into account resource usage of applications executed by the node clusters 3010, 3020, ... 30N0. The power model here may be a Python object that specifies learned model coefficients, for example, saved in a pickle file. The first power consumption estimation result generated by the above-mentioned power consumption estimation unit 1011 and used to determine the node on which the application to be estimated will be placed includes information such as the average power consumption and maximum power consumption of similar applications, whereas the second power consumption estimation result generated based on the power model stored in the power model database 1018 is a prediction of power consumption that takes into account the resource usage amount used by the application to be estimated, and therefore can provide a more detailed estimation than the first power consumption estimation result.
[0048] According to the power consumption estimation system 160 described above, it is possible to provide a power consumption estimation means capable of accurately estimating the power consumption of various applications.
[0049] Next, an example of the flow of a power consumption estimation method according to an embodiment of the present disclosure will be described with reference to FIG.
[0050] Fig. 3 is a flowchart showing an example of the flow of a power consumption estimation method 300 according to an embodiment of the present disclosure. The power consumption estimation method 300 shown in Fig. 3 is a method for accurately estimating the power consumption of various applications by calculating the similarity between an application to be placed in a node cluster in a distributed computing environment (hereinafter referred to as an "application to be estimated") and an application previously executed on the node (hereinafter referred to as a "past application") based on metadata of each application, and using information on power consumption measured for past applications that satisfy a predetermined similarity standard. The power consumption estimation method 300 is implemented by, for example, the power consumption estimation unit 1011 in the power consumption estimation device 1010 described above.
[0051] First, in step S301, the power consumption estimation unit 1011 receives an application manifest of an application to be estimated from the client terminal 4000, for example, via the above-mentioned communication network 2000. This application manifest may be included in, for example, an execution request for deploying the application to be estimated in one of the node clusters 3010, 3020, ..., 30N0. This application manifest is a description of the components that make up the application to be deployed to node clusters 3010, 3020...30N0, and may include, for example, a description of the services (also called microservices) provided to the application, a description of the containers that make up the services, a description of the jobs (processing tasks) that make up the application, etc. These descriptions of services, containers, jobs, etc. are collectively referred to as "application resources."
[0052] Next, in step S302, the power consumption estimation unit 1011 extracts application metadata (hereinafter referred to as "target application metadata") related to the application to be estimated from the application manifest received in step S301. The target application metadata related to the application to be estimated is information specifying the specifications of each of the above-mentioned application resources. For example, the target application metadata may include a type of service, a number of containers for the service, an image for implementing the container, a network protocol used for the service, processor and memory requirements of the container, execution priority of a job, node priority for container execution, a label associated with the service, a label associated with the container, a label associated with the job, and the like. In order to extract this target application metadata, the power consumption estimation unit 1011 may use an existing information extraction method, which is not particularly limited here.
[0053] Next, in step S303, the power consumption estimation unit 1011 converts the target application metadata related to the application to be estimated extracted in step S302 into a vector format. Here, the power consumption estimation unit 1011 may convert the target application metadata into the vector format by performing so-called one-hot encoding based on the above-mentioned metadata conversion table. The process of converting the target application metadata related to the application to be estimated into vector format will be described in detail later, and therefore will not be described here.
[0054] Next, in step S304, the power consumption estimation unit 1011 calculates the similarity between the application to be estimated and the past application for each past application executed on each node cluster 3010, 3020...30N0 based on the application metadata of each past application. Here, the past application means an application that has been executed on any of the node clusters 3010, 3020...30N0 in the past. More specifically, the power consumption estimation unit 1011 acquires, for each of the node clusters 3010, 3020, . . . 30N0, past application metadata, which is metadata of each past application executed on the node cluster, from the metadata database 1014 described above.
[0055] Thereafter, the power consumption estimation unit 1011 calculates the similarity of the target application metadata of the application to be estimated, extracted in step S302 and converted into vector format in step S303, to the past application metadata of each past application acquired from the metadata database 1014. As a measure of the similarity here, for example, the distance between the target application metadata and the past application metadata may be used. In this case, it can be said that the shorter the distance between the target application metadata and the past application metadata, the higher the similarity between the target application metadata and the past application metadata.
[0056] As an example, the target application metadata of an application to be estimated is represented by a metadata vector X consisting of elements A, B, and C (processor requirements, memory requirements, number of containers, etc.). Similarly, the past application metadata of a past application is represented by a metadata vector x consisting of elements a, b, and c (processor requirements, memory requirements, number of containers, etc.). In this case, the numerical metadata distance D between the target application metadata X and the past application metadata x is n may be calculated using the Minkowski distance, the Euclidean distance, etc. The distance D between the target application metadata X and the past application metadata x n The formula for calculating the Euclidean distance is shown in Equation 1.
number
[0057] In the above, the case where all application metadata is expressed in numerical values has been described, but the application metadata may include metadata expressed in text, such as a container image name and a service type label. In this case, such text format metadata can be converted into vector format by performing a one-hot encoding method using a metadata conversion table database 1015 described later. Here, the target application metadata converted into vector format by the one-hot encoding method is denoted as U and V, and the past application metadata converted into vector format by the one-hot encoding method is denoted as u and v. In this case, the text metadata distance D between the target application metadata U, V converted into vector format by the one-hot encoding method and the past application metadata u, v converted into vector format by the one-hot encoding method is t can be calculated using the following formula 2.
number
[0058] Here, [[Uu]] means the magnitude of the dot product of U and u. The numerical metadata distance D mentioned above n and the text metadata distance D t Total distance D including both A can be calculated using the following formula 3.
number
[0059] Another method of calculating the distance of application metadata can assign weights to application metadata (e.g., specific metadata vectors) to adjust the influence of specific application metadata on the overall distance (i.e., emphasize the weight). As an example, application metadata describing a container image used by a specific application as "Web Server B" more accurately identifies the application than application metadata describing an application service of a specific application as "backend", so a higher weight can be set for the metadata vector of application metadata with "Web Server B" to emphasize the influence of the more discriminatory metadata on the overall distance.
[0060] Next, in step S305, the power consumption estimation unit 1011 determines whether the similarity of the application to be estimated with respect to each past application calculated in step S304 satisfies a predetermined similarity criterion. The predetermined similarity criterion here may be set by, for example, an administrator of the power consumption estimation system 160, or may be determined by an existing statistical method. As an example, when the measure of similarity is the above-mentioned Euclidean distance, the predetermined similarity criterion here may specify an upper limit of the distance. Thus, a value below this upper limit of the distance is deemed to satisfy the similarity criterion, and a value above this upper limit of the distance is deemed not to satisfy the similarity criterion. If the similarity calculated in step S304 satisfies a predetermined similarity criterion, the process proceeds to step S306, and if the similarity calculated in step S304 does not satisfy the predetermined similarity criterion, the process proceeds to step S307.
[0061] Next, in step S306, the power consumption estimation unit 1011 saves an application type identifier that uniquely identifies the type of the past application that satisfies the predetermined similarity criterion in a predetermined memory area. If there are multiple past applications that satisfy the predetermined similarity criterion, the power consumption estimation unit 1011 saves the application type identifier and the calculated similarity of each past application. Hereinafter, a past application that satisfies the similarity criterion with the application to be estimated is referred to as a "similar application."
[0062] Next, in step S307, after the calculation of the similarity of the application to be estimated to the past applications is completed for all past applications, the power consumption estimation unit 1011 determines whether or not there is one or more past applications that satisfy a predetermined similarity criterion (i.e., applications similar to the application to be estimated). If it is determined that a similar application exists, the process proceeds to step S308, and if it is determined that a similar application does not exist, the process proceeds to step S309.
[0063] In step S308, if a similar application exists, the power consumption estimation unit 1011 selects the similar application with the highest similarity from the similar applications whose application type identifiers and similarities were saved in step S306. Thereafter, the power consumption estimation unit 1011 refers to the above-mentioned application power consumption database 1016, acquires information on the power consumption of the selected similar application from the above-mentioned application power consumption database 1016, and outputs the acquired information on the power consumption of the similar application to the execution management unit 1013 as a first power consumption estimation result of the application to be estimated. The first power consumption estimation result here may include information such as an estimate of the average power consumption of the application to be estimated, a maximum power consumption of the application to be estimated, etc.
[0064] In step S309, if there is no similar application, the power consumption estimation unit 1011 calculates the average power consumption of all past applications stored in the application power consumption database 1016, and outputs the calculated average power consumption to the execution management unit 1013 as the first power consumption estimation result.
[0065] In this way, by using information on the power consumption of past applications that satisfy a predetermined similarity standard with the application to be estimated, a first power consumption estimation result that accurately estimates the power consumption of the application to be estimated can be generated. After that, the above-mentioned execution management unit 1013 can determine a node cluster that is an appropriate placement destination for the application to be estimated from among the node clusters 3010, 3020...30N0 based on this first power consumption estimation result. After determining the placement destination, the execution management unit 1013 transmits a placement instruction requesting placement of the application to be estimated to the master node of the determined node cluster, and places the application to be estimated in that node cluster.
[0066] Next, a configuration of the past application metadata database according to an embodiment of the present disclosure will be described with reference to FIG.
[0067] 4 is a diagram illustrating an example of a configuration of the metadata database 1014 according to an embodiment of the present disclosure. As described above, the metadata database 1014 is a database that stores metadata tables having metadata related to applications (e.g., past applications previously deployed to node clusters) executed by the node clusters 3010, 3020...30N0. In the metadata database 1014, there are dedicated metadata tables 410, 420, 4N0 for each of the node clusters 3010, 3020...30N0. For example, there is a metadata table 410 corresponding to the node cluster 3010, there is a metadata table 420 corresponding to the node cluster 3020, and there is a metadata table 4N0 corresponding to the node cluster 30N0.
[0068] As an example, the metadata table 410 stores application metadata for past applications that have run on the node cluster 3010 . As shown in FIG. 4, metadata table 410 may store an application type identifier 411 for uniquely identifying a particular past application type, such as “app1” or “app2”, an application tier 412, such as “front-end” or “back-end”, a service type 413, such as “ClusterIP” or “NodePort”, a replica count 414 indicating the number of containers, and a container image name 415, such as “Web Server A” or “Web Server B”.
[0069] Here, text-format information such as tier 412, service type 413, and image name 415 is stored in a vector format obtained by one-hot encoding, which will be described later. More specifically, in the metadata table 410, for an application with an application type identifier of "app1", the value of "Frontend" is expressed in vector format as "1,0,...", the value of "NodePort" is expressed in vector format as "1,0,0", and the value of "Web Server A" is expressed as "1,0,...".
[0070] Initially, each metadata table 410, 420, 4N0 may store metadata of a benchmark application that was executed on the node cluster 3010, 3020...30N0. Thereafter, when a new application (i.e., an application to be estimated requested by the client terminal 4000) is executed on a specific node cluster, if a past application similar to the new application (i.e., meeting a predetermined similarity criterion) is executed on the same node cluster and the application metadata is already stored in the metadata database 1014, the metadata of the new application is not stored in the metadata database 1014 (i.e., to prevent recording of duplicated metadata). On the other hand, if a past application similar to the application to be estimated (i.e., meeting a predetermined similarity criterion) is not executed on the same node cluster, the application metadata of the application to be estimated is stored in the metadata database 1014, and the metadata database 1014 is updated. The similarity here may be calculated by the above-mentioned similarity calculation method (Euclidean distance, etc.).
[0071] For the sake of convenience, the configuration of the metadata table 410 has been described above, but the same is true for the metadata table 420 and the metadata table 4N0.
[0072] Next, the application power consumption database according to the embodiment of the present disclosure will be described with reference to FIGS.
[0073] 5 is a diagram illustrating an example of the configuration of the application power consumption database 1016 according to an embodiment of the present disclosure. As described above, the application power consumption database 1016 is a database that stores information on the power consumption of applications executed by the node clusters 3010, 3020...30N0, information on the storage destination of an application profile indicating the resource usage of the application, and information on the storage destination of a power model for estimating the power consumption of the application. In the application power consumption database 1016, there are dedicated application power consumption tables 510, 520, 5N0 for each of the node clusters 3010, 3020...30N0. For example, there is an application power consumption table 510 corresponding to the node cluster 3010, there is an application power consumption table 520 corresponding to the node cluster 3020, and there is an application power consumption table 5N0 corresponding to the node cluster 30N0.
[0074] The application power consumption table 510 stores information on the power consumption of past applications that have been executed on the node cluster 3010, information on the storage destination of the application profile, and information on the storage destination of the power model.
[0075] As shown in FIG. 5, application power consumption table 510 may store application type identifier 511 for uniquely identifying the type of a specific past application, such as “app1” or “app2”, power consumption information 512 indicating the average and maximum power consumption of the specific application, a storage destination 513 for the application profile of the specific application, and a storage destination 514 for a power model constructed based on the application profile of the specific application.
[0076] As an example, as shown in FIG. 5, in application power consumption table 510, for an application with application type identifier “app1”, an average power consumption of “20 W”, a maximum power consumption of “60 W”, a storage destination of the application profile in “Wl1.csv”, and a power model in “model1.pk” are stored.
[0077] Initially, the application power consumption tables 510, 520, 5N0 may store information on the power consumption of benchmark applications executed on the node clusters 3010, 3020...30N0. Thereafter, when a new application (i.e., the application to be estimated requested by the client terminal 4000) is executed on a specific node cluster, if a past application (hereinafter, a similar application) that is similar to the application to be estimated (i.e., meets a predetermined similarity standard) is executed on the same node cluster and the power model storage destination has already been saved in the application power consumption database 1016, the execution management unit 1013 identifies a power model (e.g., a first power model) corresponding to the application profile (e.g., a first application profile) of the similar application from the power model database 1018.
[0078] Next, the execution management unit 1013 uses the identified power model to generate a second power consumption estimation result indicating an estimate of the power consumption of the estimation target. Next, the execution management unit 1013 collects a power consumption measurement value indicating the actual power consumption when the estimation target application is executed on the destination node, and a resource usage measurement value (a value measuring resource usage such as processor usage, memory usage, storage usage, and network usage) indicating the actual resource usage when the estimation target application is executed on the destination node. Next, if the deviation between the power consumption measurement value and the second power consumption estimation result satisfies a predetermined deviation criterion, the execution management unit 1013 updates the application profile of the similar application based on the collected resource usage measurement value, and updates the first power model based on the updated first application profile and the power consumption measurement value. As a result, if the power consumption estimated based on the power model of a past application does not match the actual power consumption when the application being estimated is executed on the destination node, the application profile and power model of the past application can be updated based on actually measured information, thereby improving the accuracy of the power model.
[0079] Here, the "deviation" means the difference between an actually calculated value (e.g., a measured power consumption value) and a value estimated by a power model (e.g., a second power consumption estimation result). The predetermined deviation standard may be a threshold value preset by an administrator, or may be a threshold value automatically determined by a statistical means.
[0080] It should be noted that the first power consumption estimation result generated by the above-mentioned power consumption estimation method 300 and used to determine the node on which the application to be estimated will be placed includes information such as the average power consumption and maximum power consumption of similar applications, whereas the second power consumption estimation result generated based on the power model is a prediction of power consumption that takes into account the resource usage by the application to be estimated, and therefore can provide a more detailed estimation than the first power consumption estimation result.
[0081] On the other hand, if a past application similar to the application to be estimated (hereinafter, similar application) has not been executed on the same node cluster, the execution management unit 1013 collects a power consumption measurement value indicating the actual power consumption when the application to be estimated is executed on the destination node and a resource usage measurement value indicating the actual resource usage when the application to be estimated is executed on the destination node, and creates a new application profile (e.g., a second application profile) corresponding to the application to be estimated in the application profile database 1017 based on the resource usage measurement value. The second application profile of the application to be estimated is created by measuring the processor usage, memory usage, storage usage, and network usage when the application to be estimated is executed. The information on the power consumption of the application to be estimated is obtained by subtracting the power consumption of other applications executed on the node cluster other than the application to be estimated from the power consumption of the node cluster actually measured, and is stored in an application power consumption table corresponding to the node cluster.
[0082] Next, the execution management unit 1013 constructs a new power model (second power model) corresponding to the application to be estimated based on the created second application profile and the power consumption measurement value, and stores the model in the application power consumption database 1016. More specifically, the execution management unit 1013 may construct a regression model as the second power model corresponding to the application to be estimated, in which resource usage measurement values such as processor usage, memory usage, storage usage, and network usage are used as independent variables, and the power consumption measurement value is used as a dependent variable. In this way, if there is no past application similar to the application to be estimated, a new application profile and power model corresponding to the application to be estimated can be created. By using the application profile and power model created in this way, it is possible to accurately estimate the power consumption of the application to be estimated, taking into account the resource usage of the application to be estimated.
[0083] For the sake of convenience, the configuration of the application power consumption table 510 has been described above, but the same is true for the application power consumption table 520 and the application power consumption table 5N0.
[0084] 6 is a diagram illustrating an example of the configuration of the application profile database 1017 according to an embodiment of the present disclosure. As described above, the application profile database 1017 is a database that stores information on application profiles indicating resource usage of applications. In the application profile database 1017, dedicated application profiles 610, 620, and 6N0 exist for each past application. These application profiles 610, 620, and 6N0 may be, for example, CSV (comma separated variable) files.
[0085] 6, an application profile 610 may store, for a particular application profile identifier, such as “wl1”, the time 611 when a particular resource usage measurement was made, the CPU usage by the application 612 (in millicpu(m)), the memory usage by the application 613 (in mebibytes (Mi)), the storage usage by the application 614 (in kilobytes (kB)), the network usage by the application 615 (in kilobytes (kB)), and the power consumption 616 (in watts (W)). If the application is running alone on a node, the power consumption 616 may be measured as a power consumption value for the entire node, or if multiple applications are running on the same node, the power consumption 616 may be an estimated power consumption value based on a power model.
[0086] As an example, application profile 610 may show that for a particular application, CPU usage of "20m", memory usage of "10Mi", storage usage of "12kB", network usage of "0kB", and power consumption of "5W" were measured at time "123005".
[0087] For the sake of convenience, the configuration of the application profile 610 has been described above, but the same applies to the application profile 620 and the application profile 6N0.
[0088] Next, an example of metadata conversion according to an embodiment of the present disclosure will be described with reference to FIG.
[0089] 7 is a flowchart showing an example of metadata conversion 700 according to an embodiment of the present disclosure. As described above, in addition to numerical metadata that expresses application resources numerically, application metadata may include textual metadata that expresses application resources such as a container image name and a service type label in text. In this case, in order to more easily compare the metadata of the application to be estimated with that of past applications, it is desirable to convert the metadata in text format into a vector format by the metadata conversion 700 according to an embodiment of the present disclosure. FIG. 7 is a diagram illustrating a flow of metadata conversion 700 according to an embodiment of the present disclosure.
[0090] As described above, the application manifest 705 that the power consumption estimation unit 1011 receives from the client terminal 4000 may be, for example, a YAML file that specifies the specifications of the application resources. As described above, the specifications of the application resources are application metadata of the application. The application metadata may include two types of metadata: numerical metadata 710 composed of numerical values, and text metadata 720 composed of text.
[0091] Numeric metadata 710 is metadata that indicates the specifications of application resources numerically. For example, as shown in Fig. 7, the numeric metadata 710 may indicate that the number of replicas of an application is "4", the processor usage is "0.25%," the memory usage is "64Mi", and the priority is "1000". Since this numeric metadata 710 is already expressed as numerical values, it can be expressed as a numeric metadata vector 712 (4, 0.25, 64, 1000) composed of these numerical values and stored in the metadata database 1014.
[0092] The text metadata 720 is metadata that indicates the specifications of the application resources in text form. The text metadata 720 may include two types of metadata: keyword metadata 730 that indicates the specifications of the application resources in a predetermined fixed text value (i.e., a keyword), and unstructured text metadata 721 that indicates the specifications of the application resources in freely inputtable text.
[0093] The keyword metadata 730 can be converted into vector format by referencing the keyword metadata conversion table 800 in the metadata conversion table database 1015 and performing one-hot encoding. The vector obtained by performing one-hot encoding is a vector in which all elements except one are set to "0". The elements that are not "0" are set to "1". The position in the vector where the value is "1" is unique for the text value, and the size of the vector is equal to the number of unique text values. As an example, the service type of "ClusterIP" in the keyword metadata 730 shown in FIG. 7 is represented in vector format as "0,1,0", and the image of "Web Server B" is represented in vector format as "0,1,...".
[0094] On the other hand, since the text data in the unstructured text metadata 721 is, for example, text information freely input by a user, there may be variations due to differences in notation or name even if the same meaning is present. For example, the values "FE", "front-end" and "for users" are all information that means that the application is a front-end service, although they are notated differently. Similarly, the values "dev" and "development" are all information that means that the application is under development. Therefore, in order to consistently convert such unstructured text metadata having such variations into a vector format, it is desirable to use a classification method 722 using a trained neural network. By processing the unstructured text metadata 721 using the classification method 722, classified unstructured text metadata 723 can be obtained, in which all text information that means the same concept is classified into the same category. The categorized unstructured text metadata 723 thus obtained can then be converted into a vector format by one-hot encoding with reference to the unstructured text metadata conversion table 900 in the metadata conversion table database 1015. As an example, the tier value in the categorized unstructured text metadata 723 shown in Fig. 8 is expressed as "1,0,0,..." in the vector format, and the namespace value is expressed as "0,1,0,..." in the vector format.
[0095] According to the above-described metadata conversion 700, application metadata can be converted into vector format and stored in the above-described metadata database 1014. In addition, since all metadata can be expressed in vector format, it becomes possible to compare the metadata of the application to be estimated and the metadata of past applications using metadata vectors, and it is possible to easily calculate the similarity between the application to be estimated and the past applications.
[0096] In the above-described metadata conversion 700, a metadata conversion table stored in a metadata conversion table database is used to convert metadata in text format into vector format. Therefore, next, the metadata conversion table database according to an embodiment of the present disclosure will be described with reference to Figs. 8 and 9.
[0097] 8 is a diagram illustrating an example of a keyword metadata conversion table 800 in the metadata conversion table database 1015 according to an embodiment of the present disclosure. The keyword metadata conversion table 800 is a table for converting keyword metadata into a vector format by associating a specific keyword in text metadata with a predetermined vector.
[0098] As shown in FIG. 8, the keyword metadata conversion table 800 stores information on keys 811 indicating names of application resources such as “service type” and “image name”, possible values 812 of the application resources such as “Nodeport” and “Web Server A”, and vector format 813 corresponding to these values 812. A specific keyword in application metadata can be converted into a vector format by using the keyword metadata conversion table 800. As an example, if the value of the application resource for "service type" is "Nodeport", the value of "Nodeport" can be converted into a vector format of [1,0,0] by using the keyword metadata conversion table 800.
[0099] 9 is a diagram illustrating an example of an unstructured text metadata conversion table 900 in the metadata conversion table database 1015 according to an embodiment of the present disclosure. The unstructured text metadata conversion table 900 is a table for converting unstructured text metadata into a vector format by associating unstructured text information freely input by a user, for example, with a predetermined vector.
[0100] As shown in FIG. 9 , the unstructured text metadata conversion table 900 stores information such as keys 911 indicating names of application resources such as “tier” and “namespace”, possible values 912 of the application resources such as “frontend” and “development”, inferred categories 913 into which these values 912 are classified by the neural network-based classification technique described above, and vector format 914 corresponding to these values 912. The unstructured text metadata in the application metadata can be converted into a vector format by using the unstructured text metadata conversion table 900. As an example, if the value of the application resource for "tier" is "backend", the value for "backend" can be converted into a vector format of [0, 1, 0, ...] by using the unstructured text metadata conversion table 900. It is assumed here that the unstructured text metadata in the application metadata has already been classified into specific categories using a neural network-based classification technique before being converted into vector format.
[0101] In an initial stage, the keyword metadata conversion table 800 and the unstructured text metadata conversion table 900 in the metadata conversion table database 1015 described above are constructed based on application metadata related to the benchmark application. Thereafter, when a new application (e.g., a requested application) is executed on a particular node cluster, the keyword metadata translation table 800 and the unstructured text metadata translation table 900 are updated based on the application metadata extracted from the application manifest of the new application.
[0102] According to the power consumption estimation means described above, the similarity between an application to be placed on a node in a distributed computing environment and applications that have been executed on that node in the past is calculated based on the metadata of each application, and by using information on power consumption measured for past applications that satisfy a specified similarity standard, it is possible to accurately estimate the power consumption of a variety of applications.
[0103] Based on the power consumption estimate of the application generated in this manner, the application can be placed in an appropriate node cluster. After placing the application in an appropriate node cluster, the actual power consumption of the application can be measured and analyzed to evaluate the accuracy of a power model that estimates the power consumption taking into account the resource usage of the application. If the evaluation result shows that the accuracy of the power model does not meet a predetermined standard (i.e., the estimate of the power model deviates from the actually measured value), the accuracy of the power model can be improved by updating the power model based on information on the actual power consumption of the application.
[0104] On the other hand, if there is no past application that meets the predetermined similarity criteria with the application to be estimated, a power consumption estimate for the application to be estimated is generated based on the average power consumption of past applications executed in the node cluster.The application to be estimated is then deployed to an appropriate node cluster based on this power consumption estimate.In addition, by measuring and analyzing the actual power consumption of the deployed application, a new power model for the application can be constructed.
[0105] In this way, over time, the node cluster will host different applications and update existing power models or create new power models for each hosted application, building a repertoire of power models that correspond to a wide range of applications, enabling accurate estimation of power consumption for a wide range of applications.
[0106] Although the embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiment, and various modifications are possible without departing from the gist of the present invention. [Explanation of symbols]
[0107] 160 Power Consumption Estimation System 1000 Cluster Management Device 1010 Power consumption estimation device 1011 Power consumption estimation section 1013 Executive Management Department 1014 Metadata Database 1015 Metadata conversion table database 1016 Application Power Consumption Database 1017 Application Profile Database 1018 Power Model Database 1020 I / O device 1030 Processor 1040 Memory 1050 Network Interface 2000 Communication Network 3010, 3020...30N0 node cluster 3011 Masternodes 3012, 3013, 301N Slave Nodes 4000 client terminals
Claims
1. A power consumption estimation device that estimates power consumption of an estimation target application that is arranged in a node cluster composed of a plurality of nodes, comprising: a metadata database for storing past application metadata relating to past applications that were executed in the node cluster in the past; a power consumption database including power consumption information indicating power consumption of the past application; a power consumption estimation unit that estimates power consumption of an application to be estimated; The power consumption estimation unit is obtaining an application manifest including information about the application to be estimated; extracting target application metadata from the application manifest, the target application metadata being metadata related to the application to be estimated; Calculating a similarity of the target application metadata to the past application metadata stored in the metadata database; If there is a similar application whose calculated similarity satisfies a predetermined similarity criterion among the past applications, first power consumption information corresponding to the similar application is extracted from the power consumption database; outputting the first power consumption information as a first power consumption estimation result indicating an estimation of power consumption of the application to be estimated; A power consumption estimation device comprising:
2. The power consumption estimation unit is if there is no similar application among the past applications, the calculated similarity of which satisfies the predetermined similarity criterion with respect to the target application metadata, outputting an average value of the power consumption of each of the past applications stored in the power consumption database as the first power consumption estimation result; The power consumption estimation device according to claim 1 .
3. The power consumption estimation device comprises: an application profile database for storing application profiles indicating information on resource usage during execution of the past application; a power model database that stores a power model that is constructed based on the application profile and that estimates power consumption due to execution of the past application; Further comprising: The power consumption estimation device according to claim 1 .
4. The power consumption estimation device comprises: determining, based on the first power consumption estimation result, a destination node to which the application to be estimated is to be placed from within the node cluster; an execution management unit that deploys the application to be estimated to the destination node; The power consumption estimation device according to claim 3 .
5. The execution management unit is After the application to be estimated is deployed to the destination node, If there is a similar application among the past applications, the calculated similarity satisfies the predetermined similarity criterion with the target application metadata, Identifying a first power model from the power model database that corresponds to a first application profile of the similar application; generating a second power consumption estimation result indicating an estimate of power consumption of the estimation target application using the identified first power model; collecting power consumption measurement values indicating actual power consumption when the application to be estimated is executed on the destination node, and resource usage measurement values indicating actual resource usage when the application to be estimated is executed on the destination node; if a degree of deviation between the measured power consumption value and the second power consumption estimation result satisfies a predetermined degree of deviation criterion, updating a first application profile of the similar application based on the measured resource usage value, and updating the first power model based on the updated first application profile and the measured power consumption value; The power consumption estimation device according to claim 4 .
6. The execution management unit is After the application to be estimated is deployed to the destination node, If there is no similar application among the past applications, the calculated similarity with the target application metadata satisfies the predetermined similarity criterion, collecting power consumption measurement values indicating actual power consumption when the application to be estimated is executed on the destination node, and resource usage measurement values indicating actual resource usage when the application to be estimated is executed on the destination node; creating a second application profile in the application profile database corresponding to the application to be estimated based on the resource usage measurements; constructing a regression model, based on the created second application profile and the power consumption measurement value, in which the resource usage measurement value is an independent variable and the power consumption measurement value is a dependent variable, as a second power model corresponding to the application to be estimated, and storing the second power model in the power model database; The power consumption estimation device according to claim 4 .
7. The target application metadata includes: The metadata includes text metadata that is composed of text and numeric metadata that is composed of numeric values, The text metadata includes: keyword metadata including predetermined fixed text values and unstructured text metadata including freely enterable text values; The power consumption estimation device comprises: a metadata conversion table database storing a keyword metadata conversion table for converting the keyword metadata into a vector format and an unstructured text metadata conversion table for converting the unstructured text metadata into a vector format; The power consumption estimation device according to claim 1 .
8. The power consumption estimation unit is converting the numerical metadata into a first metadata vector; converting the keyword metadata into a second metadata vector using the keyword metadata conversion table; classifying the unstructured text metadata into predefined metadata categories using a trained neural network classifier; converting the unstructured text metadata into a third vector using the metadata categories and the unstructured text metadata conversion table; calculating the similarity of the target application metadata to the past application metadata stored in the metadata database as a Euclidean distance by comparing each of the first metadata vector, the second metadata vector, and the third metadata vector with the metadata database, which stores the past application metadata in a vector format; The power consumption estimation device according to claim 7 .
9. The power consumption estimation unit is assigning a weight to any one of the first metadata vector, the second metadata vector, and the third metadata vector, thereby adjusting the influence of the metadata vector on the similarity; The power consumption estimation device according to claim 8 .
10. A node cluster consisting of multiple nodes; A cluster management device for managing the node cluster; A power consumption estimation system in which a client terminal that requests an application to be executed by the node cluster is connected via a communication network, The cluster management device includes: a metadata database storing past application metadata relating to past applications executed on the node cluster; a power consumption database including power consumption information indicating power consumption of the past application; a power consumption estimation unit for estimating power consumption of an application to be estimated; an execution management unit that manages applications to be placed in the node cluster; The power consumption estimation unit is Obtaining an application manifest from the client terminal, the application manifest including information of the application to be estimated; extracting target application metadata from the application manifest, the target application metadata being metadata related to the application to be estimated; Calculating a similarity of the target application metadata to the past application metadata stored in the metadata database; If there is a similar application whose calculated similarity satisfies a predetermined similarity criterion among the past applications, first power consumption information corresponding to the similar application is extracted from the power consumption database; generating the first power consumption information as a first power consumption estimation result indicating an estimation of power consumption of the estimation target application; The execution management unit is determining, based on the first power consumption estimation result, a destination node to which the application to be estimated is to be placed from within the node cluster; deploying the application to be estimated at the deployment destination node; A power consumption estimation system comprising:
11. A power consumption estimation method for estimating power consumption of an application to be estimated that is arranged in a node cluster composed of a plurality of nodes, in a power consumption estimation device including a power consumption estimation unit, comprising: The power consumption estimation unit, obtaining an application manifest including information about the application to be estimated; extracting target application metadata from the application manifest, the target application metadata being metadata related to the application to be estimated; converting the target application metadata into a vector format metadata vector using one-hot encoding means; Calculate a similarity of the metadata vector to past application metadata for past applications executed on the node cluster; If there is a similar application whose calculated similarity satisfies a predetermined similarity criterion among the past applications, first power consumption information corresponding to the similar application is identified; generating the first power consumption information as a first power consumption estimation result indicating an estimation of power consumption of the estimation target application; determining, based on the first power consumption estimation result, a destination node to which the application to be estimated is to be placed from within the node cluster; deploying the application to be estimated at the deployment destination node; A power consumption estimation method comprising:
Citation Information
Patent Citations
Device
JP2015207128A
Parallel processing device, power factor calculation program, and power factor calculation method
JP2017151656A
Control device for estimation of power consumption and energy efficiency of application containers
US10432491B2
Methods and apparatus to estimate power performance of a job that runs on multiple nodes of a distributed computer system
US9575536B2
Load characteristics estimation system, load characteristics estimation method, and program
WO2011071010A1