Dynamic CPU Multitasking via Utilization-Based Release Intervals

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Frequent attempts by block applications to release the CPU lead to significant performance degradation due to overhead costs, as they often release the CPU without considering the utilization patterns of other applications, resulting in inefficient resource allocation.

Innovation Solution

A dynamic CPU multitasking process that determines block and non-block application execution utilization to generate optimal CPU release intervals and durations, adjusting these based on thresholds to minimize overhead and improve system performance by aligning with the actual CPU requirements of both applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If block applications frequently release the CPU to allow other applications to utilize it, then resource sharing and system responsiveness are improved, but performance degradation occurs due to significant overhead from frequent context switches

Engineering Contradiction:
ImproveCPU sharing capabilityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic CPU release by adjusting the release interval and release duration parameters based on real-time monitoring of block application execution utilization and non-block application execution utilization. This dynamic adjustment allows the system to adapt CPU sharing behavior to current workload conditions, resolving the contradiction between improving CPU sharing capability and maintaining system performance by avoiding excessive context switches when not necessary.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes key parameters (release interval and release duration) of CPU scheduling based on utilization thresholds. When block application utilization is high and non-block application utilization is low, the release interval is increased and/or release duration is extended, reducing context switch frequency and overhead while still maintaining the ability to share CPU resources when needed.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the CPU is released frequently for non-block applications, then non-block application execution opportunity is improved, but overhead costs increase due to frequent context switches

Engineering Contradiction:
Improvenon-block application executionVSAvoidCPU overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies partial action by releasing the CPU for non-block applications only when utilization thresholds indicate it is beneficial. Instead of frequent or continuous releases, the system performs CPU releases selectively based on monitored utilization patterns, providing just enough execution opportunity for non-block applications without incurring excessive overhead from unnecessary context switches.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system continuously monitors block application execution utilization and non-block application execution utilization, using this feedback to dynamically adjust CPU release decisions. This feedback mechanism ensures that CPU releases occur only when utilization patterns suggest it will improve overall system productivity without wasting energy on overhead from ineffective releases.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If CPU release interval and duration are fixed, then system simplicity is maintained, but efficiency is reduced due to inability to adapt to varying application requirements

Engineering Contradiction:
Improvescheduling simplicityVSAvoidsystem efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent transitions from static fixed CPU release intervals and durations to dynamic parameters that automatically adjust based on real-time utilization monitoring. This dynamic approach maintains ease of operation through automated threshold-based control while significantly improving system efficiency by adapting CPU scheduling to actual application requirements rather than using rigid fixed parameters.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11249800B2System and method for dynamic CPU multitasking
Publication Date: 2022.02.15 EMC IP HLDG CO LLC
  • US11249800B2 patent drawing
  • US11249800B2 patent drawing
  • US11249800B2 patent drawing

AI summary

A method, computer program product, and computing system for determining a block application execution utilization on a central processing unit (CPU) of the computing device. A non-block application execution utilization on the CPU may be determined. A CPU execution release interval and CPU execution release duration for the block application may be generated based upon, at least in part, the block application execution utilization and the non-block application execution utilization.