Hierarchical Task Management for Parallel Processing Units
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current parallel processing systems in embedded systems face challenges in efficiently managing multiple processing elements due to difficulties in programming, debugging, and optimizing resource utilization, leading to suboptimal use of computing power and increased power consumption.
Innovation Solution
A hierarchical task management system that organizes processing units into groups, allowing for static task allocation within each group and dynamic allocation among groups, with DMA communication tasks to manage data transfer efficiently, enabling effective parallel execution across multiple processing elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If parallel processing systems are implemented to increase computing power, then productivity is improved, but device complexity increases and ease of operation deteriorates due to programming and debugging difficulties
Solution Approach 1:
The system divides parallel processing into two distinct modes: control type execution (sequential, deterministic) and data flow type execution (parallel, event-driven). This segmentation allows different parts of the system to operate in appropriate modes, reducing overall complexity while maintaining high productivity.
Solution Approach 2:
The system dynamically switches between control type and data flow type execution modes based on the nature of the tasks being performed. This dynamic adaptation allows the system to optimize for either determinism or parallelism as needed, resolving the contradiction between productivity and complexity.
2Productivity
If more processing units are integrated to increase computing power, then productivity is improved, but use of energy increases due to power consumption constraints
Solution Approach 1:
The system uses event-driven periodic execution in data flow mode, where processing units are activated only when data is available and deactivated otherwise. This periodic action pattern reduces overall power consumption compared to continuous operation, while still achieving high productivity through parallel processing when active.
Solution Approach 2:
Different processing units can operate in different execution modes (control type or data flow type) based on their specific function and data availability. This local optimization allows energy-efficient operation for units that can tolerate parallelism, while deterministic units maintain control type execution only when necessary.
3Ease of operation
If homogeneous parallel systems are used to simplify programming, then ease of operation is improved, but adaptability deteriorates due to limited flexibility in task placement
Solution Approach 1:
The system provides universal task allocation that works across both control type and data flow type execution modes. The same task allocation mechanisms and programming interfaces can be used regardless of which execution mode is active, maintaining ease of operation while enabling adaptability through mode switching.
Solution Approach 2:
The system dynamically adapts between homogeneous and heterogeneous operation. When control type execution is dominant, the system behaves more like a homogeneous system for simplicity. When data flow type execution is dominant, it leverages parallelism for adaptability. This dynamic behavior resolves the contradiction between ease of operation and adaptability.
4Reliability
If control type execution mode is used to ensure deterministic behavior, then reliability is improved, but productivity deteriorates due to limited parallelism
Solution Approach 1:
The system segments tasks into those requiring deterministic control type execution and those that can benefit from parallel data flow type execution. This segmentation allows reliability-critical tasks to maintain deterministic behavior while other tasks achieve high productivity through parallelism, resolving the contradiction between reliability and productivity.
Solution Approach 2:
The system dynamically switches between control type and data flow type execution modes based on task requirements. Tasks requiring deterministic behavior execute in control type mode, while tasks that can tolerate non-determinism execute in data flow type mode for maximum parallelism. This dynamic mode selection resolves the contradiction between reliability and productivity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present invention relates to a system comprising a plurality of processing units making it possible to execute tasks in parallel and a communication network. The processing units are organized as a plurality of groupings of units, each grouping comprising a local memory. The system comprises means for statically allocating tasks to each grouping of units, so that a given task of an application is processed by the same grouping of units from one execution to another of said application. Each grouping of units comprises grouping management means for dynamically allocating tasks to each of its processing units as well as space in the local memory for executing them, so that a given task of an application may not be processed by the same processing unit from one execution to another of said application. The grouping management means comprise means for managing the tasks, means for managing the processing units, means for managing the local memory and means for managing the communications involving its processing units. The management means operate simultaneously and cooperatively. Application: embedded systems for intensive computation.