Estimating device and estimating method
11256550 · 2022-02-22
Assignee
Inventors
Cpc classification
G06F9/5038
PHYSICS
International classification
Abstract
An estimation device is capable of estimating the number of CPU cores allocated to modules of an information processing device, which employs a micro-service architecture, and performance. A number-of-cores calculation unit calculates the total number of CPU cores necessary to process a temporary processing performance value output by a performance calculation unit. The performance calculation unit causes the number-of-cores calculation unit to calculate the number of necessary CPU cores while repeatedly adding a processing performance value increment to the temporary processing performance, and obtains an upper limit value of processing performance that is a maximum temporary processing performance value not exceeding a predetermined upper limit number of allocable CPU cores.
Claims
1. An estimation device that estimates an upper limit value of processing performance indicating an upper limit of a processing performance value of an information processing device including a plurality of modules, the estimation device comprising: a storage unit that stores a unit processing performance value for each of the modules indicating the processing performance value when one CPU (Central Processing Unit) core is allocated to each of the modules, an initial processing performance value indicating a minimum estimated value of the processing performance value, and a predetermined upper limit number of allocable CPU cores; a number-of-cores calculation unit, including one or more processors, that calculates a temporary processing performance value by adding a processing performance value increment indicating an increment of predetermined processing performance to the initial processing performance value, calculates a number of necessary CPU cores, which indicates the number of CPU cores necessary to satisfy the temporary processing performance value, for each of the modules using the calculated temporary processing performance value and the unit processing performance value, and calculates the total number of necessary CPU cores, which is calculated for each of the modules, as a total number of allocated CPU cores; and a performance calculation unit, including one or more processors, that executes determination as to whether the calculated total number of allocated CPU cores exceeds the predetermined upper limit number of allocable CPU cores whenever the processing performance value increment is repeatedly added to the temporary processing performance value, and calculates, as the upper limit value of processing performance, the maximum temporary processing performance value in which the calculated total number of allocated CPU cores does not exceed the predetermined upper limit number of allocable CPU cores.
2. The estimation device according to claim 1, wherein the performance calculation unit calculates the number of necessary CPU cores satisfying the upper limit value of processing performance for each of the modules using the upper limit value of processing performance and the unit processing performance value, and sets the calculated number of necessary CPU cores as the number of CPU cores allocated to each of the modules.
3. The estimation device according to claim 1, wherein the information processing device is an information processing device that processes communication data, and the processing performance value indicates a number of the communication data to be processed per unit time.
4. An estimation method for an estimation device that estimates an upper limit value of processing performance indicating an upper limit of a processing performance value of an information processing device including a plurality of modules, the estimation method comprising steps, which are executed by the estimation device, of: storing a unit processing performance value for each of the modules indicating the processing performance value when one CPU core is allocated to each of the modules, an initial processing performance value indicating a minimum estimated value of the processing performance value, and a predetermined upper limit number of allocable CPU cores; calculating a temporary processing performance value by adding a processing performance value increment indicating an increment of predetermined processing performance to the initial processing performance value, calculating a number of necessary CPU cores, which indicates the number of CPU cores necessary to satisfy the temporary processing performance value, for each of the modules using the calculated temporary processing performance value and the unit processing performance value, and calculating the total number of necessary CPU cores, which is calculated for each of the modules, as a total number of allocated CPU cores; and executing determination as to whether the calculated total number of allocated CPU cores exceeds the predetermined upper limit number of allocable CPU cores whenever the processing performance value increment is repeatedly added to the temporary processing performance value, and calculating, as the upper limit value of processing performance, the maximum temporary processing performance value at which the calculated total number of allocated CPU cores does not exceed the predetermined upper limit number of allocable CPU cores.
5. The estimation method according to claim 4, further comprising: calculating the number of necessary CPU cores satisfying the upper limit value of processing performance for each of the modules using the upper limit value of processing performance and the unit processing performance value, and setting the calculated number of necessary CPU cores as the number of CPU cores allocated to each of the modules.
6. The estimation method according to claim 4, wherein the information processing device is an information processing device that processes communication data, and the processing performance value indicates a number of the communication data to be processed per unit time.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
DESCRIPTION OF EMBODIMENT
(8) In the following, after an overview of a method of estimating the number of module instances (the number of CPU cores allocated to modules) and a processing performance value of a transport device, an estimation device (see
(9) <<Overview of Estimation Method>>
(10)
(11)
(12) According to the module performance table 121, the unit processing amount of the module A 210A is 2000 kpps while the unit processing amount of the module E 210E is 200 kpps. The unit processing amount of the module can be measured by allocating one core to the module and actually measuring an upper limit value of a processable traffic.
(13)
(14)
(15) The estimation device 100 sets an initial value of the traffic amount (initial processing performance value) to 200 kpps, and obtains the total number of module instances necessary for the transport device 200 to process the traffic amount. The total number of necessary module instances can be calculated by obtaining the number of module instances (the number of necessary CPU cores and the number of cores) necessary to process the traffic for each module and then calculating the sum. For example, when the traffic amount is 200 kpps, since the unit processing amount of each of the module A 210A to the module F 210F is equal to and more than 200 kpps (see
(16) Since the upper limit of the number of module instances is 20, it is considered that more traffic can be processed. When the estimation device 100 increases the traffic amount by 200 kpps and sets it to 400 kpps, and the total number of the module instance becomes 7 in the same calculation manner (see a row in which the traffic amount is 400 in
(17) When the traffic amount is set to 600 kpps by increasing by 200 kpps and the estimation device 100 calculates in the same manner, the total number of the module instances becomes 9 (see a row in which the traffic amount is 600 in
(18) Subsequently, the estimation device 100 repeats the calculation while increasing the traffic amount by 200 kpps until the number of the module instances required for processing the traffic exceeds 20.
(19) The total number of the module instances required for processing the traffic amount of 2000 kpps is 20 (see a raw in which the traffic amount is 2000 in
(20) According to the processing described above, the estimation device 100 can obtain a fact that the upper limit of the processable traffic amount is 2000 kpps when the upper limit of the total number of module instances (upper limit number of allocable CPU cores) is 20, and then calculate the number of module instances for each module.
(21) <<Overall Configuration of Estimation Device>>
(22)
(23) The number-of-cores calculation unit 111 calculates the number of instances for each module (also referred to the number of cores allocated to the module, the number of allocated cores, the number of allocated CPU cores, and the number of necessary CPU cores) required for processing a given traffic amount and the total number of instances (the total number of allocated CPU cores).
(24) The performance calculation unit 112 calculates an upper limit (an upper limit value of processing performance) of the processable traffic amount (processing performance value) from the number of allocable core input by input/output unit 130 described later. Furthermore, the performance calculation unit 112 calculates the number of instances for each module required for processing the upper limit value of processing performance (the number of necessary CPU cores).
(25) The storage unit 120 includes, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), an HDD (Hard Disk Drive), and a flash memory, and stores a module performance table 121, the estimation program 122, OS (Operating System) (not shown), and data required during the estimation processing.
(26) The module performance table 121 (see
(27) The estimation program 122 is a program for executing estimation processing.
(28) The input/output unit 130 executes data input/output from/to the outside of the estimation device 100, and includes, for example, devices such as a keyboard, a display, and a NIC. Data for estimation processing is input from the keyboard, or is input as communication data received by the NIC, the data being the unit processing amount of module stored in the module performance table 121 or the number of the allocable CPU core described later. Furthermore, the number of instances of each module (the number of the allocated core) is obtained as the processing result of estimation processing and is output as display data on the display or communication data transmitted by the NIC.
(29) <<Estimation Processing>>
(30)
(31) The number of allocable cores (upper limit number of allocable CPU cores) is an upper limit of the number of cores that can be allocated to the modules (20 in the description of
(32) The performance estimation accuracy (processing performance value increment) is an allowable value of an error when the performance upper-limit-value is calculated. The performance estimation accuracy is equivalent to 200 kpps of the increment in the traffic amount in the repetitive processing described in
(33) The initial processing performance value is an initial value of the processing performance value, and is a minimum value of the estimated value of the processing performance value. For example, the initial processing performance value is a minimum unit processing amount among the unit processing amounts of the plurality of modules.
(34) Output data of the estimation processing includes a performance upper-limit-value of the number of allocated cores (the number of module instances) and the number of allocable cores for each of the modules. The output data is output via the input/output unit 130.
(35) Respective steps shown in
(36) The performance estimation accuracy (200 kpps in
(37) In step S101, the performance calculation unit 112 sets an integer variable of n to 0.
(38) In step S102, the performance calculation unit 112 sets as T=T0+ΔT×n. The variable T increases by 200 kpps from an initial value (initial processing performance value) of 200 kpps.
(39) In step S103, the number-of-cores calculation unit 111 calculates ceil (T/unit processing amount of module) for each module, thereby calculating the number of cores (the number of module instances, the number of allocated CPU cores, the number of necessary CPU cores, or the number of necessary cores) necessary for processing of the traffic amount of the processing performance value T. For example, when T is 600 kpps, the number of necessary cores of the module D210D (the unit processing amount is 500 kpps as shown in
(40) In step S104, the number-of-cores calculation unit 111 calculates the total of the number of necessary cores for each module calculated in step S103, and calculates the total number of necessary cores (the total number of module instances, the total number of allocated CPU cores, and the total number of module instances in
(41) In step S105, the performance calculation unit 112 determines whether the number of allocable cores, which is the input data, is equal to or greater than the total number of necessary cores calculated in step S104. When the number of allocable cores is equal to or greater than the total number of necessary cores (step S105: Y), the process proceeds to step S106; otherwise (step S105: N), the process proceeds to step S107.
(42) In step S106, the performance calculation unit 112 adds 1 to the integer variable of n, and the process returns to step S102.
(43) In step S107, the performance calculation unit 112 outputs T=T0+ΔT×(n−1) as the performance upper-limit-value. In
(44) In step S108, the performance calculation unit 112 outputs the ceil (T/unit processing amount of module) as the number of necessary cores for each module. In
(45) <<Features of Estimation Processing>>
(46) In steps S103 to S104, the number-of-cores calculation unit 111 the number of cores (the number of module instances and the number of allocated CPU cores) for each module and the total number of cores (the total number of module instances and the total number of allocated CPU cores) which are necessary for processing of the traffic amount (the temporary processing performance value) T calculated by the performance calculation unit 112.
(47) In steps S102, S105, and S106, the performance calculation unit 112 adds the traffic amount T by ΔT from the initial value (initial processing performance value) until when the total number of necessary cores calculated by the number-of-cores calculation unit 111 exceeds the number of allocable cores (upper limit number of allocable CPU cores). Subsequently, in steps S107 and S108, the performance calculation unit 112 outputs the traffic amount T immediately before the total number of necessary cores exceeds the number of allocable cores as the performance upper-limit-value (upper limit value of processing performance), and outputs the number of necessary cores (number of allocated CPU cores) for each module with respect to T.
(48) <<Effects of Estimation Processing>>
(49) When the estimation device 100 executes the estimation processing, the performance value (the processable traffic amount) of the transport device having the micro-service architecture can be estimated. Further, the number of module instances (the number of allocated cores) necessary for processing can be estimated for each module, and the number of module instances in an optimal module configuration can be estimated. As a result, provisioning of the transport device becomes possible.
(50) <<Modification: Information Processing Device>>
(51) The estimation device 100 is intended for estimating the transport device of the micro-service architecture. However, the estimation device 100 can be applied not only the transport device but also to an information processing device having a module configuration in which processing modules are independent and processing amount increases in proportion to the number of cores allocated to the modules. In this case, the estimation device 100 can calculate the performance upper-limit-value of the information processing device and the number of allocated cores (the number of module instances and the number of allocated CPU cores) for each module.
REFERENCE SIGNS LIST
(52) 100 Estimation device 110 Control unit 111 Number-of-cores calculation unit 112 Performance calculation unit 120 Storage unit 121 Module performance table 122 Estimation program 130 Input/output unit