WO2023105670A1 - リソース管理装置及びプログラム - Google Patents
リソース管理装置及びプログラム Download PDFInfo
- Publication number
- WO2023105670A1 WO2023105670A1 PCT/JP2021/045073 JP2021045073W WO2023105670A1 WO 2023105670 A1 WO2023105670 A1 WO 2023105670A1 JP 2021045073 W JP2021045073 W JP 2021045073W WO 2023105670 A1 WO2023105670 A1 WO 2023105670A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- quality
- service
- hardware configuration
- load
- estimation result
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 78
- 238000007726 management method Methods 0.000 claims description 59
- 238000013468 resource allocation Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 9
- 238000000034 method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 19
- 230000008859 change Effects 0.000 description 7
- 230000006866 deterioration Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000002250 progressing effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Definitions
- the present invention relates to a resource management device and program for managing computing resources.
- Technological innovation is progressing in many fields such as machine learning, artificial intelligence (AI), and IoT (Internet of Things), and by utilizing various data, the sophistication of services and the provision of added value are actively progressing. It is Such processing requires a large amount of calculation, and an information processing infrastructure for that is essential.
- AI artificial intelligence
- IoT Internet of Things
- Non-Patent Document 1 points out that modern computers cannot cope with the rapidly increasing amount of data, although attempts are being made to update the existing information processing infrastructure. There is In addition, Non-Patent Document 1 points out that "post-Moore technology" that goes beyond Moore's law must be established in order to achieve further evolution in the future.
- Non-Patent Document 2 discloses a technique called flow-centric computing.
- flow-centric computing the new concept of moving data to where computational functions (computational resources) exist and processing it, instead of the traditional computing concept of processing where the data resides. have been introduced.
- 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 data to be processed.
- the resource management apparatus of the present invention is configured using part of the hardware of a computing system consisting of a plurality of computers, and performs a service of processing data to be processed in a shared manner.
- a resource management device for managing a hardware configuration of computing resources comprising: a requested quality obtaining unit for obtaining, as a requested quality, a quality regarding processing time of the service requested for the service; an estimation result acquisition unit that acquires, as a quality estimation result, a result of estimating the quality of the service performed by the computing resource during operation of the computing system; and if the quality estimation result does not satisfy the required quality, the plurality of a configuration control unit that changes the hardware configuration of the computing resources from the first hardware configuration to a second hardware configuration different from the first hardware configuration during operation of the computing system.
- the program of the present invention is configured using part of the hardware of a computing system consisting of a plurality of computers, and a plurality of computational resources sharing the service of processing data to be processed.
- the hardware configuration of a plurality of computational resources sharing the service of processing data to be processed is appropriately managed.
- FIG. 1 is a hardware configuration diagram showing configurations of a resource management apparatus and a computer according to the first embodiment of the present invention.
- FIG. 2 is a block diagram showing the configuration of the computer in FIG. 3 is a block diagram showing the configuration of the resource management device of FIG. 1.
- FIG. 4 is a flowchart of resource management processing according to the first embodiment.
- FIG. 5 is a block diagram showing the configuration of a resource management device according to the second embodiment.
- FIG. 6 is a block diagram showing the configuration of a resource management device according to the third embodiment.
- FIG. 7 is a flowchart of resource management processing according to the third embodiment.
- the resource management device 10 As shown in FIG. 1, the resource management device 10 according to the present embodiment is connected to each of a plurality of computers 30-1 to 30-N (where N is a natural number of 2 or more) constituting a computing system 20, the Internet, and a local network. It is provided so as to be communicable via a network NW such as an area network (LAN).
- NW such as an area network (LAN).
- the resource management apparatus 10 is configured using an accelerator 35 described later for computers 30-1 to 30-N, which are part of the hardware of the computing system 20, and is a plurality of resources that share the service of processing data to be processed. manages the hardware configuration of the computational resource R of More specifically, the resource management device 10 manages which hardware implements the plurality of computing resources R for each service.
- the configurations of the computers 30-1 to 30-N will be described below, and then the configuration of the resource management apparatus 10 will be described.
- Computers 30-1 to 30-N are also collectively referred to as computer 30.
- the computers 30-1 to 30-N can communicate with each other via the network NW, use a large number of computing resources R, and perform multiple types of services as the computing system 20 as a whole.
- Services include image processing and the like.
- One service includes a plurality of processes, and the plurality of processes are shared by a plurality of computational resources R and executed.
- a plurality of computing resources R that perform one service are connected via a virtual network configured in a network NW or the like, and process target data serially and/or in parallel.
- image data as data to be processed is binarized by parallel processing by two computing resources R of the computer 30-1. , and the processing result is returned to the image data provider (not shown).
- the provider is a client computer of a service user or the like.
- 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 that constitute each service are performed 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 transfer destination of the processing result data output by the computing resources R is determined by the resource management device 10. It is specified.
- Each of the computers 30-1 to 30-N has a similar configuration, although the processes that can be executed are different.
- the computers 30-1 to 30-N are also collectively referred to as the computer 30.
- FIG. The configuration of each computer 30 will be described below.
- the computer 30 is a computer such as a personal computer, smart phone, or tablet.
- the computer 30 includes a processor 31, a main memory 32 of the processor 31, a non-volatile storage device 33 for storing programs and various data, and a NIC (Network Interface Card) 34 connected to a network NW.
- Computer 30 further comprises an accelerator 35 that improves the functionality of computer 30 .
- the processor 31 consists of a CPU (Central Processing Unit) or 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 RAM (Random Access Memory) and the like. Programs and various data are read to the main memory 32 as appropriate.
- the storage device 33 is an SSD (Solid State Drive) or the like.
- the NIC 34 transmits/receives data to/from the network NW under the control of the processor 31 .
- the accelerator 35 is composed of hardware such as an FPGA (Field-Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), a sub CPU, and a GPU (Graphics Processing Unit).
- the processor 31 can be deleted and reconfigured dynamically while the computer 30 is in operation, that is, using a predetermined arithmetic circuit as the arithmetic resource R in at least part of the reconfigurable area of the FPGA.
- one or a plurality of computational resources R are configured by the accelerator 35 .
- the arithmetic resource R is configured by configuring an arithmetic circuit that operates as the arithmetic resource R in the accelerator 35 .
- the area in which the calculation resource R of the FPGA is configured becomes the hardware that constitutes the calculation resource.
- the computing resource R may be configured by the processor 31 as, for example, a virtual machine.
- the computing resource R may be configured by hardware obtained by logically dividing the GPU into multiple parts. Data input to the computation resource R, transfer of data of the processing result from the computation resource R, and the like are controlled by the processor 31, for example.
- the processor 31 operates as a load monitoring unit 31A, a performance estimation unit 31B, and a resource management unit 31C shown in FIG. 2 by executing the above programs.
- the load monitoring unit 31A monitors the load on the computer 30.
- the load includes 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 computing resource R of the computer 30. etc.
- the load also includes the usage rate of memory resources such as a storage unit provided in the main memory 32 or the accelerator 35 for storing intermediate data and computation parameters in the process of processing.
- 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 moving image processing.
- the load is composed of information that affects the presence or absence of a delay in the processing time of the computer 30 and the degree of delay.
- the performance estimator 31B estimates the performance related to the processing time of the computer 30 when operating one or a plurality of computational resources R that execute part of processing of one service.
- the performance may be the processing time itself, or an amount such as the processing speed that increases or decreases the processing time.
- 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 showing the relationship between the circuit scale of the computational resource R and the load on the computer 30 and the performance of the computer 30 when the computational resource R is used.
- the performance estimator 32B estimates the performance using the relational expression or table based on the circuit scale of the computation resource R and the load monitored by the load monitor 31A. At the time of estimation, the performance estimator 32B may cause the computer 30 to use the test data to measure the processing time and the like, and estimate the measured processing time and the like as the performance.
- the resource management unit 32C adds or deletes any computational resource R to or from the accelerator 35 based on an instruction, which will be described later, from the resource management device 10, which will be described later. If the accelerator 35 is an FPGA, the resource management unit 32C writes or deletes an arithmetic circuit that operates as the arithmetic resource R in this FPGA.
- the resource management device 10 shown in FIG. 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 nonvolatile storage device 13 storing programs and various data, and a NIC 14 connected to a network NW.
- the processor 11 is composed of a CPU and the like, and executes or uses programs and various data stored in the storage device 13 to control the resource management device 10 as a whole.
- the main memory 12 is composed of a RAM and the like. Programs and various data are read out to the main memory 12 as appropriate.
- the storage device 13 is made up of an SSD or the like.
- the NIC 14 transmits/receives data to/from the network NW under the control of the processor 11 .
- the processor 11 By executing the above programs, the processor 11 operates as the required quality acquiring unit 11A, the estimation result acquiring unit 11B, the configuration control unit 11C, the load information acquiring unit 11D, and the input data limiting unit 11E shown in FIG. . These units 11A to 11E cooperate to perform resource management processing shown in FIG. Resource management processing is performed periodically for each service. Resource management processing is executed, for example, every few minutes for one service. Resource management processing is performed dynamically during operation of computing system 20 . That is, the resource management process is executed while the service is provided. When performing resource management processing, the resource management device 10 may instruct the plurality of computers 30-1 to 30-N to stop executing the service to be processed.
- each section 11A to 11E The operation of each section 11A to 11E will be described below with reference to FIGS.
- the service to be processed is hereinafter referred to as service X.
- each of the multiple computational resources R that provide the service X is also referred to as a computational resource RX.
- Each of a plurality of computers 30 configured with a plurality of computing resources RX is also referred to as a computer 30X. It is assumed that the storage device 13 of the resource management device 10 stores the addresses of the plurality of computational resources RX that perform the service X. FIG. With the above address, it is also possible to specify the computer 30X in which a plurality of operation resources RX are respectively provided.
- the required quality acquisition unit 11A acquires the required quality, which is the quality required for the service X in relation to the processing time of the service X (step S101).
- the required quality functions as a preset threshold 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 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.
- the performance and quality may be input data rate, output data rate, frame rate during processing if service X is moving image processing, etc., as amounts for increasing or decreasing the processing time.
- the content of performance and quality is determined by the content of each service.
- the estimation result acquisition unit 11B acquires the result of estimating the quality of the service X performed by the plurality of operation resources RX of the current hardware configuration as the quality estimation result (step S102).
- the estimation result acquisition unit 11B communicates with each computer 30X provided with a plurality of computational resources RX via the NIC 14, the network NW, and the NIC 34 (hereinafter, the same applies to communication), and when the computational resources RX are used, the computer A 30X performance estimate is indicated.
- the performance estimator 31B (FIG. 2) of the computer 30X transmits the estimation result estimated according to the above 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 of the computers 30X and acquires the quality estimation result. If the estimated performance is the processing time, the quality estimation result is the processing time obtained by summing the estimated results from each computer 30X. If the estimated performance is the processing speed, the average speed of the estimated results from each computer 30X is the quality estimated result.
- the configuration control unit 11C compares the acquired required quality and the quality estimation result, and determines whether the quality estimation result satisfies the required quality. is determined (step S103).
- the required quality and the quality estimation result are the processing time, if the processing time which is the quality estimation result is equal to or less than the processing time which is the required quality, it is determined that the quality estimation result satisfies the required quality.
- both are processing speeds if the processing speed, which is the result of quality estimation, is equal to or higher than the processing speed, which is the required quality, it is determined that the result of quality estimation satisfies the required quality.
- step S103 If the quality of the service to be processed satisfies the required quality (step S103; Yes), it is necessary to change the hardware configuration of the computation resource RX and the resource management process in FIG. 4 ends.
- the load information acquiring 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 current loads from them.
- the load monitoring unit 31A responds to the load request and returns the monitored load to the load information acquiring unit 11D. In this manner, the load information acquisition unit 11D acquires the load on each of the computers 30-1 to 30-N as load information.
- the configuration control unit 11C After obtaining the load information, the configuration control unit 11C, based on the obtained load information, determines the hardware configuration of the plurality of operation resources RX from the hardware configuration at the time of obtaining the estimation result to a second hardware configuration different from this hardware configuration.
- the hardware configuration is dynamically changed (step S105).
- step S105 the configuration control unit 11C, for example, removes the hardware constituting at least one of the plurality of computing resources RX from the hardware of the computer 30X having a large load among the computers 30-1 to 30-N.
- the hardware of one or more computers 30 with a light load is changed.
- the configuration control unit 11C deletes the arithmetic resource RX written to the accelerator 35 of the first computer 30X whose load is higher than the first criterion.
- 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 reference.
- the computing resource R may be divided and written to the plurality of second computers 30 .
- the deletion and writing are performed by the resource management section 32C through communication between the configuration control section 11C and the first and second computers 30. FIG. After writing and deleting, the address of the computational resource RX stored in the storage device 33 is also changed.
- the hardware configuration may be changed by rewriting the address of the resource RX to the computing resource R of the computer 30 with a low load.
- a change in hardware configuration may include addition of a new computational resource RX.
- Such an addition includes that the configuration control unit 11C increases the circuit scale of the operation resource RX and increases the parallelism of the circuit configuration in order to improve the processing performance.
- the configuration control unit 11C attempts to secure a necessary area in the accelerator 35 when increasing the circuit scale.
- the configuration control unit 11C should refer to the quality estimation result and the load information to change the hardware configuration of the computing resource RX so that the quality requirement of service X can be satisfied.
- the configuration control unit 11C may change the hardware configuration with an arbitrary algorithm such as an algorithm that solves an optimization problem for the hardware configuration of the computing resource RX.
- the configuration control unit 11C may dynamically change the hardware configuration of the multiple computing resources RX without using the load information. For example, it is assumed that the storage device 13 of the resource management device 10 stores a plurality of combinations of addresses of a plurality of computing resources RX. The configuration control unit 11C uses one of the plurality of combinations for the service X, and when the hardware configuration is changed, the combination of addresses of the plurality of computing resources RX used for the service X may be changed. good.
- the input data limiting unit 11E limits the amount of data to be processed input to the computer 30 whose load is greater than a predetermined standard while referring to the load information (step S106).
- the control reduces the amount of data to be processed input per unit time, and also transfers the data to be processed to another computer 30 . This processing is particularly effective when the overall load on the computing system 20 is heavy, or when the quality of the service X is not improved even by changing the hardware configuration.
- the input data restriction unit 11E may further refer to the quality estimation result to perform the above control.
- the hardware configuration of the plurality of computing resources R sharing and processing this service is changed to the quality estimation. Control is performed to change the first hardware configuration at the time of obtaining the result to a second hardware configuration different from the first hardware configuration during operation of the computing system 20 . Since the quality estimation result is affected by the load of the computer provided with the computational resource, according to this embodiment, the hardware configuration of the computational resource R is adjusted while following the ever-changing load on the computer 30. Be changed. Therefore, even when the load on the computer 30 is high, deterioration in the quality of the service being provided can be reduced, and the hardware configuration of the plurality of computational resources R can be appropriately managed.
- This embodiment has the effect of keeping the power efficiency and the utilization rate of the computer in an optimal state while keeping the quality of each service good. Further, in this embodiment, since computational resources can be added, there is an effect that the quality requirements of each service can be satisfied while power efficiency and computer usage rate are kept in an optimum state.
- the hardware constituting at least one of the plurality of computing resources R is configured by the computers 30-1 to 30-2.
- the hardware of the computer 30 with a large load among 30-N is changed to the hardware of the computer 30 with a small load.
- the hardware configuration of the plurality of computing resources R is changed from the first hardware configuration to the second hardware configuration.
- the amount of data input to computers 30-1 to 30-N whose load is larger than a predetermined standard is limited. As a result, deterioration of service quality due to the load on the computer 30 can be suppressed.
- the estimation result acquisition unit 11B may specify conditions for performance estimation when instructing the computer 30 to estimate performance in step S102. For example, in order to estimate the performance of the computer 30 when the computational resource R is increased or reduced according to the above hardware configuration, the estimation result acquisition unit 11B designates the amount of increase and the amount of reduction of the computational resource R as parameters at the time of estimation. may Similarly, in order to estimate the processing performance when the amount of input data increases or decreases, the amount of input data increase and decrease may be specified as parameters for estimation. Quality estimation results based on these estimation results may be used in step S106 and the like.
- FIG. 5 shows the configuration of the resource management device 110 according to this embodiment.
- the estimation result acquisition unit 11B in FIG. 5 includes a plurality of computational resources R (eg, a plurality of computational resources RX) that share and execute one service (eg, service X) among the computers 30-1 to 30-N. of each of the one or more computers 30 (one or more computers 30X) in which the get the performance estimation result.
- This performance estimation result may be, for example, the performance estimation result of each computer 30 acquired by the estimation result acquisition unit 11B in the first embodiment.
- the estimation result acquiring 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 variation amounts to the acquired performance estimation result.
- the one or more variation amounts may include, for example, at least the former of a predetermined first variation amount and a second variation amount according to the load tendency indicated by the past load information.
- the estimation result acquisition unit 11B adds or subtracts 5% of the performance estimation result value as the first variation amount.
- 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 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 from the storage device 33 the past load of the computer 30 that is the target of the performance estimation result, and obtains the past load trend, for example, the period from the present to a predetermined past timing.
- a second fluctuation amount is derived based on the average value of the load or the load in the same time period as the current one.
- the estimation result acquisition unit 11B obtains a value obtained by adding a second variation amount to the value of the performance estimation result (for example, a value obtained by adding 5% of the value to the value added with the first variation amount ) is calculated as the above quality estimation result.
- the estimation result acquisition unit 11B may calculate the second variation using a neural network model, or may calculate it using a machine learning model based on statistical data.
- the input data limiting unit 11E sets a value obtained by adding one or more variation amounts to the load information as new load information, and inputs processing target data to the computer 30 whose load indicated by the load information is larger than a predetermined standard. Amount may be limited.
- the calculation resource R can be secured within a range that can be assumed in advance for the load on the computer 30 that changes from moment to moment. It becomes possible to put As a result, even if the load on the computer 30 fluctuates, deterioration in service quality can be reduced, and the hardware configuration of the plurality of computing resources R can be appropriately managed. Further, when securing the computational resource R within a range that can be assumed in advance, by arranging physically different computational resources R, redundancy against a failure of the computational resource R is realized.
- FIG. 6 shows the configuration of the 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.
- FIG. The priority control unit 211G acquires from the processor 11, and the load information acquisition unit 11D acquires from the calculation system 20 not only the load on each of the computers 30-1 to 30-N, but also the overall load information indicating the overall load on the entire calculation system 20. do.
- the load information acquisition unit 11D may calculate the overall load based on the load on each of the computers 30-1 to 30-N.
- the units 11A to 11E and 211G of the resource management device 210 cooperate to regularly execute the resource management processing shown in FIG.
- the resource management processing will be described below with reference to FIGS. 6 and 7.
- the computing system 20 can provide a plurality of services, and the plurality of services has a priority order that specifies which service should be preferentially executed when execution timings conflict. shall be
- the priority control unit 211G acquires the overall load information from the load information acquisition unit 11D (step S301). After that, the priority control unit 211G determines 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 overall 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 the service provision of the computing system 20 is delayed. In this case, the priority control unit 211G executes the process of step S303. Step S303 may be executed multiple times.
- the priority control unit 211G selects the service with the P-th priority in the P-th step S303 where P is a natural number. Thereafter, steps S102 to S106 are executed with the P-th service as the service to be processed.
- the description of these processes conforms to the first embodiment. However, when the determination result of step S103 is affirmative, the process of step S303 is performed again. When the number of times P of processing in step S303 reaches the number of services that can be provided by the computing system 20, the processing in step S301 may be performed again. Also, the process of step S301 may be performed after the process of step S106.
- 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 the overall load on the entire computing system 20, and if the overall load indicated by the load information exceeds a predetermined threshold, a priority control unit 211G for determining which of the plurality of services is to be given priority to be subjected to processing (steps S101 to S106) by the requested quality acquisition unit, the estimation result acquisition unit, and the configuration control unit; , provided.
- the priority control unit 211G determines which of the services should be preferentially subjected to the process based on the order of priority of process execution when the plurality of services compete with each other.
- the priority control unit 211G determines which service is preferentially subjected to the process based on the degree of divergence between the quality estimation result and the required quality for each service. may be determined. For example, the priority control unit 211G stores the difference between the required quality acquired in steps S101 and S102 and the quality estimation result for each service in the storage device 33, and the larger the difference, the higher the priority of the service. It is the object of the above processing. For example, in step S303, the priority control unit 211G may add a weight corresponding to the difference to the priority of each service, and set a higher service priority as the weighted value is smaller.
- the hardware configuration of the computational resources of the first embodiment is preferentially controlled for services with high priority. Therefore, even when the load of the entire system is high, the hardware configuration of the computation resource R can be controlled for the high-priority service, so the deterioration of the quality of the high-priority service can be reduced.
- the present invention is not limited to the above embodiments and modifications.
- the present invention includes various modifications to the above embodiments and modifications that can be understood by those skilled in the art within the scope of the technical idea of the present invention.
- the configurations described in the above embodiments and modified examples can be appropriately combined within a consistent range. It is also possible to delete any configuration among the above configurations.
- the various programs described above may be stored not only in the non-volatile storage device 33 but also in a non-temporary computer-readable storage medium.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
リソース管理装置(10)は、複数の計算機からなる計算システムの一部のハードウェアを利用して構成され、処理対象データを処理するサービスを分担して行う複数の演算リソースRのハードウェア構成を管理する。リソース管理装置(10)は、前記サービスに要求される当該サービスの処理時間に関する品質を要求品質として取得する要求品質取得部(11A)と、第1ハードウェア構成の前記複数の演算リソースにより行われる前記サービスの前記計算システムの動作中の前記品質を見積もった結果を品質見積結果として取得する見積結果取得部(11B)と、を備える。リソース管理装置(10)は、前記品質見積結果が前記要求品質を満たさない場合に、前記複数の演算リソースのハードウェア構成を変更する構成制御部(11C)を備える。このような構成によれば、処理対象データを処理するサービスを分担して行う複数の演算リソースのハードウェア構成が適切に管理される。
Description
本発明は、演算リソースを管理するリソース管理装置及びプログラムに関する。
機械学習、人工知能(AI)、及び、IoT(Internet of Things)などの多くの分野で技術革新が進み、様々なデータを活用することで、サービスの高度化・付加価値の提供が盛んに行われている。このような処理では、大量の計算をする必要があり、そのための情報処理基盤が必須である。
例えば、非特許文献1では、既存の情報処理基盤をアップデートしようとする試みが展開されてはいるものの、急速に増えていくデータに対して現代のコンピュータが対応しきれていない旨が指摘されている。また、非特許文献1では、今後さらなる進化を遂げていくためには、ムーアの法則を越える「ポストムーア技術」が確立されなければいけない旨が指摘されている。
ポストムーア技術として、例えば、非特許文献2には、フローセントリックコンピューティングという技術が開示されている。フローセントリックコンピューティングにより、データのある場所で処理を行うというこれまでのコンピューティングの考えではなく、計算機能(演算リソース)が存在する場所にデータを移動して処理を行うという新たな概念が導入されている。
"NTT Technology Report for Smart World 2020," 日本電信電話株式会社,2020年,https://www.rd.ntt/_assets/pdf/techreport/NTT_TRFSW_2020_EN_W.pdf
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.
上記のようなフローセントリックコンピューティングを実現するためには、演算リソースをどのハードウェアにより構成するかを適切に管理する必要がある。例えば、管理が適切になされずに負荷の高い計算機のハードウェアにより演算リソースを構成すると、当該演算リソースでの処理に遅延が生じ得る。
本発明は、処理対象データを処理するサービスを分担して行う複数の演算リソースのハードウェア構成を適切に管理することを課題とする。
上記課題を解決するために、本発明のリソース管理装置は、複数の計算機からなる計算システムの一部のハードウェアを利用して構成され、処理対象データを処理するサービスを分担して行う複数の演算リソースのハードウェア構成を管理するリソース管理装置であって、前記サービスに要求される当該サービスの処理時間に関する品質を要求品質として取得する要求品質取得部と、第1ハードウェア構成の前記複数の演算リソースにより行われる前記サービスの前記計算システムの動作中の前記品質を見積もった結果を品質見積結果として取得する見積結果取得部と、前記品質見積結果が前記要求品質を満たさない場合に、前記複数の演算リソースのハードウェア構成を前記第1ハードウェア構成から前記第1ハードウェア構成とは異なる第2ハードウェア構成に前記計算システムの動作中に変更する構成制御部と、を備える。
上記課題を解決するために、本発明のプログラムは、複数の計算機からなる計算システムの一部のハードウェアを利用して構成され、処理対象データを処理するサービスを分担して行う複数の演算リソースのハードウェア構成を管理するコンピュータに、前記サービスに要求される当該サービスの処理時間に関する品質を要求品質として取得する要求品質取得ステップと、第1ハードウェア構成の前記複数の演算リソースにより行われる前記サービスの前記計算システムの動作中の前記品質を見積もった結果を品質見積結果として取得する見積結果取得ステップと、前記品質見積結果が前記要求品質を満たさない場合に、前記複数の演算リソースのハードウェア構成を前記第1ハードウェア構成から前記第1ハードウェア構成とは異なる第2ハードウェア構成に前記計算システムの動作中に変更する構成制御ステップと、を実行させる。
本発明によれば、処理対象データを処理するサービスを分担して行う複数の演算リソースのハードウェア構成が適切に管理される。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明において同じ機能を有する要素、異なる機能を有するが互いに対応する要素などについては、適宜同じ符号を付して説明する。また、図面において、同じ機能を有するか互いに対応する複数の要素については、一部の要素にのみ符号を付している場合がある。
[第1実施形態]
本実施形態に係るリソース管理装置10は、図1に示すように、計算システム20を構成する複数の計算機30-1~30-N(ただし、Nは2以上の自然数)のそれぞれとインターネット、ローカルエリアネットワーク(LAN)などのネットワークNWを介して通信可能に設けられている。リソース管理装置10は、計算システム20の一部のハードウェアである計算機30-1~30-Nの後述のアクセラレータ35を利用して構成され、処理対象データを処理するサービスを分担して行う複数の演算リソースRのハードウェア構成を管理する。より詳細には、リソース管理装置10は、各サービスについて、複数の演算リソースRをどのハードウェアにより実現するかを管理する。以下、計算機30-1~30-Nの構成を説明してから、リソース管理装置10の構成を説明する。計算機30-1~30-Nを総称して計算機30ともいう。
本実施形態に係るリソース管理装置10は、図1に示すように、計算システム20を構成する複数の計算機30-1~30-N(ただし、Nは2以上の自然数)のそれぞれとインターネット、ローカルエリアネットワーク(LAN)などのネットワークNWを介して通信可能に設けられている。リソース管理装置10は、計算システム20の一部のハードウェアである計算機30-1~30-Nの後述のアクセラレータ35を利用して構成され、処理対象データを処理するサービスを分担して行う複数の演算リソースRのハードウェア構成を管理する。より詳細には、リソース管理装置10は、各サービスについて、複数の演算リソースRをどのハードウェアにより実現するかを管理する。以下、計算機30-1~30-Nの構成を説明してから、リソース管理装置10の構成を説明する。計算機30-1~30-Nを総称して計算機30ともいう。
計算機30-1~30-Nは、ネットワークNWを介して互いに通信可能であり、多数の演算リソースRを用い、計算システム20全体として、複数種類のサービスを行う。サービスには、画像処理などが含まれる。1つのサービスは、複数の処理を含み、複数の処理は、複数の演算リソースRにより分担して実行される。例えば、1つのサービスを行う複数の演算リソースRは、ネットワークNWなどに構成された仮想ネットワークを介して連結されており、処理対象データを直列及び又は並列に処理する。例えば、1つのサービスとして、計算機30-1の2つの演算リソースRによる並列処理により処理対象データとしての画像データが2値化され、その後、2値化後の画像データに対して計算機30-2の演算リソースRによる画像認識処理が行われ、処理結果が画像データの提供元(不図示)に返される。提供元は、サービスのユーザのクライアントコンピュータなどである。処理対象データ及び処理結果は、リソース管理装置10を介して提供元に送受信される。各サービスを構成する一連の処理は、例えば、リソース管理装置10の制御下で行われる。例えば、リソース管理装置10の記憶装置13には、サービスごとに複数の演算リソースRの各アドレスが格納されており、演算リソースRが出力する処理結果のデータの転送先は、リソース管理装置10により指定される。
計算機30-1~30-Nのそれぞれは、実行可能な処理は異なるが、同様の構成を有する。以下、計算機30-1~30-Nを総称して計算機30ともいう。以下、各計算機30の構成を説明する。
計算機30は、パーソナルコンピュータ、スマートフォン、タブレットなどのコンピュータである。計算機30は、プロセッサ31と、プロセッサ31のメインメモリ32と、プログラム及び各種データを記憶する不揮発性の記憶装置33と、ネットワークNWに接続されたNIC(Network Interface Card)34と、を備える。計算機30は、さらに、計算機30の機能を向上させるアクセラレータ35を備える。
プロセッサ31は、CPU(Central Processing Unit)などからなり、記憶装置33に記憶されているプログラム及び各種データを実行又は使用して計算機30全体を制御する。メインメモリ32は、RAM(Random Access Memory)などからなる。プログラム及び各種データは、メインメモリ32に適宜読み出される。記憶装置33は、SSD(Solid State Drive)などからなる。NIC34は、プロセッサ31の制御のもとでネットワークNWに対してデータを送受信する。
アクセラレータ35は、FPGA(Field-Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、サブCPU、及び、GPU(Graphics Processing Unit)などのハードウェアにより構成されている。アクセラレータ35がFPGAの場合、プロセッサ31は、FPGAの再構成可能な領域の少なくとも一部に所定の演算回路を演算リソースRとして、計算機30の稼働中つまり動的に削除及び再構成可能である。ここでは、アクセラレータ35により、1又は複数の演算リソースRが構成される。例えば、アクセラレータ35がFPGAの場合、当該アクセラレータ35に演算リソースRとして動作する演算回路が構成されることにより、演算リソースRが構成される。FPGAの演算リソースRが構成された領域が、演算リソースを構成するハードウェアとなる。演算リソースRは、プロセッサ31により例えば仮想マシンとして構成されてもよい。演算リソースRは、GPUを論理的に複数に分割したハードウェアにより構成されてもよい。演算リソースRへのデータ入力、演算リソースRからの処理結果のデータの転送などは、例えばプロセッサ31により制御される。
プロセッサ31は、上記プログラムを実行することにより、図2に示す、負荷監視部31A、性能見積部31B、及び、リソース管理部31Cとして動作する。
負荷監視部31Aは、計算機30に対する負荷を監視する。負荷としては、計算機30に入力される単位時間当たりのデータ量、計算機30が単位時間あたりに処理するデータ量、計算機30が単位時間あたりに出力するデータ量、計算機30の演算リソースRの使用率などが挙げられる。また、負荷としては、処理過程において中間データを記憶したり、演算パラメータを記憶したりするための、メインメモリ32又はアクセラレータ35に設けられた記憶部などのメモリリソースの使用率も挙げられる。負荷は、これに限らず、例えば、入力データレートや、出力データレート、動画像処理であればフレームレートなどであってもよい。負荷は、計算機30による処理時間の遅延の有無及び遅延の度合いに影響を与える情報により構成される。
性能見積部31Bは、1つのサービスの一部の処理を実行する1又は複数の演算リソースRを動作させたときの計算機30の処理時間に関する性能を見積もる。性能は、処理時間そのものであってもよいし、処理速度などの処理時間を増減させる量であってもよい。処理時間は、例えば、計算機30にデータが入力されてから、当該データを上記1又は複数の演算リソースRにより処理し、処理結果を計算機30の外部に出力するまでの時間である。記憶装置33には、演算リソースRの回路規模及び計算機30に対する負荷と、その演算リソースRを使用したときの計算機30の性能との関係を示す関係式又はテーブルが記憶されている。性能見積部32Bは、演算リソースRの回路規模及び負荷監視部31Aが監視している負荷に基づいて、前記の関係式又はテーブルを用いて前記の性能を見積もる。性能見積部32Bは、見積時、テストデータを計算機30に使用させて前記の処理時間などを計測し、計測した処理時間などを上記の性能として見積もってもよい。
リソース管理部32Cは、後述のリソース管理装置10からの後述の指示に基づいて、アクセラレータ35に対して任意の演算リソースRを追加又は削除する。アクセラレータ35がFPGAの場合、リソース管理部32Cは、このFPGAに対して演算リソースRとして動作する演算回路を書き込む又は削除する。
図1に示すリソース管理装置10は、サーバコンピュータなどのコンピュータである。リソース管理装置10は、プロセッサ11と、プロセッサ11のメインメモリ12と、プログラム及び各種データを記憶する不揮発性の記憶装置13と、ネットワークNWに接続されたNIC14と、を備える。
プロセッサ11は、CPUなどからなり、記憶装置13に記憶されているプログラム及び各種データを実行又は使用してリソース管理装置10全体を制御する。メインメモリ12は、RAMなどからなる。プログラム及び各種データは、メインメモリ12に適宜読み出される。記憶装置13は、SSDなどからなる。NIC14は、プロセッサ11の制御のもとでネットワークNWに対してデータを送受信する。
プロセッサ11は、上記プログラムを実行することで、図3に示す、要求品質取得部11A、見積結果取得部11B、構成制御部11C、負荷情報取得部11D、及び、入力データ制限部11Eとして動作する。これら各部11A~11Eは、協働して図4に示すリソース管理処理を行う。リソース管理処理は、サービスごとに定期的に行われる。リソース管理処理は、例えば、1つのサービスについて数分おきに実行される。リソース管理処理は、計算システム20の動作中に動的に実行される。つまり、リソース管理処理は、上記サービスの提供中に実行される。リソース管理装置10は、リソース管理処理を行うとき、複数の計算機30-1~30-Nに対して処理対象のサービスの実行停止を指示してもよい。
以下、図3~図4を参照しながら、各部11A~11Eの動作について説明する。以下では、処理対象のサービスをサービスXという。また、サービスXを提供する複数の演算リソースRのそれぞれを演算リソースRXともいう。複数の演算リソースRXが構成されている複数の計算機30のそれぞれを計算機30Xともいう。リソース管理装置10の記憶装置13には、サービスXを行う複数の演算リソースRXの各アドレスが格納されているものとする。前記のアドレスにより、複数の演算リソースRXがそれぞれ設けられている計算機30Xも特定可能となっている。
リソース管理処理では、まず、要求品質取得部11Aが、サービスXに要求される当該サービスXの処理時間に関する品質である要求品質を取得する(ステップS101)。要求品質は、予め設定されている閾値として機能するものであり、記憶装置13に各サービスに対応付けられて記録されているものとする。要求品質取得部11Aは、記憶装置13からサービスXに対応する要求品質を取得する。要求品質は、上記の性能の見積結果と比較されるものであり、性能と同じ次元を有する。性能が処理時間であれば、要求品質もそのサービスに要求される処理時間、例えば、処理時間として許容される上限時間となる。性能が処理速度であれば、要求品質も処理速度となる。
なお、性能及び品質は、処理時間を増減させる量として、入力データレートや、出力データレート、サービスXが動画像処理であれば処理時のフレームレートなどであってもよい。性能及び品質の内容は、各サービスの内容によって決定される。
また、見積結果取得部11Bが、現在のハードウェア構成の複数の演算リソースRXにより行われるサービスXの品質を見積もった結果を品質見積結果として取得する(ステップS102)。見積結果取得部11Bは、複数の演算リソースRXが設けられた各計算機30XとNIC14、ネットワークNW、及びNIC34を介して通信し(以下、通信について同じ)、演算リソースRXを使用したときのその計算機30Xの性能の見積もりを指示する。計算機30Xの性能見積部31B(図2)は、前記の指示により見積もった見積結果を見積結果取得部11Bに送信する。見積結果取得部11Bは、計算機30Xそれぞれから送信されてきた見積結果に基づいてサービスXの品質を見積もり品質見積結果を取得する。見積結果となる性能が処理時間であれば、各計算機30Xからの見積結果を合算した処理時間が品質見積結果となる。見積結果となる性能が処理速度であれば、各計算機30Xからの見積結果の平均速度が品質見積結果となる。
要求品質及び品質見積結果が取得されたあと(ステップS101及びS102のあと)は、構成制御部11Cが、取得された要求品質と品質見積結果とを比較し、品質見積結果が要求品質を満たすかを判別する(ステップS103)。要求品質及び品質見積結果が処理時間である場合、品質見積結果である処理時間が要求品質である処理時間以下であれば、品質見積結果が要求品質を満たすと判別される。両者が処理速度である場合、品質見積結果である処理速度が要求品質である処理速度以上であれば、品質見積結果が要求品質を満たすと判別される。
処理対象のサービスの品質が要求品質を満たす場合(ステップS103;Yes)、演算リソースRXのハードウェア構成を変更する必要が図4のリソース管理処理は終了する。
処理対象のサービスの品質が要求品質を満たさない場合(ステップS103;No)、複数の演算リソースRXのハードウェア構成を変更する必要がある。このときは、負荷情報取得部11Dが、計算システム20の計算機30-1~30-Nのそれぞれに対する負荷を示す負荷情報を取得する(ステップS104)。負荷情報取得部11Dは、計算機30-1~30-Nと通信して、これらに対して現在の負荷を要求する。計算機30-1~30-Nでは、負荷監視部31Aが前記負荷の要求に応答して、監視している負荷を負荷情報取得部11Dに返信する。このようにして、負荷情報取得部11Dは、計算機30-1~30-Nのそれぞれに対する負荷を負荷情報として取得する。
負荷情報の取得後、構成制御部11Cが、取得された負荷情報に基づいて、複数の演算リソースRXのハードウェア構成を見積結果取得時のハードウェア構成からこのハードウェア構成とは異なる第2のハードウェア構成に動的に変更する(ステップS105)。
構成制御部11Cは、ステップS105において、例えば、複数の演算リソースRXのうちの少なくとも1つを構成するハードウェアを計算機30-1~30-Nのうちの前記負荷の大きな計算機30Xのハードウェアから前記負荷の小さな1以上の計算機30のハードウェアに変更する。
一例として、前記ハードウェアがFPGAの場合、構成制御部11Cは、前記の負荷が第1基準よりも高い第1の計算機30Xのアクセラレータ35に書き込まれた演算リソースRXを削除する。他方、構成制御部11Cは、前記の負荷が第2基準よりも低い第2の計算機30のアクセラレータ35に前記で削除した演算リソースRXと同じ回路構成の演算リソースRを書き込む。なお、演算リソースRは、複数の第2の計算機30に分割して書き込まれてもよい。当該削除及び書込みは、構成制御部11Cが第1及び第2の各計算機30と通信して、リソース管理部32Cにより行わせる。書き込み及び削除後は、記憶装置33に記憶されている当該演算リソースRXのアドレスも変更する。また、負荷の低い計算機30に負荷の高い計算機30Xに設けれた演算リソースRXと同じ演算リソースRが構成されている場合、両演算リソースの入れ替え、例えば、記憶装置33に記憶されている当該演算リソースRXのアドレスの負荷の低い計算機30の演算リソースRへの書き換えによりハードウェア構成が変更されてもよい。ハードウェア構成の変更は、新たな演算リソースRXの追加を含んでもよい。このような追加は、構成制御部11Cが、処理性能を向上させるため、演算リソースRXの回路規模を大きくし、回路構成の並列度を上げることを含む。構成制御部11Cは、回路規模を大きくする場合、アクセラレータ35において必要な領域の確保を試みる。
構成制御部11Cは、品質見積結果及び負荷情報を参照しながら、サービスXの品質要求を満足できるように、演算リソースRXのハードウェア構成を変更するとよい。構成制御部11Cは、演算リソースRXのハードウェア構成について最適化問題を解くアルゴリズムなど、任意のアルゴリズムでハードウェア構成を変更してもよい。
構成制御部11Cが、負荷情報を用いずに、複数の演算リソースRXのハードウェア構成を動的に変更してもよい。例えば、リソース管理装置10の記憶装置13には、複数の演算リソースRXの各アドレスの複数の組み合わせが格納されているものとする。構成制御部11Cは、前記複数の組み合わせのいずれかをサービスXに使用しており、前記ハードウェア構成の変更時には、サービスXに使用する複数の演算リソースRXの各アドレスの組み合わせを変更してもよい。
ステップS105のあとは、入力データ制限部11Eが、負荷情報を参照しながら、負荷が所定基準よりも大きい計算機30への処理対象データの入力量を制限する(ステップS106)。当該制御は、処理対象データの単位時間当たりの入力量を減らすほか、当該処理対象データの他の計算機30への振り替えも含む。この処理は、特に、計算システム20全体に対する負荷が大きいときや、上記ハードウェア構成の変更によってもサービスXの品質が改善されないときに有効である。入力データ制限部11Eは、品質見積結果をさらに参照して上記制御を行ってもよい。
以上説明したように、この実施形態では、あるサービスについて、上記品質見積結果が上記要求品質を満たさない場合に、このサービスを分担して処理する複数の演算リソースRのハードウェア構成が上記品質見積結果の取得時の第1ハードウェア構成から前記第1ハードウェア構成とは異なる第2ハードウェア構成に計算システム20の動作中に変更する制御が行われる。上記品質見積結果は、演算リソースが設けられた計算機の負荷の影響を受けるので、本実施形態によれば、時々刻々と変化する計算機30に対する負荷に追従しながら、演算リソースRのハードウェア構成が変更される。従って、計算機30の負荷が高い場合においても提供中のサービスの品質低下を軽減でき、複数の演算リソースRのハードウェア構成が適切に管理される。前記制御を行わない場合、サービスの品質要求のため、演算リソースRを過剰に配置する必要があり、電力効率及び計算機30の利用効率が悪化する。本実施形態では、各サービスの品質を良好なものに保ったまま、電力効率及び計算機の使用率を最適な状態に保てる効果がある。また、本実施形態では、演算リソースを追加できるため、電力効率や計算機の使用率を最適な状態に保ちつつ、各サービスの品質要求を満足できる効果がある。
さらに本実施形態では、計算機30-1~30-2のそれぞれに対する負荷を示す負荷情報に基づいて、上記複数の演算リソースRのうちの少なくとも1つを構成するハードウェアが、計算機30-1~30-Nのうちの前記負荷の大きな計算機30のハードウェアから前記負荷の小さな計算機30のハードウェアに変更される。これにより、上記複数の演算リソースRのハードウェア構成を前記第1ハードウェア構成から前記第2ハードウェア構成に変更する。このようにすることで、計算機30に対する負荷によるサービスの品質低下を低減でき、複数の演算リソースRのハードウェア構成が適切に管理される。
さらに、本実施形態では、負荷情報に基づいて、計算機30-1~30-Nのうち負荷が所定基準よりも大きい計算機への入力データのデータ量を制限する。これにより、計算機30に対する負荷によるサービスの品質低下を抑制できる。
なお、見積結果取得部11Bは、ステップS102において性能の見積りを計算機30に対して指示する際、性能見積りを行う条件を指定してもよい。例えば、見積結果取得部11Bは、上記ハードウェア構成により演算リソースRを増加または削減した場合の計算機30の性能を見積もるために、演算リソースRの増加量及び削減量を見積時のパラメータとして指定してもよい。同様に、入力データ量が増加または減少した場合の処理性能を見積もるために、入力データの増加量及び減少量を見積時のパラメータとして指定してもよい。これら見積結果に基づく品質見積結果は、ステップS106などで使用されてもよい。
[第2実施形態]
本実施形態に係るリソース管理装置110の構成を図5に示す。図5の見積結果取得部11Bは、計算機30―1~30-Nのうち、1つのサービス(例えば、サービスX)を分担して実行する複数の演算リソースR(例えば、複数の演算リソースRX)が構成された1以上の計算機30(1以上の計算機30X)それぞれの、複数の演算リソースRのうちのその計算機に構成された1以上の演算リソースRを使用したときの処理時間に関する性能を見積もった性能見積結果を取得する。この性能見積結果は、例えば、第1実施形態で見積結果取得部11Bにより取得される各計算機30の性能の見積結果であればよい。見積結果取得部11Bは、取得した性能見積結果に1以上の変動量を加味した値に基づいてサービスの計算システム20の動作中の前記品質を見積もる。1以上の変動量には、例えば、予め定められた第1変動量と、過去の前記負荷情報が示す前記負荷の傾向に応じた第2変動量とのうち、少なくとも前者が含まれればよい。
本実施形態に係るリソース管理装置110の構成を図5に示す。図5の見積結果取得部11Bは、計算機30―1~30-Nのうち、1つのサービス(例えば、サービスX)を分担して実行する複数の演算リソースR(例えば、複数の演算リソースRX)が構成された1以上の計算機30(1以上の計算機30X)それぞれの、複数の演算リソースRのうちのその計算機に構成された1以上の演算リソースRを使用したときの処理時間に関する性能を見積もった性能見積結果を取得する。この性能見積結果は、例えば、第1実施形態で見積結果取得部11Bにより取得される各計算機30の性能の見積結果であればよい。見積結果取得部11Bは、取得した性能見積結果に1以上の変動量を加味した値に基づいてサービスの計算システム20の動作中の前記品質を見積もる。1以上の変動量には、例えば、予め定められた第1変動量と、過去の前記負荷情報が示す前記負荷の傾向に応じた第2変動量とのうち、少なくとも前者が含まれればよい。
見積結果取得部11Bは、例えば、性能見積結果の値に対して、第1変動量として、当該値の5%を加算又は減算する。当該5%は、固定値として設定されている。なお、第1変動量は、5%以外の値であってもよい。また、見積結果取得部11Bは、負荷情報取得部11Dからの負荷情報が示す負荷を計算機30ごとに記憶装置33に順次記録する。見積結果取得部11Bは、性能見積結果の対象となっている計算機30についての過去の負荷を記憶装置33から読み出し、当該過去の負荷の傾向、例えば、現在から過去の所定のタイミングまでの期間における負荷の平均値又は現在と同じ時間帯の負荷に基づく第2変動量を導出する。例えば、前記平均値又は負荷が所定の閾値以上であれば、第2変動量として5%の加算を導出する。見積結果取得部11Bは、性能見積結果の値に対して、さらに第2変動量を加味した値(例えば、第1変動量が加味された値に、当該値の5%の値を加算した値)を上記品質見積結果として算出する。見積結果取得部11Bは、第2変動量を、ニューラルネットワークのモデルを利用して算出してもよいし、統計データをベースにした機械学習モデルによって算出してもよい。
入力データ制限部11Eは、負荷情報に対して上記1以上の変動量を加味した値を新たな負荷情報とし、当該負荷情報が示す負荷が所定基準よりも大きい計算機30への処理対象データの入力量を制限してもよい。
その他の構成については、第1実施形態に準じるので、その説明を省略する。
本実施形態によれば、品質見積結果及び負荷情報について所定の変動量が加味されているので、時々刻々と変化する計算機30に対する負荷に対して予め想定し得る範囲で演算リソースRを確保しておくことが可能となる。これにより、計算機30に対する負荷が変動しても、サービスの品質低下を低減でき、複数の演算リソースRのハードウェア構成が適切に管理される。また、予め想定し得る範囲で演算リソースRを確保する際に、物理的に異なる演算リソースRを配置することで、演算リソースRの故障に対する冗長化も実現される。
[第3実施形態]
本実施形態に係るリソース管理装置210の構成を図6に示す。リソース管理装置210は、リソース管理装置10が備える各部11A~11Eに加え、優先制御部211Gを備える。優先制御部211Gは、プロセッサ11がまた、負荷情報取得部11Dは、計算機30-1~30-Nそれぞれに対する負荷の他、計算システム20全体に対する全体負荷を示す全体負荷情報も計算システム20から取得する。負荷情報取得部11Dは、全体負荷を、計算機30-1~30-Nそれぞれに対する負荷に基づいて算出してもよい。
本実施形態に係るリソース管理装置210の構成を図6に示す。リソース管理装置210は、リソース管理装置10が備える各部11A~11Eに加え、優先制御部211Gを備える。優先制御部211Gは、プロセッサ11がまた、負荷情報取得部11Dは、計算機30-1~30-Nそれぞれに対する負荷の他、計算システム20全体に対する全体負荷を示す全体負荷情報も計算システム20から取得する。負荷情報取得部11Dは、全体負荷を、計算機30-1~30-Nそれぞれに対する負荷に基づいて算出してもよい。
リソース管理装置210の各部11A~11E及び211Gは、協働して図7に示すリソース管理処理を定期的に実行する。以下、当該リソース管理処理について図6及び図7を参照して説明する。なお、計算システム20は、複数のサービスを提供可能であるが、当該複数のサービスには、実行タイミングが競合した場合にどのサービスを優先して実行するかを特定する優先順位が設定されているものとする。
本実施形態に係るリソース管理処理では、まず、優先制御部211Gが負荷情報取得部11Dから全体負荷情報を取得する(ステップS301)。その後、優先制御部211Gは、全体負荷情報が示す計算システム20に対する全体負荷が所定の閾値より高いかを判定する(ステップS302)。全体負荷が所定の閾値より高くない場合(ステップS302;No)、リソース管理処理は終了する。全体負荷が所定の閾値より高い場合(ステップS302;Yes)、計算システム20のサービス提供に遅延が生じている可能性がある。この場合、優先制御部211Gは、ステップS303の処理を実行する。ステップS303は、複数回実行されることがある。優先制御部211Gは、Pを自然数としたときのP回目のステップS303において、優先順位がP番目のサービスを選択する。その後、P番目のサービスを処理対象のサービスとして、ステップS102~ステップS106が実行される。これら処理についての説明は、第1実施形態に準じる。但し、ステップS103の判別結果が肯定だった場合、再度ステップS303の処理が実行される。ステップS303の処理回数Pが計算システム20により提供可能なサービスの数に達した場合、再度ステップS301の処理が行われてもよい。また、ステップS106の処理のあともステップS301の処理が行われてもよい。
本実施形態では、第1実施形態などと同様、計算システム20には、当該計算システム20が提供する複数のサービスそれぞれについて前記複数の演算リソースが構成されている。本実施形態のリソース管理装置210は、計算システム20全体に対する全体負荷を示す負荷情報を取得する負荷情報取得部11Dと、前記負荷情報が示す全体負荷が予め定められた閾値を超えた場合、前記複数のサービスのうちどのサービスを優先して、前記要求品質取得部と前記見積結果取得部と前記構成制御部とによる処理(ステップS101~S106)の対象とするかを決定する優先制御部211Gと、を備える。優先制御部211Gは、前記複数のサービスが競合したときの処理実行の優先順位に基づいて、前記どのサービスを優先して前記処理の対象とするかを決定する。
優先制御部211Gは、前記の優先順位に代えて又は加えて、各サービスにおける前記品質見積結果と前記要求品質との乖離度合いに基づいて、前記どのサービスを優先して前記処理の対象とするかを決定してもよい。例えば、優先制御部211Gは、ステップS101及びS102で取得された要求品質と品質見積結果との差をサービスごとに記憶装置33に蓄積しておき、当該差が大きいほど優先順位が上位のサービスとして前記処理の対象とする。優先制御部211Gは、例えば、ステップS303などで、各サービスについて、優先順位に前記差に応じた重みを加味し、加味後の値が小さいほどサービスの優先順位を高く設定してもよい。
本実施形態によれば、計算システム20全体の負荷が所定の閾値を超えた場合に、優先順位の高いサービスについて優先的に、第1実施形態の演算リソースのハードウェア構成の制御を行う。従って、システム全体の負荷が高い場合においても、優先度の高いサービスに対して、演算リソースRのハードウェア構成を制御できるため、優先度の高いサービスについて品質の低下が低減される。
[本発明の範囲]
本発明は、上記の実施の形態及び変形例に限定されるものではない。例えば、本発明には、本発明の技術思想の範囲内で当業者が理解し得る、上記の実施の形態及び変形例に対する様々な変更が含まれる。上記実施の形態及び変形例に挙げた各構成は、矛盾の無い範囲で適宜組み合わせることができる。また、上記の各構成のうちの任意の構成を削除することも可能である。上記各種のプログラムは、不揮発性の記憶装置33に限らず、非一時的なコンピュータ読み取り可能な記憶媒体に記憶されてもよい。
本発明は、上記の実施の形態及び変形例に限定されるものではない。例えば、本発明には、本発明の技術思想の範囲内で当業者が理解し得る、上記の実施の形態及び変形例に対する様々な変更が含まれる。上記実施の形態及び変形例に挙げた各構成は、矛盾の無い範囲で適宜組み合わせることができる。また、上記の各構成のうちの任意の構成を削除することも可能である。上記各種のプログラムは、不揮発性の記憶装置33に限らず、非一時的なコンピュータ読み取り可能な記憶媒体に記憶されてもよい。
10…リソース管理装置、11…プロセッサ、11A…要求品質取得部、11B…見積結果取得部、11C…構成制御部、11D…負荷情報取得部、11E…入力データ制限部、12…メインメモリ、13…記憶装置、20…計算システム、30,30-1~30-N…計算機、31…プロセッサ、31A…負荷監視部、31B…性能見積部、31C…リソース管理部、32…メインメモリ、32B…性能見積部、32C…リソース管理部、33…記憶装置、35…アクセラレータ、110…リソース管理装置、210…リソース管理装置、211G…優先制御部、R…演算リソース。
Claims (8)
- 複数の計算機からなる計算システムの一部のハードウェアを利用して構成され、処理対象データを処理するサービスを分担して行う複数の演算リソースのハードウェア構成を管理するリソース管理装置であって、
前記サービスに要求される当該サービスの処理時間に関する品質を要求品質として取得する要求品質取得部と、
第1ハードウェア構成の前記複数の演算リソースにより行われる前記サービスの前記計算システムの動作中の前記品質を見積もった結果を品質見積結果として取得する見積結果取得部と、
前記品質見積結果が前記要求品質を満たさない場合に、前記複数の演算リソースのハードウェア構成を前記第1ハードウェア構成から前記第1ハードウェア構成とは異なる第2ハードウェア構成に前記計算システムの動作中に変更する構成制御部と、
を備えるリソース管理装置。 - 前記複数の計算機のそれぞれに対する負荷を示す負荷情報を取得する負荷情報取得部を備え、
前記リソース配置制御部は、前記負荷情報に基づいて、前記複数の演算リソースのうちの少なくとも1つを構成するハードウェアを前記複数の計算機のうちの前記負荷の大きな第1計算機のハードウェアから前記負荷の小さな第2計算機のハードウェアに変更することで、前記複数の演算リソースのハードウェア構成を前記第1ハードウェア構成から前記第2ハードウェア構成に変更する、
請求項1に記載のリソース管理装置。 - 前記複数の計算機のそれぞれに対する負荷を示す負荷情報を取得する負荷情報取得部と、
前記負荷情報に基づいて、前記複数の計算機のうち前記負荷が所定基準よりも大きい計算機への入力データのデータ量を制限する入力データ制限部と、
を備える請求項1又は2に記載のリソース管理装置。 - 前記見積結果取得部は、前記複数の計算機のうち前記複数の演算リソースが構成された1以上の計算機それぞれの、前記複数の演算リソースのうちのその計算機に構成された1以上の演算リソースを使用したときの処理時間に関する性能を見積もった性能見積結果を取得し、取得した性能見積結果に1以上の変動量を加味した値に基づいて前記サービスの前記計算システムの動作中の前記品質を見積もる、
請求項1から3のいずれか1項に記載のリソース管理装置。 - 前記複数の計算機のそれぞれに対する負荷を示す負荷情報を取得する負荷情報取得部を備え、
前記見積結果取得部は、取得した前記性能見積結果に、予め定められた第1変動量と、過去の前記負荷情報が示す前記負荷の傾向に応じた第2変動量と、を加味した値に基づいて前記サービスの前記計算システムの動作中の前記品質を見積もる、
請求項4に記載のリソース管理装置。 - 前記計算システムには、当該計算システムが提供する複数のサービスそれぞれについて前記複数の演算リソースが構成されており、
前記計算システム全体に対する負荷を示す負荷情報を取得する負荷情報取得部と、
前記負荷情報が示す前記負荷が予め定められた閾値を超えた場合、前記複数のサービスのうちどのサービスを優先して、前記要求品質取得部と前記見積結果取得部と前記構成制御部とによる処理の対象とするかを決定する優先制御部と、を備える、
請求項1から5のいずれか1項に記載のリソース管理装置。 - 前記優先制御部は、前記複数のサービスが競合したときの処理実行の優先順位と、各サービスにおける前記品質見積結果と前記要求品質との乖離度合いとの少なくとも一方に基づいて、前記どのサービスを優先して前記処理の対象とするかを決定する、
請求項6に記載のリソース管理装置。 - 複数の計算機からなる計算システムの一部のハードウェアを利用して構成され、処理対象データを処理するサービスを分担して行う複数の演算リソースのハードウェア構成を管理するコンピュータに、
前記サービスに要求される当該サービスの処理時間に関する品質を要求品質として取得する要求品質取得ステップと、
第1ハードウェア構成の前記複数の演算リソースにより行われる前記サービスの前記計算システムの動作中の前記品質を見積もった結果を品質見積結果として取得する見積結果取得ステップと、
前記品質見積結果が前記要求品質を満たさない場合に、前記複数の演算リソースのハードウェア構成を前記第1ハードウェア構成から前記第1ハードウェア構成とは異なる第2ハードウェア構成に前記計算システムの動作中に変更する構成制御ステップと、
を実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023565768A JPWO2023105670A1 (ja) | 2021-12-08 | 2021-12-08 | |
PCT/JP2021/045073 WO2023105670A1 (ja) | 2021-12-08 | 2021-12-08 | リソース管理装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/045073 WO2023105670A1 (ja) | 2021-12-08 | 2021-12-08 | リソース管理装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023105670A1 true WO2023105670A1 (ja) | 2023-06-15 |
Family
ID=86730020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/045073 WO2023105670A1 (ja) | 2021-12-08 | 2021-12-08 | リソース管理装置及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2023105670A1 (ja) |
WO (1) | WO2023105670A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007188226A (ja) * | 2006-01-12 | 2007-07-26 | Canon Inc | デジタル複合機及びその制御方法 |
WO2011142031A1 (ja) * | 2010-05-14 | 2011-11-17 | 株式会社日立製作所 | リソース管理方法、リソース管理装置およびプログラム |
WO2017029826A1 (ja) * | 2015-08-18 | 2017-02-23 | 日本電信電話株式会社 | リソース構成システム、リソース構成方法及びリソース構成プログラム |
WO2018097058A1 (ja) * | 2016-11-22 | 2018-05-31 | 日本電気株式会社 | 解析ノード、リソース管理方法およびプログラム記録媒体 |
-
2021
- 2021-12-08 JP JP2023565768A patent/JPWO2023105670A1/ja active Pending
- 2021-12-08 WO PCT/JP2021/045073 patent/WO2023105670A1/ja unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007188226A (ja) * | 2006-01-12 | 2007-07-26 | Canon Inc | デジタル複合機及びその制御方法 |
WO2011142031A1 (ja) * | 2010-05-14 | 2011-11-17 | 株式会社日立製作所 | リソース管理方法、リソース管理装置およびプログラム |
WO2017029826A1 (ja) * | 2015-08-18 | 2017-02-23 | 日本電信電話株式会社 | リソース構成システム、リソース構成方法及びリソース構成プログラム |
WO2018097058A1 (ja) * | 2016-11-22 | 2018-05-31 | 日本電気株式会社 | 解析ノード、リソース管理方法およびプログラム記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023105670A1 (ja) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hieu et al. | Virtual machine consolidation with multiple usage prediction for energy-efficient cloud data centers | |
Dinesh Reddy et al. | Energy-aware virtual machine allocation and selection in cloud data centers | |
CN108182105B (zh) | 基于Docker容器技术的局部动态迁移方法及控制系统 | |
CN111796908B (zh) | 一种资源自动弹性伸缩的系统、方法及云平台 | |
US20150172205A1 (en) | Dynamically Move Heterogeneous Cloud Resources Based on Workload Analysis | |
Sampaio et al. | PIASA: A power and interference aware resource management strategy for heterogeneous workloads in cloud data centers | |
US20120221730A1 (en) | Resource control system and resource control method | |
CN116360972A (zh) | 资源管理方法、装置及资源管理平台 | |
US20150169339A1 (en) | Determining Horizontal Scaling Pattern for a Workload | |
Abouaomar et al. | A resources representation for resource allocation in fog computing networks | |
US11842215B2 (en) | Autoscaling and throttling in an elastic cloud service | |
Tighe et al. | Topology and application aware dynamic vm management in the cloud | |
KR20210095687A (ko) | 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체 | |
Rahmani et al. | Burst‐aware virtual machine migration for improving performance in the cloud | |
Babu et al. | Interference aware prediction mechanism for auto scaling in cloud | |
CN118210609A (zh) | 一种基于dqn模型的云计算调度方法及系统 | |
WO2023105670A1 (ja) | リソース管理装置及びプログラム | |
US20230259451A1 (en) | Co-operative memory management system | |
CN115190121B (zh) | 基于跨地域的微服务过量负载调度系统、方法及设备 | |
Ouyang et al. | Dynamic Edge-centric Resource Provisioning for Online and Offline Services Co-location | |
Monshizadeh Naeen et al. | Cloud data center cost management using virtual machine consolidation with an improved artificial feeding birds algorithm | |
Zedan et al. | Load balancing based active monitoring load balancer in cloud computing | |
WO2023105671A1 (ja) | 計算機及びプログラム | |
Jumnal et al. | Energy aware cluster based optimal virtual machine placement in cloud environment | |
CN118349362B (zh) | 资源分配方法、装置及设备、存储介质和计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21967169 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2023565768 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |