Multi-core Process Dependency Recognition and Reassignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core control systems, high-performance cores are degraded due to waiting for low-performance cores to complete processes, leading to inefficient performance utilization, especially in open systems with dynamic process dependencies.
Innovation Solution
A multi-core control system with a process dependency recognizer unit and a scheduler unit that identifies dependencies and reassigns processes to cores with higher processing speeds, ensuring that high-performance cores are utilized effectively by migrating dependent processes to faster cores.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If processes are assigned to cores based on performance matching (high-performance processes to high-performance cores, low-performance processes to low-performance cores), then processing efficiency is improved, but high-performance cores may wait for low-performance cores to complete dependent processes, causing performance degradation
Solution Approach 1:
The system dynamically monitors process execution status and core performance metrics in real-time. When a high-performance core detects it is waiting for a low-performance core to complete a dependent process, the system dynamically reassigns the dependent process to a different core that can execute it faster, thereby eliminating the wait time and maintaining high-performance core utilization.
Solution Approach 2:
The system implements a feedback mechanism where high-performance cores report their waiting status to the scheduler unit. The scheduler unit collects this feedback along with core performance metrics and process dependency information, then makes informed decisions about process reassignment to optimize overall system performance and minimize wait times.
2Stability of the object's composition
If process dependencies are defined in advance with predefined scheduler data, then execution order is controlled, but the system becomes impractical for open systems where new processes are dynamically added
Solution Approach 1:
The system performs preliminary identification of process dependencies when processes are first assigned to cores. The scheduler unit records dependency relationships in a data structure that can be dynamically queried. This preliminary action establishes the foundation for dependency management without requiring complete pre-definition of all possible processes, enabling both execution control and dynamic adaptability.
Solution Approach 2:
The dependency management system is designed to be dynamic rather than static. When new processes are added to the system, the scheduler unit automatically detects them and identifies their dependencies on existing processes by querying the process information. This dynamic approach maintains execution order control while adapting to new processes without requiring system reconfiguration.
3Productivity
If the scheduler unit reassigns processes to optimize core utilization, then high-performance cores are utilized effectively, but the system complexity increases due to dependency tracking and reassignment logic
Solution Approach 1:
The scheduler unit acts as an intermediary between processes and cores, centralizing the complexity of dependency tracking and reassignment logic. Rather than distributing complex decision-making across multiple components, the scheduler unit consolidates this functionality, managing process assignments, monitoring execution status, and coordinating reassignments. This intermediary approach maintains modularity while handling the necessary complexity in one dedicated component.
Data Source
AI summary
Provided are multi-core control systems. A multi-core control system includes multiple cores including a first core; and a process dependency recognizer configured to recognize a dependency between processes each executed in the respective cores, wherein if the first core waits for a first period of time to execute a first process, the first core recognizes a process on which the first process depends by the process dependency recognizer.


