Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A processing apparatus, comprising: a plurality of processing units that are configured to execute operational processing on data; at least one or more data buffers that are connected between a first processing unit and a second processing unit among the plurality of processing units and configured to store a result output from the first processing unit and inputs the result to the second processing unit as data for the second processing unit; a command buffer that stores a task command specifying execution of a task that is a series of operational processing on the data, the task being executed in one or more specific processing units that are at least any of one or more of the first processing unit and one or more of the second processing unit, the command buffer being able to output the task command to the one or more specific processing units; a task control unit comprising circuitry that is configured to be connected to the plurality of processing units, receive information that represents a state of operational processing in each of the processing units of the plurality of processing units, and control operational processing of the task that is executed in the one or more specific processing units, by controlling output of the task command from the command buffer to the one or more specific processing units, on the basis of the task command, task setting information that identifies the processing unit in which the task is to be executed, and the information received from the plurality of processing units, wherein the task setting information includes, with respect to each task, information that identifies a start processing unit that is configured to execute first operational processing of the task, and an end processing unit that is configured to execute last operational processing of the task; and a processing control unit that generates the task command, supplies the task command to the command buffer, and supplies the task command to the task control unit; wherein the task control unit, on the basis of information representing states of the operational processing executed in the start processing unit and the end processing unit, determines whether the task is executable in a controlled processing unit, wherein the controlled processing unit being the one or more specific processing units among the plurality of processing units, and is being controlled by the task control unit, by confirming whether processing has finished in a processing unit preceding the controlled processing unit, wherein the task command includes task dependency information that represents a dependent task that is dependent on the task, which is specified by the task command, in execution order, and the task control unit, on the basis of the task setting information, when determines that the controlled processing unit is the start processing unit for the task specified by the task command, confirms whether or not the dependent task, which is set to be executed before the task exists, according to the task dependency information included in the task command regarding the task, and when the dependent task does not exist, controls the controlled processing unit to execute operational processing of the task.
2. The processing apparatus according to claim 1 , wherein the task control unit controls a start timing of operational processing of the task in the one or more specific processing units by controlling output of the task command from the command buffer to the one or more specific processing units.
This invention relates to a processing apparatus designed to optimize task execution in a parallel processing system. The apparatus includes a command buffer that stores task commands for execution by one or more processing units. A task control unit dynamically manages the start timing of operational processing for tasks by regulating the output of task commands from the command buffer to the specific processing units. This control mechanism ensures efficient task scheduling, preventing processing delays and improving overall system performance. The apparatus may also include a command generation unit that generates task commands based on input data and a command buffer that temporarily holds these commands before they are dispatched to the processing units. The task control unit monitors the processing status of the units and adjusts the command output timing accordingly, allowing for precise control over task execution. This approach enhances resource utilization and reduces idle time in the processing units, particularly in systems where tasks have varying execution times or dependencies. The invention is applicable in high-performance computing, real-time processing, and other domains where efficient task scheduling is critical.
3. The processing apparatus according to claim 1 , wherein, when operational processing in the task executed in the first processing unit is finished, the first processing unit outputs the result of the task to the data buffer connected to an output side of the first processing unit, the data buffer connected to the output side of the first processing unit stores the result being output, and the task control unit controls a start timing of operational processing of the task in the second processing unit, by controlling output of the data from the data buffer to the second processing unit, the data buffer being connected to the input side of the second processing unit.
This invention relates to a processing apparatus with multiple processing units and a task control mechanism for managing data flow between them. The apparatus addresses inefficiencies in task execution where delays or mismatches in data transfer between processing units can lead to idle time or bottlenecks. The system includes at least two processing units, each handling distinct tasks, and a task control unit that coordinates their operation. When a task in the first processing unit completes, the result is stored in a data buffer connected to its output. The task control unit then regulates the release of this data to the second processing unit by controlling the output from the buffer connected to the second unit's input. This ensures synchronized task execution, preventing the second processing unit from starting prematurely or waiting unnecessarily. The apparatus optimizes performance by dynamically managing data flow, reducing idle cycles, and improving overall throughput. The task control unit's ability to adjust the timing of data transfer between buffers ensures efficient resource utilization and minimizes latency in multi-stage processing pipelines.
4. The processing apparatus according to claim 1 , wherein the task setting information includes, with respect to each task, information that identifies the start processing unit that is the processing unit executing the first operational processing of the task and a processing unit count that is information representing the number of processing units used for the series of operational processing in the task, and the task control unit, with respect to each task, identifies the end processing unit that executes the last operational processing of the task on the basis of the information that identifies the start processing unit and the processing unit count, and on the basis of the information representing the states of the operational processing executed in the start processing unit and the identified end processing unit, determines whether the specific task is executable in the controlled processing unit that is the one or more specific processing units among the plurality of processing units, and is controlled by the task control unit.
This invention relates to a processing apparatus with multiple processing units for executing tasks, addressing the challenge of efficiently managing task execution across distributed processing units. The apparatus includes a task control unit that manages task execution by determining whether a specific task can be executed in one or more controlled processing units. The task setting information for each task includes an identifier for the start processing unit, which executes the first operational step of the task, and a processing unit count, indicating the number of processing units required for the entire task. The task control unit uses this information to identify the end processing unit, which executes the last operational step of the task. By analyzing the states of the operational processing in both the start and end processing units, the task control unit determines whether the task can be executed in the controlled processing units. This ensures efficient task scheduling and resource allocation in a multi-processing environment, optimizing performance and reducing bottlenecks. The system dynamically assesses task feasibility based on real-time processing states, improving overall system efficiency.
5. The processing apparatus according to claim 1 , wherein when the task control unit determines that the processing unit controlled by the task control unit is the start processing unit for the task on the basis of the task setting information, the task control unit confirms whether there is the dependent task with a dependency to be executed before the task, on the basis of the task dependency information included in the task command specifying execution of the task, when, as a result of the confirmation, the dependent task exists, the task control unit identifies the end processing unit for the dependent task with the dependency on the basis of the task setting information, and confirms whether operational processing of the dependent task in the identified end processing unit has finished, on the basis of the information representing the state of operational processing in the identified end processing unit, and when the operational processing in the identified end processing unit finishes, the task control unit controls the control buffer to output the task command for the task and the data buffer to output the data to the controlled processing unit.
A processing apparatus manages task execution in a distributed system where multiple processing units handle different tasks. The apparatus includes a task control unit that oversees task execution and ensures dependencies between tasks are resolved before execution begins. When a processing unit is designated as the start unit for a task, the task control unit checks for any dependent tasks that must be completed first. If dependencies exist, the task control unit identifies the end processing unit responsible for the dependent task and verifies whether its operational processing has finished. Once the dependent task is complete, the task control unit triggers the start of the new task by directing the control buffer to output the task command and the data buffer to provide the necessary data to the processing unit. This ensures tasks are executed in the correct order, preventing errors from unresolved dependencies. The system optimizes workflow by dynamically managing task dependencies and processing states across distributed units.
6. The processing apparatus according to claim 1 , wherein the task setting information includes, with respect to each task, information that identifies the start processing unit that is configured to execute the first operational processing of the task, and the end processing unit that is configured to execute the last operational processing of the task, and the task control unit, on the basis of a result of determining whether the controlled processing unit, which is the one or more specific processing units among the plurality of processing units and is controlled by the task control unit, is the start processing unit, and the information representing states of the operational processing executed in the end processing unit, determines whether the task is executable in the controlled processing unit.
This invention relates to a processing apparatus with multiple processing units for executing tasks, addressing the challenge of efficiently managing task execution across distributed or parallel processing systems. The apparatus includes a task control unit that manages task execution by determining whether a task can be processed by a specific processing unit based on predefined task setting information. The task setting information specifies, for each task, the start processing unit responsible for the initial operational processing and the end processing unit responsible for the final operational processing. The task control unit evaluates whether the controlled processing unit (a specific unit under its management) is the designated start processing unit and assesses the state of operational processing in the end processing unit. Based on these determinations, the task control unit decides whether the task can be executed by the controlled processing unit. This ensures proper task routing and execution sequencing, optimizing resource utilization and preventing processing conflicts. The system is particularly useful in environments where tasks must follow a specific execution order or where processing units have specialized roles. The invention enhances task management by dynamically verifying execution conditions before processing begins, improving efficiency and reliability in distributed computing systems.
7. The processing apparatus according to claim 1 , wherein the task setting information includes, with respect to each task, the information that identifies the start processing unit that is the processing unit executing the first operational processing of the task and a processing unit count that is information representing the number of processing units used for a series of operational processing in the task, and the task control unit, with respect to each task, identifies the end processing unit that executes the last operational processing of the task on the basis of the information that identifies the start processing unit and the processing unit count, and on the basis of a result of determining whether the controlled processing unit, which is the one or more specific processing units among the plurality of processing units and is controlled by the task control unit, is the start processing unit, and the information representing states of the operational processing executed in the end processing unit, determines whether the task is executable in the controlled processing unit.
This invention relates to a processing apparatus with multiple processing units for executing tasks, addressing the challenge of efficiently managing task execution across distributed processing units. The apparatus includes a task control unit that manages task execution by determining whether a task can be executed in a specific processing unit based on task setting information. The task setting information specifies, for each task, the start processing unit (the unit executing the first operational processing of the task) and a processing unit count (the number of processing units used for the task's operational processing). The task control unit identifies the end processing unit (the unit executing the last operational processing) using the start processing unit and the processing unit count. It then determines task executability in a controlled processing unit by checking if the controlled unit is the start processing unit and evaluating the state of operational processing in the end processing unit. This ensures tasks are executed efficiently across processing units while maintaining proper sequencing and resource allocation. The invention optimizes task distribution and execution in multi-unit processing systems.
8. A control method of a processing apparatus comprising one or more processing units and one or more data buffers, the method comprising: storing a result output from a first processing unit and inputting the result to a second processing unit in the data buffer as data for the second processing unit, the data buffer connected between the first processing unit and the second processing unit, when both of the first processing unit and the second processing unit are the processing unit that is configured to execute operational processing on the data; storing a task command specifying execution of a task that is a series of operational processing on the data, the task being executed in one or more specific processing unit that are at least any of the one or more first processing unit and the one or more second processing unit, to a command buffer; receiving information that represents a state of operational processing in each of the processing units from the one or more processing units; outputting, from the command buffer, the task command to the specific processing unit; and controlling operational processing of the task that is executed in the one or more specific processing units, by controlling output of the task command from the command buffer to the specific processing unit, on the basis of the task command, task setting information that identifies the processing unit in which the task is to be executed, and the information, received from the one or more processing units, wherein the task setting information includes, with respect to each task, information that identifies a start processing unit that is configured to execute first operational processing of the task, and an end processing unit that is configured to execute last operational processing of the task; and processing for generating the task command, supplying the task command to the command buffer, and supplying the task command for storing at the task control unit; on the basis of the information representing the states of the operational processing executed in the start processing unit and the end processing unit, determining whether the task is executable in a controlled processing unit, wherein the controlled processing unit being the one or more specific processing unit among the plurality of processing units, by confirming whether processing has finished in a processing unit preceding the controlled processing unit, wherein the task command includes task dependency information that represents a dependent task that is dependent on the task, which is specified by the task command, in execution order, and on the basis of the task setting information, when it is determined that the controlled processing unit is the start processing unit for the task specified by the task command, confirming whether or not the dependent task, which is set to be executed before the task exists, according to the task dependency information included in the task command regarding the task, and when the dependent task does not exist, controlling to execute operational processing of the task.
This invention relates to a control method for a processing apparatus with multiple processing units and data buffers. The apparatus handles tasks that involve a series of operational processing steps on data, where each task is executed across one or more processing units. A command buffer stores task commands specifying the execution of these tasks, while data buffers transfer results between processing units when both the source and destination units perform operational processing. The method receives state information from each processing unit to monitor their operational status. Task commands are output from the command buffer to the designated processing units based on task setting information, which identifies the start and end processing units for each task. The system determines task executability by checking if preceding processing units have completed their tasks and whether dependent tasks (as indicated in task dependency information) must be executed first. If no dependencies exist, the task is executed. This ensures efficient task scheduling and data flow management in multi-unit processing systems.
9. A non-transitory computer readable storage medium storing a computer program for a processing apparatus comprising one or more processing units and one or more data buffers, the program making the processing apparatus to execute: processing for storing a result output from a first processing unit and inputting the result to a second processing unit as data for the second processing unit in a data buffer that is connected between the first processing unit and the second processing unit, where both of the first processing unit and the second processing unit are the processing unit that is configured to execute operational processing on the data; processing for storing a task command specifying execution of a task that is a series of operational processing on the data, the task being executed in one or more specific processing units that are at least any of one or more first processing unit and one or more second processing unit, to a command buffer; processing for outputting, from the command buffer, the task command to the one or more specific processing units; and processing for receiving information that represents a state of operational processing in each of the processing units from the one or more processing units; processing for controlling operational processing of the task that is executed in the one or more specific processing units, by controlling output of the task command from the command buffer to the specific processing unit, on the basis of the task command, task setting information that identifies the processing unit in which the task is to be executed, and the information received from the one or more specific processing units, wherein the task setting information includes, with respect to each task, information that identifies a start processing unit that is configured to execute first operational processing of the task, and an end processing unit that is configured to execute last operational processing of the task; and processing for generating the task command, supplying the task command to the command buffer, and supplying the task command for processing; on the basis of the information representing the states of the operational processing executed in the start processing unit and the end processing unit, determining whether the task is executable in a controlled processing unit, wherein the controlled processing unit being the one or more specific processing units among the plurality of processing units, by confirming whether processing has finished in a processing unit preceding the controlled processing unit, wherein the task command includes task dependency information that represents a dependent task that is dependent on the task, which is specified by the task command, in execution order, and on the basis of the task setting information, when it is determined that the controlled processing unit is the start processing unit for the task specified by the task command, confirming whether or not the dependent task, which is set to be executed before the task exists, according to the task dependency information included in the task command regarding the task, and when the dependent task does not exist, controlling to execute operational processing of the task.
This invention relates to a computer program for managing task execution in a processing apparatus with multiple processing units and data buffers. The system addresses the challenge of efficiently coordinating task execution across distributed processing units while ensuring proper data flow and dependency management. The program enables a processing apparatus to store and transfer data between processing units via intermediate buffers, manage task commands in a command buffer, and control task execution based on processing states and dependencies. Task commands specify a series of operations (tasks) to be performed by designated processing units, with each task defined by a start and end processing unit. The system monitors processing states, checks task dependencies, and ensures tasks are only executed when preceding tasks are complete. Task dependency information is included in commands to enforce execution order, preventing conflicts and ensuring correct data flow. The program dynamically controls command output to processing units based on task settings, state information, and dependency checks, optimizing resource utilization and task scheduling. This approach improves efficiency in multi-unit processing systems by automating task coordination and dependency resolution.
Unknown
October 8, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.