Dynamic Core Assignment for Fluctuating Multi-Core Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional optimization approaches for multi-core processors fail to account for fluctuating workloads, leading to suboptimal utilization of processing resources and performance degradation under varying load patterns.

Innovation Solution

An optimization system that dynamically assigns software applications to the optimal subset of cores based on real-time runtime attributes, independent of current processing loads, using an external optimizer host to monitor and analyze performance metrics, and reassign applications without interrupting execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional optimization approaches are used to optimize software performance on multi-core processors, then performance is improved for some load patterns, but performance degrades for other load patterns due to inability to adapt to fluctuating workloads

Engineering Contradiction:
Improvesoftware performanceVSAvoidadaptability to fluctuating workloads
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic core assignment by continuously monitoring runtime attributes (CPU usage, memory access patterns, cache performance) and adjusting core allocations in real-time based on observed workload patterns. The system transitions from static framework-default core assignments to dynamic, data-driven core selection that adapts to changing computational characteristics during execution.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system collects feedback from runtime attribute monitoring and uses this information to iteratively improve core assignment decisions. Performance metrics from each core are fed back to the optimization module, which adjusts assignments based on observed patterns, creating a closed-loop optimization system that learns from actual execution behavior.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If framework default tuning parameters are used for software execution, then ease of operation is improved, but manufacturing precision (performance optimization accuracy) deteriorates due to lack of customization for specific workloads

Engineering Contradiction:
Improveease of software executionVSAvoidperformance optimization accuracy
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The system performs self-optimization by automatically monitoring its own runtime attributes and adjusting core assignments without external intervention. The optimization module autonomously analyzes performance data, identifies optimal core patterns, and reassigns cores based on observed workload characteristics, eliminating the need for manual tuning while achieving precise performance optimization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes core assignment parameters based on runtime conditions. Instead of using fixed framework defaults, the system adjusts allocation parameters in real-time based on monitored attributes such as CPU utilization, memory access patterns, and cache hit rates, achieving precise optimization adapted to specific workload conditions.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If static core assignment is used for software applications, then device complexity is reduced, but productivity deteriorates under fluctuating workloads due to inability to optimize runtime performance

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidcore assignment management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary optimization module that sits between the application and the hardware cores. This module handles the complexity of monitoring runtime attributes, analyzing performance patterns, and managing dynamic reassignment decisions, thereby abstracting the complexity from the application while enabling optimized runtime performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces manual or static core assignment mechanisms with an automated optimization system that uses data-driven decision-making. Instead of relying on fixed scheduling algorithms or manual configuration, the system substitutes these with real-time monitoring and adaptive algorithms that automatically adjust core assignments based on observed runtime behavior.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Productivity

If dynamic reassignment of cores is implemented based on runtime attributes, then productivity is improved through optimal core selection, but device complexity increases due to additional monitoring and management requirements

Engineering Contradiction:
Improveprocessing speedVSAvoidruntime optimization system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The optimization system is segmented into distinct functional modules: runtime attribute monitoring, performance analysis, optimization decision-making, and core reassignment execution. This segmentation allows each component to be independently developed, tested, and optimized, managing overall system complexity through modular architecture while enabling sophisticated dynamic optimization capabilities.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20260056803A1Recruitment of software program to optimal cores
Publication Date: 2026.02.26 THE TORONTO DOMINION BANK
  • US20260056803A1 patent drawing
  • US20260056803A1 patent drawing
  • US20260056803A1 patent drawing

AI summary

An example operation may include one or more of executing a software application on a plurality of different cores, identifying runtime attributes of the plurality of different cores while executing the software application, identifying current processing loads of the plurality of different cores, adding a weight to the runtime attributes of the plurality of different cores to generate weighted runtime attributes, assigning the software application to a subset of cores from among the plurality of different cores based on the weighted runtime attributes and the current processing loads of the plurality of different cores, and updating the executing of the software application to execute the software application via the subset of cores. An artificial intelligence (AI) model can be trained and/or executed when performing at least one portion of the example operation.