Hardware Core Allocation for Dynamic Power Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-core processor systems, such as those running Microsoft Windows 7, face challenges in dynamically reducing or increasing active cores for power management without modifying the operating system or rebooting, as they are designed to operate based on core counts at boot time and lack support for 'hot core' re-allocation.

Innovation Solution

A hardware arrangement using a global semaphore and CoreHalt program, implemented as a device driver, allows for dynamic allocation of active cores by halting all but one core, reducing power consumption without modifying the OS or affecting workload perception, and can be activated or deactivated through user interface controls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hypervisor software is used to present virtual cores to the OS, then the OS can believe it has multiple active cores, but the device complexity and code footprint increase substantially

Engineering Contradiction:
Improvedynamic core allocationVSAvoidhypervisor code footprint
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the core allocation control function from the OS and places it in hardware circuitry. The hardware arrangement includes a semaphore mechanism and core halt logic that operates independently of the OS, eliminating the need for hypervisor software while achieving dynamic core allocation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a hardware intermediary layer between the OS and the processor cores. This hardware arrangement acts as a mediator that manages core activation and deactivation without requiring OS modification or virtualization support, thereby reducing software complexity while enabling dynamic allocation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If hypervisor software is used to manage active cores, then dynamic allocation is achieved, but a performance penalty is introduced

Engineering Contradiction:
Improvedynamic core allocationVSAvoidprocessing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces the software-based hypervisor mechanism with a hardware-based core allocation system. The hardware arrangement uses circuitry to directly control core activation, eliminating the performance overhead associated with software virtualization and hypervisor context switches.

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

3Loss of energy

If core parking using process affinity is used, then non-used cores are parked, but the technique is not guaranteed and is workload dependent

Engineering Contradiction:
Improvepower consumptionVSAvoidcore parking guarantee
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The patent implements preliminary action by proactively halting unused cores before they are needed. The hardware arrangement continuously monitors workload and pre-emptsively deactivates cores that will not be required, ensuring reliable power savings without waiting for OS-driven workload changes.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If the OS is rebooted to re-allocate cores, then core allocation can be changed, but system availability is reduced and re-allocation time increases

Engineering Contradiction:
Improvecore re-allocationVSAvoidre-allocation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements dynamics by enabling real-time core allocation changes without system reboot. The hardware arrangement allows the OS to dynamically activate or deactivate cores on-demand, transforming the static boot-time core configuration into a dynamic, runtime-adjustable resource allocation mechanism.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2691830B1Dynamic allocation of processor cores running an operating system
Publication Date: 2015.01.07 SYMBOL TECH INC
  • EP2691830B1 patent drawingFigure 1
  • EP2691830B1 patent drawingFigure 2
  • EP2691830B1 patent drawingFigure 3

AI summary

An apparatus and method for dynamic allocation of multiple processor cores in a computer running an operating system includes providing (300) a program operable to halt a core from processing instructions from a respective ready queue. A next step includes establishing (302) a maximum count of tokens available to allow the program execution, wherein the maximum count is less than a total number of cores. A next step includes obtaining (304) tokens by the cores, wherein at least one core will not be able to obtain a token. If a token has been obtained by a core (306), executing (308) the program by that core, or otherwise not executing the program by that core and remaining active (310) to process instructions from the respective ready queue of that core.