Throttling Iterative Processes via Adaptive Delay Schedules

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing-intensive tasks, iterative processes often waste MIPS by continuously searching for work even when none is available, leading to inefficient resource utilization and increased operational costs.

Innovation Solution

Implementing a throttling schedule that calculates a delay time between iterations based on the number of units of work processed, using a look-up table or formula, and overriding it according to service level agreements or operator-initiated overrides, to reduce unnecessary iterations and conserve MIPS.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the iterative process continuously checks for work at each iteration, then work availability is monitored, but MIPS resources are wasted when no work is available

Engineering Contradiction:
Improvework availability monitoringVSAvoidMIPS waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system transitions from continuous periodic checking at fixed intervals to adaptive periodic action where the iteration interval itself is dynamically adjusted. The throttling schedule modifies the period between iterations based on workload conditions, reducing the frequency of checks during low-workload periods while maintaining responsiveness during high-workload periods, thus resolving the contradiction between reliable monitoring and energy efficiency

Inventive Principle:
Principle #19Periodic action

2Ease of operation

If the iterative process runs at fixed intervals, then scheduling is simple, but resource efficiency decreases when work is not available

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

Solution Approach 1:

The system evolves from static fixed-interval scheduling to dynamic adaptive scheduling. The iteration interval becomes a dynamic parameter that adjusts based on real-time workload conditions and historical patterns. The throttling schedule stores and applies varying time intervals for different timeframes, enabling the system to optimize resource efficiency while maintaining operational simplicity through automated adaptation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms where the results of previous iterations (work availability, workload intensity) are used to determine future iteration intervals. The throttling schedule is calculated based on normalized work counts from previous timeframes, creating a feedback loop that continuously optimizes scheduling for both simplicity and efficiency

Inventive Principle:
Principle #23Feedback

3Loss of energy

If the throttling schedule is strictly enforced, then MIPS usage is reduced, but responsiveness to urgent work may be compromised

Engineering Contradiction:
ImproveMIPS reductionVSAvoidresponsiveness
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system dynamically changes the time interval parameter in the throttling schedule based on workload conditions. When work becomes available or urgency increases, the iteration interval is reduced or overridden, allowing the system to maintain MIPS reduction benefits while preserving responsiveness through parameter adaptation rather than rigid enforcement

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8327365B2Throttling of an interative process in a computer system
Publication Date: 2012.12.04 BANK OF AMERICA CORP
  • US8327365B2 patent drawing
  • US8327365B2 patent drawing
  • US8327365B2 patent drawing

AI summary

Throttling of an iterative process in a computer system is disclosed. Embodiments of the present invention focus on non-productive iterations of an iterative process in a computer system. The number of productive iterations of the iterative process during a current timeframe is determined while the iterative process is executing. A count of the number of process starts for the iterative process during the current timeframe is stored. The count can be normalized to obtain a number of units of work handled during the current timeframe. A throttling schedule can be calculated, and the throttling schedule can be stored in the computer system. The throttling schedule can then be used to determine a delay time between iterations of the iterative process for a new timeframe. A formula can be used to calculate the throttling schedule. The throttling schedule can be overridden in accordance with a service level agreement (SLA), as well as for other reasons.