Core Allocation for Thermal Control in Under-Subscribed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In under-subscribed computing systems, core pinning leads to uneven utilization of cores, resulting in localized hot zones and thermal degradation, which reduces the system's lifespan and performance.

Innovation Solution

An allocator component manages core allocation by intercepting process requests, overriding pinned cores, and implementing a virtual to physical core mapping to distribute workload evenly across cores, thereby controlling temperature and wear leveling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If core pinning is used to allocate operations to specific cores, then performance and determinism are improved, but thermal performance degrades due to localized hot zones

Engineering Contradiction:
ImproveperformanceVSAvoidthermal performance
Core Design Contradiction:
SpeedVSTemperature

Solution Approach 1:

The system dynamically changes core allocation over time by implementing periodic core pinning patterns. The affinitizer component modifies which cores are pinned to processes at different time intervals, allowing the system to adapt core usage dynamically. This prevents permanent hot zones by rotating workload across different cores while maintaining the performance benefits of core pinning during each time period.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements periodic core allocation changes where the affinitizer periodically modifies the core pinning assignments. By cycling through different core pinning patterns at scheduled intervals, the system ensures that no single core remains continuously overloaded, thereby distributing thermal load over time while maintaining deterministic performance within each period.

Inventive Principle:
Principle #19Periodic action

2Productivity

If core pinning is used to distribute workloads without overlaps, then productivity is improved, but reliability decreases due to uneven core wear

Engineering Contradiction:
Improveworkload distribution efficiencyVSAvoidsystem lifespan
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically rotates core assignments by implementing time-varying core pinning patterns. The affinitizer component periodically changes which cores are assigned to which processes, ensuring that no single core bears the full workload continuously. This dynamic reallocation distributes wear across all cores over time, improving system reliability while maintaining productivity during each allocation period.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements periodic core allocation changes where the affinitizer periodically modifies core pinning assignments. By cycling through different core assignments at scheduled intervals, the system ensures uniform wear distribution across all cores. Each core experiences alternating periods of high and low utilization, preventing any single core from degrading prematurely and thereby extending overall system lifespan.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20250077270A1Core allocation for temperature control in under-subscribed computing systems
Publication Date: 2025.03.06 ARM LTD
  • US20250077270A1 patent drawing
  • US20250077270A1 patent drawing
  • US20250077270A1 patent drawing

AI summary

A method of core allocation for temperature control in under-subscribed computing systems can include maintaining, by an allocator component, a virtual to physical core mapping of physical cores of a computing system; identifying a change to a next core allocation according to an allocation pattern; determining a time that a process of a software application can be moved to the next core allocation, wherein the process of the software application is configured with core pinning; and updating, by the allocator component, the virtual to physical core mapping for the process of the software application at the determined time. The allocator component can intercept a process request of the software application; identify a pinned core of the process request; and overwrite the pinned core of the process request with an allocated core indicated by the virtual to physical core mapping.