Computers and programs

The computer system dynamically manages computational resources using state information and performance estimation to optimize hardware configuration, addressing delays and power consumption issues.

JP7750304B2Active Publication Date: 2025-10-07NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023565769
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-12-08
Publication Date
2025-10-07
Estimated Expiration
2041-12-08

AI Technical Summary

Technical Problem

Existing computing resources are not managed effectively, leading to processing delays or unnecessary power consumption due to improper allocation or distribution.

Method used

A computer system that dynamically adds or removes computational resources based on state information and performance estimation, using a state information acquisition unit and performance estimation unit to manage hardware configuration.

Benefits of technology

Enables appropriate management of computing resources, reducing processing delays and power consumption by optimizing resource allocation in real-time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007750304000001
    Figure 0007750304000001
  • Figure 0007750304000002
    Figure 0007750304000002
  • Figure 0007750304000003
    Figure 0007750304000003
Patent Text Reader

Abstract

A computer (10), to which or from which computing resources R for processing input data input from the outside can be added or deleted, is provided with: a state information acquisition unit (10A) that acquires state information indicating the state of the computer; and a performance estimation unit (10B) that, on the basis of the state indicated by the state information, estimates the change in the processing performance of the computer when computing resources are dynamically added or deleted and / or the amount of input data or output data is increased. This allows for appropriate management of the hardware configuration of a plurality of computing resources that jointly perform the service of processing data to be processed.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a computer and a program. [Background technology]

[0002] Technological innovation is progressing in many fields, including machine learning, artificial intelligence (AI), and the Internet of Things (IoT), and the use of various data is actively promoting the advancement of services and the provision of added value. Such processing requires a large amount of calculations, which requires an information processing infrastructure.

[0003] For example, Non-Patent Document 1 points out that although attempts are being made to update existing information processing infrastructure, modern computers are unable to keep up with the rapidly increasing amount of 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 concept of performing processing 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] To realize the above-described flow-centric computing, it is necessary to properly manage which hardware constitutes a computing resource. For example, if a computing resource is constituted by the hardware of a heavily loaded computer due to improper management, delays in processing on the computing resource may occur. Furthermore, if multiple computing resources with the same function are constituted by the hardware of a lightly loaded computer due to improper management, the power consumption of the computer may become unnecessarily high.

[0007] An object of the present invention is to enable appropriate management of the hardware configuration of a plurality of computing resources that perform at least a part of the service of processing target data. [Means for solving the problem]

[0008] In order to solve the above problem, the computer of the present invention is a computer that can add or remove computational resources that process input data input from outside, and is equipped with a state information acquisition unit that acquires state information that indicates the state of the computer, and a performance estimation unit that estimates, based on the state indicated by the state information, a change in the processing performance of the computer when there is at least one of dynamic addition or removal of computational resources and an increase in the amount of input data or output data.

[0009] In order to solve the above problem, the program of the present invention causes a computer that is capable of adding or removing computational resources that process input data input from outside to execute a status information acquisition step of acquiring status information indicating the status of the computer, and a performance estimation step of estimating, based on the status indicated by the status information, a change in the processing performance of the computer when there is at least one of dynamic addition or removal of computational resources and an increase in the amount of input data or output data. [Effects of the Invention]

[0010] According to the present invention, it is possible to appropriately manage the hardware configuration of a plurality of computing resources that perform at least a part of the service of processing target data. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a hardware configuration diagram of a computer according to a first embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram showing the configuration of the computer shown in FIG. [Figure 3] FIG. 3 is a flowchart showing the operation of the computer of FIG. [Figure 4] FIG. 4 is a flowchart showing the operation of the quality control unit of FIG. [Figure 5] FIG. 5 is a block diagram showing the configuration of a computer according to the second embodiment. [Figure 6] FIG. 6 is a block diagram showing the configuration of a computer according to the third embodiment. [Figure 7] FIG. 7 is a flowchart showing the operation of the quality control unit of FIG. DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, embodiments 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 designated by 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 designated by the reference numerals.

