Resource management device and program
The resource management device dynamically adjusts computing resource configurations to address improper management in flow-centric systems, enhancing performance and efficiency by ensuring optimal hardware utilization and reducing delays.
Patent Information
- Application Number
- JP2023565768
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-08
- Publication Date
- 2025-04-30
- Estimated Expiration
- 2041-12-08
AI Technical Summary
Existing computing systems face challenges in managing hardware resources effectively, leading to potential delays in processing due to improper management of computing resources, especially in flow-centric computing environments.
A resource management device and program that dynamically manage the hardware configuration of multiple computing resources by acquiring quality estimates, adjusting configurations, and controlling load to ensure optimal performance and efficiency.
The solution ensures appropriate management of computing resources, reducing delays and maintaining high-quality service levels while optimizing power and utilization efficiency.
Smart Images

Figure 0007670167000001 
Figure 0007670167000002 
Figure 0007670167000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a resource management device and a program for managing computing resources. [Background technology]
[0002] Technological innovation is progressing in many fields such as machine learning, artificial intelligence (AI), and the Internet of Things (IoT), and by utilizing various data, services are being actively improved and added value is being provided. This type of processing requires a large amount of calculations, and an information processing infrastructure is essential for this.
[0003] For example, Non-Patent Document 1 points out that, although attempts are being made to update the existing information processing infrastructure, modern computers are unable to keep up with the rapid increase in data. Non-Patent Document 1 also points out that in order to achieve further evolution in the future, "post-Moore technology" that goes beyond Moore's Law must be established.
[0004] As a post-Moore technology, for example, a technology called flow-centric computing is disclosed in Non-Patent Document 2. Flow-centric computing introduces a new concept of moving data to a location where a computing function (computing resource) is located and processing the data there, instead of the conventional computing idea of processing data where the data is located. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] “NTT Technology Report for Smart World 2020,” Nippon Telegraph and Telephone Corporation, 2020, https: / / www.rd.ntt / _assets / pdf / techreport / NTT_TRFSW_2020_EN_W.pdf [Non-Patent Document 2] R. Takano and T. Kudoh, “Flow-centric computing leveraged by photonic circuit switching for the post-moore era,” Tenth IEEE / ACM International Symposium on Networks-on-Chip (NOCS), Nara, 2016, pp. 1-3. Summary of the Invention [Problem to be solved by the invention]
[0006] In order to realize the above-mentioned flow-centric computing, it is necessary to properly manage which hardware constitutes the computing resources. For example, if the computing resources are constituted by the hardware of a computer with a high load without proper management, a delay may occur in the processing of the computing resources.
[0007] An object of the present invention is to appropriately manage the hardware configuration of a plurality of computing resources that share the service of processing target data. [Means for solving the problem]
[0008] In order to solve the above problems, the resource management device of the present invention is configured using part of the hardware of a computing system consisting of multiple computers, and is a resource management device that manages the hardware configuration of multiple computing resources that share the service of processing data to be processed, and is equipped with a required quality acquisition unit that acquires the quality related to the processing time of the service required for the service as a required quality, an estimation result acquisition unit that acquires a result of estimating the quality of the service performed by the multiple computing resources of a first hardware configuration during operation of the computing system as a quality estimation result, and a configuration control unit that changes the hardware configuration of the multiple computing resources from the first hardware configuration to a second hardware configuration different from the first hardware configuration during operation of the computing system if the quality estimation result does not satisfy the required quality.
[0009] In order to solve the above problem, the program of the present invention causes a computer that is configured using part of the hardware of a computing system consisting of multiple computers and manages the hardware configuration of multiple computing resources that share the task of performing a service to process data to be processed to execute the following steps: a required quality acquisition step of acquiring the quality related to the processing time of the service required for the service as a required quality, an estimation result acquisition step of acquiring a result of estimating the quality of the service performed by the multiple computing resources of a first hardware configuration while the computing system is operating as a quality estimation result, and a configuration control step of changing the hardware configuration of the multiple computing resources from the first hardware configuration to a second hardware configuration different from the first hardware configuration while the computing system is operating if the quality estimation result does not satisfy the required quality. Effect of the Invention
[0010] According to the present invention, the hardware configuration of a plurality of computing resources that share the service of processing target data is appropriately managed. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is a hardware configuration diagram showing the configuration of a resource management device and a computer according to a first embodiment of the present invention. [Diagram 2] FIG. 2 is a block diagram showing the configuration of the computer of FIG. [Diagram 3] FIG. 3 is a block diagram showing a configuration of the resource management device of FIG. [Figure 4] FIG. 4 is a flowchart of the resource management process according to the first embodiment. [Diagram 5] FIG. 5 is a block diagram showing a configuration of a resource management device according to the second embodiment. [Figure 6] FIG. 6 is a block diagram showing the configuration of a resource management device according to the third embodiment. [Figure 7] FIG. 7 is a flowchart of a resource management process according to the third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the following description, elements having the same function and elements having different functions but corresponding to each other will be appropriately labeled with the same reference numerals. In addition, in the drawings, when multiple elements have the same function or correspond to each other, only some of the elements may be labeled with the reference numerals.
[0013] [First embodiment] As shown in FIG. 1, the resource management device 10 according to the present embodiment is provided so as to be able to communicate with each of the computers 30-1 to 30-N (where N is a natural number of 2 or more) constituting the computing system 20 via a network NW such as the Internet or a local area network (LAN). The resource management device 10 is configured using accelerators 35 (to be described later) of the computers 30-1 to 30-N, which are part of the hardware of the computing system 20, and manages the hardware configuration of the multiple computing resources R that share and perform services to process data to be processed. More specifically, the resource management device 10 manages which hardware is used to realize the multiple computing resources R for each service. Below, the configuration of the computers 30-1 to 30-N will be described first, and then the configuration of the resource management device 10 will be described. The computers 30-1 to 30-N are also collectively referred to as computers 30.
[0014] The computers 30-1 to 30-N can communicate with each other via the network NW, and perform a plurality of types of services as the entire computing system 20 using a large number of computing resources R. The services include image processing and the like. One service includes a plurality of processes, and the plurality of processes are shared and executed by the plurality of computing resources R. For example, the plurality of computing resources R performing one service are connected via a virtual network configured in the network NW or the like, and process data to be processed in series and / or in parallel. For example, as one service, image data as data to be processed is binarized by parallel processing by the two computing resources R of the computer 30-1, and then image recognition processing is performed on the binarized image data by the computing resource R of the computer 30-2, and the processing result is returned to a provider (not shown) of the image data. The provider is a client computer of a user of the service, etc. The data to be processed and the processing result are transmitted and received to the provider via the resource management device 10. A series of processes constituting each service is performed, for example, under the control of the resource management device 10. For example, the storage device 13 of the resource management device 10 stores the addresses of a plurality of computing resources R for each service, and the resource management device 10 specifies the destination of the processing result data output by the computing resources R.
[0015] Although the computers 30-1 to 30-N each have different executable processes, they have the same configuration. Hereinafter, the computers 30-1 to 30-N are also collectively referred to as the computers 30. The configuration of each computer 30 will be described below.
[0016] The computer 30 is a computer such as a personal computer, a smartphone, or a tablet. The computer 30 includes a processor 31, a main memory 32 for the processor 31, a non-volatile storage device 33 for storing programs and various data, and a network interface card (NIC) 34 connected to a network NW. The computer 30 further includes an accelerator 35 for improving the functions of the computer 30.
[0017] The processor 31 is composed of a CPU (Central Processing Unit) and the like, and controls the entire computer 30 by executing or using programs and various data stored in the storage device 33. The main memory 32 is composed of a RAM (Random Access Memory) and the like. The programs and various data are appropriately read into the main memory 32. The storage device 33 is composed of an SSD (Solid State Drive) and the like. The NIC 34 transmits and receives data to and from the network NW under the control of the processor 31.
[0018] The accelerator 35 is composed of hardware such as a field-programmable gate array (FPGA), an application specific integrated circuit (ASIC), a sub-CPU, and a graphics processing unit (GPU). When the accelerator 35 is an FPGA, the processor 31 can dynamically delete and reconfigure a predetermined arithmetic circuit as an arithmetic resource R in at least a part of a reconfigurable area of the FPGA while the computer 30 is running. Here, one or more arithmetic resources R are configured by the accelerator 35. For example, when the accelerator 35 is an FPGA, an arithmetic circuit that operates as the arithmetic resource R is configured in the accelerator 35, thereby configuring the arithmetic resource R. The area in which the FPGA arithmetic resource R is configured becomes the hardware that configures the arithmetic resource. The arithmetic resource R may be configured as, for example, a virtual machine by the processor 31. The arithmetic resource R may be configured by hardware that logically divides a GPU into multiple parts. Data input to the arithmetic resource R, transfer of processing result data from the arithmetic resource R, and the like are controlled by, for example, the processor 31.
[0019] The processor 31 executes the above programs to operate as a load monitor 31A, a performance estimator 31B, and a resource manager 31C shown in FIG.
[0020] The load monitoring unit 31A monitors the load on the computer 30. Examples of the load include the amount of data input to the computer 30 per unit time, the amount of data processed by the computer 30 per unit time, the amount of data output by the computer 30 per unit time, and the usage rate of the computational resource R of the computer 30. Examples of the load include the usage rate of memory resources such as the main memory 32 or a storage unit provided in the accelerator 35 for storing intermediate data in the process and storing computational parameters. The load is not limited to this, and may be, for example, an input data rate, an output data rate, or a frame rate in the case of video processing. The load is configured by information that affects the presence or absence of a delay in processing time by the computer 30 and the degree of the delay.
[0021] The performance estimation unit 31B estimates the performance of the computer 30 with respect to the processing time when one or more computing resources R that execute a part of the processing of one service are operated. The performance may be the processing time itself, or may be an amount that increases or decreases the processing time, such as a processing speed. The processing time is, for example, the time from when data is input to the computer 30 to when the data is processed by the one or more computing resources R and the processing result is output to the outside of the computer 30. The storage device 33 stores a relational expression or a table that indicates the relationship between the circuit scale of the computing resource R and the load on the computer 30, and the performance of the computer 30 when the computing resource R is used. The performance estimation unit 32B estimates the performance using the relational expression or the table based on the circuit scale of the computing resource R and the load monitored by the load monitoring unit 31A. When estimating, the performance estimation unit 32B may measure the processing time, etc., by having the computer 30 use test data, and estimate the measured processing time, etc. as the performance.
[0022] The resource manager 32C adds or deletes an arbitrary computation resource R to or from the accelerator 35 based on an instruction from the resource manager 10, which will be described later. When the accelerator 35 is an FPGA, the resource manager 32C writes or deletes a computation circuit that operates as the computation resource R to or from this FPGA.
[0023] 1 is a computer such as a server computer. The resource management device 10 includes a processor 11, a main memory 12 of the processor 11, a non-volatile storage device 13 that stores programs and various data, and a NIC 14 connected to a network NW.
[0024] The processor 11 is composed of a CPU or the like, and executes or uses programs and various data stored in the storage device 13 to control the entire resource management device 10. The main memory 12 is composed of a RAM or the like. The programs and various data are appropriately read into the main memory 12. The storage device 13 is composed of an SSD or the like. The NIC 14 transmits and receives data to and from the network NW under the control of the processor 11.
[0025] By executing the above programs, the processor 11 operates as a required quality acquisition unit 11A, an estimate result acquisition unit 11B, a configuration control unit 11C, a load information acquisition unit 11D, and an input data restriction unit 11E shown in FIG. 3. These units 11A to 11E cooperate to perform the resource management process shown in FIG. 4. The resource management process is performed periodically for each service. The resource management process is performed, for example, every few minutes for one service. The resource management process is dynamically performed while the computing system 20 is operating. That is, the resource management process is performed while the above service is being provided. When performing the resource management process, the resource management device 10 may instruct the multiple computers 30-1 to 30-N to stop the execution of the service to be processed.
[0026] The operation of each of the units 11A to 11E will be described below with reference to Figs. 3 and 4. In the following, the service to be processed is referred to as service X. Each of the multiple computation resources R that provide the service X is also referred to as computation resource RX. Each of the multiple computers 30 in which the multiple computation resources RX are configured is also referred to as computer 30X. It is assumed that the storage device 13 of the resource management device 10 stores the addresses of the multiple computation resources RX that perform the service X. The computers 30X in which the multiple computation resources RX are provided can also be specified by the addresses.
[0027] In the resource management process, first, the required quality acquisition unit 11A acquires the required quality, which is the quality related to the processing time of the service X that is required for the service X (step S101). The required quality functions as a preset threshold value, and is recorded in the storage device 13 in association with each service. The required quality acquisition unit 11A acquires the required quality corresponding to the service X from the storage device 13. The required quality is compared with the above-mentioned performance estimation result, and has the same dimension as the performance. If the performance is the processing time, the required quality is also the processing time required for the service, for example, the upper limit time allowed as the processing time. If the performance is the processing speed, the required quality is also the processing speed.
[0028] The performance and quality may be amounts by which the processing time is increased or decreased, such as an input data rate, an output data rate, or, if service X is video processing, a frame rate during processing. The contents of the performance and quality are determined according to the contents of each service.
[0029] The estimation result acquisition unit 11B also acquires the result of estimating the quality of the service X performed by the multiple computing resources RX of the current hardware configuration as a quality estimation result (step S102). The estimation result acquisition unit 11B communicates with each computer 30X provided with the multiple computing resources RX via the NIC 14, the network NW, and the NIC 34 (hereinafter, the same applies to communication), and instructs the computer 30X to estimate the performance of the computer 30X when using the computing resources RX. The performance estimation unit 31B (FIG. 2) of the computer 30X transmits the estimation result estimated by the instruction to the estimation result acquisition unit 11B. The estimation result acquisition unit 11B estimates the quality of the service X based on the estimation results transmitted from each computer 30X, and acquires the quality estimation result. If the performance to be the estimation result is the processing time, the processing time obtained by adding up the estimation results from each computer 30X becomes the quality estimation result. If the performance to be the estimation result is the processing speed, the average speed of the estimation results from each computer 30X becomes the quality estimation result.
[0030] After the required quality and the quality estimation result are acquired (after steps S101 and S102), the configuration control unit 11C compares the acquired required quality with the quality estimation result and determines whether the quality estimation result satisfies the required quality (step S103). When the required quality and the quality estimation result are processing times, if the processing time of the quality estimation result is equal to or less than the processing time of the required quality, it is determined that the quality estimation result satisfies the required quality. When both are processing speeds, if the processing speed of the quality estimation result is equal to or greater than the processing speed of the required quality, it is determined that the quality estimation result satisfies the required quality.
[0031] If the quality of the service to be processed satisfies the required quality (step S103; Yes), there is no need to change the hardware configuration of the computing resource RX, and the resource management process in FIG. 4 ends.
[0032] If the quality of the service to be processed does not satisfy the required quality (step S103; No), it is necessary to change the hardware configuration of the multiple computing resources RX. In this case, the load information acquisition unit 11D acquires load information indicating the load on each of the computers 30-1 to 30-N of the computing system 20 (step S104). The load information acquisition unit 11D communicates with the computers 30-1 to 30-N and requests the current load from them. In response to the load request, the load monitoring unit 31A of the computers 30-1 to 30-N returns the monitored load to the load information acquisition unit 11D. In this way, the load information acquisition unit 11D acquires the load on each of the computers 30-1 to 30-N as load information.
[0033] After acquiring the load information, the configuration control unit 11C dynamically changes the hardware configuration of the multiple computing resources RX from the hardware configuration at the time of acquiring the estimate result to a second hardware configuration different from this hardware configuration based on the acquired load information (step S105).
[0034] In step S105, the configuration control unit 11C changes, for example, the hardware constituting at least one of the multiple computing resources RX from the hardware of the computer 30X having a large load among the computers 30-1 to 30-N to the hardware of one or more computers 30 having a small load.
[0035] As an example, when the hardware is an FPGA, the configuration control unit 11C deletes the computation resource RX written to the accelerator 35 of the first computer 30X whose load is higher than the first standard. On the other hand, the configuration control unit 11C writes the computation resource R having the same circuit configuration as the deleted computation resource RX to the accelerator 35 of the second computer 30 whose load is lower than the second standard. The computation resource R may be divided and written to a plurality of second computers 30. The configuration control unit 11C communicates with each of the first and second computers 30 to cause the resource management unit 32C to perform the deletion and writing. After the writing and deletion, the address of the computation resource RX stored in the storage device 33 is also changed. Furthermore, when the lightly loaded computer 30 is configured with the same computing resource R as the computing resource RX provided in the heavily loaded computer 30X, the hardware configuration may be changed by switching the two computing resources, for example, by rewriting the address of the computing resource RX stored in the storage device 33 to the computing resource R of the lightly loaded computer 30. The change in the hardware configuration may include the addition of a new computing resource RX. Such an addition includes the configuration control unit 11C increasing the circuit scale of the computing resource RX and increasing the parallelism of the circuit configuration in order to improve the processing performance. When increasing the circuit scale, the configuration control unit 11C attempts to secure a necessary area in the accelerator 35.
[0036] The configuration control unit 11C may change the hardware configuration of the computing resources RX while referring to the quality estimation result and the load information so as to satisfy the quality requirements of the service X. The configuration control unit 11C may change the hardware configuration by any algorithm, such as an algorithm for solving an optimization problem regarding the hardware configuration of the computing resources RX.
[0037] The configuration control unit 11C may dynamically change the hardware configuration of the multiple computation resources RX without using load information. For example, it is assumed that multiple combinations of addresses of the multiple computation resources RX are stored in the storage device 13 of the resource management device 10. The configuration control unit 11C uses one of the multiple combinations for service X, and may change the combination of addresses of the multiple computation resources RX used for service X when changing the hardware configuration.
[0038] After step S105, the input data limiting unit 11E, while referring to the load information, limits the amount of data to be processed input to the computer 30 having a load greater than a predetermined standard (step S106). This control includes reducing the amount of data to be processed input per unit time, as well as transferring the data to be processed to another computer 30. This process is particularly effective when the load on the entire computing system 20 is large, or when the quality of service X does not improve even after changing the hardware configuration. The input data limiting unit 11E may perform the above control by further referring to the quality estimation result.
[0039] As described above, in this embodiment, when the quality estimation result for a certain service does not satisfy the required quality, the hardware configuration of the multiple computing resources R that share and process this service is changed from the first hardware configuration at the time of obtaining the quality estimation result to a second hardware configuration different from the first hardware configuration during the operation of the computing system 20. Since the quality estimation result is affected by the load of the computer to which the computing resource is provided, according to this embodiment, the hardware configuration of the computing resource R is changed while following the load on the computer 30 that changes from moment to moment. Therefore, even when the load on the computer 30 is high, the deterioration of the quality of the service being provided can be reduced, and the hardware configuration of the multiple computing resources R is appropriately managed. If the above control is not performed, it is necessary to excessively allocate the computing resource R due to the quality requirement of the service, and the power efficiency and the utilization efficiency of the computer 30 will deteriorate. In this embodiment, there is an effect that the power efficiency and the utilization rate of the computer can be kept at an optimal state while maintaining the quality of each service at a good level. In addition, since the computing resource can be added in this embodiment, there is an effect that the quality requirement of each service can be satisfied while maintaining the power efficiency and the utilization rate of the computer at an optimal state.
[0040] Furthermore, in this embodiment, based on the load information indicating the load on each of the computers 30-1 to 30-2, the hardware constituting at least one of the plurality of computing resources R is changed from the hardware of the computer 30 with the larger load among the computers 30-1 to 30-N to the hardware of the computer 30 with the smaller load. As a result, the hardware configuration of the plurality of computing resources R is changed from the first hardware configuration to the second hardware configuration. In this way, it is possible to reduce the degradation of the quality of service due to the load on the computer 30, and the hardware configuration of the plurality of computing resources R is appropriately managed.
[0041] Furthermore, in this embodiment, the amount of input data to a computer among computers 30-1 to 30-N whose load is greater than a predetermined standard is limited based on the load information, thereby making it possible to suppress degradation of service quality due to the load on computers 30.
[0042] In addition, when instructing the computer 30 to estimate performance in step S102, the estimation result acquisition unit 11B may specify conditions for the performance estimation. For example, in order to estimate the performance of the computer 30 when the computing resource R is increased or decreased by the above hardware configuration, the estimation result acquisition unit 11B may specify the increase and decrease amounts of the computing resource R as parameters for the estimation. Similarly, in order to estimate the processing performance when the input data amount increases or decreases, the increase and decrease amounts of the input data may be specified as parameters for the estimation. The quality estimation results based on these estimation results may be used in step S106, etc.
[0043] [Second embodiment] The configuration of the resource management device 110 according to this embodiment is shown in FIG. 5. The estimation result acquisition unit 11B in FIG. 5 acquires a performance estimation result that estimates the performance of the processing time of each of the one or more computers 30 (one or more computers 30X) configured with a plurality of computing resources R (e.g., a plurality of computing resources RX) that share and execute one service (e.g., service X) among the computers 30-1 to 30-N when using one or more computing resources R configured on the computer among the plurality of computing resources R. This performance estimation result may be, for example, an estimation result of the performance of each computer 30 acquired by the estimation result acquisition unit 11B in the first embodiment. The estimation result acquisition unit 11B estimates the quality of the service during operation of the computing system 20 based on a value obtained by adding one or more fluctuation amounts to the acquired performance estimation result. The one or more fluctuation amounts may include, for example, at least the former of a predetermined first fluctuation amount and a second fluctuation amount according to the trend of the load indicated by the past load information.
[0044] The estimation result acquisition unit 11B, for example, adds or subtracts 5% of the value of the performance estimation result as a first variation amount to the value of the performance estimation result. The 5% is set as a fixed value. The first variation amount may be a value other than 5%. The estimation result acquisition unit 11B also sequentially records the load indicated by the load information from the load information acquisition unit 11D in the storage device 33 for each computer 30. The estimation result acquisition unit 11B reads out the past load of the computer 30 that is the target of the performance estimation result from the storage device 33, and derives a second variation amount based on the trend of the past load, for example, the average value of the load in the period from the present to a predetermined timing in the past or the load in the same time period as the present. For example, if the average value or the load is equal to or greater than a predetermined threshold, an addition of 5% is derived as the second variation amount. The estimation result acquisition unit 11B calculates a value that further takes into account the second variation amount to the value of the performance estimation result (for example, a value that adds 5% of the value to the value that takes into account the first variation amount) as the quality estimation result. The estimate result acquiring unit 11B may calculate the second fluctuation amount by utilizing a neural network model, or may calculate the second fluctuation amount by a machine learning model based on statistical data.
[0045] The input data limiting unit 11E may set a value obtained by adding the above-mentioned fluctuation amount of 1 or more to the load information as new load information, and limit the amount of data to be processed that is input to a computer 30 where the load indicated by the load information is greater than a predetermined standard.
[0046] The other configurations are similar to those of the first embodiment, and therefore the description thereof will be omitted.
[0047] According to this embodiment, a predetermined amount of fluctuation is added to the quality estimation result and the load information, so that it is possible to secure computing resources R within a range that can be predicted in advance for the load on the computer 30, which changes from moment to moment. This makes it possible to reduce degradation in service quality even if the load on the computer 30 fluctuates, and to appropriately manage the hardware configuration of multiple computing resources R. Furthermore, when securing computing resources R within a range that can be predicted in advance, redundancy against failure of computing resources R is also realized by arranging physically different computing resources R.
[0048] [Third embodiment] 6 shows the configuration of a resource management device 210 according to this embodiment. The resource management device 210 includes a priority control unit 211G in addition to the units 11A to 11E included in the resource management device 10. The priority control unit 211G is a unit that the processor 11 controls to control the load information acquisition unit 11D to acquire total load information indicating a total load on the entire computing system 20, in addition to the load on each of the computers 30-1 to 30-N, from the computing system 20. The load information acquisition unit 11D may calculate the total load based on the load on each of the computers 30-1 to 30-N.
[0049] The units 11A to 11E and 211G of the resource management device 210 cooperate to periodically execute the resource management process shown in Fig. 7. The resource management process will be described below with reference to Fig. 6 and Fig. 7. Note that the computing system 20 is capable of providing a plurality of services, and it is assumed that a priority order is set for the plurality of services to specify which service is to be executed first in the event of a conflict in execution timing.
[0050] In the resource management process according to this embodiment, first, the priority control unit 211G acquires total load information from the load information acquisition unit 11D (step S301). After that, the priority control unit 211G judges whether the total load on the computing system 20 indicated by the total load information is higher than a predetermined threshold (step S302). If the total load is not higher than the predetermined threshold (step S302; No), the resource management process ends. If the total load is higher than the predetermined threshold (step S302; Yes), there is a possibility that a delay occurs in the provision of services by the computing system 20. In this case, the priority control unit 211G executes the process of step S303. Step S303 may be executed multiple times. In the Pth step S303, where P is a natural number, the priority control unit 211G selects a service with the Pth priority. After that, steps S102 to S106 are executed with the Pth service as the service to be processed. The explanation of these processes conforms to that of the first embodiment. However, if the determination result of step S103 is positive, the process of step S303 is executed again. If the number of times P of the process of step S303 reaches the number of services that can be provided by the computing system 20, the process of step S301 may be executed again. In addition, the process of step S301 may be executed after the process of step S106.
[0051] In this embodiment, similarly to the first embodiment, the computing system 20 is configured with the plurality of computing resources for each of the plurality of services provided by the computing system 20. The resource management device 210 of this embodiment includes a load information acquisition unit 11D that acquires load information indicating an overall load on the entire computing system 20, and a priority control unit 211G that determines which of the plurality of services should be prioritized as a target of processing (steps S101 to S106) by the required quality acquisition unit, the estimate result acquisition unit, and the configuration control unit when the overall load indicated by the load information exceeds a predetermined threshold. The priority control unit 211G determines which of the services should be prioritized as a target of the processing based on the priority order of processing execution when the plurality of services compete with each other.
[0052] Instead of or in addition to the priority order, the priority control unit 211G may determine which service should be prioritized for the processing based on the degree of deviation between the quality estimation result and the required quality for each service. For example, the priority control unit 211G accumulates the difference between the required quality and the quality estimation result acquired in steps S101 and S102 for each service in the storage device 33, and the larger the difference, the higher the priority of the service to be processed. The priority control unit 211G may add a weight corresponding to the difference to the priority order for each service in step S303, for example, and set the priority order of the service to be higher the smaller the value after the weighting.
[0053] According to this embodiment, when the load of the entire computing system 20 exceeds a predetermined threshold, the hardware configuration of the computing resources of the first embodiment is controlled preferentially for services with high priority. Therefore, even when the load of the entire system is high, the hardware configuration of the computing resources R can be controlled for services with high priority, so that deterioration of the quality of the services with high priority is reduced.
[0054] [Scope of the present invention] The present invention is not limited to the above-mentioned embodiment and modified examples. For example, the present invention includes various modifications to the above-mentioned embodiment and modified examples that can be understood by a person skilled in the art within the scope of the technical idea of the present invention. The configurations listed in the above-mentioned embodiment and modified examples can be appropriately combined within a range without contradiction. It is also possible to delete any of the above-mentioned configurations. The above-mentioned various programs may be stored in a non-transitory computer-readable storage medium, not limited to the non-volatile storage device 33. [Explanation of symbols]
[0055] 10...resource management device, 11...processor, 11A...required quality acquisition unit, 11B...estimate result acquisition unit, 11C...configuration control unit, 11D...load information acquisition unit, 11E...input data restriction unit, 12...main memory, 13...storage device, 20...computing system, 30, 30-1 to 30-N...computers, 31...processor, 31A...load monitoring unit, 31B...performance estimation unit, 31C...resource management unit, 32...main memory, 32B...performance estimation unit, 32C...resource management unit, 33...storage device, 35...accelerator, 110...resource management device, 210...resource management device, 211G...priority control unit, R...computational resource.
Claims
1. A resource management device that is configured using a part of the hardware of a computing system consisting of a plurality of computers and manages the hardware configuration of a plurality of computing resources that share a service of processing data to be processed, comprising: a required quality acquisition unit that acquires a quality related to a processing time of the service that is required for the service as a required quality; an estimation result acquisition unit that acquires a result of estimating the quality of the service performed by the plurality of computing resources of a first hardware configuration during operation of the computing system as a quality estimation result; a configuration control unit that changes a hardware configuration of the plurality of computing resources from the first hardware configuration to a second hardware configuration different from the first hardware configuration during operation of the computing system when the quality estimation result does not satisfy the required quality; The computing system includes a plurality of computing resources for each of a plurality of services provided by the computing system, a load information acquisition unit that acquires first load information indicating a load on the entire computing system; and a priority control unit that determines, when the load indicated by the first load information exceeds a predetermined threshold, which of the plurality of services should be prioritized as a target for processing by the required quality acquisition unit, the estimate result acquisition unit, and the configuration control unit. Resource management device.
2. the load information acquisition unit acquires second load information indicating a load on each of the plurality of computers; the configuration control unit changes hardware constituting at least one of the plurality of computing resources from hardware of a first computer having a large load to hardware of a second computer having a small load, based on the second load information, thereby changing the hardware configuration of the plurality of computing resources from the first hardware configuration to the second hardware configuration; The resource management device according to claim 1 .
3. the load information acquisition unit acquires second load information indicating a load on each of the plurality of computers; an input data limiting unit that limits an amount of input data to a computer among the plurality of computers whose load is greater than a predetermined standard based on the second load information; The resource management device according to claim 1 or 2, comprising:
4. the estimation result acquisition unit acquires a performance estimation result that estimates performance related to a processing time of each of the one or more computers configured with the plurality of computing resources among the plurality of computers when using one or more computing resources configured on the computer among the plurality of computing resources, and estimates the quality of the service during operation of the computing system based on a value obtained by adding one or more fluctuation amounts to the acquired performance estimation result; The resource management device according to any one of claims 1 to 3.
5. the load information acquisition unit acquires second load information indicating a load on each of the plurality of computers; the estimation result acquisition unit estimates the quality of the service during operation of the computing system based on a value obtained by adding a predetermined first fluctuation amount and a second fluctuation amount according to a trend of the load indicated by the past second load information to the acquired performance estimation result; The resource management device according to claim 4.
6. the priority control unit determines which of the services is to be given priority for the processing based on at least one of a priority order of processing execution when the plurality of services compete with each other and a degree of deviation between the quality estimation result and the required quality for each service. The resource management device according to claim 1 .
7. A program that causes a computer to function as the resource management device described in claim 1.
Citation Information
Patent Citations
Digital multifunctional machine and its control method
JP2007188226A
Resource management method, resource management device and program
WO2011142031A1
Resource configuration system, resource configuration method and resource configuration program
WO2017029826A1
Analysis node, method for managing resources, and program recording medium
WO2018097058A1