Task Synchronization via Dedicated Mediator for Multiprocessor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multiprocessor systems face challenges in efficiently executing applications with multiple tasks due to limitations in handling arbitrary types and numbers of tasks with dynamic data dependencies, leading to performance degradation, lack of binary software compatibility, and complex synchronization mechanisms.

Innovation Solution

A processor system with a control flow part, a data flow part, and a synchronization means that automatically resolves data dependencies and maps tasks to processing elements, allowing for flexible and low-overhead synchronization, dynamic memory management, and concurrent execution of tasks with arbitrary input and output data blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional synchronization mechanisms are used to coordinate task execution in multiprocessor systems, then task coordination is achieved, but system complexity and overhead increase significantly

Engineering Contradiction:
Improvetask coordinationVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the synchronization functionality from the processing elements and implements it in a dedicated synchronization means. This separation allows the synchronization mechanism to be handled by a specialized component rather than requiring complex synchronization logic in each processing element, thereby reducing overall system complexity while maintaining reliable task coordination.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The synchronization means acts as an intermediary between the control flow part and data flow part, coordinating task execution without requiring direct complex interactions between processing elements. This mediator approach simplifies the synchronization mechanism by centralizing coordination logic in a dedicated component that manages task synchronization independently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If fixed-number task types are supported in data flow systems, then system simplicity is maintained, but adaptability to arbitrary task types is lost

Engineering Contradiction:
Improvetask type flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The processing elements are designed with universal functionality to handle arbitrary task types through a unified task execution interface. The synchronization means provides a generic synchronization mechanism that works with any task type, allowing the system to adapt to different task requirements without requiring task-specific processing logic, thereby achieving versatility without proportionally increasing complexity.

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

Solution Approach 2:

The system dynamically adapts to arbitrary task types by using a flexible task description mechanism and dynamic memory management. The synchronization means can handle variable numbers of input and output data blocks based on task requirements, allowing the system to accommodate different task types without fixed structural constraints.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If manual synchronization mechanisms are implemented, then task ordering is controlled, but programming complexity and debugging difficulty increase

Engineering Contradiction:
Improvetask execution controlVSAvoidprogramming complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The synchronization means automatically manages task synchronization by independently determining execution order based on data dependencies. The system self-regulates task coordination without requiring manual synchronization instructions from programmers, thereby simplifying programming while maintaining controlled task execution through automatic dependency resolution.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis of data dependencies between tasks to pre-determine execution order before actual task execution. This preliminary action allows the synchronization means to automatically coordinate task scheduling based on predefined dependency relationships, eliminating the need for manual synchronization programming while ensuring correct execution order.

Inventive Principle:
Principle #10Preliminary action

4Speed

If superscalar processors are used for instruction-level parallelism, then processing speed is improved, but scalability to task-level parallelism is limited

Engineering Contradiction:
Improveinstruction processing speedVSAvoidparallel execution scalability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent segments parallelism into two levels: instruction-level parallelism handled by superscalar processors within each processing element, and task-level parallelism handled by multiple processing elements coordinated through the synchronization means. This segmentation allows both instruction-level speed improvements and task-level scalability to coexist by operating at different hierarchical levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds a new dimension of parallelism by moving from single-processor instruction-level parallelism to multi-processor task-level parallelism. The synchronization means enables this dimensional transition by coordinating multiple processing elements, thereby achieving scalability to task-level parallelism while preserving the speed benefits of instruction-level superscalar processing within each element.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP1912119B1Synchronization and concurrent execution of control flow and data flow at task level
Publication Date: 2010.05.19 RHF
  • EP1912119B1 patent drawingFigure 1
  • EP1912119B1 patent drawingFigure 2~3
  • EP1912119B1 patent drawingFigure 4

AI summary

A processor system for executing at least one application, wherein the at least one application comprises a plurality of tasks, where at least two of these plurality of tasks are executed in parallel by the processor system. A control flow means (110) is used for executing control flow information. A data flow means (130) executes the plurality of tasks. This data flow means comprises a plurality of processing elements (140) that are capable of processing the tasks. The system further comprises a synchronization means (120) for controlling the execution of the tasks by these processing elements. The synchronization means may determine an order of execution of the provided or identified tasks in that it identifies and resolves data dependencies (123) between input data and output data of the tasks, and then maps the tasks to the processing elements by specifying on which of the plurality of processing elements task is to be executed.