[0013] [First embodiment] A computer 10 according to this embodiment is shown in FIG. 1. The computer 10 is used together with other computers 20-1 to 20-N (N is a natural number). The computer 10 and the other computers 20-1 to 20-N are provided so as to be able to communicate with a resource management device 30 via a network NW such as the Internet or a local area network (LAN). The computer 10 and the other computers 20-1 to 20-N are also provided so as to be able to communicate with each other via the network NW. The computers 10 and 20-1 to 20-N are made up of various types of computers such as personal computers, smartphones, tablets, etc. The resource management device 30 is made up of a server computer or the like.

[0014] The resource management device 30 instructs the computers 10, 20-1 to 20-N to add and delete computational resources R. In this way, the resource management device 30 manages multiple computational resources R that share the processing of a specific service. Here, multiple types of services are provided, and a different combination of computational resources R is used for each service. Services include image processing, etc. For example, multiple computational resources R that perform one service are connected via a virtual network configured on a network NW, etc., 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 using two computational resources R of the computer 10, and then image recognition processing is performed on the binarized image data by the computational resource R of the computer 20-1, and the processing result is returned to a provider (not shown) of the image data. The provider is, for example, a client computer of a user of the service. A series of processes that constitute each service is performed, for example, under the control of the resource management device 30. For example, the storage device of the resource management device 30 stores the addresses of a plurality of computing resources R for each service, and the resource management device 30 specifies the destination of the processing result data output by the computing resources R.

[0015] The processing by the computational resource R may be any generally conceivable computational processing such as processing, aggregation, and combination of the data to be processed, such as reducing or enlarging the image size of image data, detecting a specific object from image data, or decrypting or encrypting image data.

[0016] Although the computers 10, 20-1 to 20-N can execute different processes, they have the same configuration. The configuration of the computer 10 will be described below as a representative.

[0017] The computer 10 includes a processor 11, a main memory 12 for the processor 11, a non-volatile storage device 13 for storing programs and various data, and a network interface card (NIC) 14 connected to a network NW. The computer 10 further includes an accelerator 15 for improving the functionality of the computer 10.

[0018] The processor 11 comprises a CPU (Central Processing Unit) and the like, and controls the entire computer 10 by executing or using programs and various data stored in the storage device 13. The main memory 12 comprises a RAM (Random Access Memory) and the like. The programs and various data are read into the main memory 12 as appropriate. The storage device 13 comprises an SSD (Solid State Drive) and the like. The NIC 14 transmits and receives data to and from the network NW under the control of the processor 11.

[0019] The accelerator 15 is configured with hardware such as an FPGA (Field-Programmable Gate Array). The processor 11 can dynamically remove or add arithmetic circuits as arithmetic resources R to the reconfigurable area of ​​the accelerator 15, that is, regardless of the operating state of the computer 10. The operating state includes, for example, a processing state in which data input from a user or client using the computer 10 or the above-mentioned service is being processed, and an idle state in which no data is input from a user or client and the computer 10 is idle. Further operating states include an initialization state in which the computer 10 is powered on until the computer 10 is ready to provide processing (services).

[0020] In addition to the computational resource R, the computer 10 is configured with a receiving unit 10A, a transmitting unit 10B, and a quality control unit 10C, as shown in Fig. 2. The receiving unit 10A and the transmitting unit 10B are configured with a processor 11 that executes a program and a RAM 12. The quality control unit 10C is configured with the processor 11 that executes a program. The receiving unit 10A, the transmitting unit 10B, and the quality control unit 10C are housed in a single housing of the computer 10.

