Hierarchical Task Management for Parallel Processing Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecomputing powerVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvecomputing powerVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

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.

Inventive Principle:
Principle #19Periodic action

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveprogramming simplicityVSAvoidtask placement flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #15Dynamics

4Reliability

If control type execution mode is used to ensure deterministic behavior, then reliability is improved, but productivity deteriorates due to limited parallelism

Engineering Contradiction:
Improvedeterministic behaviorVSAvoidparallelism efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2232368B1System comprising a plurality of processing units making it possible to execute tasks in parallel, by mixing the mode of execution of control type and the mode of execution of data flow type
Publication Date: 2019.07.17 COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
  • EP2232368B1 patent drawingFigure 1
  • EP2232368B1 patent drawingFigure 2
  • EP2232368B1 patent drawingFigure 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.