Source: https://patents.google.com/patent/JPWO2013030860A1/en
Timestamp: 2020-01-28 11:25:33
Document Index: 653406796

Matched Legal Cases: ['art 213', 'art, 212', 'art, 2212', 'art, 2213', 'art, 2214', 'art, 2215', 'art, 2216']

JPWO2013030860A1 - Predictive sequential computer - Google Patents
Predictive sequential computer Download PDF
JPWO2013030860A1
JPWO2013030860A1 JP2011004750A JP2013530861A JPWO2013030860A1 JP WO2013030860 A1 JPWO2013030860 A1 JP WO2013030860A1 JP 2011004750 A JP2011004750 A JP 2011004750A JP 2013530861 A JP2013530861 A JP 2013530861A JP WO2013030860 A1 JPWO2013030860 A1 JP WO2013030860A1
JP2011004750A
JP5872561B2 (en
光一朗 飯島
石田　隆張
2011-08-26 Priority to PCT/JP2011/004750 priority Critical patent/WO2013030860A1/en
2015-03-23 Publication of JPWO2013030860A1 publication Critical patent/JPWO2013030860A1/en
2016-03-01 Publication of JP5872561B2 publication Critical patent/JP5872561B2/en
Provided is a computing device that executes computations while observing real-time constraints. Predicting the processing time for the amount and quality of the input data based on the prediction model, and if the processing time exceeds the time slice assigned to the calculation, reduce the amount of data used in the calculation or The prediction model used in the step of adjusting the processing time by reducing the number of times, the step of executing the calculation adjusted by the method, and the step of predicting the processing time is data at a time when the calculation is not performed. And the number of iterations, the number of iterations, or the result of executing a calculation that is switched to an approximate calculation.
The present invention relates to a calculation device that sequentially calculates data that is input every moment, and more particularly to a sequential calculation device that has a management function for completing a calculation under prescribed real-time constraints.
In power equipment, factory production equipment, robot control, and the like, a number of processes subject to real-time constraints such as processing that must be completed within a certain time are calculated. Among them, relatively complicated calculations such as device state estimation and fault clustering include iterative calculations, and the processing time varies greatly depending on the amount and nature of data used.
In particular, in mission-critical systems such as social infrastructure that operates without stopping for a long period of time, safety is guaranteed even in the event of a sudden increase in processing during a disaster or system expansion that was not originally planned for design and development. For this reason, there is a problem that the calculation must be completed while strictly observing real-time constraints.
As a technique for changing the processing level in consideration of fluctuations in processing time, Patent Document 1 is cited. In this document, when performing multi-stage calculations, switch to approximate calculation based on the degree of congestion of the queue that stores the calculation results of the previous stage, or the degree that the previous stage calculation was not completed and the subsequent stage calculation could not be performed. A technique for performing calculations without delay is disclosed.
International Publication No. 09/078428 Pamphlet
However, the technique described in Patent Document 1 aims only to correct the throughput disparity between nodes that perform computations, and only reduces the processing load of a specific node in which processing delay occurs. Therefore, in the first place, the real-time constraint is taken into consideration, and control is not performed from the viewpoint of how to finish the entire processing by the deadline. Also, in Patent Document 1, real-time constraints may not be strictly observed in a transition period in which processing time starts to increase due to congestion caused as a result of calculation or calculation failure caused by calculation delay. There is.
The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a computing device that can observe real-time constraints even in a transition period in which processing time starts to increase.
The present invention predicts the time required for the calculation and adjusts the calculation based on the prediction result so that the real-time constraint can be observed.
More specifically, based on the prediction model, the calculation time for the amount and quality of the input data is predicted,
If the processing time exceeds the time slice assigned to the calculation, adjust the processing time by reducing the amount of data used in the calculation or reducing the number of iterations,
By executing the calculation adjusted as described above, the calculation is executed while observing the real-time constraints.
Furthermore, the prediction model used for predicting the processing time is updated as needed depending on the amount of data, the number of iterative calculations, or the calculation performed by switching to approximate calculation during the time when the above calculation is not performed. Processing may be added.
Depending on the time slice assigned to the calculation, the amount of data is reduced and the number of iterations is reduced based on the estimated processing time of the calculation. it can.
1 is a configuration diagram of a system in Embodiment 1. FIG. 2 is an explanatory diagram of a functional configuration in Embodiment 1. FIG. FIG. 3 is an explanatory diagram of hardware of a predictive sequential calculation apparatus according to Embodiment 1. It is explanatory drawing of the hardware of the installation in Example 1. FIG. 2 is an explanatory diagram of hardware of a management terminal in Embodiment 1. FIG. It is a figure which shows the structure of the task data in Example 1. FIG. It is a figure which shows the structure of the processing time prediction model data in Example 1. FIG. It is a figure which shows the structure of the convergence frequency prediction model data in Example 1. FIG. It is a figure which shows the structure of the query in Example 1. FIG. It is a figure which shows the structure of the input stream in Example 1. FIG. It is a figure which shows the structure of the output stream in Example 1. FIG. It is a figure which shows the structure of the monitoring data in Example 1. FIG. 3 is a flowchart showing overall processing in Embodiment 1. 3 is a flowchart illustrating processing time prediction processing according to the first exemplary embodiment. 6 is a flowchart illustrating time slice determination processing according to the first exemplary embodiment. 3 is a flowchart illustrating a thinning process according to the first embodiment. 3 is a flowchart illustrating an active tuning process in the first embodiment. It is a figure which shows the monitoring screen in Example 1. FIG. It is a figure (particularly relationship between input data, the number of iterations, and the number of convergence) showing an image of the thinning process in the first embodiment. It is a figure (particularly relation between input data and processing time) which shows an image of thinning-out processing in Example 1. It is a figure (normal input range) which shows the effect of active tuning in Example 1. It is a figure (input range of a present Example) which shows the effect of the active tuning in Example 1. FIG. FIG. 6 is a configuration diagram of a system in a second embodiment. FIG. 10 is an explanatory diagram of a functional configuration in Embodiment 2. FIG. 10 is an explanatory diagram of hardware of a predictive sequential calculation apparatus according to a second embodiment. FIG. 10 is an explanatory diagram of hardware of a system management server in Embodiment 2. FIG. 10 is an explanatory diagram of hardware of a management terminal according to a second embodiment. FIG. 10 is an explanatory diagram of hardware of a region management system in Embodiment 2. It is a figure which shows the structure of the installation data in Example 2. FIG. It is a figure which shows the structure of the system | strain structure data in Example 2. FIG. It is a figure which shows the structure of the input stream in Example 2. FIG. It is a figure which shows the structure of the output stream in Example 2. FIG. It is a figure which shows the structure of the alarm data in Example 2. FIG. 10 is a flowchart illustrating an active tuning process in the second embodiment. FIG. 10 is a configuration diagram of a system in a third embodiment. FIG. 10 is an explanatory diagram of a functional configuration according to a third embodiment. FIG. 10 is an explanatory diagram of hardware of a predictive sequential calculation apparatus according to a third embodiment. 10 is a flowchart showing overall processing in Embodiment 3. 12 is a flowchart illustrating task movement processing according to the third embodiment. It is a figure showing the fuel consumption characteristic of the co-generator in Example 3. FIG. It is a figure showing the electric power generation characteristic of the solar power generation facility in Example 3. FIG.
Hereinafter, typical modes for carrying out the present invention will be described with reference to the drawings as appropriate. In these drawings, the same reference numerals are given to the same components in principle. In addition, by specifying that the components are the same, repeated descriptions will be omitted for repeated use.
A first embodiment will be described. In the first embodiment, a processing capacity analysis system that statistically analyzes the processing capacity of facilities such as production and inspection will be described as an example.
The system configuration of this embodiment will be described with reference to FIG. As shown in FIG. 1, the processing capacity analysis system includes a predictive sequential calculation device 11, a facility group 12, and a management terminal 13. The facility group 12 includes a plurality of facilities including a facility 1 (12A), a facility 2 (12B), and a facility 3 (12C). In this embodiment, one facility assumes a single process, but a plurality of processes may be processed. In the present embodiment, each of the prediction type sequential calculation device 11 and the management terminal 13 has one configuration, but there may be two or more each. For example, when there are a plurality of predictive sequential calculation devices 11, the facility group 12 may be divided into several groups, and the calculation may be shared in units of the groups. Alternatively, some of the second and subsequent prediction type sequential calculation devices 11 may be in a standby state, and may be operated in a coordinated manner in accordance with a failure or an increase in the amount of data.
Each component of the predictive sequential calculation device 11 and the facility group 12 is connected via a control network 14 constructed by Ethernet (registered trademark) or the like. The predictive sequential computation device 11 and the management terminal 13 are connected via a wide area network 15 constructed by Ethernet or the like.
Next, the basic processing flow of this embodiment will be briefly described. First, an outline of a flow from registration of calculation processing (referred to as a task in this embodiment) to start of execution will be described. Prior to the execution of the task, the management terminal 13 transmits a query describing analysis contents, real-time control (execution period, minimum time slice), etc. to the predictive sequential calculation device 11 via the wide area network 15.
The task content in this embodiment is an estimate of the processing capacity of the equipment. Specifically, the parameters (mixing rate, average and variance of each distribution) are calculated when the processing time of each equipment is applied with a mixed normal distribution. To do. The predictive sequential calculation apparatus 11 analyzes the received query, determines whether it can be executed, and generates / registers a task corresponding to the query if possible. In this embodiment, it is assumed that a separate task is registered for each facility. The registered task is periodically executed by the predictive sequential computation device 11 allocating time slices equal to or greater than the minimum time slice specified by the query. In addition, since the data has not come from each installation of the installation group 12 at the time of starting execution, a process is complete | finished immediately.
Next, an outline of the flow of task execution will be described. Each facility in the facility group 12 transmits, via the control network 14, the actual value of the processing time required for the process performed by the facility to the predictive sequential calculation device 11 as needed. When the task execution timing comes, the predictive sequential calculation apparatus 11 first uses the prediction model to predict the processing time required for task execution using the data transmitted so far as the input data of the task. As a result, if the predicted processing time is less than or equal to the time slice given to the task, the task is executed. If not, (1) process to enlarge time slice, (2) process to thin out task input or process contents to make predicted processing time less than time slice, execute task, and increase processing capacity of said equipment A parameter to be expressed (a parameter when processing time is applied by a mixed normal distribution) is calculated.
The result is transmitted as output data to each facility in the facility group 12 or to a facility that supervises a plurality of facilities. As a result, each facility in the facility group 12 can perform optimal control by utilizing the received processing capacity parameter.
Next, an outline of the flow of updating the prediction model will be described. During the time when the task is not executed, a calculation is performed by increasing or decreasing the amount of input data or the number of iterations of a series of steps in the EM algorithm or the like. Then, the prediction model is updated based on the time taken to execute the calculation. That is, it learns the parameters of a statistical model that takes the amount of data and the number of iterations as input and outputs the processing time. As a result, the processing time can be correctly predicted even if there is a change in model properties, an increase in equipment, or an increase in data due to a reduction in the data transmission cycle.
The functional configuration will be described with reference to FIG. The predictive sequential calculation apparatus 11 includes a stream management unit 2111, a planning unit 212, an execution unit 213, an adjustment unit 214, a data management unit 215, a query analysis unit 216, and a monitoring unit 217. Each facility in the facility group 12 includes a control unit 221. The management terminal 13 includes an input unit 231 and a display unit 232.
<Function and hardware>
Next, the correspondence between the functions and hardware will be described with reference to FIGS. 2, 3, 4, and 5.
The stream management unit 211, the planning unit 212, the execution unit 213, the adjustment unit 214, the data management unit 215, the query analysis unit 216, and the monitoring unit 217 constituting the predictive sequential computation device 11 are stored in a CPU (Central Processing Unit) 301 as a memory. 302, or a program stored in the external storage device 303 is read into a RAM (Read Access Memory) area of the memory 302, an equipment communication I / F (Interface) 304 connected to the control network 14, and a management connected to the wide area network 15. This is realized by controlling the terminal communication I / F 305, the mouse 306, the keyboard 307, and the display 308.
The control unit 221 configuring each facility of the facility group 11 reads a program stored in the memory 402 or the external storage device 403 into the RAM area of the memory 402 by the CPU 401 and connects to the control network 14 with the facility communication I / F 404. And it implement | achieves by controlling the sensor 405 and the actuator 405 according to the processing content of each installation.
The input unit 231 and the display unit 232 constituting the management terminal 13 are configured such that the CPU 501 reads the program stored in the memory 502 or the external storage device 503 into the RAM area of the memory 502 and manages the management terminal communication I / O connected to the wide area network 15. This is realized by controlling F504, the mouse 505, the keyboard 506, and the display 507.
The task data 2D01 managed by the data management unit 215 will be described with reference to FIG. The task data 20D1 represents a task generated from the query transmitted from the management terminal. The task data 20D1 includes a task ID 2D011 for identifying the task, a task execution binary 2D012, the task execution order, and an additional time slice assignment. It has a static priority 2D013, a dynamic priority 2D014, and a priority 2D015 used for determination. Here, the task ID 2D011 is numbered by the data management unit when a task is generated from the query and registered in the data management unit 215. The dynamic priority 2D014 is set to an initial value (10) at the time of generation, and is changed by a procedure described later. The priority 2D015 is changed as the dynamic priority 2D014 is changed.
The prediction model for predicting the task processing time and the prediction model data 2D02 managed by the data management unit 215 will be described with reference to FIG.
In this embodiment, linear regression is performed on a basis function having as input a quantity x1 representing the scale of input data such that the task prediction is expressed by Equation 1 and a quantity x2 representing the scale of the number of iterations in a calculation such as an EM algorithm. Do by model. Here, ak (k is 0, 1,..., N) in Equation 1 is a parameter representing the weight of each basis function. The prediction model data 2D02 represents a basis function and parameters of each task, and includes a task ID 2D021, a processing time prediction model ID 2D022 for identifying a basis function, a processing time prediction basis function 2D023 representing a binary of the basis function, A processing time prediction parameter 2D024 representing weighting of the basis function is provided. For example, when prediction is performed using a quadratic polynomial for x1 and x2, the basis function is expressed by Equation 6, and the processing time prediction basis function 2D023 registers binary data of a program for calculating this basis function.
In this embodiment, the processing time prediction is a linear regression model, but another model may be used. In the above, an example in which the basis function receives two inputs is shown. However, if one does not depend on the data amount or there is no iterative calculation, either one may be received.
The convergence number prediction model used when determining the number of iterations and the convergence number prediction model data 2D03 managed by the data management unit 215 will be described with reference to FIGS.
As described above, when the time slice allocated for the predicted processing time is insufficient, data or calculation is thinned out. Here, thinning is a process for reducing the amount of input data and a process for reducing the number of repeated calculations. If both processes are performed, the accuracy of calculation results may be degraded. In addition, if only one of them is reduced drastically, the accuracy may deteriorate rapidly. In contrast, in this embodiment, as will be described in detail later, the maximum amount of data is used within the convergence range. In order to realize this processing, in this embodiment, the number of convergences is predicted using a linear regression model for a basis function having the input data scale x1 as input, as shown in equation (2).
Here, bk (k is 0, 1,..., N) in Equation 1 is a parameter representing the weight of each basis function. The convergence number prediction model data 2D03 includes a task ID 2D031, a convergence number prediction model ID 2D032, a convergence number prediction basis function 2D033, and a convergence number prediction parameter 2D034. For example, when the prediction is performed with a quadratic polynomial for x1, the basis function is expressed by Equation 7, and the processing time prediction basis function 2D023 registers the binary data of the program for calculating this basis function.
In this embodiment, the processing time prediction is a linear regression model, but another model may be used. For example, when following past changes, an autoregressive model or the like can be used.
The query 2M01 will be described with reference to FIG. The query 2M01 is data such as calculation contents and real-time constraints transmitted from the management terminal 13 to the predictive sequential calculation device 11, and includes an execution cycle 2M011, a minimum time slice 2M012, a processing time prediction logic 2M013, and a calculation logic. 2M014, sampling logic 2M015, and data analysis logic 2M016. Here, the minimum time slice is information indicating the lower limit of the time slice allocated per execution cycle 2M011 requested by the query. If there is an additional time slice to be allocated by the predictive sequential calculation device 11, a time slice obtained by adding the time slice to the minimum time slice is a time that can be spent until the processing is completed in a certain execution cycle. As will be described later, when the processing is completed halfway, the allocated time is used for another purpose.
For example, if the execution cycle is 10,000 milliseconds and a time slice is provided for a minimum of 500 milliseconds, 10000 is set in the execution cycle 2M011, and 500 is set in the minimum time slice 2M012. Specifically, the processing time prediction logic 2M015 is data representing a basis function set in the processing time prediction model data 2D02. The execution cycle 2M011 is a multiple of a cycle defined later. Moreover, if a parameter with high prediction accuracy is known in advance, it may be given together as an initial value, or may be updated in the middle. The calculation logic 2M014 is a process for converting input data into output data, and in this embodiment, calculation of parameters (mixing rate, average and variance of each distribution) when the processing time of each facility is applied with a mixed normal distribution. It is processing. It is assumed that logic for determining convergence is incorporated in this logic. For example, when the fitting is performed by the EM algorithm, a condition that the log likelihood is less than 0.01 after the nth iteration calculation and after the (n-1) th iteration calculation is incorporated. The sampling logic 2M015 is, specifically, data representing logic for extracting M data from N data, and is, for example, logic for extracting M data by restoration extraction or logic for extracting M data from the latest data. This logic can be used not only when M is smaller than N but also when M is larger than M. The above is an example of a query in the present embodiment. Naturally, the period, time slice, and logic can be freely changed according to the calculation contents. The data analysis logic 2M016 analyzes the number and size of the input stream and calculates the amount of data.
The input stream 2M02 will be described with reference to FIG. The input stream 2M02 is input data of the task transmitted from each facility of the facility group 12 to the predictive sequential calculation apparatus 11, and includes an facility ID 2M021 and a processing time 2M022. For example, when it takes 37 seconds for the facility 1 to process the object, data such as {facility 1, 37} is transmitted.
The output stream 2M03 will be described with reference to FIG. The output stream 2M03 is output data of the task transmitted from the predictive sequential calculation device 11 to each facility in the facility group 12, and includes an facility ID 2M031, a cluster ID 2M032, a mixing rate 2M033, an average 2M034, and a variance 2M035. Is provided. For example, when the processing time of the process of the equipment 2 is applied to a mixed normal distribution having three normal distributions, {equipment 2, cluster 0, 0.2, 24.1, 13.9}, {equipment 2, cluster 1, 0.5, 31.3, 19.2}, {facility 2, cluster 2, 0.3, 44.2, 20.2} and other data groups are transmitted.
The monitoring data 2M04 will be described using FIG. The monitoring data 2M04 is data representing the execution state of the task transmitted from the predictive sequential calculation device 11 to the management terminal 13, and includes a task ID 2M041, an execution time 2M042, an input data amount 2M043, a thinning number 2M044, Additional allocation time 2M045 is provided.
An outline of processing by the predictive sequential calculation apparatus 11 will be described with reference to FIG. Note that the predictive sequential computation device 11 starts various processes starting from an interruption by a cycle timer (100 milliseconds or the like). Here, the time from an interrupt at a certain time to an interrupt at the next time is called a cycle in this embodiment. In describing the outline of processing, it is assumed that the predictive sequential calculation apparatus 11 has already received a query from the management terminal 13 and has registered a task. Hereinafter, processing immediately after interruption by the periodic timer will be described.
First, the planning unit 212 of the predictive sequential calculation apparatus 11 acquires an input stream 2M02 related to a task whose execution is started from this cycle received from each facility of the facility group 12 from the stream management unit 211. Then, the predicted processing time of the task is calculated based on the acquired input stream and the processing time prediction model data 2D02 (step S101).
Next, the planning unit 212 of the predictive sequential calculation apparatus 11 assigns the time slice requested by the query for the task whose execution starts from this cycle. Then, it is checked whether the predicted processing time does not exceed the allocated time slice. If so, an additional time slice is allocated based on the task priority (step S102).
Next, the planning unit 212 of the predictive sequential calculation apparatus 11 checks again whether the predicted slice processing time has been exceeded for the task. If so, the task input stream 2M02 and the number of iterations are reduced so that the maximum amount of data can be used within the convergence range based on the processing time prediction model data 2D02 (step S103). ).
Next, the execution unit 213 of the predictive sequential calculation apparatus 11 checks whether there is a task to be executed at the current time (that is, checks whether there is an idle time). If there is a task to be executed, the process proceeds to step S105. Otherwise, the process proceeds to step S106 (step S104).
If there is a task to be executed in step S104, the execution unit 213 of the predictive sequential calculation device 11 sets the one-shot timer so that an interrupt is inserted ahead of the time slice of the task, and executes the task. . As a result, after the lapse of the allocated time slice, the task loses the execution right and the process proceeds to step S110. Since it is necessary in the subsequent step (step S109), the input stream is stored immediately before the next processing. Further, the execution state is transmitted to the monitoring 217 (step S105).
If there is no task to be executed in step S104, the planning unit 213 of the predictive sequential calculation device 11 sets a one-shot timer so that an interrupt is inserted ahead of the idle time. Then, it is checked whether a new query has arrived at the query analysis unit 216. If there is a new query, the process proceeds to step S107. Otherwise, the process proceeds to step S109 (step S106).
When there is a new query in step S106, the query analysis unit 216 of the predictive sequential computation device 11 analyzes the query, confirms that the query has a prescribed format, and does not collide with a registered task. And that the sum of the minimum time slices is a specified value (for example, 500 milliseconds or less) is checked (step S107).
Subsequently, the data management unit 215 of the predictive sequential calculation apparatus 11 generates and registers new task data 2D01 from the query that has passed all the checks, and moves the process to step S110 (step S108).
When there is no new query in step S106, the adjustment unit 214 of the predictive sequential computation device 11 selects one task based on the task priority. Then, a task (referred to as a tuning task) in which the number of iterations has been changed is executed using data obtained by increasing or decreasing the amount of past data as input. Furthermore, the model data of the processing time and the number of times of convergence are updated, the dynamic priority and priority are calculated based on the prediction error, each data managed by the data management unit 215 is updated, and the process proceeds to step S110 (step S110). S109).
Note that when a timer interrupt occurs during the processing of step S107, step S108, and step S109, the processing is immediately interrupted, and the processing proceeds to step S110. Similarly, if there are interrupted processes, they are restored and the process is continued.
Next, the execution part 213 of the prediction type sequential calculation apparatus 11 will transfer a process to step S104, if the interruption by a period timer is not detected. Otherwise, the process proceeds to step S111 (step S110).
In step S110, when the interruption by the periodic timer is detected, the execution unit 213 of the predictive sequential calculation device 11 checks whether an end command from an input device such as a keyboard is detected. If an end command is detected, this flow ends. Otherwise, the process is executed again from step S101 (step S111).
In the above description, the idle time is used for query processing or active tuning. However, the idle time may be used for executing a task for which other real-time constraints are not imposed.
The flow of processing time prediction (step S101) will be described in detail with reference to FIG. Since one task corresponds to one facility as described above, the planning unit 212 of the predictive sequential calculation apparatus 11 first classifies the data of the input stream 2M02 for each facility. Then, the number of input streams for each facility is calculated. In this embodiment, the amount of data is the number of input streams. For example, if the input stream is variable-length data, pre-processing such as decomposing it into smaller units or parsing it May be performed. If the actual size of data, rather than the number of data items, greatly affects the processing time, the number of data items may not be calculated and may be simply the data size (step S201).
Next, the planning unit 212 of the predictive sequential calculation device 11 receives the number of data calculated in the previous step as an input, and sums the products of the basis functions and parameters defined in the processing time prediction model data 2D02, that is, weights. The processing time is predicted as a linear sum, and this processing flow ends (step S202).
The flow of time slice determination (step S102) will be described in detail with reference to FIG. Since the task has an execution cycle 2M011 that is N times the cycle as described above, the planning unit 212 of the predictive sequential calculation apparatus 11 pre-empts each task with the time of the minimum time slice 2M012 ÷ N in one cycle. Allocate the time required as a time slice. Next, it is checked whether the time slice assigned to each task exceeds the predicted processing time. That is, a value (difference) obtained by subtracting the time slice from the predicted processing time is calculated, and a task whose result is negative is extracted (step S301).
Next, an idle time is assigned as an additional time slice to the task whose result is negative in the previous step, and this processing flow ends. At this time, when there are a plurality of negative tasks, necessary time slices are assigned in order from the task with the highest priority. If the priorities collide, the task with the closest deadline (remaining processing time) is given priority. The priority determination method will be described in detail later. Other time slice allocation techniques, such as late monotonic or prioritized queues may be used (step S302). Here, how to extract a task having a deadline (remaining processing time) is determined from the execution time. That is, a task whose deadline is closer (closer) is extracted as a task with a closer deadline.
In this embodiment, time management for keeping the real-time constraint is performed for each cycle (for example, the minimum time slice is divided by N). In this way, the process can be simplified. When the real-time constraint is observed in each cycle in this way, the real-time property is also observed as an execution cycle that is the sum of the cycles.
The flow of thinning (step S103) will be described in detail with reference to FIG.
In the present embodiment, the maximum input stream is used in a range (region (1)) in which the calculation as shown in FIG. 19A (a diagram showing the minimum convergence frequency function) converges. Therefore, as a result of the time slice determination, if there is still a task in which the difference between the predicted processing time and the time slice is negative, the amount of data that gives the solution to the optimization problem as shown in Equation 3 and the number of iterations And
That is, as shown in FIG. 19B (a diagram of a function relating the number of input data, the number of iterations, and the convergence time), the intersection of the time slice (T (A)) and g (x1) is selected. Here, the time slice or less means a region where the time constraint can be strictly observed (range (1)), and the time slice or more means a region where the time constraint cannot be strictly observed (range (2)). Here, X (A) on the axis indicating the input data amount in FIG.19 (B) indicates the maximum input stream in the convergence range.
Specifically, the planning unit 212 of the predictive sequential calculation apparatus 11 determines based on the following procedure.
First, the amount of data is set in a temporary variable x1 representing the amount (step S401).
Next, based on the convergence number prediction model data 2D03, the predicted convergence number (g (x1)) at -x1, that is, the number of iterations that are considered necessary for convergence is calculated (step S402).
Next, the processing time (f (x1, g (x1)) for x1 and -g (x1) is calculated based on the processing time prediction model data 2D02 (step S403).
Next, it is checked whether the processing time is equal to or longer than the time slice. If x1 is equal to or greater than the time slice, the process proceeds to step S405. Otherwise, the process flow ends (step S404).
In step S404, if the time slice is equal to or greater than the time slice, a minute value, for example, 1 is subtracted from x1, and the process proceeds to step S402 (step S405).
In the present embodiment, an example has been described in which two methods of increasing time slices and thinning out calculation processing are used together in order to comply with real-time constraints. However, these methods do not necessarily have to be used in combination, and the effect of the present invention can be obtained only by implementing either one. For example, when only thinning is performed without increasing the time slice, S103 in FIG. 13 may be performed without performing S302 after performing S301 in FIG. If only time slicing is performed without thinning out, S104 may be performed after S102 in FIG. 13 without performing S103.
In this embodiment, thinning is performed so that as much data as possible is used in a category that satisfies the convergence criterion defined for each task. At that time, by modeling the minimum number of convergence judgments for the data amount, the optimization problem related to one variable (data amount) is finally reduced. Therefore, the calculation for determining an additional time slice in consideration of the processing time has only to input this one variable, and the processing becomes simple.
The flow of active tuning (step S109) will be described in detail with reference to FIG.
First, prior to processing, the adjustment unit 214 of the predictive sequential calculation apparatus 11 manages tasks in three stages of queues (high level queue, medium level queue, and low level queue) divided according to the priority 2D015. . Then, one task at the head of the high-level queue at the start of this process is selected (step S501).
Next, a past input stream of the selected task is acquired. Then, the data amount is randomly increased or decreased with respect to the past input stream by using the sampling logic 2M015. Furthermore, the number of iterations is also randomly changed. Note that although random in this embodiment, the amount of data and the number of iterations may be changed based on a specific distribution (step S502).
Next, the amount of data and the predicted processing time in the number of iterations are calculated based on the processing time prediction model data 2D02 (step S503).
Next, a task (tuning task) in which the amount of data and the number of repeated calculations are changed is executed. At the time of execution, the number of times is stored when it is found that it has converged by iterative calculation (step S504).
Next, the parameter of Formula 1 is updated based on the stochastic gradient descent method using the amount of data, the number of iterations, and the processing time taken for execution. Note that another method may be used for the update (step S505).
Next, if the number of times the iterative calculation has converged in step S504 is stored, the parameter of Equation 2 is updated based on the stochastic gradient descent method using the amount of data and the number of times. Note that another method may be used for the update (step S506).
Next, the dynamic priority is calculated. The dynamic priority in the present embodiment is based on the uncertainty of prediction and is defined as Equation 4.
That is, a value obtained by multiplying the square error between the predicted processing time and the actual processing time by a constant and converting it to an integer by the floor function is calculated as the dynamic priority (the maximum dynamic priority is the upper limit). Here, in this embodiment, the time is calculated in milliseconds, and K is set to 0.0001. The maximum priority is 20. Further, the priority is calculated by adding the static priority determined in advance for each task. Finally, the corresponding column of the task data 2D01 is updated with the calculated dynamic priority and priority, and this processing flow ends (step S507).
A method of displaying the monitoring result by the management terminal 13 will be described with reference to FIG. It is assumed that the monitoring unit 217 of the sequential calculation device 11 transmits monitoring data 2M04 to the display unit 232 of the management terminal 13 in accordance with the execution of the task.
The monitoring screen G100 displayed on the display unit 232 of the management terminal 13 includes a task ID input box G101, a display button G102, an execution time display graph G103, an input amount display graph G104, and an adjustment amount display graph G105.
The user can select a task to be displayed by inputting a task ID into the task ID input box G101 via the input unit 231 and pressing a display button G102. When a task is selected, the execution time display graph G103 shows the time transition of the execution time 2M042 of the monitoring data 2M04, the input amount display graph G104 shows the time transition of the input stream amount 2M043 of the monitoring data 2M04, and the adjustment amount display graph G105. The monitoring data 2M04 thinning-out amount 2M044 and the additional allocation time 2M045 of the monitoring data 2M04 are displayed. In the adjustment amount display graph G105, the thinning amount can be displayed or an additional time slice time can be selected by a tab on the upper side. Using this information, the user can review allocation resources and real-time constraints by monitoring changes in execution time, input stream changes, thinning and additional time allocation.
<Supplementary effects>
As described above, according to the present embodiment, the amount of data and the number of iterative calculations can be controlled based on the calculation processing time according to the time slice assigned to the calculation, so that the processing time starts to increase. Calculations can be performed while maintaining real-time constraints, including transition periods.
Further, according to the present embodiment, since the model is updated (active tuning) using the data at the time of execution, it is possible to predict the processing time according to the quantitative and qualitative change of the data after introduction. Also, if the model is updated simply by using the data at the time of execution, if the data at the time of execution is used as it is, as shown in FIG. 20 (A), the accuracy is improved only for the normal input range (range (A)). Although it can be a prediction model that is high and is otherwise low in accuracy, according to the present embodiment, the model is updated using the execution result of the task in which the amount of data or the number of iterations is changed. As shown, it is possible to update the model in the amount of data that cannot be obtained in normal times and the number of iterations, and it is possible to predict with high accuracy even in an emergency in which data increases or properties change. Here, the range (B) in the figure indicates the range input in the active tuning of this embodiment.
In addition, according to the present embodiment, when reducing the amount of data and the number of iterations, the one is not extremely reduced, but within a range in which a predetermined convergence criterion is satisfied. Since the maximum data is used, the calculation accuracy can be prevented from deteriorating.
Further, according to the present embodiment, when determining the thinning amount of the data amount and the number of iterations, the number of iterations for the amount is modeled, and the two-variable optimization problem is converted into the one-variable optimization problem. Therefore, the time required to determine the time slice can be shortened, and more time can be spent on tasks, active tuning, and the like. As a result, the calculation can be performed without unnecessarily thinning out the task, and the accuracy of the calculation result can be improved.
In addition, according to the present embodiment, when the minimum time slice requested by the query cannot be guaranteed, the task is not generated / registered. Can be prevented.
Also, according to the present embodiment, time slice allocation and thinning status can be monitored, so that the user can easily review resource allocation.
A second embodiment will be described. In the second embodiment, a power energy management system that estimates the state of the power system will be described as an example.
The system configuration of this embodiment will be described with reference to FIG. As shown in FIG. 21, the power energy management system includes a predictive sequential calculation device 21, a system management server 22, a substation facility 22a, a switch 22b, a load facility 22c, a power generation facility 22d, and a power measurement facility 22e. A management terminal 23 and a regional management server 24. Here, the load facility 22c indicates, for example, power transmission to a low voltage system, demand facilities such as a building or a factory. The power generation equipment is a power generator such as a solar power generation facility, a factory, or a railway. The facility may include a power storage facility.
The substation facility 22a, the switch 22b, the load facility 22c, and the power generation facility 22d are connected by a transmission line 22f. The power measurement facility 22e measures the state of the connection facility via a dedicated line. The predictive sequential calculation device 21, the system management server 22, and the power measurement facility 22e are connected via a control network 26 constructed by Ethernet or the like. The predictive sequential computation device 21, the system management server 22, the management terminal 23, and the regional management server 24 are connected via a wide area network 27 constructed by Ethernet or the like.
The predictive sequential calculation device 21 and the system management server 22 may be the same, or there may be a plurality of predictive sequential calculation devices 21.
<Overall Description of Example 2>
Next, the basic operation of the power equipment will be described. The electric power output from the substation facility 22a is sent to the load facility 22c via a system including the transmission line 22f and the switch 22b, and is consumed according to the load of the load facility 22c. Further, the power generation facility 22d sends power to the system in the same manner as the substation facility 22a. At that time, the power is stabilized in cooperation with the system management server 22, the substation equipment 22a, the switch 22b, the power generation equipment 22d, and other power guarantee equipment so that the power does not become unstable.
Next, the basic role of the predictive sequential computation device 21 in this embodiment will be described. The predictive sequential calculation device 21 performs state processing and abnormality / abnormality trend detection by calculating the measurement value of the measurement facility 22e, and transmits the result to the system management server 22 and the regional management server 24. In the present embodiment, an example of processing in state estimation is shown. Here, the states in the system are power, phase, voltage, and the like. This state is measured by measuring equipment 22e attached to each substation equipment 22a and switch 22b. The measurement value measured by the measurement facility 22e may not be accurate due to an error or a communication network abnormality. In addition, there are cases where it is desired to know the state of the place where the measuring facility 22e is not present. Therefore, the most likely state is estimated from the measured state of each place. This is called state estimation. As will be described later, since the result of the state estimation may be used for the control of the switch 22b and the like, real-time restrictions are imposed on the state estimation.
Next, the calculation contents of the state estimation and the thinning method will be described. The state estimation is generally calculated using all the states of a plurality of equipment units (referred to as areas). At that time, the estimation is performed by solving simultaneous equations for state estimation relating to the circuit obtained from the system and further performing processing such as removal of outliers called bad data. Therefore, the processing time may actually vary depending on the instability of the state. Generally, simultaneous equations are derived and solved for the entire area, but by dividing the area into a plurality of sub-areas, it can be replaced with a problem of solving simultaneous equations for a plurality of small circuits. That is, the calculation amount can be reduced instead of reducing the estimation accuracy. In the present embodiment, this is used as a thinning means.
Next, the characteristics of state estimation in the event of an abnormality such as a lightning strike or system failure, and assumptions in this embodiment will be described. For example, the state is estimated at a cycle of once every 5 seconds. However, when an abnormality occurs, it is required to perform state estimation at a high frequency such as once per second in the area where the abnormality has occurred. Therefore, in the present embodiment, a situation is assumed in which a query in which the execution cycle of an area having an abnormality is short and a query with a short minimum time slice is issued in other areas.
Next, the basic processing flow of this embodiment will be briefly described. First, the flow of task generation and registration will be described prior to the calculation of state estimation (this is called a task in this embodiment). The management terminal 23 transmits a query describing the state estimation processing content, real-time constraints, and the like to the predictive sequential calculation device 21 via the wide area network 27. The predictive sequential computation device 21 analyzes the received query, determines whether it can be executed, and generates / registers a task corresponding to the query if possible. The registered task is periodically executed by allocating time slices equal to or greater than the minimum time slice specified by the query by the predictive sequential calculation device 21.
Next, the flow of task execution will be described. The measurement facility 22e transmits the measurement value as needed to the predictive sequential calculation device 21 via the control network 26. When the task execution timing comes, the predictive sequential calculation device 21 first uses the prediction model to predict the processing time required for task execution using the data transmitted so far as the task input data. As a result, if the predicted processing time is less than or equal to the time slice given to the task, the task is executed. Otherwise, (1) the process of enlarging the time slice and / or (2) the process of thinning out the calculation contents are performed to make the prediction processing time less than the time slice. Then, the task is executed, and the estimated state value is calculated. This is transmitted as output data to the system management server 22 and the regional management server 24. In these processes, the task is executed with priority given from the measurement equipment 22e based on the alarm data.
Next, the flow of utilization of the state estimated value by the system management server 22 will be described. When the state is unstable, the system management server 22 controls each facility so that the power failure range is minimized. In addition, the future is predicted based on the estimated value of the state (current state) and notified to the substation equipment or the like. Equipment such as a substation is controlled based on the notified information. Further, when there is equipment that can be directly operated by the system management server 22, the demand or the power generation amount is controlled.
Next, the flow of use of the estimated state value by the area management server 24 will be described. When the power is insufficient, the area management server 24 requests the user to suppress power use, start up the generator, or the like. If the power is excessively supplied, request the generator to be stopped.
The functional configuration will be described with reference to FIG. The predictive sequential calculation apparatus 21 includes a stream management unit 2111, a planning unit 2212, an execution unit 2213, an adjustment unit 2214, a data management unit 2215, a query analysis unit 2216, and a monitoring unit 2217. The measurement facility 22e includes a measurement unit 2221. The system management server 22 includes a system management unit 2222. The management terminal 23 includes an input unit 2231 and a display unit 2232. The regional management server 24 includes a regional management unit 2241.
Next, the correspondence between the functions and the hardware will be described with reference to FIG. 22, FIG. 23, FIG. 24, FIG. 25, and FIG.
The stream management unit 2111, the planning unit 2212, the execution unit 2213, the adjustment unit 2214, the data management unit 2215, the query analysis unit 2216, and the monitoring unit 2217 constituting the prediction type computing device 12 are stored in the memory 2302 or the external storage device 2303 by the CPU 2301. The stored program is read into the RAM area of the memory 2302, the equipment communication I / F 2304 connected to the control network 26, the management terminal communication I / F 2305 connected to the wide area network 27, the mouse 2306, the keyboard 2307, and the display 2308. It is realized by controlling.
In the system management unit 2222 constituting the system management server 22, the CPU 2401 reads the program stored in the memory 2402 or the external storage device 2403 into the RAM area of the memory 2402, the equipment communication I / F 2404 connected to the control network 26, the wide area This is realized by controlling the management terminal communication I / F 2405 connected to the network 27, the mouse 2406, the keyboard 2407, and the display 2408.
The input unit 2231 and the display unit 2232 constituting the management terminal 23 read the program stored in the memory 2502 or the external storage device 2503 into the RAM area of the memory 2502 by the CPU 2501 and communicate with the management terminal communication I / O connected to the wide area network 27. This is realized by controlling the F2504, the mouse 2505, the keyboard 2506, and the display 2507.
The regional management unit 2241 constituting the regional management system 24 reads a program stored in the memory 2602 or the external storage device 2603 into the RAM area of the memory 2602 by the CPU 2601, and the management terminal communication I / F 2604 connected to the wide area network 27. It is realized by controlling the mouse 2605, the keyboard 2606, and the display 2607.
Next, the data structure will be described. The task data 22D01 is the task data 2D01 of the first embodiment, the processing time prediction model data 22D02 is the processing time prediction model data 2D02 of the first embodiment, the convergence number prediction model data 22D03 is the convergence number prediction model data 2D02 of the first embodiment, The query 22M01 has the same structure as the query 2M01 of the first embodiment, and the monitoring data 22M04 has the same structure as the monitoring data 2M04 of the first embodiment, so that the description thereof is omitted.
The facility data 22D04 managed by the data management unit 2215 will be described with reference to FIG. The facility data 22D04 represents the parameters of each facility necessary for state estimation, and includes a facility ID 2D031 for identifying the facility, a facility type 2D032 representing the type of facility, and a facility parameter 2D033. For example, in the case of a power transmission line, the equipment type 2D032 becomes “power transmission line”, and the equipment parameter 2D033 becomes the admittance of the power transmission line. In the case of a load facility, the facility type 2D032 is “load”, and the facility parameter is the “load value” of the facility. That is, the equipment parameter 2D032 is a set of parameters representing equipment characteristics according to the equipment type 2D033.
The system configuration data 22D05 managed by the data management unit 2215 will be described with reference to FIG. The system configuration data 22D04 represents the configuration of the system necessary for state estimation, and includes a start point facility ID 2D031 and an end point facility ID 2D032. For example, when a facility with facility ID = 10 is connected to a facility with facility ID = 101, the value is {10, 101}. This system configuration data 22D05 is used for generating an admittance matrix and the like together with the previous equipment data 22D04.
The input stream 22M02 will be described with reference to FIG. The input stream 22M02 is a measurement value of the state of various equipment transmitted from the measurement equipment 22e, and includes equipment ID 22M021, equipment type 22M022, active power 22M023, reactive power 22M024, phase 22M025, current 22M026, and voltage 22M027.
The output stream 22M03 will be described with reference to FIG. The output stream 22M03 is a state estimation value calculated by the predictive sequential calculation device 21, and includes an equipment ID 22M031, equipment type 22M032, active power 22M033, reactive power 22M034, phase 22M035, current 22M036, and voltage 22M037.
Next, the alarm data 22M05 will be described with reference to FIG. The alarm data 22M05 represents an abnormality in each facility, and includes an facility ID 22M051, an alarm ID 22M052, and a risk 22M053.
Next, the processing flow will be described. The overall processing flow is different in that the task is executed in units of areas including a plurality of facilities, but the processing content is the same as that in the first embodiment, and thus the description thereof is omitted. The task is executed with reference to the equipment data 22D04 and the system configuration data 22D05. In addition, since the processing flow relating to determination of time slice, prediction of processing time, and thinning is the same as that of the first embodiment, description thereof is omitted.
Next, the thinning process will be described. The processing flow of the thinning-out process is the same as that of the first embodiment, but the amount of data used in the calculation is constant as long as there is no loss due to the state estimation characteristics. Therefore, dividing the area into a plurality of sub-areas and calculating as described above is defined as thinning, and the reciprocal of the division number is defined as the amount of data. Note that the area division logic itself is incorporated in the calculation logic of the query 22M01.
The flow of active tuning will be described in detail with reference to FIG.
First, prior to processing, the adjustment unit 2214 of the predictive sequential computation device 21 manages tasks in three stages of queues (high level queue, medium level queue, and low level queue) divided according to the priority 2D015. . Then, one task at the head of the high-level queue at the start of this process is selected (step S2501).
Next, a past input stream of the selected task is acquired. Then, the amount is randomly increased or decreased with respect to the past input stream by using the sampling logic 2M015. Furthermore, the number of iterations is also randomly changed. Note that although random in this embodiment, the amount of data and the number of iterations may be changed based on a specific distribution (step S2502).
Next, the amount of data and the predicted processing time in the number of iterations are calculated based on the processing time prediction model data 2D02 (step S2503).
Next, a task (tuning task) in which the amount of data and the number of repeated calculations are changed is executed. At the time of execution, the number of times is stored when it is found that it has converged by iterative calculation (step S2504).
Next, the parameter of Formula 1 is updated based on the stochastic gradient descent method using the amount of data, the number of iterations, and the processing time taken for execution. Note that another method may be used for the update (step S2505).
Next, if the number of times the iterative calculation has converged in step S504 is stored, the parameter of Equation 2 is updated based on the stochastic gradient descent method using the amount of data and the number of times. Note that another method may be used for the update (step S2506).
Next, the dynamic priority is calculated. The dynamic priority in this embodiment is based on uncertainty and equipment abnormality, and is defined as Equation 5.
Here, the risk value is calculated based on the risk 22M053 of the alarm data 22M05, and is the maximum risk of the equipment in the area. Then, the priority is calculated by adding the static priority determined in advance for each task. Finally, the corresponding column of the task data 22D01 is updated with the calculated dynamic priority and priority, and this processing flow ends (step S2507).
As described above, the active tuning in the present embodiment is different from the first embodiment in that the priority is changed based on the abnormality of the equipment that is the object of calculation. In the present embodiment, priority is given only to the area where there is an abnormality in equipment, but adjacent areas may also be given priority. Further, when a related task, for example, an abnormal trend analysis calculation is executed in parallel, the task may be given priority.
In addition, since calculation resources related to the equipment having an abnormality are preferentially assigned with calculation resources, they can be executed without thinning out the amount of data and the calculation contents.
In addition, when an abnormality occurs, even if a time slice that is not enough for the task related to the part that is not related to the abnormality to be calculated completely is set, if there is enough computing resources, based on the predicted processing time and priority Since an additional time slice can be allocated, high accuracy can be maintained.
A third embodiment will be described. In the third embodiment, a power grid control system that calculates various characteristic models will be described as an example.
The system configuration of this embodiment will be described with reference to FIG. As shown in FIG. 31, the power grid control system includes a predictive calculation device 31 (a, b), a grid control server 32, a management terminal 33, a user terminal 34, a substation facility 32a, a load facility 32c, A power generation facility 32d and a distributed controller 32e are provided. Here, the load facility 32c is a facility of a customer such as a building or a factory, and a further low-voltage substation facility. The power generation facility 32d is a facility that generates power by sunlight or wind power, or generates power by a co-generator. Therefore, in reality, the load facility 32c and the power generation facility 32d may be provided in a certain factory.
The substation facility 32a, the load facility 32c, and the power generation facility 32d are connected by a power distribution facility 32b. Here, the power distribution facility 32b includes a power transmission line and a switch. The predictive sequential calculation device 31 (a, b), the grid control server 32, and the distributed controller e are connected via a control network 36. The predictive sequential calculation device 31 (a, b), the grid control server 32, the management terminal 33, and the user terminal 34 are connected via a wide area network 37.
Next, the role of the power grid control system in the present embodiment will be described. The power grid control system stabilizes the grid. For example, the facility is controlled so that the electric power generated by the power generation facility 32d does not flow beyond the allowable amount to a higher voltage system. Furthermore, when power is insufficient due to disasters or changes in weather, demand response that controls equipment on the customer's side so that the entire grid is not affected, and control and demand that match equipment characteristics for efficient operation Perform demand-side management to support efficient operation of home equipment.
Next, the basic processing flow of the power grid control system will be described. First, prior to processing, the management terminal 33 registers a query relating to identification calculation (referred to as a task) of a characteristic model relating to equipment or demand in the predictive sequential calculation device 32 (a, b). Specific examples of tasks will be described in detail later. The processing at the time of execution is as follows. First, the distributed controller 32e transmits operation result data of various facilities to the predictive sequential calculation device 31 (a, b). The predictive sequential calculation device 31 (a, b) executes a task using the operation result data, and transmits the result to the grid control server 32. The grid control server 32 determines an optimal control value for the facility and a request for the customer based on the analyzed characteristics. Then, the control value is transmitted to various facilities, and the request content is presented to the user terminal 34.
Next, a specific example of a task of the predictive sequential calculation device 31 (a, b) will be briefly described. For example, in the power generation of a co-generator, it is necessary to determine the output balance according to the fuel consumption characteristics of each power generation facility. Therefore, the output power with respect to the fuel injection amount per hour is regarded as a parabola, and a fuel consumption characteristic model is identified. As another example, when performing photovoltaic power generation, it is necessary to predict how much output is likely to be obtained. Therefore, the output power with respect to time is regarded as a linear regression model, and a power generation characteristic model is identified. As another example, when requesting suppression of electric power usage for a consumer, the commission performance of the restraining request for each consumer or a group of consumers is regarded as a binomial probability model, and the commission characteristic model is identified. Some of these characteristic models may be known as product specifications, but in actuality, they may deteriorate over time during use for many years, or may differ depending on the use environment. Therefore, as described above, it is necessary to identify from the actual value of the installed equipment. In the present embodiment, the above characteristic model is assumed. For example, in the power generation characteristics of photovoltaic power generation, a model that considers weather conditions (season, temperature, weather), etc. may be used. House characteristics (average power consumption, family structure), etc. may be taken into consideration. Moreover, although only the fuel consumption characteristics are targeted for the power generation equipment, other characteristics such as response characteristics to the control command may be targeted.
The functional configuration will be described with reference to FIG. The predictive calculation apparatus 31 includes a stream management unit 3111, a planning unit 3212, an execution unit 3213, an adjustment unit 3214, a data management unit 3215, a query analysis unit 3216, and a monitoring unit 3217. The distributed controller 32e includes a control unit 3221. A grid control unit 3222 is provided. The user terminal 34 includes an operation unit 3441.
Next, the correspondence between functions and hardware will be described. The hardware configuration of the predictive sequential computation device 31 (a, b) is shown in FIG. The stream management unit 3211, the planning unit 3212, the execution unit 3213, the adjustment unit 3214, the data management unit 3215, the query analysis unit 3216, and the monitoring unit 3217 constituting the predictive sequential calculation device 31 are the CPU 3301 in the memory 3302 or the external storage device 3303. Is read into the RAM area of the memory 3302, the equipment communication I / F 3304 connected to the control network 36, the management terminal communication I / F 3305 connected to the wide area network 37, the mouse 3306, the keyboard 3307, the display This is realized by controlling 3308.
The control unit 3221 constituting the distributed controller 32e is realized by the CPU reading the program stored in the memory or the external storage device into the RAM area of the memory and controlling the equipment communication connected to the control network 36.
The grid control unit 3222 constituting the grid control server 32 reads a program stored in a memory or an external storage device by a CPU into a RAM area of the memory, and communicates with equipment connected to a control network, and a management terminal connected to a wide area network. This is realized by controlling the communication I / F and the mouse, keyboard, and display.
An input unit and a display unit constituting the management terminal 33 are configured such that a CPU reads a program stored in a memory or an external storage device into a RAM area of the memory, a management terminal communication I / F connected to a wide area network, a mouse, This is achieved by controlling the keyboard and display.
The control unit 3411 configuring the user terminal 34 reads a program stored in a memory or an external storage device into a RAM area of the memory, a management terminal communication I / F connected to a wide area network, a mouse, a keyboard, This is achieved by controlling the display.
Next, the data structure will be described. The task data 32D01 is the task data 2D01 of the first embodiment, the processing time prediction model data 32D02 is the processing time prediction model data 2D02 of the first embodiment, the convergence number prediction model data 32D03 is the convergence number prediction model data 2D02 of the first embodiment, Since the query 32M01 has the same structure as the query 2M01 of the first embodiment and the monitoring data 22M04 has the same structure as the 2M04 of the first embodiment, the description thereof is omitted.
Next, the equipment parameter 32D04 managed by the data management unit 3215 will be described. The equipment parameters are atypical data representing models and initial values of the characteristics such as the fuel consumption characteristics of the co-generator, the power generation characteristics of the solar power generation equipment, and the commission characteristics for the control request. For example, in the case of a co-generator, a curve as shown in FIG. 38 may be known as the fuel consumption characteristic in the pre-shipment test. This is expressed by a second-order linear regression model of the input x1 with respect to the output x2 as shown in Equation 8 in consideration of easy identification.
In this case, the values of constant terms A, B, and C of Formula 8 are registered in the equipment parameter 32D04. As another example, as the power generation characteristics of the solar power generation facility, the power generation amount when installed in a similar place may be known as a curve as shown in FIG. As shown in Equation 9, as a linear regression model of the output x2 with respect to the input x1 based on the Gaussian function, the equipment parameters 32D04, the basis function parameters a, c, uk, and the weight coefficient ak for each basis function Register the value.
As another example, the trust property for the suppression request is, for example, whether customers are divided into groups in advance (this group is referred to as a customer group), and whether customers are randomly extracted from each group to respond to the suppression request. Take a questionnaire. Suppose that it represents the distribution of each consumer group as a whole. In this case, the facility parameter 32D04 registers the number of customers in the customer group corresponding to n and p representing the binomial distribution parameter expressed by Equation 10 for each customer group and the acceptance rate.
Next, the input stream 32M02 will be described. The input stream 32M02 is atypical data representing the operation results measured by the distributed controller 32e of various facilities. For example, in the case of a co-generator, the fuel per hour, the control command, the output power at that time, and the like.
Next, the output stream 32M03 will be described. The output stream 32M03 is atypical data representing model parameters obtained by identification calculation of characteristic models related to various facilities. For example, in the case of the fuel consumption characteristics of a co-generator, when modeled with a quadratic polynomial, the coefficient data is a constant term, a first term, and a second term.
The overall processing flow is shown using FIG. The processing flow is a processing flow in which a task movement S3101 is added between the time slice determination S102 and the thinning-out S103 in the processing flow in the first embodiment. The task calculation contents and task movement S3101 will be described later. In addition, the processing flow relating to processing time prediction, time slice determination, thinning-out, and active tuning processing is the same as that in the first embodiment, and thus the description thereof is omitted.
Next, the calculation contents of the task are shown. The task in this embodiment is identification of parameters of each characteristic model. For example, since the fuel consumption characteristics of the co-generator are expressed by a linear regression model, the parameters can be identified by the stochastic gradient descent method. Similarly, the parameters of the power generation characteristics of solar power generation facilities can be identified by the stochastic gradient descent method. The commission characteristics for customer restraint requests can be identified by the same method as that derived from the questionnaire described above. That is, the number of customers who actually requested suppression and the ratio of the number of customers who have been entrusted with the suppression request are calculated.
The processing flow of task migration S3101 will be described with reference to FIG. First, the planning unit 3212 of the predictive sequential calculation apparatus 31 calculates the sum of the differences (referred to as insufficient time) between the predicted processing time of each task and the actually assigned time slice (step S3201).
Next, if the shortage time is 0 or more, one task with a low priority is selected (called a moving task). Then, a movement preparation request regarding the movement task is issued to the other prediction type sequential calculation device 31. If a movement preparation request or a movement request has already been issued, the next processing is moved without being issued (step S3202).
Next, if a movement preparation request or a movement request has not been issued, it is confirmed whether a movement preparation request has been received from another predictive sequential calculation apparatus 31. If a movement preparation request has been received, it is confirmed whether the shortage time is 0 and a time slice can be assigned to the movement task of the movement preparation request. If the allocation is possible, a movement preparation completion notification is transmitted to the requesting prediction type sequential calculation apparatus 31. If no movement preparation request has been received, the process proceeds to the next process without doing anything (step S3203).
Next, if a movement preparation request has been issued and a movement preparation completion notification has been received from another predictive sequential calculation apparatus 31, a movement request is transmitted (step S3204).
Next, if a movement preparation request or a movement request has not been issued, it is confirmed whether or not a movement request has been received from another predictive sequential calculation apparatus 31. If a move request is received, the corresponding move task is executed. If the movement task has already been executed, a movement completion notification is transmitted to the request source (step S3205).
Next, if a movement request is issued and a movement completion notification is received from another prediction type sequential calculation device 31, an input stream from the distributed controller 32e is transmitted to the prediction type sequential calculation device 31 that is the request destination. The route change instruction is issued as follows. Then, the requested movement task is deleted, and the movement task and its movement destination are transmitted to the management terminal 33 (step S3206).
All the above processes are executed asynchronously so as not to block. When there is no response to the request for a certain time or when the completion notification is not obtained and the movement is impossible, the request is resubmitted to another prediction type sequential calculation apparatus 31 in the next processing flow.
A specific example of moving a task from the predictive sequential calculation apparatus 31a to the predictive sequential calculation apparatus 31b will be described. First, the predictive sequential calculation device 31a calculates a shortage time. As a result, if the shortage time is 0 or more, the predictive sequential calculation device 31a transmits a movement preparation request to the predictive sequential calculation device 31b. The predictive sequential calculation device 31b that has received the movement preparation request confirms that there is no shortage time and that a time slice can be assigned to the requested movement task, and predicts a movement preparation completion notification if it can be executed. Is transmitted to the type sequential calculation apparatus a. The prediction type sequential calculation device 31a that has received the completion notification transmits a movement request to the prediction type sequential calculation device 31b. On the other hand, the predictive sequential calculation device 31b executes a movement task. When the execution of the movement task can be confirmed, the prediction type sequential calculation device 31b transmits a movement completion notification to the prediction type sequential calculation device 31a. Receiving the completion notification, the predictive sequential calculation device 31a issues a path change instruction to the distributed controller 32e so that the input stream is transmitted to the predictive sequential calculation device 31b. Then, the movement task is deleted, and the movement result is reported to the management terminal 33.
In addition, if a time slice sufficient for the processing time prediction result cannot be allocated, the task can be moved to another prediction type sequential calculation device, so if there are multiple prediction type sequential calculation devices, the calculation is performed. The load distribution can be adjusted autonomously, and the calculation can be executed so that the entire system is not thinned out as much as possible. That is, even if the minimum time slice does not match the actual situation due to environmental changes, it is possible to reduce the deterioration of calculation accuracy. As a result, for example, control according to the characteristics of facilities and users is possible, and the accuracy of demand response and demand side management can be improved.
DESCRIPTION OF SYMBOLS 11 ... Prediction type computer, 12 ... Equipment group, 13 ... Management terminal, 14 ... Control network, 15 ... Wide area network, 211 ... Stream management part, 212 ... Plan 213 ... execution unit 214 ... adjustment unit 215 ... data management unit 216 ... query analysis unit 217 ... monitoring unit 221 ... control unit 231 ... Input unit, 232 ... display unit, 21 ... predictive computing device, 22 ... system management server, 23 ... management terminal, 24 ... regional management server, 26 ... control network, 27 ... Wide area network, 2211 ... Stream management part, 2212 ... Planning part, 2213 ... Execution part, 2214 ... Adjustment part, 2215 ... Data management part, 2216 ... Query analysis part , 2217 ..Monitoring unit, 2221 ... Measurement unit, 2231 ... Input unit, 2232 ... Display unit, 2222 ... System management unit, 2241 ... Regional management unit, 31a ... Predictive computing device 31b ... Predictive computing device, 32 ... Grid control server, 32e ... Distributed controller, 33 ... Management terminal, 34 ... User terminal, 36 ... Control network, 37 ... Wide area network, 3211 ... stream management unit, 3212 ... planning unit, 3213 ... execution unit, 3214 ... adjustment unit, 3215 ... data management unit, 3216 ... query analysis unit, 3217 .. Monitoring unit, 3221... Control unit, 3222... Grid control unit, 3231... Input unit, 3232.
A predictive sequential calculation method for sequentially calculating input data,
Receiving a minimum time slice indicating a processing completion time of the calculation;
Receiving a plurality of the input data;
Predicting a calculation processing time related to the input data based on a data amount of the received input data and a prediction model relating the data amount and the calculation processing time;
Comparing the predicted computation time with the accepted minimum time slice;
As a result of the comparison, when the calculation processing time exceeds the minimum time slice, the calculation is performed with a new time slice obtained by adding a predetermined time to the minimum time slice, or / and the data amount is decreased by a predetermined amount. Performing a calculation;
A predictive sequential calculation method characterized by comprising:
The predictive sequential calculation method according to claim 1,
In the step of performing the calculation by reducing the data amount by a predetermined amount,
The processing time for the data amount is calculated using a function that relates the calculation processing time, the data amount, and the number of iterations. If the calculation result exceeds the time slice, the data amount is reduced by a predetermined amount. When the calculation result falls below the time slice, the calculation is executed with the data amount after the change.
The predictive sequential calculation method according to claim 2,
The function that relates the calculation processing time, the data amount, and the number of iterations is provided with a function that reflects the variation in the number of iterations in the variation in the data amount, and only the data amount is input to the function. A predictive sequential calculation method, wherein the processing time is calculated.
The predictive sequential calculation method according to any one of claims 1 to 3,
In the step of performing the calculation in a new time slice obtained by adding a predetermined time to the minimum time slice,
A predictive sequential calculation method characterized by allocating an additional time slice in accordance with the priority given for each calculation, determining a new time slice, and executing the calculation.
The predictive sequential calculation method according to any one of claims 1 to 4,
The calculation is executed in a plurality of predictive sequential calculation devices,
When the calculation processing time exceeds the time slice, the calculation is performed by a prediction type sequential calculation device other than the prediction type sequential calculation device that has been determined to exceed the time slice.
The predictive sequential calculation method according to any one of claims 1 to 5,
A tuning step for modifying the prediction model;
The tuning step is characterized by correcting the prediction model by performing the same calculation as the input by inputting a value obtained by increasing or decreasing the amount of data or the number of iterations during the time when the calculation is not performed. Predictive sequential calculation method.
The predictive sequential calculation method according to claim 6,
The prediction model is provided for each calculation, and the tuning step is performed from a prediction model having a low prediction accuracy among the prediction models.
The predictive sequential calculation method according to any one of claims 1 to 7,
A predictive sequential calculation method characterized in that, when an abnormality occurs in a physical facility related to the input or output of the calculation, the calculation related to the apparatus in which the abnormality has occurred is preferentially executed.
The predictive sequential calculation method according to any one of claims 1 to 8,
Sends the amount of data used for the calculation or / and the thinning result to an external device other than the device performing the calculation, and displays the amount of data used for the calculation or / and the thinning result on the external device A predictive sequential calculation method, further comprising a display step.
A predictive sequential calculation device that sequentially calculates input data,
A minimum time slice indicating a processing completion time of the calculation, and a communication unit that receives a plurality of the input data;
Based on the data amount of the plurality of received input data, and a prediction model that associates the data amount with the calculation processing time, the calculation processing time for the input data is predicted, and the predicted calculation processing time and the Compared with the received minimum time slice, and if the result of the comparison is that the calculation processing time exceeds the minimum time slice, the calculation is performed with a new time slice obtained by adding a predetermined time to the minimum time slice, or / And a planning unit that plans execution so that the calculation is performed with the data amount reduced by a predetermined amount,
An execution unit for performing calculation based on the result planned by the planning unit;
A predictive sequential calculation apparatus comprising:
The predictive sequential calculation apparatus according to claim 10,
The planning unit calculates a processing time in the data amount using a function that relates the calculation processing time, the data amount, and the number of iterations, and if the calculation result exceeds the time slice, the data amount Is input to the function with a predetermined amount reduced, and when the calculation result falls below the time slice, it is planned to execute the calculation with the changed data amount. apparatus.
The predictive sequential calculation apparatus according to claim 11,
The function that relates the calculation processing time, the data amount, and the number of iterations is provided with a function that reflects the variation in the number of iterations in the variation in the data amount, and only the data amount is input to the function. A prediction type sequential calculation apparatus characterized in that the processing time is calculated.
The prediction type sequential calculation apparatus according to any one of claims 10 to 12,
The predicting sequential calculation apparatus, wherein the planning unit plans to execute a calculation by allocating an additional time slice in accordance with a priority given for each calculation, determining a new time slice.
The predictive sequential calculation apparatus according to any one of claims 10 to 13,
A tuning unit for correcting the prediction model;
The tuning unit corrects the prediction model by performing the same calculation as the input by inputting a value obtained by increasing or decreasing the amount of data or the number of repeated calculations during the time when the calculation is not performed. Predictive sequential computing device.
The predictive sequential calculation apparatus according to claim 14,
The prediction type sequential calculation apparatus according to any one of claims 10 to 15,
A prediction-type sequential calculation device characterized in that, when an abnormality occurs in a physical facility related to the input or output of the calculation, the calculation related to the device in which the abnormality has occurred is preferentially executed.
A prediction type sequential calculation system comprising the prediction type sequential calculation device according to any one of claims 10 to 16, and a display device,
The predictive sequential calculation system, wherein the display device receives an amount of data used for the calculation or / and a thinning result from the predictive sequential calculator and displays the received information.
There are a plurality of the predictive sequential calculation devices, and the calculation is executed by a plurality of predictive sequential calculation devices,
When the calculation processing time exceeds the time slice, the calculation is performed by a prediction type sequential calculation device other than the prediction type sequential calculation device which has been determined to exceed the time slice.
The predictive sequential calculation system according to claim 18,
The prediction type sequential calculation system, wherein the prediction type sequential calculation device and the display device are connected using a wide area network.
JP2013530861A 2011-08-26 2011-08-26 Predictive sequential computer Active JP5872561B2 (en)
PCT/JP2011/004750 WO2013030860A1 (en) 2011-08-26 2011-08-26 Predictive sequential calculation device
JPWO2013030860A1 true JPWO2013030860A1 (en) 2015-03-23
JP5872561B2 JP5872561B2 (en) 2016-03-01
ID=47755428
JP2013530861A Active JP5872561B2 (en) 2011-08-26 2011-08-26 Predictive sequential computer
US (1) US9483306B2 (en)
EP (1) EP2787438A4 (en)
JP (1) JP5872561B2 (en)
WO (1) WO2013030860A1 (en)
JP6369089B2 (en) * 2014-03-26 2018-08-08 セイコーエプソン株式会社 Information communication system, information processing apparatus, and information collection method
WO2016006254A1 (en) * 2014-07-11 2016-01-14 パナソニックＩｐマネジメント株式会社 Anti-risk preparation device, anti-risk preparation method, and anti-risk preparation system
JPH10149203A (en) * 1996-11-19 1998-06-02 Nippon Steel Corp Method and device for tuning physical model parameter
JPH1139173A (en) * 1997-07-18 1999-02-12 Fujitsu Ltd Data processor and recording medium
JPH11259433A (en) * 1998-03-09 1999-09-24 Fujitsu Ltd Parallel execution system
JP2010152738A (en) * 2008-12-25 2010-07-08 Internatl Business Mach Corp <Ibm> Device, program and method for method managing method
US20030200251A1 (en) * 2000-01-10 2003-10-23 Brent Krum Method for controlling the execution of an application program in a farm system
DE102007010127A1 (en) * 2006-03-22 2007-10-04 Mediatek Inc. Task execution control method for e.g. multimedia source encoding, channel encoding, and man-machine interfacing in streaming service system, by comparing priority of tasks and executing tasks according to priority
JP5540706B2 (en) 2007-12-18 2014-07-02 日本電気株式会社 Data stream processing system, method and program
JP5673841B2 (en) * 2011-09-21 2015-02-18 富士通株式会社 Data communication apparatus, data transmission method and computer system
2011-08-26 EP EP11871816.2A patent/EP2787438A4/en active Pending
2011-08-26 WO PCT/JP2011/004750 patent/WO2013030860A1/en active Application Filing
2011-08-26 JP JP2013530861A patent/JP5872561B2/en active Active
2011-08-26 US US14/237,312 patent/US9483306B2/en active Active
WO2013030860A1 (en) 2013-03-07
US20140189416A1 (en) 2014-07-03
EP2787438A1 (en) 2014-10-08
US9483306B2 (en) 2016-11-01
EP2787438A4 (en) 2016-06-29
JP5872561B2 (en) 2016-03-01
Mazo et al. 2011 Decentralized event-triggered control over wireless sensor/actuator networks
Caramanis et al. 1992 Perturbation analysis for the design of flexible manufacturing system flow controllers
Vinod et al. 2011 Simulation modeling and analysis of due-date assignment methods and scheduling decision rules in a dynamic job shop production system
US8155908B2 (en) 2012-04-10 Systems and methods for real-time system monitoring and predictive analysis
Tabuada 2007 Event-triggered real-time scheduling of stabilizing control tasks
JP2010277589A (en) 2010-12-09 Data center batch job quality of service control
Gan et al. 2013 Real-time deferrable load control: handling the uncertainties of renewable generation
CN103597707A (en) 2014-02-19 Distributed intelligence architecture with dynamic reverse/forward clouding
Srinivasan et al. 1996 Production-inventory systems with preventive maintenance
Irdem et al. 2010 An exploratory analysis of two iterative linear programming—simulation approaches for production planning
Balakrishna et al. 2010 Accuracy of reinforcement learning algorithms for predicting aircraft taxi-out times: A case-study of Tampa Bay departures
CN104471852B (en) 2017-12-12 Method, master controller and the computer-readable medium of multiterminal HVDC controls
CN103036974B (en) 2016-12-21 Cloud computing resource scheduling method based on hidden Markov model and system
El-Tantawy et al. 2010 An agent-based learning towards decentralized and coordinated traffic signal control
EP3018784A1 (en) 2016-05-11 Energy management server, energy management method, and program
US6473721B1 (en) 2002-10-29 Factory traffic monitoring and analysis apparatus and method
2016-01-22 R151 Written notification of patent or utility model registration
Ref document number: 5872561