[0021] The receiving unit 10A temporarily holds the processing target data input to the computer 10 and outputs it to at least one of the computation resources R preset for each processing target data in the subsequent stage. When the computation resource R is currently performing a computation, the receiving unit 10A holds the processing target data until the computation is completed. The computation resource R receives the processing target data output by the receiving unit 10A, processes the processing target data, and outputs the processing result (computation result) data to the transmitting unit 10B. The transmitting unit 10B temporarily stores the processing result data output from the computation resource R and outputs it to the outside of the computer 10 as output data.

[0022] The quality control unit 10C controls the quality of the processing performed by the computer 10 using the computing resources R. The quality control unit 10C includes a state information acquisition unit 10CA, a performance estimation unit 10CB, a resource management unit 10CC, and an output unit 10CD.

[0023] The state information acquisition unit 10CA acquires state information indicating the state of the computer 10. The state of the computer 10 includes at least one of the state of input data, which is data to be processed that is input from outside the computer 10, the state of output data that is output to outside the computer 10, the processing content and processing speed of the computing resource R already provided in the computer 10, and the load on the computer 10.

[0024] The state of input data or output data may include, for example, the speed of the input data or output data, i.e., the amount of input data or output data per unit time. This state may also include information specifying whether the data is input continuously like stream data or whether it is processed ad hoc like data packets, with momentary increases and decreases in data volume (so-called burst traffic). This state may also include whether the amount of input data increases at a timing predicted in advance for executing batch processing, or whether the amount of input and output data fluctuates over time.

[0025] The processing content of the computational resource R already provided in the computer 10 may include, for example, any of the computation amount required for the computation by the computational resource R, the data amount of computation parameters required for the computation, and the data amount of computation parameters held in the memory of the computational resource R. The processing content may also include information such as the data amount after computation, that is, the data amount of output data after a predetermined computation is performed on input data.

[0026] The processing speed of the computing resource R may include at least one of the throughput, latency, the time required to complete reading of input data from the receiving unit 10A, and the time required to start computing the input data read from the receiving unit 10A. The processing speed may include at least one of the time required to read from memory computation parameters required for computing the input data, and the time required to output the computed data to the transmitting unit.

[0027] The load on computer 10 may include at least one of the amount of data currently being input to computer 10, the amount of data currently residing inside computer 10, the number of users accommodated by computer 10, the number of network sessions, or the number of clients.

[0028] The above information does not have to be input from outside the quality control unit 10C. The state information acquisition unit 10CA can collect the load on the computer 10, which changes from moment to moment, by monitoring whether the computing resource R is performing a computation or not, the amount of buffer storage in the receiving unit 10A, and the like.

[0029] Based on the state of the computer 10 indicated by the acquired state information, the performance estimation unit 10CB estimates a change in the processing performance of the computer 10 when at least one of the following occurs: dynamic addition or deletion of computing resources R; and an increase in the amount of input or output data. The change in processing performance includes, for example, at least one of the processing performance after the change and the amount of change in processing performance. The processing performance is performance related to processing time, and may be the processing time itself or processing speed. For example, the storage device 13 stores a relational expression or table showing the relationship between the state of the computer 10, the content (such as circuit size) of the computing resources R to be added or deleted or the increase in the amount of data, and the change in processing performance. The performance estimation unit 10CB uses the relational expression or table to obtain the change in processing performance based on the state of the computer 10 and the content or increase in the amount of data of the computing resources R to be added or deleted. This allows the change in processing performance to be estimated. The relationship between the above state and the change in processing performance is exemplified below. Therefore, the contents of the relational expressions or tables, the information adopted as the state of the computer 10, and the information adopted as the change in processing performance are defined taking into consideration the following examples.

