Heterogeneous Task Scheduling With Utility-Based Hardware Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing task scheduling methods in heterogeneous computational environments with different computing units, such as CPUs, FPGAs, and ICs, fail to optimize overall computation time and energy consumption efficiently, particularly in high-load cryptographic functions.
Innovation Solution
A computer-implemented task scheduling method that associates task quality classes with computing time limits and utility values, using decision variables to allocate tasks optimally among available hardware components, solving a maximization problem to maximize utility while adhering to time constraints, and employing a bipartite matching algorithm to determine efficient task scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tasks are distributed across multiple computing units to improve processing capacity, then productivity increases, but device complexity increases
Solution Approach 1:
The patent transforms the scheduling problem into a mathematical optimization problem by parameterizing task assignments with decision variables x_ra[t] and formulating an objective function that maximizes utility while satisfying time constraints. This allows complex scheduling decisions to be made systematic and automated.
Solution Approach 2:
The patent introduces decision variables x_ra[t] as intermediaries between tasks and computing units. These variables serve as a mathematical mediator that enables optimization algorithms to determine optimal assignments without direct complex control logic.
2Productivity
If hardware acceleration is used to improve computation speed, then productivity increases, but energy consumption increases
Solution Approach 1:
The patent assigns different utility values U_proc to different computing units, reflecting their local characteristics (CPU vs. FPGA vs. IC). The optimization algorithm automatically selects the most appropriate computing unit for each task based on its specific requirements, achieving local optimality that reduces overall energy consumption.
Solution Approach 2:
The patent employs dynamic task scheduling where assignments are not fixed but adapt based on current system state, task characteristics, and computing unit availability. This dynamic approach allows the system to respond to changing conditions and optimize energy usage in real-time.
3Measurement precision
If strict time limits are imposed on task completion, then task quality is improved, but productivity decreases due to rejected tasks
Solution Approach 1:
The patent performs preliminary assessment of task-computing unit compatibility by evaluating processing times T_proc against deadlines D_limit before assignment. This preliminary action ensures that only feasible assignments are considered, preventing rejection of tasks later in the process.
Solution Approach 2:
The patent incorporates feedback mechanisms where the optimization algorithm learns from past scheduling decisions and system performance. The utility values and constraints are adjusted based on observed outcomes, improving task quality while maintaining throughput over time.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer-implemented task scheduling method for use in a data processing device (10) with a plurality of computational hardware components (12) and for scheduling a set R[t] of computational tasks (14) at a given time t ∈ Tact, Tact being a set of discrete time intervals each of length Δt, among a set A[t] of said computational hardware components (12) each available at the given time t ∈ Tact and configured for executing any one of the computational tasks (14), each computational task (14) being associated with a corresponding task quality class c ∈ C, C being a set of task quality classes, each task quality class c ∈ C and each computational hardware component (12) being associated with a corresponding processing time value Tproc in terms of Δt, the associated processing time value Tproc being indicative of a duration for processing any one computational task (14) of the corresponding class c ∈ C by means of the corresponding computational hardware component (12), each task quality class c ∈ C and each computational hardware component (12) being further associated with a corresponding utility value Uproc, the associated utility value Uproc being indicative of a cost or added value that is induced by processing any one computational task (14) of the corresponding class c ∈ C by means of the corresponding computational hardware component (12).