Data processing apparatus having a parallel processing circuit including a plurality of processing modules, and method for controlling the same
AssigneeCanon Kabushiki Kaisha
InventorsHiroyasu Watanabe, Hirowo Inoue, Hisashi Ishikawa
Life of this patent
Estimating the term…
Abstract
In an apparatus which includes a plurality of processing modules connected via a ring-shape bus, if a plurality pieces of pipeline processing to be processed in a different order is allocated to a plurality of processing modules, the transfer efficiency may decrease when an amount of data transferred from one of the processing modules to a post-stage module exceeds a processing capacity of the post-stage module. Accordingly, a module positioned on the preceding side in the pipeline processing controls a transmission interval of processed data so that the post-stage module can receive the data processed by the preceding module.
Claims18
A control apparatus for controlling a data processing apparatus configured to cause a plurality of modules, which is communicably connected to one another, to perform pipeline processing on a packet storing data in a predetermined order, the control apparatus comprising:
- an estimation unit configured to identify a target module in a later stage of the pipeline processing among the plurality of modules in an order opposite to the predetermined order, and estimate a processing time for processing data of the target module;
- and
- a setting unit configured to set an output interval of a module positioned in a stage preceding the target module in the predetermined order based on the estimated processing time for processing data of the target module,
- wherein the setting unit is configured to set output intervals of all modules used for the pipeline processing in the order opposite to the predetermined order.
A control apparatus for controlling a data processing apparatus configured to cause a plurality of modules, which is communicably connected to one another, to perform pipeline processing on a packet storing data in a predetermined order, the control apparatus comprising:
- an estimation unit configured to identify a target module in a later stage of the pipeline processing among the plurality of modules in an order opposite to the predetermined order, and estimate a processing time for processing data of the target module;
- and
- a setting unit configured to set an output interval of a module positioned in a stage preceding the target module in the predetermined order based on the estimated processing time for processing data of the target module,
- wherein the setting unit is configured to set an output interval of a module positioned in a stage preceding the target module to be equal to or greater than a processing time of a module positioned in a stage preceding the target module in the pipeline processing, and
- wherein the setting unit is configured to set output intervals of all modules used for the pipeline processing in the order opposite to the predetermined order.
A control method for controlling a data processing apparatus configured to cause a plurality of modules, which is communicably connected to one another, to perform pipeline processing on a packet storing data in a predetermined order, the control method comprising:
- identifying a target module in a later stage of the pipeline processing among the plurality of modules in an order opposite to the predetermined order, and estimate a processing time for processing data of the target module;
- and
- setting an output interval of a module positioned in a stage preceding the target module in the predetermined order based the estimated processing time for processing data of the target module,
- wherein the setting sets output intervals of all modules used for the pipeline processing in the order opposite to the predetermined order.
A control method for controlling a data processing apparatus configured to cause a plurality of modules, which is communicably connected to one another, to perform pipeline processing on a packet storing data in a predetermined order, the control method comprising:
- identifying a target module in a later stage of the pipeline processing among the plurality of modules in an order opposite to the predetermined order, and estimate a processing time for processing data of the target module;
- and
- setting an output interval of a module positioned in a stage preceding the target module in the predetermined order based on the estimated processing time for processing data of the target module,
- wherein the setting sets an output interval of a module positioned in a stage preceding the target module to be equal to or greater than a processing time of a module positioned in a stage preceding the target module in the pipeline processing, and
- wherein the setting sets output intervals of all modules used for the pipeline processing in the order opposite to the predetermined order.
A non-transitory computer readable storage medium storing a computer-executable program of instructions for causing a computer to perform a control method for controlling a data processing apparatus configured to cause a plurality of modules, which is communicably connected to one another, to perform pipeline processing on a packet storing data in a predetermined order, the control method comprising:
- identifying a target module in a later stage of the pipeline processing among the plurality of modules in an order opposite to the predetermined order, and estimate a processing time for processing data of the target module;
- and
- setting an output interval of a module positioned in a stage preceding the target module in the predetermined order based on the estimated processing time for processing data of the target module,
- wherein the setting sets output intervals of all modules used for the pipeline processing in the order opposite to the predetermined order.
A non-transitory computer readable storage medium storing a computer-executable program of instructions for causing a computer to perform a control method for controlling a data processing apparatus configured to cause a plurality of modules, which is communicably connected to one another, to perform pipeline processing on a packet storing data in a predetermined order, the control method comprising:
- identifying a target module in a later stage of the pipeline processing among the plurality of modules in an order opposite to the predetermined order, and estimate a processing time for processing data of the target module;
- and
- setting an output interval of a module positioned in a stage preceding the target module in the predetermined order based on the estimated processing time for processing data of the target module,
- wherein the setting sets an output interval of a module positioned in a stage preceding the target module to be equal to or greater than a processing time of a module positioned in a stage preceding the target module in the pipeline processing, and
- wherein the setting sets output intervals of all modules used for the pipeline processing in the order opposite to the predetermined order.
Dependencies are inferred from the claim text.