[0030] When a memory access bandwidth is shared among multiple computing resources R, adding a computing resource R that needs to read computation parameters from memory may result in a relative decrease in the memory access bandwidth per computing resource R for the computing resources R that are already deployed and operating. If the memory access bandwidth per computing resource R becomes relatively smaller, the time required to read the computation parameters increases, which may result in a decrease in the time until the computation of the data to be processed is completed (latency) and / or the amount of data that can be computed per unit time (throughput). Furthermore, for example, when multiple computing resources R that perform the same computation are provided, deleting one of the multiple computing resources may result in a corresponding decrease in parallel processing, etc., which may result in a decrease in the time until the computation of the data to be processed is completed (latency) and / or the amount of data that can be computed per unit time (throughput).

[0031] When the amount of input data (the amount of input data of data to be processed) increases, the amount of data increases in the process of allocating the data to be processed from the receiving unit 10A to the calculation resource R, which may result in an increase in the time required to temporarily buffer the data. When the buffering time increases, the time required to complete the calculation of the data to be processed (latency) may increase, and / or the amount of data that can be calculated per unit time (throughput) may decrease.

[0032] When the amount of output data increases, there is a high possibility that the outputs of the computation resources R will overlap when outputting computed data from each computation resource R to the transmitter 10B. When the computation resource R is in an output waiting state, i.e., the buffering time becomes long, it may result in an increase in the time (latency) until the computation of input data is completed and / or a decrease in the amount of data that can be computed per unit time (throughput).

[0033] The resource manager 10CC determines whether to dynamically add or remove computing resources R based on the change in processing performance estimated by the performance estimator 10CB. For example, the resource manager 10CC determines that the addition or removal is possible if the change in processing performance is equal to or less than a predetermined threshold. More specifically, the resource manager 10CC determines that the addition or removal is possible if the amount of degradation in processing performance is equal to or less than a predetermined threshold, such as if the degree of increase in processing time is equal to or less than a predetermined threshold, and the degradation in processing performance is small. When the resource manager 10CC determines that the addition or removal is possible, it may perform dynamic addition or removal of computing resources R. Alternatively, it may transmit a notice to the resource manager 30 that the addition or removal is possible. The resource manager 10CC may determine whether the input data can be increased or removed based on the change in processing performance estimated by the performance estimator 10CB. If the input data can be increased or removed, it may notify the resource manager 30 of this fact.

[0034] The output unit 10CD may output the change in processing performance itself to the outside of the computer 10. The output information is output to the outside of the computer 10 via the NIC 14 or the like. In this case, for example, the resource management device 30 determines whether or not a computing resource R is added or deleted, and / or whether or not the amount of data to be processed by the computer 10 is increased.

[0035] The receiving unit 10A, the computing resource R, and the transmitting unit 10B of the computer 10 perform the processing shown in FIG. 3 on the processing target data. Specifically, the receiving unit 10A first receives and temporarily stores the processing target data input from outside the computer 10 (steps S101 and S102). If the receiving unit 10A cannot output the processing target data because the subsequent computing resource R is performing a computation, it stores the data until output becomes possible (steps S103 and S102). Furthermore, when the receiving unit 10A becomes able to output the processing target data, it outputs the processing target data to the computing resource R, which is a destination preset for each processing target data (step S104). Thereafter, the computing resource R performs computation on the processing target data (step S105). At this time, multiple computing resources R may sequentially perform computation on the processing data. The transmitting unit 10B temporarily stores the processing target data output by the computing resource R after computation processing as output data and outputs it to the outside of the computer 10.

[0036] When the quality control unit 10C receives a request from the resource management device 30 to add or delete computing resources R or a notification of an increase in input data, the quality control unit 10C executes the process shown in FIG.

[0037] In the process of FIG. 4, first, the state information acquisition unit 10CA of the quality control unit 10C acquires state information indicating the state of the computer 10 (step S111). Then, the performance estimation unit 10CB estimates a change in the processing performance of the computer 10 when there is at least one of dynamic addition or deletion of computing resources R and an increase in the amount of input data or output data, based on the state of the computer 10 indicated by the acquired state information (step S112). Then, the resource management unit 10CC may determine whether addition or deletion of computing resources R is possible based on the change in processing performance estimated by the performance estimation unit 10CB (step S113). If possible, the addition or deletion of computing resources R may be performed. Additionally or alternatively, the output unit 10CD may output the change in processing performance itself to the outside of the computer 10 (step S113).

