Dynamic CPU Core Sharing for Emulation Workload Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing electronic data storage systems face inefficiencies in processing resource utilization due to fixed core allocations among different emulation modules, leading to suboptimal performance and resource under/overutilization.

Innovation Solution

Implementing a dynamic CPU core sharing mechanism where emulation modules on a compute node monitor core utilization and donate or borrow processing resources from a shared pool, allowing flexible allocation based on under/overutilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fixed core allocations are used among emulation modules, then resource allocation simplicity is maintained, but processing resource efficiency deteriorates due to under/overutilization

Engineering Contradiction:
Improveprocessing resource efficiencyVSAvoidcore allocation mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic CPU core sharing where emulation modules can donate or borrow cores based on real-time utilization monitoring. This transforms the static core allocation into a dynamic system that adapts to changing workload demands, improving processing resource efficiency while maintaining manageable complexity through automated monitoring and donation mechanisms.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If dedicated cores are allocated to each emulation module, then resource allocation stability is ensured, but adaptability deteriorates as modules cannot utilize available processing resources from other modules

Engineering Contradiction:
Improveprocessing resource flexibilityVSAvoidresource allocation stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent creates a shared pool of CPU cores that can be universally accessed by multiple emulation modules. The donation mechanism allows cores to serve both their original dedicated function and be temporarily reassigned to other modules that need additional processing power,从而实现资源的通用化和多功能性,同时通过保留捐赠选项来维持资源分配的稳定性。

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

Solution Approach 2:

The system implements monitoring of core utilization by each emulation module and uses this feedback information to dynamically adjust core allocation. When a module is underutilized, it donates cores to the shared pool; when overutilized, it can borrow cores. This feedback loop ensures both adaptability to changing demands and stability through automated resource management.

Inventive Principle:
Principle #23Feedback

3Productivity

If underutilized cores are donated to shared pool, then overall resource utilization improves, but individual module performance may deteriorate if donated cores are needed during peak demand

Engineering Contradiction:
Improveoverall resource utilizationVSAvoidindividual module performance guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent changes the parameter of core allocation from fixed to variable, allowing modules to dynamically adjust their core participation based on utilization parameters. Modules can donate cores when utilization is low and borrow when high, with the system tracking and managing these parameter changes to ensure individual performance requirements are met while improving overall utilization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12405830B2Dynamic CPU core sharing
Publication Date: 2025.09.02 DELL PROD LP
  • US12405830B2 patent drawing
  • US12405830B2 patent drawing
  • US12405830B2 patent drawing

AI summary

Emulation modules running on a single-board compute node have allocations of cores of a multi-core processor. The emulation modules are configured to donate underutilized cores or available CPU cycle units to a shared pool that can be used by other emulation modules running on the board. Emulation modules that require additional processing resources borrow cores or CPU cycle units from the shared pool. The emulation modules dynamically donate and retract cores or CPU cycle units from the shared pool based on utilization of allocated cores.