CPU Throttling via Process Suspension and Feedback Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computer applications often consume most or all of the CPU resources, leading to processing delays and potential system crashes due to inefficient CPU resource management, especially when older computers are used, resulting in frustrating user experiences.

Innovation Solution

A system and method that utilize a monitoring component to track CPU resource usage and a control component to suspend and resume processes that exceed predetermined thresholds, allowing for real-time adaptation and minimizing the risk of thread deadlock by throttling entire processes rather than individual threads, with optional user-specific exemptions for critical applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If modern applications are designed without regard for CPU capabilities, then application functionality and performance are improved, but CPU resource exhaustion and system stability deteriorate

Engineering Contradiction:
Improveapplication performanceVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements continuous monitoring of CPU resource usage by applications and uses this feedback to dynamically adjust process execution. The monitoring component tracks CPU consumption in real-time, and the control component responds by suspending or resuming processes based on threshold violations, creating a closed-loop control system that maintains system stability while allowing high-performance applications to run.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts process execution states based on real-time CPU resource conditions. Rather than static resource allocation, the control component can suspend, resume, or throttle processes on-the-fly based on current system state, allowing the system to adapt to changing resource demands and maintain stability under varying loads.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the CPU attempts to respond to multiple program requests by stealing resources, then resource utilization is improved, but thread deadlock and processing delays worsen

Engineering Contradiction:
ImproveCPU resource utilizationVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements periodic monitoring of CPU resource usage and periodic suspension/resumption of processes. Rather than allowing continuous resource contention that leads to deadlock, the control component periodically intervenes to suspend processes that exceed thresholds, allowing other processes to access CPU resources, then resumes them later. This periodic action prevents deadlocks while maintaining overall resource utilization.

Inventive Principle:
Principle #19Periodic action

3Reliability

If conventional CPU resource management methods are used, then system operation is maintained, but time consumption and efficiency deteriorate

Engineering Contradiction:
Improvesystem operationVSAvoidmanagement time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements self-service CPU resource management where the control component automatically monitors, evaluates, and adjusts process execution without user intervention. The monitoring component continuously tracks CPU usage, the control component automatically suspends or resumes processes based on predefined thresholds, and the system adapts to changing conditions autonomously, eliminating the need for manual resource management while maintaining system operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7784054B2Systems and methods for CPU throttling utilizing processes
Publication Date: 2010.08.24 WM SOFTWARE
  • US7784054B2 patent drawing
  • US7784054B2 patent drawing
  • US7784054B2 patent drawing

AI summary

Systems and methods are disclosed that facilitate central processing unit (CPU) throttling utilizing processes to facilitate enhanced management of CPU resources and to mitigate system crashes. A process (or group thereof) that occupies CPU resources at a percentage greater than a selectable predetermined threshold percentage can be monitored, suspended for a variable time period, and resumed. The process can be monitored to determine whether suspension of the process successfully reduced the percentage of CPU resources occupied by the process. Feedback information can be generated to facilitate a determination regarding a most suitable increase or decrease to suspension time of the process in order to minimize the number of reiterations required to successfully throttle the process. The invention also provides for an Ignore functionality, via which a process (or group thereof) can be exempted from throttling based on an exemption of the process, group of processes, and/or user.