[0038] In the above example, the process is started when a request for adding or deleting a computing resource R is made to the computer 10, but the quality control unit 10C may monitor an increase in the amount of input / output data, and start the process when the increase becomes large enough to satisfy a predetermined standard. Also, a process similar to the process above may be executed when a notification of a decrease in data is received.

[0039] In this embodiment, a change in the processing performance of the computer 10 when at least one of the following occurs: dynamic addition or deletion of a computing resource R, and an increase in the amount of input or output data, is estimated based on the state of the computer 10 indicated by the state information. This estimated change can then be used to determine whether at least one of adding or deleting a computing resource R and increasing the amount of data is possible, thereby enabling appropriate management of the hardware configuration of multiple computing resources R that perform at least part of the service that processes the data to be processed. For example, if it is estimated that adding a computing resource R to the computer 10 would significantly reduce processing performance, the addition of the computing resource R is suppressed, thereby suppressing processing delays. Furthermore, when multiple computing resources R that perform the same operation are configured in the computer 10, if it is estimated that removing one of the multiple computing resources R will not significantly reduce processing performance, the computing resource R can be removed to reduce power consumption.

[0040] Furthermore, since the estimation is performed within the computer 10, the time required from obtaining the status information to making a judgment is shorter than when the estimation is performed outside the computer 10, and therefore the estimation results can be provided in more real time. Furthermore, since the amount of data required to output the status information for the estimation to the outside is not required, it is possible to make the information that can be reflected in the estimation results more detailed.

[0041] [Second embodiment] FIG. 5 shows the configuration of a computer 110 according to the second embodiment. The computer 110 has a configuration similar to that of the computer 10. However, the resource manager 10CC outputs to the outside of the computer 110 a message indicating that at least one of adding or deleting a computing resource and increasing the amount of input or output data is possible if the change in processing performance estimated by the performance estimator 10CB falls within the required performance of the computer 110. The required performance is stored in the storage device 13 and used. The required performance is prepared, for example, for each computing resource R. When a change in processing performance is estimated for the addition or deletion of a computing resource R, the required performance corresponding to the added or deleted computing resource R is used. When a change in processing performance is estimated for an increase in the amount of input or output data, the required performance corresponding to the current computing resource R of the computer 110 is used. For example, the required performance may be a required value for the time from the start to completion of processing by the computing resource R, a required value for the processing throughput (amount of data input / output per unit time) of the computing resource R, or the like. The required value may differ for each service, and there may be a plurality of required values ​​according to the quality of the service. An increase in the amount of input data or output data includes the acceptance of new input data and the addition of new users.

[0042] The acquisition of the above-mentioned state information may be initiated when an increase in the amount of input data is detected, or when a notification or advance notice of the increase in the amount of input data is received from the resource management device 30. When the change in processing performance estimated by the performance estimation unit 10CB does not fall within the required performance required of the computer 110, the resource management unit 10CC may notify the resource management device 30 of the determination result instructing offloading to another computer 20 that can provide similar computing resources R.

[0043] In this embodiment, the resource manager 10CC makes the determination within the computer 110, so the time required to obtain the determination result is shorter and the amount of data output to the outside is reduced compared to when the determination is made externally. Also, by outputting to the outside of the computer 110 the fact that at least one of adding or deleting a computing resource and increasing the amount of input data or output data is possible, the external resource manager 30 can easily decide to add or delete a computing resource R.

