Load balancer, control program and control method
Patent Information
- Application Number
- JP2024059412
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-19
- Filing Date
- 2024-04-02
- Publication Date
- 2025-01-07
AI Technical Summary
【0013】 一実施形態によれば、消費電力量を低減することができる。
Smart Images

Figure 2025000543000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a load balancer, a control program, and a control method. [Background technology]
[0002] 2. Description of the Related Art When multiple servers (devices) in a computer system are made to perform parallel processing, a load balancing system is known that distributes processing among the servers in order to balance the load.
[0003] The load balancing system includes a load balancer that distributes processing among the servers so as to prevent excessive imbalances in processing loads, such as CPU (Central Processing Unit) utilization rates, power consumption, and the like, between the servers.
[0004] Furthermore, in a server, for example, a processor has a characteristic that the higher the load, the higher the temperature becomes, and when the temperature rises, power consumption increases due to leakage current and the like.
[0005] If processes are allocated without considering the relationship between temperature and power consumption in such servers, processes may be allocated to servers with high power consumption even though some servers have low power consumption, resulting in excessive power consumption.In addition, processes may be allocated to servers that are at risk of becoming too hot.
[0006] Therefore, a conventional method is known in which each of multiple servers measures and stores the temperature characteristics of its own power consumption, and a load balancer assigns processing to the server with the smallest power consumption value corresponding to the current temperature based on the temperature characteristics of power consumption obtained from each server. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] JP 2011-197715 A [Patent Document 2] JP 2012-133505 A [Patent Document 3] JP 2018-151920 A [Patent Document 4] JP 2011-18131 A Summary of the Invention [Problem to be solved by the invention]
[0008] In the conventional load balancing system described above, the load balancer selects a server with low power consumption based on the temperature of each server when allocating processing. However, this does not take into account the rise / fall in server temperature, such as heat dissipation performance in the case of processing that occupies the server for a long time, such as machine learning.
[0009] The amount of power required for long-term processing such as machine learning varies over time, and the amount of variation also differs from server to server. This makes it difficult to calculate the amount of power required to execute a process in a uniform manner.
[0010] As a result, when viewed over a long period of time, a server that consumes a large amount of power may be selected as the destination for processing.
[0011] In one aspect, the present invention has an object to enable reduction in power consumption. [Means for solving the problem]
[0012] For this reason, this load balancer is connected to a plurality of computing devices that execute jobs, and assigns the job that is requested to be executed to each of the computing devices.The load balancer is equipped with a control unit that calculates the increase in power consumption of each of the plurality of computing devices due to the job based on the processing volume and power consumption profile for each of the plurality of computing devices, the temperatures of each of the plurality of computing devices, and the processing volume of the job that is requested to be executed, and assigns the job to the computing device among the plurality of computing devices that has the smallest increase in power consumption. Effect of the Invention
[0013] According to one embodiment, the amount of power consumption can be reduced. [Brief description of the drawings]
[0014] [Figure 1] FIG. 1 is a diagram illustrating a functional configuration of a computer system according to a first embodiment. [Diagram 2] FIG. 1 is a diagram illustrating an example of a network configuration of a computer system according to a first embodiment. [Diagram 3] 4 is a diagram for explaining processing amount-temperature characteristic information in the computer system according to the first embodiment. FIG. [Figure 4] 5 is a diagram showing a specific example of processing amount-temperature characteristic information in the computer system according to the first embodiment. FIG. [Diagram 5] 3 is a diagram for explaining temperature-power consumption characteristic information in the computer system according to the first embodiment; FIG. [Figure 6] 4 is a diagram showing a specific example of temperature-power consumption characteristic information in the computer system according to the first embodiment; FIG. [Figure 7] 3 is a diagram for explaining processing amount-power consumption characteristic information in the computer system according to the first embodiment. FIG. [Figure 8] 4 is a diagram showing a specific example of processing amount-power consumption characteristic information in the computer system according to the first embodiment; FIG. [Figure 9]2 is a block diagram showing an example of a hardware (HW) configuration of a computer that realizes a function of a load balancer in the computer system according to the first embodiment. FIG. [Figure 10] 4 is a diagram illustrating an example of a data structure of temperature information in the computer system according to the first embodiment. FIG. [Figure 11] 5A to 5C are diagrams showing specific examples of temperature information in the computer system according to the first embodiment. [Figure 12] 4 is a diagram illustrating an example of a data structure of input data size-processing execution time information in the computer system according to the first embodiment. FIG. [Figure 13] 1 is a diagram illustrating an example of input data size-processing execution time information in the computer system according to the first embodiment. FIG. [Figure 14] 4 is a diagram for explaining the processing of a candidate selection unit of the computer system according to the first embodiment; FIG. [Figure 15] 4 is a diagram for explaining the processing of a candidate selection unit of the computer system according to the first embodiment; FIG. [Figure 16] 2 is a diagram for explaining the total power consumption in the computer system according to the first embodiment; FIG. [Figure 17] 4 is a flowchart for explaining an overview of processing of the computer system according to the first embodiment. [Figure 18] 6 is a flowchart for explaining processing of a candidate selection unit of the computer system according to the first embodiment. [Figure 19] 4 is a flowchart for explaining the processing of each unit in the computer system according to the first embodiment. [Figure 20] FIG. 11 is a diagram illustrating a functional configuration of a computer system according to a second embodiment. [Figure 21] FIG. 11 is a diagram for explaining the process of a deviation determination unit of the computer system according to the second embodiment. [Figure 22] FIG. 11 is a diagram for explaining a process of an update unit of the computer system of the second embodiment. [Figure 23]10 is a flowchart for explaining the processing of each unit in a computer system according to a second embodiment. [Figure 24] 10 is a flowchart for explaining the processing of each unit in a computer system according to a second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] Hereinafter, an embodiment of the load balancer, control program, and control method will be described with reference to the drawings. However, the embodiment shown below is merely an example, and there is no intention to exclude the application of various modified examples and techniques not explicitly stated in the embodiment. In other words, this embodiment can be implemented with various modifications within the scope of its purpose. Also, each figure is not intended to include only the components shown in the figure, but can include other functions, etc.
[0016] (I) Description of the First Embodiment (A) Configuration FIG. 1 is a diagram showing a schematic functional configuration of a computer system 1 according to a first embodiment, and FIG. 2 is a diagram showing an example of its network configuration.
[0017] The computer system 1 illustrated in FIG. 2 includes one or more input devices 4 (two or more in the example illustrated in FIG. 2), a plurality of servers 3-1 to 3-n (n servers in the example illustrated in FIG. 2), and a load balancer 2.
[0018] Hereinafter, when there is no particular distinction between the servers 3-1 to 3-n, they will be referred to as servers 3. Furthermore, server 3-1 may be referred to as server #1, server 3-2 may be referred to as server #2, and server 3-n may be referred to as server #n. In this computer system 1, parallel processing is realized using multiple servers 3.
[0019] In the embodiment described below, an example is shown in which a machine learning model is trained using machine learning data in the computer system 1. That is, the machine learning model is trained by parallel processing using a plurality of servers 3. Note that the machine learning data may be image data, and the machine learning model may perform inference for object detection in the image data.
[0020] When training a machine learning model using machine learning data in the server 3, resources such as the processor 10a (see FIG. 9) of the server 3 will be continuously occupied by the training for a predetermined period of time or more.
[0021] Each input device 4 and the load balancer 2 are connected via a communication network 5. The load balancer 2 is also connected to each server 3 via the communication network 5. The communication network 5 may be, for example, a LAN (Local Area Network) such as Ethernet (registered trademark), or may be optical communication such as FC (Fibre Channel).
[0022] The input device 4 is a terminal device through which a user performs input operations, etc. The input device 4 may be, for example, a computer equipped with a keyboard, a mouse, a display, etc. The user uses the input device 4 to input data to be processed by the computer system 1.
[0023] As described above, in the computer system 1, a machine learning model that performs inference using image data as input data is trained. Then, a user uses the input device 4 to input training data and input parameters used in training the machine learning model. The training data may be called machine learning data. The input parameters may include, for example, the number of frames to be processed and data size (image size). Each server 3 is a computer having a processor, a memory, and a storage device. The server 3 is a computing device that executes jobs, and multiple servers 3 correspond to multiple computing devices that execute jobs.
[0024] A memory is an example of hardware that stores information such as various data and programs. Examples of memories include volatile memories such as dynamic random access memories (DRAMs) and non-volatile memories such as persistent memories (PMs).
[0025] A storage device is an example of hardware that stores various types of data, programs, and other information. Examples of storage devices include magnetic disk devices such as HDDs (Hard Disk Drives), semiconductor drive devices such as SSDs (Solid State Drives), and various types of storage devices such as non-volatile memories. Examples of non-volatile memories include flash memories, SCMs (Storage Class Memory), and ROMs (Read Only Memory).
[0026] This storage device stores processing amount-power consumption characteristic information 201 (see Figs. 7 and 8), processing amount-temperature characteristic information 301 (see Figs. 3 and 4), and temperature-power consumption characteristic information 302 (see Figs. 5 and 6), which will be described later. The storage device of the server 3 functions as a characteristic information recording unit 32 that records the processing amount-power consumption characteristic information 201, processing amount-temperature characteristic information 301, and temperature-power consumption characteristic information 302 (see Fig. 1).
[0027] The processor is an example of a processing unit that performs various controls and calculations, and is a control unit that executes various processes. Note that the processor may be a multiprocessor including multiple processors, a multicore processor having multiple processor cores, or a configuration having multiple multicore processors.
[0028] The processor executes a program stored in the storage device to realize the functions of the characteristic information management unit 31, the temperature measurement unit 33, and the learning processing unit 34 illustrated in FIG.
[0029] The server 3 may include a graphics processing device such as a GPU (Graphics Processing Unit). The graphics processing device may have a configuration as an accelerator that executes machine learning processing and inference processing using a machine learning model. In other words, the GPU may realize the function of the learning processing unit 34.
[0030] The temperature measurement unit 33 measures the temperature of the server 3 using a temperature sensor (not shown) attached to the server 3. It is desirable that the temperature sensor is provided near a heat source that generates heat in association with the execution of calculations in the server 3. The temperature sensor may be installed, for example, near the processor in the server 3, or may be installed at a position other than near the processor. Furthermore, the temperature sensor may be installed at multiple positions in the server 3. Hereinafter, the temperature measured by the temperature sensor may simply be referred to as the temperature of the server 3.
[0031] The temperature measurement unit 33 transmits the temperature of the server 3 measured by the temperature sensor to the load balancer 2 periodically at a predetermined timing, for example, every few seconds or every few minutes.
[0032] The learning processing unit 34 performs training (machine learning) of a machine learning model. The learning processing unit 34 may have a function as a deep learning processing unit that performs deep learning in a neural network.
[0033] The neural network may be a hardware circuit, or may be a virtual network using software that connects layers virtually constructed on a computer program using a processor or the like.
[0034] The neural network may be a deep neural network that includes multiple hidden layers between the input layer and the output layer, such as a convolutional layer, a pooling layer, or a fully connected layer.
[0035] The learning processing unit 34 inputs input data such as image data to an input layer, and sequentially executes predetermined calculations in a hidden layer composed of a convolution layer, a pooling layer, etc., thereby executing forward processing (forward propagation processing) that sequentially transmits information obtained by the calculation from the input side to the output side. After executing the forward processing, it executes backward processing (backpropagation processing) that determines parameters to be used in the forward processing in order to reduce the value of an error function obtained from the output data output from the output layer and the correct answer data.
[0036] Then, an update process is executed to update variables such as weights based on the result of the backpropagation process. For example, a gradient descent method may be used as an algorithm for determining the update width of the weights used in the calculation of the backpropagation process.
[0037] The characteristic information management unit 31 manages the throughput-temperature characteristic information 301 , the temperature-power consumption characteristic information 302 , and the throughput-power consumption characteristic information 201 stored in the characteristic information recording unit 32 .
[0038] The throughput-temperature characteristic information 301 is information that indicates the relationship between the temperature and the data throughput of the server 3. Hereinafter, the data throughput may be simply referred to as the throughput.
[0039] FIG. 3 is a diagram for explaining the processing amount-temperature characteristic information 301 in the computer system 1 according to the first embodiment.
[0040] 3, reference symbol A represents a graph of the relationship between the throughput and temperature in the server 3 (throughput-temperature characteristics), and reference symbol B shows an example of the data structure of throughput-temperature characteristics information 301 corresponding to the graph shown in reference symbol A.
[0041] In the graph indicated by symbol A, the horizontal axis represents the processing volume (unit: transactions / second) and the vertical axis represents the temperature (unit: °C). As shown in this graph, the server 3 has a characteristic that the temperature rises as the processing volume increases. Moreover, the graph indicated by symbol A in FIG. 3 shows the processing volume-temperature characteristics of servers #1 and #2 out of the multiple servers 3.
[0042] The throughput-temperature characteristic may be obtained, for example, by measuring the throughput and temperature in advance while a predetermined test program or the like is being executed in the server 3. In addition, the manufacturer of the server 3 may provide the throughput-temperature characteristic, and various modifications may be made.
[0043] The throughput-temperature characteristic information 301 may be information that associates the server temperature with the throughput until the temperature of the server 3 rises by 1° C., as exemplified by reference character B in FIG.
[0044] The characteristic information management unit 31 may generate the processing volume-temperature characteristic information 301 by tabulating the acquired processing volume-temperature characteristic. The characteristic information management unit 31 generates the processing volume-temperature characteristic information 301 for each server 3. Reference symbol B in Fig. 3 shows the processing volume-temperature characteristic information 301 for one of the multiple servers 3. The processing volume-temperature characteristic information 301 associates the processing volume until the server temperature rises by the unit temperature (1°C in this embodiment) with multiple server temperatures that rise from α degrees in increments of unit temperature (1°C in this embodiment).
[0045] 3, the processing amount-temperature characteristic information 301 shown by reference symbol B converts the processing amount shown in units of transactions / second in the graph shown by reference symbol A into the number of images (unit: images), and uses this value as the processing amount until the temperature of the server 3 rises by 1° C. Hereinafter, the processing amount until the temperature of the server 3 rises by 1° C. may be referred to as the number of images resulting in temperature increase, or simply the number of images.
[0046] In the processing amount-temperature characteristic information 301 illustrated in FIG. 3, NUM (for example, NUM (α) ) is shown as the value.
[0047] FIG. 4 is a diagram showing a specific example of the processing amount-temperature characteristic information 301 in the computer system 1 according to the first embodiment.
[0048] 4, for example, when the server temperature is 49° C., the processing amount (number of images with temperature increase) until the temperature of the server 3 rises by 1° C. is 2469 images, indicating that the server temperature will reach 50° C. if 2469 images are processed on the server 3 with a server temperature of 49° C. Furthermore, when the server temperature is 60° C., the processing amount (number of images with temperature increase) until the temperature of the server 3 rises by 1° C. is 730 images, indicating that the server temperature will reach 61° C. if 730 images are processed on the server 3 with a server temperature of 60° C.
[0049] The characteristic information management unit 31 stores in a storage device of the server 3 in which it is installed (hereinafter, referred to as the server 3 itself) throughput-temperature characteristic information 301 that has been created based on the throughput-temperature characteristic of the server 3 in which it is installed.
[0050] The temperature-power consumption characteristic information 302 is information that indicates the relationship between the temperature of the server 3 and the amount of power consumption.
[0051] FIG. 5 is a diagram for explaining the temperature-power consumption characteristic information 302 in the computer system 1 according to the first embodiment.
[0052] 5, reference symbol A represents a graph of the relationship between temperature and power consumption in the server 3 (temperature-power consumption characteristics), and reference symbol B indicates an example of the data structure of temperature-power consumption characteristics information 302 corresponding to the graph shown in reference symbol A.
[0053] In the graph indicated by symbol A, the horizontal axis represents the temperature (unit: °C) of server 3, and the vertical axis represents power consumption (unit: W). As shown in this graph, server 3 has a characteristic that power consumption increases as temperature increases. Moreover, the graph indicated by symbol A in FIG. 5 shows the temperature-power consumption characteristics of servers #1 and #2 out of the multiple servers 3.
[0054] The temperature-power consumption characteristic may be obtained, for example, by measuring the temperature and power consumption in advance while a predetermined test program or the like is being executed in the server 3. In addition, the manufacturer or the like of the server 3 may provide the temperature-power consumption characteristic.
[0055] The temperature-power consumption characteristic information 302 may be information in which the server temperature is associated with the power consumption of the server 3, as exemplified by reference character B in FIG.
[0056] The characteristic information management unit 31 may generate temperature-power consumption characteristic information 302 by tabulating the acquired temperature-power consumption characteristics. The characteristic information management unit 31 generates the temperature-power consumption characteristic information 302 for each server 3. Reference symbol B in Fig. 5 shows the temperature-power consumption characteristic information 302 for one of the multiple servers 3. The temperature-power consumption characteristic information 302 associates the power consumption of each server 3 with a plurality of server temperatures that increase in increments of unit temperature (1°C in this embodiment) from α degrees.
[0057] It is desirable that the throughput-temperature characteristics information 301 and the temperature-power consumption characteristics information 302 have the same unit temperature.
[0058] In addition, in the temperature-power consumption characteristic information 302 illustrated in FIG. 5, the power consumption of the server 3 is represented in W (for example, W (α) ) is shown as the value.
[0059] FIG. 6 is a diagram showing a specific example of the temperature-power consumption characteristic information 302 in the computer system 1 according to the first embodiment.
[0060] The temperature-power consumption characteristic information 302 illustrated in FIG. 6 indicates that, for example, when the server temperature is 49° C., the power consumption is 165 W, and when the server temperature is 60° C., the power consumption is 328 W.
[0061] The characteristic information management unit 31 stores the temperature-power consumption characteristic information 302 created based on the temperature-power consumption characteristic of the server 3 in a storage device of the server 3 .
[0062] The characteristic information management unit 31 creates the processing amount-power consumption characteristic information 201 of its own server 3 based on the processing amount-temperature characteristic information 301 and the temperature-power consumption characteristic information 302 of its own server 3 .
[0063] The processing amount-power consumption characteristic information 201 is information that indicates the relationship between the temperature of the server 3, the amount of data processing, and the power consumption, and corresponds to a profile of the processing amount and power consumption for each server 3 (arithmetic device).
[0064] FIG. 7 is a diagram for explaining the processing amount-power consumption characteristic information 201 in the computer system 1 according to the first embodiment.
[0065] In FIG. 7, reference symbol A indicates an example of the data structure of the processing amount-power consumption characteristic information 201, and reference symbol B indicates a graph of the relationship between the processing amount and power consumption in the server 3 (processing amount-power consumption characteristic).
[0066] Reference symbol A in FIG. 7 indicates the processing amount-power consumption characteristic information 201 for server #1 among the multiple servers 3.
[0067] In the processing amount-power consumption characteristic information 201 shown by symbol A in FIG. 7, the power consumption of server 3 (server #1) and the processing amount (number of images per temperature increase, number of images) until the temperature of server 3 (server #1) rises by 1°C are associated with the server temperature (e.g., α).
[0068] In the processing amount vs. power consumption characteristic information 201 shown by reference symbol A in FIG. 7, the number of images (unit: images) is also used as the processing amount until the temperature of server 3 (server #1) rises by 1° C.
[0069] The characteristic information management unit 31 may generate the throughput-power consumption characteristic information 201 by combining the throughput-temperature characteristic information 301 and the temperature-power consumption characteristic information 302 with the server temperature as a common factor.
[0070] 7, the horizontal axis represents the processing amount (unit: transactions / second) and the vertical axis represents the power consumption (unit: W), and shows the processing amount-power consumption characteristics of server #1 and server #2 at an arbitrary server temperature. As shown in this graph, server #3 has the characteristic that the power consumption increases as the processing amount increases.
[0071] The processing volume-power consumption characteristic information 201 is configured by associating the power consumption at each of multiple server temperatures (the server temperature increases in 1°C increments in the example shown in FIG. 7) that occur due to a rise in temperature of the server 3 with the number of images of temperature increase.
[0072] The processing amount-power consumption characteristic information 201 represents the processing amount and power consumption characteristics taking into account the temperature rise characteristics of the server 3 .
[0073] FIG. 8 is a diagram showing a specific example of the processing amount-power consumption characteristic information 201 in the computer system 1 according to the first embodiment.
[0074] In FIG. 8, reference symbol A illustrates the processing amount-power consumption characteristic information 201 of server #1, and reference symbol B illustrates the processing amount-power consumption characteristic information 201 of server #2.
[0075] As shown in Fig. 8, the lower the server temperature, the more processing is required until the temperature rises by 1°C, but the less power is consumed. Conversely, the higher the server temperature, the less processing is required until the temperature rises by 1°C, but the more power is consumed.
[0076] The characteristic information management unit 31 stores the created processing amount-power consumption characteristic information 201 of the server 3 in a storage device of the server 3 .
[0077] Moreover, the characteristic information management unit 31 transmits (notifies) the created processing amount-power consumption characteristic information 201 to the load balancer 2 (characteristic information acquisition unit 25). The load balancer 2 achieves load balancing by allocating processes (jobs) to multiple servers 3. The load balancer 2 allocates jobs requested for execution to the servers 3. In the following, an example will be shown in which the job is training a machine learning model using machine learning data.
[0078] 9 is a block diagram showing an example of a hardware (HW) configuration of a computer 10 that realizes the function of the load balancer 2 of the computer system 1 according to the first embodiment. When multiple computers are used as HW resources that realize the function of the load balancer 2, each computer may have the HW configuration shown in FIG.
[0079] As shown in FIG. 9, the computer 10 may, as a HW configuration, illustratively include a processor 10a, a graphics processing unit 10b, a memory 10c, a storage unit 10d, an IF (Interface) unit 10e, an IO (Input / Output) unit 10f, and a reading unit 10g.
[0080] The processor 10a is an example of a processing unit that performs various controls and calculations, and is a control unit that executes various processes. The processor 10a may be connected to each block in the computer 10 via a bus 10j so that they can communicate with each other. The processor 10a may be a multiprocessor including multiple processors, a multicore processor having multiple processor cores, or a configuration having multiple multicore processors.
[0081] Examples of the processor 10a include integrated circuits (ICs) such as a CPU, MPU, APU, DSP, ASIC, and FPGA. Note that a combination of two or more of these integrated circuits may be used as the processor 10a. CPU is an abbreviation for Central Processing Unit, MPU is an abbreviation for Micro Processing Unit, APU is an abbreviation for Accelerated Processing Unit, DSP is an abbreviation for Digital Signal Processor, ASIC is an abbreviation for Application Specific IC, and FPGA is an abbreviation for Field-Programmable Gate Array.
[0082] The graphics processing device 10b performs screen display control for an output device such as a monitor in the IO unit 10f. Examples of the graphics processing device 10b include various arithmetic processing devices, such as a GPU (Graphics Processing Unit), an APU, a DSP, an ASIC, an FPGA, or other integrated circuits (ICs).
[0083] The memory 10c is an example of HW that stores various data, programs, and other information. The memory 10c may be, for example, one or both of a volatile memory such as a dynamic random access memory (DRAM) and a non-volatile memory such as a persistent memory (PM).
[0084] The storage unit 10d is an example of HW that stores various data, programs, and other information. Examples of the storage unit 10d include various storage devices such as a magnetic disk device such as a hard disk drive (HDD), a semiconductor drive device such as a solid state drive (SSD), and a nonvolatile memory. Examples of the nonvolatile memory include a flash memory, a storage class memory (SCM), and a read only memory (ROM).
[0085] The storage unit 10d may store a program 10h (control program) that realizes all or part of the various functions of the computer 10.
[0086] For example, the processor 10a of the load balancer 2 can implement a load balancing function, which will be described later, by loading a program 10h stored in the storage unit 10d into the memory 10c and executing it.
[0087] The IF unit 10e is an example of a communication IF that controls the connection and communication between the computer 10 and other computers. For example, the IF unit 10e may include an adapter that complies with a LAN (Local Area Network) such as Ethernet (registered trademark) or optical communication such as FC (Fibre Channel). The adapter may support one or both of wireless and wired communication methods.
[0088] For example, the load balancer 2 may be communicably connected to one or more input devices 4 and a plurality of servers 3 illustrated in Fig. 2 via the IF unit 10e and the communication network 5. The program 10h may be downloaded to the computer 10 from the communication network 5 via the communication IF and stored in the storage unit 10d.
[0089] The IO unit 10f may include one or both of an input device and an output device. Examples of the input device include a keyboard, a mouse, a touch panel, etc. Examples of the output device include a monitor, a projector, a printer, etc. The IO unit 10f may also include a touch panel or the like in which the input device and the output device are integrated. The output device may be connected to the graphics processing device 10b.
[0090] The reading unit 10g is an example of a reader that reads out data or program information recorded on the recording medium 10i. The reading unit 10g may include a connection terminal or device to which the recording medium 10i can be connected or inserted. Examples of the reading unit 10g include an adapter that complies with USB (Universal Serial Bus) or the like, a drive device that accesses a recording disk, and a card reader that accesses a flash memory such as an SD card. The recording medium 10i may store a program 10h, and the reading unit 10g may read the program 10h from the recording medium 10i and store it in the storage unit 10d.
[0091] Examples of the recording medium 10i include non-transitory computer-readable recording media such as magnetic / optical disks and flash memories. Examples of the magnetic / optical disks include flexible disks, CDs (Compact Discs), DVDs (Digital Versatile Discs), Blu-ray Discs, and HVDs (Holographic Versatile Discs). Examples of the flash memory include semiconductor memories such as USB memories and SD cards.
[0092] The above-described HW configuration of the computer 10 is an example. Therefore, the HW in the computer 10 may be increased or decreased (for example, adding or deleting any block), divided, or integrated in any combination, or buses may be added or deleted, etc.
[0093] As shown in FIG. 1, the load balancer 2 has the functions of a power consumption analysis unit 21, an information storage unit 20, a characteristic information acquisition unit 25, and a temperature acquisition unit .
[0094] The characteristic information acquisition unit 25 receives the processing amount-power consumption characteristic information 201 transmitted from each server 3, and stores it in the information storage unit 20. The processing amount-power consumption characteristic information 201 may simply be called characteristic information.
[0095] The temperature acquisition unit 26 receives the temperatures measured and output (transmitted) by the temperature measurement units 33 of the servers 3 , and stores the temperatures in the information storage unit 20 as temperature information 202 .
[0096] If the temperature of the server 3 has already been stored in the temperature information 202 of the information storage unit 20, the temperature acquisition unit 26 updates the temperature information 202 with the newly received temperature.
[0097] The information storage unit 20 stores input data size-processing execution time information 203, processing amount-power consumption characteristic information 201, and temperature information 202. The function of the information storage unit 20 may be realized by the storage unit 10d, or may be realized by a storage device or database (not shown) connected to the computer 10.
[0098] A storage control unit (not shown) records and reads data in the information storage unit 20. The function of the storage control unit is realized by the processor 10a executing the program 10h.
[0099] The temperature information 202 is a compilation of the temperatures received by the temperature acquisition unit 26 from each server 3 .
[0100] FIG. 10 is a diagram illustrating an example of the data structure of the temperature information 202 in the computer system 1 according to the first embodiment.
[0101] The temperature information 202 illustrated in FIG. 10 is configured as a table that collects the temperature information received from each of the multiple servers 3.
[0102] The temperature information 202 is updated using the latest temperature received each time the temperature acquisition unit 26 acquires a temperature from the server 3. As a result, the latest temperature of the server 3 is recorded in the temperature information 202. The temperature of the server 3 recorded in the temperature information 202 may be called the current temperature of the server 3.
[0103] By referring to this temperature information 202 , the power consumption analysis unit 21 can ascertain the latest temperature of each server 3 .
[0104] FIG. 11 is a diagram showing a specific example of the temperature information 202 in the computer system 1 according to the first embodiment.
[0105] The temperature information 202 illustrated in FIG. 11 indicates that the temperature of server #1 is 50° C., and the temperature of server #2 is 53° C.
[0106] The input data size-processing execution time information 203 is information indicating the processing performance of each server 3, and is information associating the input data size with the time required for the server 3 to process data of that input data size.
[0107] FIG. 12 is a diagram illustrating an example of the data structure of the input data size-processing execution time information 203 in the computer system 1 according to the first embodiment.
[0108] In the input data size-processing execution time information 203 illustrated in FIG. 12, the processing execution time of each server 3 is associated with the input data size.
[0109] In the input data size-processing execution time information 203 illustrated in FIG. 12, for example, server #1 processes data of input data size A (bytes) in Tm1 (sizeA) seconds, and server #2 takes Tm2 (sizeA) It indicates that it will take seconds.
[0110] Such input data size-processing execution time information 203 may be obtained, for example, by having each server 3 process data of each input data size in advance and measuring the time required for each process. Alternatively, each server 3 may process data of a plurality of types of input data sizes and measure the time required for each process, and based on the measured process execution time, the time required for processing data of other input data sizes may be estimated. Furthermore, the manufacturer of the server 3 may provide information equivalent to this input data size-processing execution time information 203, and various modifications may be made.
[0111] FIG. 13 is a diagram illustrating an example of the input data size-processing execution time information 203 in the computer system 1 according to the first embodiment.
[0112] In the input data size-processing execution time information 203 illustrated in FIG. 13, the input data size is expressed as an image size.
[0113] For example, it shows that both server #1 and server #2 require an execution time of 600 ms to process (learning process) input data with an input data size (image size) of 4K.
[0114] In the input data size-processing execution time information 203 illustrated in FIG. 13, for convenience, an example is shown in which the processing execution times of server #1 and server #2 are equal.
[0115] The power consumption analysis unit 21 analyzes the power consumption of each server 3. The power consumption analysis unit 21 has functions as an input data determination unit 22, a candidate selection unit 23, and a process allocation unit 24, as shown in FIG.
[0116] The input data determination unit 22 determines, for the input data (machine learning data, training data) input from the input device 4, the time required by each server 3 to process the input data (machine learning).
[0117] The input data determination unit 22 starts processing when machine learning data is input from the input device 4.
[0118] The input data determination unit 22 extracts data size information from the input parameters input together with the input data. The input data determination unit 22 refers to the input data size-processing execution time information 203 based on the input data size, and acquires the processing execution time of each server 3 corresponding to the input data size.
[0119] For example, it is assumed that the input data determination unit 22 extracts, as data size information, the number of processing frames of 12,000 (sheets) and the image size of the input data of 4K from the input parameters input together with the input data.
[0120] The input data determination unit 22 acquires 600 ms as the processing execution time for each of the servers #1 and #2 by referring to the input data size-processing execution time information 203 illustrated in FIG. 13 based on the input data size of 4K.
[0121] The input data determination unit 22 outputs the acquired value of the processing execution time of each server 3 and the number of processing frames of the input parameters to the candidate selection unit 23.
[0122] The candidate selection unit 23 selects, from among a plurality of servers 3, a server 3 (processing server 3) that is to process the input data.
[0123] The candidate selection unit 23 receives the processing execution time and the number of processing frames of the input parameters from the input data determination unit 22. The candidate selection unit 23 also refers to the processing amount-power consumption characteristic information 201 and the temperature information 202 in the information storage unit 20.
[0124] The candidate selection unit 23 starts processing when the value of the processing execution time of each server 3 and the number of processing frames of the input parameters are input from the input data determination unit 22 .
[0125] The candidate selection unit 23 calculates a predicted value of the total power consumption from the start of execution of the processing of each server 3 to the end of execution, based on the number of processing frames and processing execution time output from the input data determination unit 22, the processing amount-power consumption characteristic information 201 of the information storage unit 20, and the temperature information 202 of the information storage unit 20.
[0126] The candidate selection unit 23 predicts a temperature rise that will occur in the server 3 when the server 3 processes input data, and calculates the amount of power consumption according to the transition (rise) of the server temperature in the server 3.
[0127] Specifically, based on the processing amount-power consumption characteristic information 201, the candidate selection unit 23 calculates the amount of power consumption at each of a number of server temperatures that occur when a temperature rise occurs in the server 3, and by adding up these amounts of power consumption, calculates a predicted value for the total amount of power consumption for the server 3 to process the input data.
[0128] The power consumption at each of a plurality of server temperatures that are reached (or progressed) as the temperature of the server 3 rises, i.e., the power consumption per server temperature, may be called the power consumption per temperature. The candidate selection unit 23 calculates a predicted value of the total power consumption by summing up the power consumption per temperature.
[0129] The temperature of the server 3 obtained from the temperature information 202 before the process is assigned to the server 3 may be referred to as the start temperature of the server 3. The temperature that rises as the server 3 processes input data and reaches when the input data is completed may be referred to as the process completion temperature. The candidate selection unit 23 calculates a predicted value of the total power consumption by adding up the power consumption per temperature from the start temperature to the process completion temperature.
[0130] 14 and 15 are diagrams for explaining the processing of the candidate selection unit 23 of the computer system 1 according to the first embodiment.
[0131] Figure 14 shows an example in which the candidate selection unit 23 predicts the total power consumption of server #1 based on the processing volume-power consumption characteristic information 201 of server #1, and Figure 15 shows an example in which the candidate selection unit 23 predicts the total power consumption of server #2 based on the processing volume-power consumption characteristic information 201 of server #2.
[0132] In Fig. 14, in addition to each piece of processing amount-power consumption characteristic information 201 indicated by reference symbol A in Fig. 8, a temperature rise calculation image for the number of processed frames is also shown (see reference symbol P1). Similarly, in Fig. 15, in addition to each piece of processing amount-power consumption characteristic information 201 indicated by reference symbol B in Fig. 8, a temperature rise calculation image for the number of processed frames is also shown (see reference symbol P2).
[0133] In Figure 14, the starting temperature is 50°C and the temperature at the end of the treatment is 59°C, and in Figure 15, the starting temperature is 53°C and the temperature at the end of the treatment is 56°C.
[0134] To calculate the temperature at the completion of processing, the candidate selection unit 23 refers to the processing amount-power consumption characteristic information 201 based on the starting temperature of the server 3 obtained from the temperature information 202, and adds up each value of the number of images with temperature increase from the starting temperature in the direction in which the server temperature increases (see the downward arrows in Figures 14 and 15).
[0135] The candidate selection unit 23 determines the server temperature at the time when the integrated value (total value) of the values of the number of temperature rise images reaches the number of processed frames as the processing completion temperature.
[0136] 14 and 15, the temperature rise calculation image of the number of processed frames (see symbols P1 and P2) represents the integrated value of the processing amount (number of images with temperature rise) corresponding to each server temperature, calculated by the candidate selection unit 23, at which the temperature corresponding to the server temperature rises by 1°C.
[0137] 14, for example, the starting temperature is 50° C. The number of temperature rise images corresponding to this server temperature of 50° C. is 2150, and the integrated value is also 2150.
[0138] Next, when the server temperature rises by 1° C., the number of temperature rise images corresponding to a server temperature of 51° C. is 1711. Therefore, the accumulated value of the number of temperature rise images is 2150+1711=3861 (images). The candidate selection unit 23 similarly repeats the accumulation of the number of temperature rise images corresponding to each server temperature until the accumulated value reaches the number of processed frames.
[0139] As described above, the candidate selection unit 23 calculates a predicted value of the total power consumption by summing up the power consumption per temperature from the start temperature to the process completion temperature.
[0140] More specifically, the candidate selection unit 23 refers to the processing amount-power consumption characteristic information 201, and calculates the power consumption per temperature for each of all server temperatures included between the start temperature and the processing completion temperature by multiplying the number of temperature rise images, power consumption, and processing execution time corresponding to each server temperature.
[0141] For example, in the example shown in Figure 14, the candidate selection unit 23 calculates the power consumption per temperature unit at a server temperature of 50°C by multiplying the number of temperature rise images (2150), the processing execution time (600 ms), and the power consumption (170 W) for a server temperature of 50°C.
[0142] Similarly, the candidate selection unit 23 calculates the power consumption per temperature for each server temperature for all server temperatures included between the start temperature and the process completion temperature.
[0143] The candidate selection unit 23 calculates a predicted value of the total power consumption by summing up the calculated power consumption per temperature for each server temperature for all server temperatures included between the start temperature and the process completion temperature.
[0144] In addition, when calculating the power consumption per temperature corresponding to the temperature at the completion of processing (59°C in the example shown in Figure 14), the candidate selection unit 23 uses the difference (636 in the example shown in Figure 14) between the number of processed frames (12,000 in this example) and the accumulated value of the number of temperature rise images up to the server temperature one temperature lower than the temperature at the completion of processing (58°C in the example shown in Figure 14) (11,364 in the example shown in Figure 14) as the number of temperature rise images.
[0145] 14, for example, a server temperature of 50° C., which is the start temperature, is associated with a temperature rise image count of 2150 and power consumption of 170 W. Therefore, the candidate selection unit 23 calculates the temperature unit power consumption for a server temperature of 50° C. as 2150 images×600 ms×170 W÷1000÷3600=60.9 Wh. Thereafter, the candidate selection unit 23 similarly calculates the temperature unit power consumption for server temperatures from 51° C. to 58° C.
[0146] Furthermore, the candidate selection unit 23 uses 636 images instead of 771 images, which is the number of temperature rise images, as the power consumption per unit temperature when the processing completion temperature is 59° C., and calculates 636 images×600 ms×300 W÷1000÷3600=31.8 Wh.
[0147] The candidate selection unit 23 sums up the power consumption per temperature for each of the calculated server temperatures to calculate a predicted value for the total power consumption.
[0148] In the example shown in FIG. 14, it can be said that the candidate selection unit 23 calculates the predicted value of the total power consumption amount of the server #1 by the following formula.
[0149] 2150 sheets x 600ms x 170W+ 1711 sheets x 600ms x 174W+ ... 636 sheets x 600ms x 300W =412.5Wh
[0150] Similarly, in the example shown in FIG. 15, the candidate selection unit 23 calculates the predicted value of the total power consumption of the server #2 by the following formula.
[0151] 3511 sheets x 600ms x 200W+ 3320 sheets x 600ms x 200W+ ... 2004 sheets x 600ms x 210W =406.0Wh The predicted value of the total power consumption corresponds to an increase in the power consumption of the server 3 due to execution of a process (job) by the server 3.
[0152] Therefore, the candidate selection unit 23 refers to the processing amount-power consumption characteristic information 201 (a profile of processing amount and power consumption) to calculate the power consumption per temperature at each of the multiple server temperatures included in the temperature rise of the server 3, and calculates a predicted value of the total power consumption by summing up each power consumption per temperature from the processing start temperature to the processing completion temperature. This predicted value of the total power consumption includes an increase in the power consumption. It can be said that the candidate selection unit 23 calculates an increase in the power consumption of each server 3.
[0153] The candidate selection unit 23 stores the calculated predicted value of the total power consumption of each of the servers 3 in a predetermined storage area or the like of the storage unit 10d.
[0154] The candidate selection unit 23 selects the server 3 with the smallest predicted total power consumption as the processing server 3 to process the input data from among the multiple servers 3. It can be said that the candidate selection unit 23 selects the server 3 with the smallest increase in power consumption as the processing server 3 to process the input data from among the multiple servers 3.
[0155] FIG. 16 is a diagram for explaining the expected value of the total power consumption in the computer system 1 according to the first embodiment.
[0156] In FIG. 16, symbol A represents the predicted value of the total power consumption of server #1, and symbol B represents the predicted value of the total power consumption of server #2.
[0157] The difference between the processing volume after loading (when input data processing is completed) and the current processing volume (when input data processing starts) represents the processing volume (loaded processing volume) in server 3. The power consumption related to this loaded processing volume represents the predicted total power consumption when server 3 processes the input data.
[0158] In FIG. 16, the symbol C represents a comparison between the predicted value of the total power consumption of server #1 and the predicted value of the total power consumption of server #2.
[0159] 16, the example indicated by symbol C shows that the predicted total power consumption when input data is processed by server #1 is greater than the predicted total power consumption when input data is processed by server #2. In this case, the power consumption can be reduced by having server #2 process the input data.
[0160] The candidate selection unit 23 notifies (outputs) the processing allocation unit 24 of information for identifying the selected processing server 3 .
[0161] The processing allocation unit 24 transmits, to the learning processing unit 34 of the processing server 3 selected by the candidate selection unit 23, the input data (machine learning data) and an instruction to execute machine learning using the input data (instruction to start processing).
[0162] The processing allocation unit 24 starts processing when information for identifying the processing server 3 is input from the candidate selection unit 23 .
[0163] (B) Operation An overview of the processing of the computer system 1 according to the first embodiment configured as described above will be described with reference to the flowchart (steps A1 to A8) shown in FIG.
[0164] The processes in steps A1 to A3 correspond to pre-processing that is performed before the server 3 performs machine learning.
[0165] In step A1, the characteristics information management unit 31 of each server 3 acquires processing volume-temperature characteristics information 301 and temperature-power consumption characteristics information 302, which are tables of processing volume and temperature characteristics that have been prepared in advance, and records them in the characteristics information recording unit 32.
[0166] In each server 3, the characteristic information management unit 31 generates the processing amount-power consumption characteristic information 201 based on the recorded processing amount-temperature characteristic information 301 and temperature-power consumption characteristic information 302. The characteristic information management unit 31 notifies the generated processing amount-power consumption characteristic information 201 to the characteristic information acquisition unit 25 of the load balancer 2.
[0167] In step A 2 , the characteristic information acquisition unit 25 acquires the processing amount-power consumption characteristic information 201 of each server 3 output from the characteristic information management unit 31 of each server 3 , and causes the information storage unit 20 to record the information.
[0168] In step A3, the temperature acquisition unit 26 acquires the temperature output (notified) from the temperature measurement unit 33 of each server 3, and records (updates) the temperature information 202 in the information storage unit 20.
[0169] In step A4, the user inputs machine learning data and input parameters (the number of frames to be processed and data size information) via the input device 4 when starting the machine learning process.
[0170] In step A5, when the user inputs machine learning data, the input data determination unit 22 acquires the processing time based on the data size information of the input parameters from the user by referring to the input data size-processing execution time information 203. The input data determination unit 22 outputs (notifies) the acquired processing time and the number of processing frames of the input parameters to the candidate selection unit 23.
[0171] In step A6, upon receiving output data from the input data determination unit 22, the candidate selection unit 23 calculates a predicted value of the total power consumption from the start to the end of the process of each server 3, based on the number of processed frames and the processing time output from the input data determination unit 22, the processing amount-power consumption characteristic information 201 of the information storage unit 20, and the temperature information 202 of the information storage unit 20. The candidate selection unit 23 selects the server 3 with the smallest predicted value of the total power consumption as the processing server 3.
[0172] In step A7, upon receiving output data from the candidate selection unit 23, the processing allocation unit 24 sends a machine learning processing start instruction to the learning processing unit 34 of the processing server 3 selected by the candidate selection unit 23.
[0173] In step A8, the learning processing unit 34 performs machine learning using the input data (machine learning data), and then ends the process.
[0174] Next, the process of the candidate selection unit 23 of the computer system 1 according to the first embodiment will be described with reference to the flowchart (steps B1 to B10) shown in FIG.
[0175] In step B1, the candidate selection unit 23 initializes the variables, estimated power consumption W, the number of images that can be processed N, and the number of images that have already been processed M, to zero.
[0176] In step B2, the candidate selection unit 23 selects a temperature T start and temperature T fin Initialization is performed by setting the server temperature at the time of selection (current server temperature) for each of the above.
[0177] In step B3, the candidate selection unit 23 checks whether the number of frames to be processed is equal to or greater than the processable number of images N. If the check result shows that the number of frames to be processed is equal to or greater than the processable number of images N (see the Yes route in step B3), the process proceeds to step B4.
[0178] In step B4, the candidate selection unit 23 refers to the processing amount-power consumption characteristic information 201 and calculates the number of images N that can be processed based on the temperature (server temperature) T fin The update is performed by adding the amount of processing (number of images with temperature increase) until the temperature corresponding to the temperature increases by 1°C.
[0179] In step B5, the candidate selection unit 23 selects the temperature T fin Increment (T fin =T fin +1). Then, return to step B3.
[0180] If it is determined in step B3 that the number of frames to be processed is less than the number N of images that can be processed (see the No route in step B3), the process proceeds to step B6.
[0181] In step B6, the candidate selection unit 23 selects T start =T fin As a result of the check, T start =T fin If not (see No route from step B6), the process proceeds to step B7.
[0182] In step B7, the candidate selection unit 23 selects (temperature T strat Power consumption at temperature T strat The estimated power consumption W is updated by calculating the processing time per image (the number of images until the temperature rises by 1°C at the image processing unit 120) and adding this calculated value to the estimated power consumption W.
[0183] In step B8, the candidate selection unit 23 refers to the processing amount-power consumption characteristic information 201 and calculates the number of processed images M by the temperature (server temperature) T strat The update is performed by adding the amount of processing (number of images with temperature increase) until the temperature corresponding to the temperature increases by 1°C.
[0184] In step B9, the candidate selection unit 23 selects the temperature T start Increment (T start =T start+1). Then, return to step B6.
[0185] As a result of the check in step B6, T start =T fin If so (see the Yes route of step B6), the process proceeds to step B10.
[0186] In step B10, the candidate selection unit 23 selects {temperature T strat The estimated power consumption W is updated by calculating {power consumption in × (number of processed frames−number of processed images M) × processing time per image} and adding this calculated value to the estimated power consumption W. Then, the process ends.
[0187] Next, the processing of each unit in the computer system 1 according to the first embodiment will be described with reference to the flowchart shown in FIG.
[0188] 19, the processing of the power consumption analysis unit 21 in the load balancer 2 is shown in the flowchart of steps C1 to C4, the processing related to the information storage unit 20 is shown in the flowchart of steps D1 to D2, the processing of the characteristic information acquisition unit 25 is shown in the flowchart of steps E1 to E2, and the processing of the temperature acquisition unit 26 is shown in the flowchart of steps F1 to F2. Also, the processing of the characteristic information management unit 31 in each server 3 is shown in the flowchart of steps G1 to G2, the processing of the temperature measurement unit 33 is shown in the flowchart of steps H1 to H2, and the processing of the learning processing unit 34 is shown in the flowchart of steps J1 to J2. Furthermore, the exchange of data between each unit is shown by dashed arrows.
[0189] In each server 3, the temperature measurement unit 33 measures the temperature of the server 3 using a temperature sensor, and transmits (notifies) the measured temperature to the temperature acquisition unit 26 of the load balancer 2 (step H1, see arrow P1). After that, the temperature measurement unit 33 waits for a predetermined time (step H2) and returns to the process of step H1, thereby performing the process of step H1 as a periodic operation.
[0190] Furthermore, in each server 3, the characteristic information management unit 31 acquires the processing amount-temperature characteristic information 301 and the temperature-power consumption characteristic information 302 related to the server 3, and stores them in a storage device. Then, the characteristic information management unit 31 creates the processing amount-power consumption characteristic information 201 of the server 3 based on the processing amount-temperature characteristic information 301 and the temperature-power consumption characteristic information 302. Furthermore, the characteristic information management unit 31 transmits (notifies) the created processing amount-power consumption characteristic information 201 to the load balancer 2 (characteristic information acquisition unit 25) (step G1, see arrow P2).
[0191] Thereafter, the characteristic information management unit 31 waits for a predetermined time (step G2) and returns to the process of step G1, thereby performing the process of step G1 as a periodic operation.
[0192] In the load balancer 2, the temperature acquisition unit 26 checks whether it has received a temperature from the temperature measurement unit 33 of each server 3 (step F1). If the temperature has not been received (see the No route in step F1), step F1 is repeatedly executed to wait for reception of the temperature.
[0193] When the temperature acquisition unit 26 receives the temperature from the server 3 (see the Yes route of step F1), it records the received temperature in the information storage unit 20 as the temperature information 202 (see step F2, arrow P3). Then, the process returns to step F1.
[0194] Furthermore, in the load balancer 2, the characteristic information acquisition unit 25 checks whether the processing amount-power consumption characteristic information 201 has been received from the characteristic information management unit 31 of each server 3 (step E1). If the processing amount-power consumption characteristic information 201 has not been received (see the No route in step E1), step E1 is repeatedly executed to wait for reception of the processing amount-power consumption characteristic information 201.
[0195] When the characteristic information acquisition unit 25 receives the processing amount-power consumption characteristic information 201 from the server 3 (see the Yes route of step E1), it records the received processing amount-power consumption characteristic information 201 in the information storage unit 20 (see step E2, arrow P4). Then, the process returns to step E1.
[0196] In the load balancer 2, the storage control unit checks whether information (processing amount-power consumption characteristic information 201, temperature information 202, input data size-processing execution time information 203) has been received from the characteristic information acquisition unit 25, the temperature acquisition unit 26, etc. (step D1). If no information has been received (see the No route in step D1), the storage control unit repeatedly executes step D1 to wait for reception of the processing amount-power consumption characteristic information 201, the temperature information 202, and the input data size-processing execution time information 203.
[0197] When the storage control unit receives any one of the processing amount-power consumption characteristic information 201, the temperature information 202, and the input data size-processing execution time information 203 (see the Yes route in step D1), it records the received information (the processing amount-power consumption characteristic information 201, the temperature information 202, and the input data size-processing execution time information 203) in the information storage unit 20 (step D2). Then, the process returns to step D1.
[0198] In the load balancer 2, the power consumption analysis unit 21 checks whether machine learning data (input data) has been input to the load balancer 2 (step C1). If machine learning data has not been input (see the No route in step C1), step C1 is repeatedly executed.
[0199] If machine learning data is input to load balancer 2 (see the Yes route in step C1), proceed to step C2.
[0200] In step C2, the input data determination unit 22 refers to the input data size-processing execution time information 203 based on the data size information of the input parameters (see arrow P5) and obtains the processing execution time for the machine learning data (input data) for each server 3 (step C2).
[0201] Next, the candidate selection unit 23 refers to the processing execution time acquired by the input data determination unit 22, the processing amount-power consumption characteristic information 201 in the information storage unit 20, and the temperature information 202 (see arrow P6), and calculates a predicted value of the total power consumption for each server 3 based on these (see arrow P6).The candidate selection unit 23 selects the server 3 with the smallest total power consumption based on the calculated predicted values of each total power consumption as the processing server 3 (step C3).
[0202] Thereafter, the processing allocation unit 24 allocates the processing to the processing server 3 that has the smallest predicted value of the total power consumption, as determined by the candidate selection unit 23 (step C4). That is, the processing server 3 is made to perform machine learning using the input machine learning data.
[0203] An instruction to execute the assigned machine learning process is input to the processing server 3 to which the process (machine learning process) has been assigned by the process assignment unit 24 (see arrow P7), and then the process returns to step C1.
[0204] In the processing server 3, the learning processing unit 34 checks whether an instruction to execute the machine learning process has been input (step J1). If an instruction to execute the machine learning process has not been input (see the No route of step J1), step J1 is executed repeatedly. If an instruction to execute the machine learning process has been input (see the Yes route of step J1), the process proceeds to step J2. In step J2, the learning processing unit 34 executes the assigned process. After that, the process returns to step J1.
[0205] (C) Effects According to the computer system 1 of the first embodiment, the candidate selection unit 23 calculates a predicted value of the total power consumption of each server 3 from the start of processing to the end of processing, based on the processing execution time required by each server 3 to process (machine learning) input data (machine learning data, training data), the number of processing frames, processing amount-power consumption characteristic information 201, and temperature information 202.
[0206] Then, the candidate selection unit 23 selects the server 3 with the smallest predicted value of the total power consumption as the processing server 3 that processes the input data.
[0207] This ensures that the server 3 with the lowest power consumption is selected as the server to which processing is to be assigned, thereby reducing the power consumption required for processing input data in the computer system 1.
[0208] Furthermore, when calculating the predicted value of the total power consumption, the candidate selection unit 23 calculates the power consumption (power consumption per temperature) at each of a plurality of server temperatures (a plurality of server temperatures included in the temperature rise of the server 3) that occur when a temperature rise occurs in the server 3, based on the processing amount-power consumption characteristic information 201. Then, the candidate selection unit 23 calculates the predicted value of the total power consumption for the server 3 to process the input data by adding up each power consumption per temperature from the start temperature to the processing completion temperature.
[0209] As a result, when allocating processing (machine learning processing) by the load balancer 2, the candidate selection unit 23 determines the processing server 3 by considering not only the instantaneous temperature of the server 3 at the time of allocation, but also the increase in power consumption according to the power consumption characteristics of each server 3 during the continuous time estimated to be required for processing (estimated processing time). Therefore, it is possible to allocate processing so as to minimize the total power consumption from start to finish according to the time required for machine learning processing in the server 3.
[0210] Furthermore, in the computer system 1, by allocating processing to the server 3 that has the lowest total power consumption, the power consumption of the entire system can be reduced, thereby achieving cost reduction.
[0211] (II) Description of the Second Embodiment In the computer system 1 of the first embodiment described above, after the load balancer 2 distributes processing to the processing server 3, the processing performance of the server 3 may decrease and power consumption may increase due to, for example, a change in the environmental temperature or a failure of the cooling fan. This may cause the load balancer 2 to be unable to appropriately allocate processing to the server 3 thereafter.
[0212] In the computer system 1a of the second embodiment, processing allocation that also corresponds to changes in the processing performance of the server 3 is realized.
[0213] (A) Configuration FIG. 20 is a diagram illustrating a schematic functional configuration of a computer system 1a according to the second embodiment.
[0214] Like the computer system 1 illustrated in Fig. 2, the computer system 1a illustrated in Fig. 20 includes one or more (two or more in the example illustrated in Fig. 2) input devices 4, a plurality (n servers in the example illustrated in Fig. 2) of servers 3-1 to 3-n, and a load balancer 2a. In the following drawings, the same reference numerals as those already described indicate similar parts, and therefore detailed descriptions thereof will be omitted.
[0215] In the computer system 1a of the second embodiment, each server 3 executes the same process as in the first embodiment. Furthermore, in the computer system 1a, the learning processing unit 34 of each server 3 transmits information (learning process information) indicating the amount of data processed to execute the assigned machine learning (amount of processed data) to the load balancer 2a. For example, the learning processing unit 34 transmits the number of processing frames used in the machine learning to the load balancer 2a as the learning process information. Furthermore, the learning processing unit 34 transmits the learning process information to the load balancer 2a periodically at a predetermined timing, for example, every few seconds or every few minutes.
[0216] In the computer system 1a of the second embodiment, the load balancer 2a has a candidate selection unit 23a instead of the candidate selection unit 23 of the load balancer 2 of the first embodiment, and further has a learning process information acquisition unit 30. Note that other parts are configured similarly to the load balancer 2 of the first embodiment.
[0217] The learning processing information acquisition unit 30 receives the learning processing information transmitted from each server 3, and stores it in the information storage unit 20 as learning processing information 205 via the storage control unit. The learning processing information 205 is updated using the latest received learning processing information every time the learning processing information acquisition unit 30 acquires learning processing information from the server 3. As a result, the latest value of the amount of processed data processed by the learning processing unit 34 of the server 3 is recorded in the learning processing information 205.
[0218] The candidate selection unit 23a has the same functions as the candidate selection unit 23 of the first embodiment, and also has the functions of a deviation determination unit 27, a deviation coefficient calculation unit 28, and an update unit 29.
[0219] Using a method similar to that of the candidate selection unit 23 in the first embodiment, the candidate selection unit 23a calculates a predicted value of the total power consumption from the start of execution of the process of each server 3 to the end of execution, based on the processing execution time required by each server 3 to process (machine learning) the input data (machine learning data, training data), the number of processing frames, the processing amount-power consumption characteristic information 201, and the temperature information 202. Then, the candidate selection unit 23a selects, from among the multiple servers 3, the server (first processing device) 3 with the smallest predicted value of the total power consumption as the processing server 3 that will process the input data.
[0220] Hereinafter, the timing at which the predicted value of the total power consumption is calculated in order to select the processing server 3 may be referred to as the processing server selection time.
[0221] Furthermore, the candidate selection unit 23a stores the temperature information 202 and the processing amount-power consumption characteristic information 201 used in calculating the predicted value of the total power consumption to select the processing server 3, and the calculated predicted value of the total power consumption from the start to the end of the processing of each server 3, in the information storage unit 20 via the storage control unit as predicted value recording information 204. That is, the predicted value recording information 204 includes the temperature information 202 and the processing amount-power consumption characteristic information 201 at a first point in time (for example, at the time of selecting a processing server).
[0222] The deviation determination unit 27 determines whether there is a deviation in the processing performance of the processing server 3 between the time the processing server was selected and the present time based on the current temperature of the processing server 3, the predicted value recording information 204 regarding the processing server 3 at the time the processing server was selected, and the learning processing information 205 regarding the processing server 3.
[0223] FIG. 21 is a diagram for explaining the process of the deviation determination unit 27 of the computer system 1a of the second embodiment.
[0224] 21, the processing server 3 is server #1, and the processing amount-power consumption characteristic information 201 at the time of processing server selection of this processing server 3 is illustrated. In the example shown below, the starting temperature of the processing server 3 is 51° C., and the temperature reaches 52° C. after processing 650 processing frames (images).
[0225] The start temperature is, for example, the latest temperature at the time when the processing server 3 starts the assigned processing. The start temperature may also be the latest temperature at the time when the job is assigned to the processing server 3. The start temperature is an example of the temperature of the first arithmetic device at a first time point. The start temperature may be called the first time point temperature.
[0226] Furthermore, the temperature at the time when 650 processing frames (images) have been processed in the processing server 3 is an example of the temperature of the first arithmetic unit at a second point in time after the processing of the job is started in the processing server (first arithmetic unit) 3. The temperature at the second point in time may be the current temperature of the processing server 3. The temperature at the second point in time may be referred to as the second point in time temperature.
[0227] 21, the value of "processing amount until temperature rises by 1°C" corresponding to a server temperature of 51°C is 1711. That is, when processing is started at a starting temperature of 51°C in the processing server 3, it is found that, in theory, the server temperature will reach 52°C after processing 1711 images.
[0228] The theoretical amount of processed data (number of processed frames, number of processed images) that will result from processing by the processing server 3 and cause the server temperature to rise from the start temperature (temperature at a first time point) to the current temperature (temperature at a second time point) may be referred to as the predicted image processing value. In this example, the predicted image processing value is 1711 images. The predicted image processing value may be referred to as a value that represents the processing performance of the processing server 3, predicted based on the processing amount and power consumption profile at the first time point (e.g., when the processing server is selected).
[0229] The image folding prediction value represents the theoretical amount of processing data that, when processed by the processing server (first computing device) 3, will raise the temperature of the processing server 3 from the starting temperature (temperature at the first time point) to the current temperature (temperature at the second time point).
[0230] As described above, in this example, the server temperature rises from 51°C to 52°C when 650 images have been processed in the processing server 3. The amount of processed data (number of processed frames, number of processed images) actually processed by the processing server 3 while the server temperature rises from the start temperature (temperature at the first time point) to the current temperature (temperature at the second time point) may be referred to as the image processing performance value. In this example, the image processing performance value is 650. The image processing performance value may be referred to as a value that represents the processing performance of the processing server 3, calculated based on a profile of the processing amount and power consumption at a second time point (for example, the current time).
[0231] The image processing result value indicates the amount of data processed by the processing server 3 (first arithmetic device) while the temperature of the processing server 3 rises from a first time point temperature (start temperature) to a second time point temperature (current temperature).
[0232] The deviation determination unit 27 may compare the image processing predicted value with the image processing result value to determine whether or not a deviation has occurred in the processing performance of the processing server 3 between the time of selecting the processing server and the present time. The deviation determination unit 27 may determine that a deviation has occurred, for example, when the difference between the image processing predicted value and the image processing result value is equal to or greater than a predetermined threshold value.
[0233] The deviation coefficient calculation unit 28 calculates a deviation coefficient based on the image processing predicted value and the image processing result value calculated by the deviation determination unit 27. The deviation coefficient calculation unit 28 may calculate the deviation coefficient, for example, by dividing the image processing result value by the image processing predicted value. In the above example, the image processing predicted value is 1711 sheets and the image processing result value is 650 sheets, so the deviation coefficient is 0.38 (=650 / 1711). The deviation coefficient may be said to be a value that represents the deviation in the processing performance of the processing server 3 between a first point in time (for example, when the processing server is selected) and a second point in time (for example, the current point in time).
[0234] The deviation coefficient calculation unit 28 may calculate the deviation coefficient when the deviation determination unit 27 determines that a deviation has occurred in the processing performance of the processing server 3 between the time when the processing server was selected (first time point) and the current time point (second time point).
[0235] The deviation coefficient calculation unit 28 stores the calculated deviation coefficient in the storage unit 10d or a predetermined storage area of the memory 10c.
[0236] The update unit 29 updates the processing amount-power consumption characteristic information 201 by using the deviation coefficient calculated by the deviation coefficient calculation unit 28. Specifically, the update unit 29 updates each value of the processing amount until the temperature of the processing amount-power consumption characteristic information 201 increases by 1° C. by the deviation coefficient calculated by the deviation coefficient calculation unit 28.
[0237] FIG. 22 is a diagram for explaining the process of the update unit 29 of the computer system 1a of the second embodiment.
[0238] In FIG. 22, reference symbol A indicates the processing amount-power consumption characteristic information 201 before the update, and reference symbol B indicates the processing amount-power consumption characteristic information 201 after the update.
[0239] For example, in the processing amount-power consumption characteristic information 201 before the update, the value of the processing amount until the temperature corresponding to the server temperature 49° C. rises by 1° C. is 2469. The update unit 29 updates the value of the processing amount until the temperature corresponding to the server temperature 49° C. rises by 1° C. by using 938 obtained by multiplying this 2469 by a deviation coefficient 0.38.
[0240] The update unit 29 stores the updated processing amount-power consumption characteristic information 201 in the information storage unit 20.
[0241] (B) Operation The processing of each unit in the computer system 1a according to the second embodiment configured as described above will be described using the flowcharts shown in Figures 23 and 24. In the figures, steps with the same reference numerals as those already described indicate similar parts, and therefore their description will be omitted.
[0242] 23, the process of the characteristic information management unit 31 in each server 3 is shown in a flowchart of steps G1 to G2, the process of the temperature measurement unit 33 is shown in a flowchart of steps H1 to H2, and the process of the learning processing unit 34 is shown in a flowchart of steps J1 to J3. Furthermore, the transfer of data between each unit is shown by dashed arrows.
[0243] The processing of the characteristic information management unit 31 and the temperature measurement unit 33 is similar to that of the characteristic information management unit 31 and the temperature measurement unit 33 in the first embodiment shown in FIG. 19, and therefore a description thereof will be omitted.
[0244] In the server 3, the learning processing unit 34 checks whether an instruction to execute the machine learning process has been input (step J1). If an instruction to execute the machine learning process has not been input (see the No route of step J1), step J1 is executed repeatedly. If an instruction to execute the machine learning process has been input (see the Yes route of step J1), the process proceeds to step J2. In step J2, the learning processing unit 34 executes the assigned process. The learning processing unit 34 transmits learning process information indicating the amount of data processed (amount of processed data) to execute the assigned machine learning to the load balancer 2a (learning process information acquisition unit 30) (step J3, see arrow P8). The process then returns to step J1.
[0245] 24, in the load balancer 2a, the processing of the power consumption analysis unit 21 is shown in the flowchart of steps C1 to C8, the processing related to the information storage unit 20 is shown in the flowchart of steps D1 to D4, the processing of the characteristic information acquisition unit 25 is shown in the flowchart of steps E1 to E2, the processing of the temperature acquisition unit 26 is shown in the flowchart of steps F1 to F2, and the processing of the learning processing information acquisition unit 30 is shown in the flowchart of steps K1 to K2. Furthermore, the transfer of data between each unit is shown by dashed arrows.
[0246] The processing by the characteristic information acquisition section 25 and the temperature acquisition section 26 is similar to the processing by the characteristic information acquisition section 25 and the temperature acquisition section 26 of the first embodiment shown in FIG. 19, and therefore a description thereof will be omitted.
[0247] In the load balancer 2a, the learning process information acquisition unit 30 checks whether learning process information has been received from the learning process unit 34 of each server 3 (step K1). If learning process information has not been received (see the No route in step K1), step K1 is repeatedly executed to wait for reception of learning process information.
[0248] When the learning process information acquisition unit 30 receives the learning process information from the server 3 (see the Yes route of step K1), it records the received learning process information in the information storage unit 20 as the learning process information 205 (see step K2, arrow P9). Then, the process returns to step K1.
[0249] In the load balancer 2a, the storage control unit checks whether information (processing amount-power consumption characteristic information 201, temperature information 202, input data size-processing execution time information 203, learning process information 205) has been received from the characteristic information acquisition unit 25, the temperature acquisition unit 26, the learning process information acquisition unit 30, etc. (step D1). If no information has been received (see the No route in step D1), the storage control unit repeatedly executes step D1 to wait for reception of the processing amount-power consumption characteristic information 201, the temperature information 202, the input data size-processing execution time information 203, and the learning process information 205.
[0250] When the memory control unit receives any of the processing amount-power consumption characteristic information 201, the temperature information 202, the input data size-processing execution time information 203, or the learning processing information 205 (see the Yes route in step D1), it records the received information (processing amount-power consumption characteristic information 201, the temperature information 202, the input data size-processing execution time information 203, or the learning processing information 205) in the information memory unit 20 (step D2).
[0251] The storage control unit checks whether the predicted value recording information has been notified from the candidate selection unit 23a (step D3). If the predicted value recording information has not been notified (see the No route in step D3), the storage control unit waits for reception of the predicted value recording information by repeatedly executing step D3.
[0252] When the storage control unit is notified of the predicted value recording information from the candidate selection unit 23a (see the Yes route in step D3), the storage control unit records the received predicted value recording information in the information storage unit 20 as the predicted value recording information 204 (see step D4, arrow P10). Then, the process returns to step D1.
[0253] In the load balancer 2a, the power consumption analysis unit 21 checks whether machine learning data (input data) has been input to the load balancer 2a (step C1). If machine learning data has been input to the load balancer 2a (see the Yes route in step C1), the process proceeds to step C2.
[0254] In step C2, the input data determination unit 22 refers to the input data size-processing execution time information 203 based on the data size information of the input parameters (see arrow P5), and obtains the processing execution time for the machine learning data (input data) for each server 3.
[0255] Next, the candidate selection unit 23 refers to the processing execution time acquired by the input data determination unit 22, the processing amount-power consumption characteristic information 201 in the information storage unit 20, and the temperature information 202 (see arrow P6), and calculates a predicted value of the total power consumption for each server 3 based on these (see arrow P6).The candidate selection unit 23 selects the server 3 with the smallest total power consumption based on the calculated predicted values of each total power consumption as the processing server 3.
[0256] In addition, the candidate selection unit 23a stores the temperature information 202 and the processing amount-power consumption characteristic information 201 used to calculate the predicted value of the total power consumption to select the processing server 3, and the calculated predicted value of the total power consumption from the start to the end of the processing of each server 3, as predicted value recording information 204 in the information storage unit 20 via the storage control unit (step C3, see arrow P10).
[0257] Thereafter, the processing allocation unit 24 allocates the processing to the processing server 3 that has the smallest predicted value of the total power consumption, as determined by the candidate selection unit 23 (step C4). That is, the processing server 3 is made to perform machine learning using the input machine learning data.
[0258] An instruction to execute the assigned machine learning process is input to the processing server 3 to which the process (machine learning process) has been assigned by the process assignment unit 24 (see arrow P7), and then the process returns to step C1.
[0259] Moreover, in step C1, if the machine learning data has not been input (see the No route in step C1), the process proceeds to step C5.
[0260] In step C5, the power consumption analysis unit 21 checks whether the server 3 to which the process is assigned (the processing server 3) is currently executing the process. If the processing server 3 is currently executing the process (see the Yes route in step C5), the process proceeds to step C6.
[0261] In step C6, the deviation determination unit 27 determines whether or not there is a deviation in the processing performance of the processing server 3 between the time of selecting the processing server and the present time, based on the current temperature of the processing server 3, the predicted value recording information 204 at the time of selecting the processing server 3, and the learning processing information 205 regarding the processing server 3. If there is a deviation as a result of the determination (see the Yes route of step C6), the process proceeds to step C7.
[0262] In step C7, the deviation coefficient calculation unit 28 calculates a deviation coefficient based on the image processing predicted value and the image processing result value.
[0263] In step C8, the update unit 29 updates each value of the processing amount until the temperature rises by 1° C. in the processing amount-power consumption characteristic information 201 by multiplying the value by the deviation coefficient calculated by the deviation coefficient calculation unit 28. The update unit 29 stores the updated processing amount-power consumption characteristic information 201 (characteristic information) in the information storage unit 20 (see arrow P11). After that, the process returns to step C1.
[0264] Also, if the processing server 3 is not executing a process in step C5 (see the No route in step C5), or if no discrepancy occurs in step C6 (see the No route in step C6), the process returns to step C1.
[0265] (C) Effects According to the computer system 1 according to the second embodiment, in addition to obtaining the same advantageous effects as those of the first embodiment, the following advantageous effects can be obtained.
[0266] The deviation determination unit 27 determines whether a deviation has occurred in the processing performance of the processing server 3 between a first point in time (at the time of processing server selection) and a second point in time (current point in time) based on the current temperature of the processing server 3, the predicted value recording information 204 at the time of processing server selection for the processing server 3, and the learning processing information 205 for the processing server 3.
[0267] If it is determined that there is a deviation in the processing performance of the processing server 3 between the first time point (when the processing server is selected) and the second time point (the present time), the deviation coefficient calculation unit 28 calculates a deviation coefficient based on the image processing predicted value and the image processing result value. The update unit 29 updates the processing amount-power consumption characteristic information 201 using the calculated deviation coefficient.
[0268] As a result, when a change occurs in the processing performance of the processing server 3, for example, when the performance of the processing server 3 is degraded due to a change in the environmental temperature or a failure of a cooling fan, the processing amount-power consumption characteristic information 201 is updated to match the state of the processing server 3 after the performance change. Therefore, the candidate selection unit 23 can calculate an accurate prediction value of the total power consumption of the processing server 3 according to the change in the processing performance of the server 3, and can allocate processing to the optimal server 3 in accordance with actual operation.
[0269] Furthermore, in the computer system 1, by allocating processing to the server 3 that has the lowest total power consumption, the power consumption of the entire system can be reduced, thereby achieving cost reduction.
[0270] (III) Other The disclosed technology is not limited to the first and second embodiments described above, and can be implemented in various modified forms without departing from the spirit of each embodiment.
[0271] For example, in each of the above-described embodiments, the characteristic information management unit 31 of each server 3 creates the processing amount-power consumption characteristic information 201 based on the processing amount-temperature characteristic information 301 and the temperature-power consumption characteristic information 302, but this is not limited to this.
[0272] For example, the load balancer 2 (2a) may have a function of creating the processing amount-power consumption characteristic information 201 based on the processing amount-temperature characteristic information 301 and the temperature-power consumption characteristic information 302. Each server 3 may transmit the processing amount-temperature characteristic information 301 and the temperature-power consumption characteristic information 302 to the load balancer 2 (2a), and the load balancer 2 (2a) may create the processing amount-power consumption characteristic information 201 based on these. Also, a vendor, a user, or the like may create the processing amount-power consumption characteristic information 201 in advance outside the load balancer 2 (2a), and provide the created processing amount-power consumption characteristic information 201 to the load balancer 2 (2a). This can reduce the load on each server 3.
[0273] In each of the above-described embodiments, the processing amount-power consumption characteristic information 201 expresses the server temperature in increments of 1° C., and manages the processing amount until the server temperature rises by 1° C., but this is not limited to this.
[0274] In the processing amount-power consumption characteristic information 201, for example, the server temperature may be expressed in increments of temperature other than 1°C, such as 0.1°C or 5°C, and the processing amount until the server temperature rises by a temperature other than 1°C, such as 0.1°C or 5°C, may be managed.
[0275] In addition, in each of the above-described embodiments, an example is shown in which each server 3 is made to train a machine learning model, but this is not limited to this, and the server 3 may be made to execute a job other than training a machine learning model.
[0276] 13, for each input data size, the server #1 and the server #2 have the same processing time, but this is not limited to this. The multiple servers 3 may have different processing capabilities.
[0277] In the above-described second embodiment, the deviation determination unit 27 determines that a deviation has occurred when the difference between the image processing predicted value and the image processing result value is equal to or greater than a predetermined threshold value, but the present invention is not limited to this. For example, the deviation coefficient calculated by the deviation coefficient calculation unit 28 may be compared with a predetermined threshold range, and it may be determined that a deviation has occurred when the deviation coefficient exceeds the threshold range.
[0278] Furthermore, in the above-mentioned second embodiment, an example is shown in which the first time point is the time point when the job is assigned to the processing server 3 or the time point when the processing server 3 starts processing, but the present invention is not limited to this. The first time point may be a time point after the job is assigned to the processing server 3 and before the second time point.
[0279] In the above-described second embodiment, an example is shown in which the processing performance of the processing server 3 at the second time point (current time point) is lower than that at the first time point (when the processing server is selected) due to a decrease in the processing performance of the processing server 3, resulting in a deviation, but the present invention is not limited to this. The present invention may also be applied to a case in which the processing performance of the processing server 3 at the second time point (current time point) is higher than that at the first time point (when the processing server is selected) due to an improvement in the processing performance of the processing server 3 for some reason, resulting in a deviation.
[0280] Furthermore, the above disclosure enables those skilled in the art to implement and manufacture each embodiment.
[0281] (IV) Supplementary Note The following supplementary notes are further disclosed regarding each of the above embodiments.
[0282] (Appendix 1) A load balancer that is connected to a plurality of computing devices that execute jobs and allocates the jobs to each of the computing devices, the load balancer comprising: calculating an increase in the power consumption of each of the plurality of arithmetic devices due to the job based on a profile of the processing amount and power consumption for each of the plurality of arithmetic devices, each temperature of the plurality of arithmetic devices, and the processing amount of the job requested to be executed; The job is assigned to the computing device having the smallest increase in the amount of power consumption among the plurality of computing devices. A load balancer comprising a control unit.
[0283] (Appendix 2) the profile of the processing amount and the power consumption is information in which the data processing amount and the power consumption until the temperature increases by a unit temperature are associated with each other, The control unit refers to the profile of the processing amount and power consumption to calculate the power consumption per temperature at each of a plurality of server temperatures included in the temperature rise of the computing device, and calculates an increase in the power consumption by summing up the power consumption per temperature from the processing start temperature to the processing completion temperature. 2. A load balancer as described in claim 1.
[0284] (Appendix 3) The job is training a machine learning model using machine learning data. 3. The load balancer according to claim 1 or 2,
[0285] (Appendix 4) A processor of a load balancer is connected to a plurality of computing devices that execute jobs, and allocates the jobs to each of the computing devices, the processor comprising: calculating an increase in the power consumption of each of the plurality of arithmetic devices due to the job based on a profile of the processing amount and power consumption for each of the plurality of arithmetic devices, each temperature of the plurality of arithmetic devices, and the processing amount of the job requested to be executed; The job is assigned to the computing device having the smallest increase in the amount of power consumption among the plurality of computing devices. A control program for causing a process to be executed.
[0286] (Appendix 5) the profile of the processing amount and the power consumption is information in which the data processing amount and the power consumption until the temperature increases by a unit temperature are associated with each other, A profile of the processing amount and the power consumption is referenced to calculate a power consumption per unit temperature at each of a plurality of server temperatures included in the temperature rise of the computing device, and an increment in the power consumption is calculated by summing up the power consumption per unit temperature from the processing start temperature to the processing completion temperature. 5. The control program according to claim 4, further comprising: a processor configured to execute a process.
[0287] (Appendix 6) The job is training a machine learning model using machine learning data. 6. The control program according to claim 4 or 5.
[0288] (Appendix 7) a processor of a load balancer that is connected to a plurality of computing devices that execute jobs and that allocates the jobs to each of the computing devices, the processor comprising: calculating an increase in the power consumption of each of the plurality of arithmetic devices due to the job based on a profile of the processing amount and power consumption for each of the plurality of arithmetic devices, each temperature of the plurality of arithmetic devices, and the processing amount of the job requested to be executed; The job is assigned to the computing device having the smallest increase in the amount of power consumption among the plurality of computing devices. A control method comprising: executing a process.
[0289] (Appendix 8) the profile of the processing amount and the power consumption is information in which the data processing amount and the power consumption until the temperature increases by a unit temperature are associated with each other, The processor refers to the profile of the processing amount and power consumption to calculate the power consumption per temperature at each of a plurality of server temperatures included in the temperature rise of the computing device, and calculates an increase in the power consumption by summing up the power consumption per temperature from the processing start temperature to the processing completion temperature. 8. The control method according to claim 7, further comprising the step of:
[0290] (Appendix 9) The job is training a machine learning model using machine learning data. 9. The control method according to claim 7 or 8.
[0291] (Appendix 10) The control unit: determining whether or not a discrepancy occurs in processing performance between a first time point and a second time point that is later than the first time point and after the first arithmetic device starts processing the job, for a first arithmetic device among the plurality of arithmetic devices to which the job is assigned; When it is determined that the deviation occurs, the profile of the processing amount and power consumption of the first arithmetic unit is updated using a deviation coefficient calculated based on an image processing predicted value representing a theoretical processing data amount that, when processed by the first arithmetic unit, will raise the temperature of the first arithmetic unit from the temperature at the first time point to the temperature at the second time point, and an image processing actual value representing an amount of processing data processed while the temperature of the first arithmetic unit rises from the temperature at the first time point to the temperature at the second time point. 2. A load balancer as described in claim 1.
[0292] (Appendix 11) The control unit: determining whether the deviation occurs based on a temperature, a profile of the amount of processing and power consumption of the first computing device at the first time point, and an amount of data processed in the first computing device for the assigned job; 11. The load balancer according to claim 10,
[0293] (Appendix 12) The control unit: The profile of the processing amount and the power consumption is updated by multiplying the data processing amount until the temperature increases by a unit temperature, which is included in the profile of the processing amount and the power consumption, by the deviation coefficient. 11. The load balancer according to claim 10,
[0294] (Appendix 13) determining whether or not a discrepancy occurs in processing performance between a first time point and a second time point that is later than the first time point and after the first arithmetic device starts processing the job, for a first arithmetic device among the plurality of arithmetic devices to which the job is assigned; When it is determined that the deviation occurs, the profile of the processing amount and power consumption of the first arithmetic unit is updated using a deviation coefficient calculated based on an image processing predicted value representing a theoretical processing data amount that, when processed by the first arithmetic unit, will raise the temperature of the first arithmetic unit from the temperature at the first time point to the temperature at the second time point, and an image processing actual value representing an amount of processing data processed while the temperature of the first arithmetic unit rises from the temperature at the first time point to the temperature at the second time point. 5. The control program according to claim 4, further comprising: a processor configured to execute a process.
[0295] (Appendix 14) determining whether the deviation occurs based on a temperature, a profile of the amount of processing and power consumption of the first computing device at the first time point, and an amount of data processed in the first computing device for the assigned job; 14. The control program according to claim 13, further comprising: a processor configured to execute a process.
[0296] (Appendix 15) The profile of the processing amount and the power consumption is updated by multiplying the data processing amount until the temperature increases by a unit temperature, which is included in the profile of the processing amount and the power consumption, by the deviation coefficient. 14. The control program according to claim 13, further comprising: a processor configured to execute a process.
[0297] (Appendix 16) The processor, determining whether or not a discrepancy occurs in processing performance between a first time point and a second time point that is later than the first time point and after the first arithmetic device starts processing the job, for a first arithmetic device among the plurality of arithmetic devices to which the job is assigned; When it is determined that the deviation occurs, the profile of the processing amount and power consumption of the first arithmetic unit is updated using a deviation coefficient calculated based on an image processing predicted value representing a theoretical processing data amount that, when processed by the first arithmetic unit, will raise the temperature of the first arithmetic unit from the temperature at the first time point to the temperature at the second time point, and an image processing actual value representing an amount of processing data processed while the temperature of the first arithmetic unit rises from the temperature at the first time point to the temperature at the second time point. 8. The control method according to claim 7, further comprising the step of:
[0298] (Appendix 17) The processor, determining whether the deviation occurs based on a temperature, a profile of the amount of processing and power consumption of the first computing device at the first time point, and an amount of data processed in the first computing device for the assigned job; 17. The control method according to claim 16,
[0299] (Appendix 18) The processor, The profile of the processing amount and the power consumption is updated by multiplying the data processing amount until the temperature increases by a unit temperature, which is included in the profile of the processing amount and the power consumption, by the deviation coefficient. 17. The control method according to claim 16, [Explanation of symbols]
[0300] 1,1a Computer Systems 2,2a Load balancer 3-1~3-n,3 servers 4 Input Devices 5. Communication Network 10. Computers 10a processor 10b Graphics Processing Unit 10c Memory 10d storage section 10e IF section 10f IO section 10g Reading unit 10h Program 10i Recording media 10j Bus 20 Information storage section 21 Power consumption analysis section 22 Input data judgment unit 23,23a Candidate Selection Department 24 Processing Allocation Unit 25 Characteristics information acquisition unit 26 Temperature acquisition section 27 Deviation Judgment Section 28 Deviation coefficient calculation section 29 Update section 30 Learning processing information acquisition unit 31 Characteristics Information Management Department 32 Characteristics information recording section 33 Temperature measurement section 34 Learning processing unit 201 Processing volume - Power consumption characteristics information 202 Temperature information 203 Input data size - Processing execution time information 204 Forecast Record Information 205 Learning Processing Information 301 Processing volume-temperature characteristic information 302 Temperature-power consumption characteristic information
Claims
1. A load balancer that is connected to a plurality of computing devices that execute jobs and allocates the jobs to each of the computing devices, the load balancer comprising: calculating an increase in the power consumption of each of the plurality of arithmetic devices due to the job based on a profile of processing volume and power consumption for each of the plurality of arithmetic devices, the processing performance of each of the plurality of arithmetic devices, and the processing volume of the job requested to be executed; The job is assigned to the computing device having the smallest increase in the amount of power consumption among the plurality of computing devices. A load balancer comprising a control unit.
2. the profile of the processing amount and the power consumption is information in which the data processing amount and the power consumption until the temperature increases by a unit temperature are associated with each other, The control unit refers to the profile of the processing amount and power consumption, and calculates an increase in the power consumption by adding up the power consumption per temperature at each of a plurality of server temperatures included in the temperature rise of the computing device, from a processing start temperature to a processing completion temperature. The load balancer according to claim 1 .
3. The job is training a machine learning model using machine learning data.
3. The load balancer according to claim 1 or 2.
4. A processor of a load balancer is connected to a plurality of computing devices that execute jobs, and allocates the jobs to each of the computing devices, the processor comprising: calculating an increase in the power consumption of each of the plurality of arithmetic devices due to the job based on a profile of processing volume and power consumption for each of the plurality of arithmetic devices, the processing performance of each of the plurality of arithmetic devices, and the processing volume of the job requested to be executed; The job is assigned to the computing device having the smallest increase in the amount of power consumption among the plurality of computing devices. A control program for causing a process to be executed.
5. a processor of a load balancer that is connected to a plurality of computing devices that execute jobs and that allocates the jobs to each of the computing devices, the processor comprising: calculating an increase in the power consumption of each of the plurality of arithmetic devices due to the job based on a profile of processing volume and power consumption for each of the plurality of arithmetic devices, the processing performance of each of the plurality of arithmetic devices, and the processing volume of the job requested to be executed; The job is assigned to the computing device having the smallest increase in the amount of power consumption among the plurality of computing devices. A control method comprising: executing a process.
6. The control unit: determining whether or not a deviation occurs in processing performance between a first time point and a second time point that is later than the first time point and after the first arithmetic device starts processing the job, for a first arithmetic device among the plurality of arithmetic devices to which the job is assigned; When it is determined that the deviation occurs, a profile of the processing amount and power consumption of the first arithmetic unit is updated using a deviation coefficient calculated based on an image processing predicted value representing a theoretical processing data amount that, when processed by the first arithmetic unit, will raise the temperature of the first arithmetic unit from the temperature at the first time point to the temperature at the second time point, and an image processing actual value representing an amount of processing data processed while the temperature of the first arithmetic unit rises from the temperature at the first time point to the temperature at the second time point. The load balancer according to claim 1 .
7. The control unit: The determination of whether the deviation occurs is based on a temperature, a profile of the amount of processing and power consumption of the first computing device at the first time point, and an amount of data processed in the first computing device for the assigned job. The load balancer according to claim 6 .
8. The control unit: The profile of the processing amount and the power consumption is updated by multiplying the data processing amount until the temperature increases by a unit temperature, which is included in the profile of the processing amount and the power consumption, by the deviation coefficient. The load balancer according to claim 6 .
9. determining whether or not a deviation occurs in processing performance between a first time point and a second time point that is later than the first time point and after the first arithmetic device starts processing the job, for a first arithmetic device among the plurality of arithmetic devices to which the job is assigned; When it is determined that the deviation occurs, a profile of the processing amount and power consumption of the first arithmetic unit is updated using a deviation coefficient calculated based on an image processing predicted value representing a theoretical processing data amount that, when processed by the first arithmetic unit, will raise the temperature of the first arithmetic unit from the temperature at the first time point to the temperature at the second time point, and an image processing actual value representing an amount of processing data processed while the temperature of the first arithmetic unit rises from the temperature at the first time point to the temperature at the second time point.
5. The control program according to claim 4, which causes the processor to execute a process.
10. The processor, determining whether or not a deviation occurs in processing performance between a first time point and a second time point that is later than the first time point and after the first arithmetic device starts processing the job, for a first arithmetic device among the plurality of arithmetic devices to which the job is assigned; When it is determined that the deviation occurs, a profile of the processing amount and power consumption of the first arithmetic unit is updated using a deviation coefficient calculated based on an image processing predicted value representing a theoretical processing data amount that, when processed by the first arithmetic unit, will raise the temperature of the first arithmetic unit from the temperature at the first time point to the temperature at the second time point, and an image processing actual value representing an amount of processing data processed while the temperature of the first arithmetic unit rises from the temperature at the first time point to the temperature at the second time point. The control method according to claim 5, further comprising the step of: executing a process.
Citation Information
Patent Citations
Job assigning apparatus, job assigning method, and job assigning program
JP2011018131A
Load distribution system and computer program
JP2011197715A
Processing assignment device, processing assignment system, processing assignment method and processing assignment program
JP2012133505A
Data distribution apparatus and data distribution ratio determination method
JP2018151920A
Cited By
Dynamic repartitioning method and apparatus for asymmetric operation structure based on energy signatures
KR102994406B1