Throttling Iterative Processes via Adaptive Delay Schedules
Find Innovative SolutionsGenerate 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
Engineering 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
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
2Ease of operation
If the iterative process runs at fixed intervals, then scheduling is simple, but resource efficiency decreases when work is not available
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
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
3Loss of energy
If the throttling schedule is strictly enforced, then MIPS usage is reduced, but responsiveness to urgent work may be compromised
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
Data Source
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.


