Microcontroller Thread Scheduling for Dynamic Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for thread launching in computing environments rely on hardcoded and fixed walking patterns, leading to inefficient load balancing and resource consumption, particularly in applications with varying workload patterns.

Innovation Solution

A microcontroller-based firmware technique is employed to dynamically and flexibly schedule and launch threads, using a thread scheduling unit (TSU) to adapt walking patterns on-the-fly based on workload characteristics, optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If hardcoded and fixed walking patterns are used for thread launching, then implementation simplicity is maintained, but load balancing efficiency deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidload balancing efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements a microcontroller-based thread scheduling unit that dynamically adjusts walking patterns based on real-time workload characteristics. Instead of fixed hardcoded patterns, the system continuously monitors workload metrics and adapts thread launching parameters on-the-fly, resolving the contradiction between implementation simplicity and load balancing efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes walking pattern parameters dynamically based on workload characteristics. The microcontroller modifies thread launching parameters such as block sizes, thread counts, and walking patterns according to monitored workload metrics, enabling efficient load balancing without complex hardcoded implementations for each scenario.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If hardcoded walking patterns are used for thread launching, then system complexity is reduced, but adaptability to varying workloads deteriorates

Engineering Contradiction:
Improvesystem complexityVSAvoidadaptability to varying workloads
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The microcontroller-based scheduling unit autonomously monitors workload characteristics and self-adjusts thread launching parameters without external intervention. This self-service capability provides adaptability to varying workloads while maintaining relatively simple system architecture, as the adaptation logic is embedded within the scheduling unit itself rather than requiring complex external control systems.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The microcontroller-based thread scheduling unit serves multiple functions: it monitors workload characteristics, determines optimal walking patterns, launches threads, and adapts to different application types. This multi-functional design provides universal adaptability across varying workloads while consolidating complexity into a single versatile component rather than requiring separate specialized systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Device complexity

If fixed thread launching methods are used, then resource consumption is simplified to manage, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource management complexityVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The system implements feedback loops where the microcontroller continuously monitors workload characteristics and resource usage metrics, then uses this feedback to adjust thread launching and walking patterns. This feedback mechanism optimizes resource utilization efficiency by matching resource allocation to actual workload demands, while the automated feedback process manages complexity without requiring manual intervention.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11175949B2Microcontroller-based flexible thread scheduling launching in computing environments
Publication Date: 2021.11.16 INTEL CORP
  • US11175949B2 patent drawing
  • US11175949B2 patent drawing
  • US11175949B2 patent drawing

AI summary

A mechanism is described to facilitate microcontroller-based flexible thread scheduling launching in computing environments. An apparatus of embodiments, as described herein, includes facilitating a graphics processor hosting a microcontroller having a thread scheduling unit, and detection and observation logic to detect a scheduling algorithm associated with an application at the apparatus. The apparatus may further include reading and dispatching logic to facilitate the microcontroller to prepare a flexible dispatch routine based on the scheduling algorithm. The apparatus may further include scheduling and launching logic to facilitate the thread scheduling unit to dynamically schedule and launch threads based on the flexible dispatch routine, where the threads are hosted by the graphics processor.