[0044] [Third embodiment] FIG. 6 shows the configuration of a computer 210 according to the second embodiment. The computer 210 has a configuration similar to that of the computer 10. However, the resource manager 10CC monitors the internal state of the computer 210, specifically the internal states of the receiving unit 10A, the computing resources R, and the transmitting unit 10B, and requests the external resource manager 30 to add or remove computing resources R based on the monitored internal state. For example, if a processing delay occurs, the resource manager 10CC requests the addition of computing resources R for parallel processing to resolve the delay. The resource manager 10CC monitors the internal state of the computer 210 and notifies the external resource manager 30 of the allowable data volume of data to be processed that can be input to the computer 210 based on the monitored internal state. The allowable volume includes the amount of newly input data that can be accepted, the number of new users to be added, and so on. The resource manager 10CC autonomously monitors the internal state of the computer 210, specifically the internal states of the receiving unit 10A, the computing resources R, and the transmitting unit 10B.

[0045] The resource management unit 10CC monitors the data flow rate per unit time at multiple monitoring points. If the monitoring result indicates that the flow rate exceeds a predetermined threshold, the resource management unit 10CC requests the resource management device 30 to add a computing resource R for parallel processing, for example. Note that multiple pieces of information may be combined for monitoring. Furthermore, since combining multiple pieces of information complicates processing, multiple pieces of information may be monitored individually.

[0046] The quality control unit 10C executes the process shown in FIG. 7. Specifically, the resource management unit 10CC of the quality control unit 10C monitors the internal states of the receiving unit 10A, the computing resource R, and the transmitting unit 10B in the computer 210. For example, the resource management unit 10CC detects an increase in the input amount of data to be processed in the receiving unit 10A (step S301). If the increase is detected, steps S111 and S112 similar to those in the first embodiment are executed. As a result, state information is acquired and a change in processing performance is estimated. Thereafter, the resource management unit 10CC determines whether the estimated result falls within a predetermined required performance (the processing performance after the change satisfies the required performance) (step S302). If it does not fall within the required performance, the resource management unit 10CC requests the resource management device 30 to limit the amount of input data to be processed or to add a computing resource R (step S303). Note that deletion may also be requested as necessary. In response to the request, the resource management device 30 instructs the computer 210 to limit the amount of data to be processed and / or to add or delete the computing resources R.

[0047] According to this embodiment, various requests are made in accordance with the internal state of the computer 10, and the computing resources R are appropriately managed. The amount of input data is also appropriately managed. Furthermore, by having the computer 10 autonomously monitor the internal states of the receiving unit 10A, the computing resources R, and the transmitting unit 10B, the internal states can be acquired more quickly than when an external system or device monitors the internal states, thereby reducing the time from acquiring the internal states to calculating an estimate result. Furthermore, when using computing resources R whose data size increases, it becomes difficult to externally monitor the internal states and internal load. However, by having the computer 10 autonomously monitor the internal states of the receiving unit 10A, the computing resources R, and the transmitting unit 10B, accurate estimate results can be acquired even for computing resources R whose data size increases. Furthermore, by having the computer 10 autonomously monitor its internal states, when an external system or device requests the computer 10 to add or remove the computing resources R, estimate results and judgment results can be quickly output.

[0048] [Scope of the present invention] The present invention is not limited to the above-described embodiments and modifications. For example, the present invention includes various modifications to the above-described embodiments and modifications that can be understood by a person skilled in the art within the scope of the technical concept of the present invention. The configurations listed in the above-described embodiments and modifications can be combined as appropriate within a consistent range. It is also possible to delete any of the above-described configurations. The above program may be stored not only in the non-volatile storage device 13 but also in a non-transitory computer-readable storage medium. [Explanation of symbols]

[0049] 10...computer, 10A...receiving unit, 10B...transmitting unit, 10C...quality control unit, 10CA...status information acquisition unit, 10CB...performance estimation unit, 10CC...resource management unit, 10CD...output unit, 11...processor, 12...main memory, 13...storage device, 15...accelerator, 20-1 to 20-N...computers, 30...resource management device, 110...computer, 210...computer, R...computing resource.

Claims

