Multiprocessor Task Group Scheduling for Shared Resource Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multiprocessor systems, the complexity of exclusive control processing for shared resources among processors complicates software development, particularly when transitioning from single processor systems, and existing methods like spin and sleep lock techniques lead to inefficiencies and risks of deadlocks.
Innovation Solution
A semiconductor device with a memory and processor elements that utilize task and running group management information to manage task execution states and schedules, allowing exclusive control to be performed by the operating system rather than the application program, thereby simplifying software development and reducing resource conflicts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exclusive control processing is implemented at the application program level in multiprocessor systems, then resource conflicts between processors can be managed, but software development complexity increases significantly
Solution Approach 1:
The patent introduces an operating system as an intermediary layer between application programs and shared resources. The OS manages exclusive control through task grouping and centralized scheduling, eliminating the need for application programs to implement complex lock mechanisms. This mediator approach resolves resource conflicts while keeping application software simple.
Solution Approach 2:
The patent extracts the exclusive control functionality from application programs and relocates it to the operating system kernel. By separating resource management concerns from application logic, the system achieves reliable resource conflict management without burdening application developers with complex synchronization code.
2Reliability
If spin lock or sleep lock techniques are used for exclusive control, then resource access conflicts are resolved, but processor efficiency decreases and deadlock risks increase
Solution Approach 1:
The patent implements dynamic task grouping where tasks are organized into groups based on their resource access patterns. The system dynamically determines which task group should execute next by checking running group management information, allowing flexible and efficient processor utilization without static lock mechanisms.
Solution Approach 2:
The patent performs preliminary organization of tasks into groups before execution. By pre-establishing task groups and their associations with shared resources, the system avoids runtime conflicts and eliminates the need for spin/sleep locks during actual resource access, improving processor efficiency.
3Reliability
If complex exclusive control processing is required in application programs, then shared resources are protected from conflicts, but software diversity and ease of development are reduced
Solution Approach 1:
The patent enables the operating system to automatically manage exclusive control without requiring application programs to implement protection mechanisms. The system self-services by monitoring task group execution states and automatically preventing conflicts, allowing application developers to focus on functionality rather than resource protection.
Solution Approach 2:
The patent creates a universal task group management mechanism that handles all exclusive control needs across different application programs. This multi-functional approach provides consistent resource protection for all shared resources through a single standardized mechanism, improving both reliability and development ease.
Data Source
AI summary
An exclusive control processing that is complex is eliminated on tasks executed in processors. A semiconductor device includes: a memory that stores task management information and running group management information; a first PE and a second PE; and a first shared resource and a second shared resource, and the first PE or the second PE is configured to refer to the running group management information and specify a group of tasks executable in the first PE or the second PE as an executable group, and to refer to the task management information and determine a task associated with group identification information of the specified executable group as a task to be executed next in the first PE or the second PE.


