Central Scheduling Unit with Look-Up Tables for Multiprocessor Task Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Efficient allocation and scheduling of tasks among multiple processing cores in multiprocessor devices is challenging, requiring autonomous task distribution and intuitive programming models to maximize resource utilization.
Innovation Solution
A multiprocessor architecture featuring a central scheduling unit (CSU) with look-up tables listing tasks and conditions for allocation, coupled with a hierarchical network of distribution units for task allocation and termination reporting, allowing for concurrent execution of regular and duplicable tasks with prioritization and quota management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a central scheduling unit with look-up tables is used to manage task allocation, then task scheduling efficiency is improved, but device complexity increases
Solution Approach 1:
The scheduling system is segmented into a central scheduling unit that manages task allocation logic and distributed processing cores that execute tasks. The look-up tables are divided into multiple tables (LUT0, LUT1, LUT2) that can be independently configured, allowing the scheduling logic to be broken down into manageable segments that improve efficiency without overwhelming complexity in any single component.
Solution Approach 2:
Task allocation criteria and scheduling logic are pre-configured in the look-up tables before runtime execution. The CSU loads task definitions, dependencies, and allocation rules into the LUTs in advance, allowing the system to make rapid scheduling decisions during runtime by simply querying the pre-computed tables rather than performing complex real-time calculations.
2Productivity
If autonomous task distribution is implemented in runtime, then resource utilization is maximized, but programming complexity increases
Solution Approach 1:
The multiprocessor system implements autonomous task distribution where the central scheduling unit automatically allocates tasks to processing cores based on pre-configured criteria in the look-up tables. The system serves itself by making runtime scheduling decisions without requiring programmer intervention, thereby maximizing resource utilization while keeping the programming model simple.
Solution Approach 2:
The look-up tables act as an intermediary layer between the programmer's high-level task definitions and the low-level runtime scheduling decisions. Programmers simply define tasks and their criteria in the LUTs, and the CSU mediates the autonomous distribution by querying these tables and allocating tasks appropriately, shielding programmers from complex scheduling logic.
3Manufacturing precision
If hierarchical distribution units are used for task allocation, then allocation precision is improved, but network complexity increases
Solution Approach 1:
The distribution network is segmented into a hierarchical structure with a root distribution unit and multiple leaf distribution units. Each leaf DU manages a specific subset of processing cores, allowing task allocation to be divided into precise, localized decisions at the leaf level while the root DU coordinates overall task distribution. This segmentation improves allocation precision without creating a monolithic complex network.
4Reliability
If task termination reporting is implemented, then scheduling reliability is improved, but communication overhead increases
Solution Approach 1:
The system implements a feedback mechanism where processing cores report task termination status back to the central scheduling unit. This feedback loop ensures the CSU has accurate information about completed tasks, enabling reliable scheduling decisions for subsequent task allocations. The feedback is efficiently managed through the existing distribution network without requiring excessive communication overhead.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Computational apparatus (20) includes multiple processing cores (22), which concurrently execute tasks that are respectively assigned to them. A central scheduling unit (CSU) (26) includes a CSU memory holding one or more look-up tables (LUTs)(70, 72, 74, 76) listing tasks for allocation to the processing cores and respective conditions for enabling of each of the tasks. The CSU receives indications of termination of the tasks by the processing cores, and selects, responsively to the indications, enabled tasks from the one or more LUTs for allocation to the processing cores. A network of distribution units (28, 30, 32) is connected between the CSU and the processing cores. The distribution units allocate the selected tasks from the CSU to the processing cores for execution and report the termination of the tasks from the processing cores to the CSU.