1. A computer capable of adding or removing a computing resource for processing input data input from an external device, a status information acquisition unit that acquires status information indicating the status of the computer; a performance estimating unit that estimates a change in processing performance, including a processing time or a processing speed, of the computer when a computing resource is dynamically added or deleted based on the state indicated by the state information, the computing resource is a computing circuit that is dynamically added to or dynamically deleted from the FPGA; a resource management unit that determines whether to perform dynamic addition or deletion of the computing resources based on the change in the processing performance estimated by the performance estimation unit, and performs either the addition or deletion of the computing resources that has been determined to be added or deleted; calculator.

2. A computer capable of adding or removing a computing resource for processing input data input from an external device, a status information acquisition unit that acquires status information indicating the status of the computer; a performance estimation unit that estimates a change in processing performance of the computer when at least one of a dynamic addition or deletion of computing resources and an increase in the amount of input data or output data occurs based on the state indicated by the state information; an output unit that outputs the change in processing performance estimated by the performance estimation unit to an outside of the computer, the computing resource is a computing circuit that is dynamically added to or dynamically deleted from the FPGA; a resource management unit that determines whether to perform dynamic addition or deletion of the computing resources based on the change in the processing performance estimated by the performance estimation unit, and performs either the addition or deletion of the computing resources that has been determined to be added or deleted; calculator.

3. A computer capable of adding or removing a computing resource for processing input data input from an external device, a status information acquisition unit that acquires status information indicating the status of the computer; a performance estimation unit that estimates a change in processing performance of the computer when at least one of a dynamic addition or deletion of computing resources and an increase in the amount of input data or output data occurs based on the state indicated by the state information; a resource management unit that outputs to the outside of the computer, when a change in the processing performance estimated by the performance estimation unit falls within a required performance required of the computer, a message indicating that at least one of adding or deleting a computing resource and increasing the amount of input data or output data is possible; the computing resource is a computing circuit that is dynamically added to or dynamically deleted from the FPGA; the resource management unit determines whether to perform dynamic addition or deletion of the computing resources based on the change in the processing performance estimated by the performance estimation unit, and performs either the addition or deletion of the computing resources determined to be added or deleted. calculator.

4. A computer capable of adding or removing a computing resource for processing input data input from an external device, a status information acquisition unit that acquires status information indicating the status of the computer; a performance estimation unit that estimates a change in processing performance of the computer when at least one of a dynamic addition or deletion of computing resources and an increase in the amount of input data or output data occurs based on the state indicated by the state information; a resource management unit that monitors an internal state of the computer and notifies an external device of an allowable amount of data to be input to the computer according to the monitored internal state, the computing resource is a computing circuit that is dynamically added to or dynamically deleted from the FPGA; the resource management unit determines whether to perform dynamic addition or deletion of the computing resources based on the change in the processing performance estimated by the performance estimation unit, and performs either the addition or deletion of the computing resources determined to be added or deleted. calculator.

5. the state includes at least one of a state of input data input from outside the computer, a state of output data output to outside the computer, processing content and processing speed of the computing resources already installed in the computer, and a load on the computer; 5. The computer according to claim 1.

6. a resource management unit that monitors an internal state of the computer and requests an external device to add or remove computing resources in accordance with the monitored internal state; 6. A computer according to any one of claims 1 to 5.

7. 7. A program that, when executed by a computer capable of adding or removing computational resources for processing input data input from an external source, causes the computer to function as the calculator according to claim 1.

Citation Information

Patent Citations

  • Load distribution method and client-server system

    JP2005092862A

  • Methods and apparatus for managing computing deployments when workloads change

    JP2006520027A

  • Task execution method and multiprocessor system

    JP2007188523A

  • Apparatus, method, and program for processing information

    JP2018185691A

  • Wireless relay device, wireless relay program, wireless communication device, wireless communication program, and wireless communication system

    JP2019022112A