Multi-Processor Instruction Scheduling via Segmented Time Windows
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In systems with multiple processing units, determining the worst-case execution time of instruction entities is challenging due to resource conflicts, limiting the ability to utilize full performance benefits and preventing their use in safety-critical environments requiring high execution predictability, especially when scheduling requirements such as parallel or sequential execution constraints are involved.
Innovation Solution
A method for generating an execution schedule that sorts instruction entities based on their budget, period, and scheduling constraints, allocates them to processing units, and schedules instances in time windows while organizing execution into groups to satisfy constraints and measure interference effects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processing units execute instruction entities simultaneously to improve processing throughput, then productivity increases, but resource conflicts occur leading to unpredictable worst-case execution time
Solution Approach 1:
The patent segments the execution schedule into multiple time windows and divides instruction entities into different groups that are executed in separate time windows. This segmentation isolates resource conflicts to specific time windows, making worst-case execution time predictable while maintaining high overall throughput through parallel execution of different groups across multiple processing units.
Solution Approach 2:
The patent dynamically adjusts the allocation of instruction entities to processing units and the timing of execution based on group assignments and time window scheduling. This dynamic scheduling approach optimizes resource utilization while ensuring that worst-case execution time can be determined through static analysis of the scheduled groups.
2Loss of time
If instruction entities are scheduled with parallel execution constraints to meet timing requirements, then execution time is reduced, but resource interference increases making WCET determination difficult
Solution Approach 1:
The patent segments instruction entities into different groups that are scheduled in separate time windows with controlled parallel execution. By dividing the instruction set into manageable groups with defined execution windows, the system achieves parallel execution for timing-critical groups while keeping WCET analysis tractable through the structured segmentation.
Solution Approach 2:
The patent performs preliminary scheduling and grouping of instruction entities before execution, establishing fixed time windows and processing unit assignments in advance. This preliminary action allows the system to optimize for execution time through parallel scheduling while ensuring WCET can be determined from the pre-established schedule.
3Productivity
If instruction entities are allocated to processing units without systematic scheduling to maximize resource utilization, then productivity increases, but scheduling constraints such as parallel and sequential execution requirements are not met
Solution Approach 1:
The patent segments instruction entities into groups and assigns each group to specific time windows and processing units through systematic scheduling. This segmentation approach maintains high resource utilization by keeping processing units busy with scheduled groups while ensuring all scheduling constraints (parallel and sequential execution requirements) are satisfied through the structured group-based allocation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods for instruction entity allocation and scheduling on multi-processors is provided. In at least one embodiment, a method for generating an execution schedule for a plurality of instruction entities for execution on a plurality of processing units comprises arranging the plurality of instruction entities into a sorted order and allocating instruction entities in the plurality of instruction entities to individual processing units in the plurality of processing units. The method further comprises scheduling instances of the instruction entities in scheduled time windows in the execution schedule, wherein the instances of the instruction entities are scheduled in scheduled time windows according to the sorted order of the plurality of instruction entities and organizing the execution schedule into execution groups.