Request Preemption for Application Overload Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing request throttling mechanisms are inefficient in resolving application overload situations due to their focus on limiting new requests, which can lead to prolonged recovery times when long-running requests are executing, as they do not address the ongoing resource consumption and service level breaches caused by these requests.
Innovation Solution
Implement a selective preemption approach that identifies and suspends or terminates executing requests based on criteria such as utility measure, residual lifetime, and executing time, allowing for prioritization and rescheduling to alleviate overload conditions by targeting resource-intensive and long-running requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If request throttling is used to limit new requests, then the application overload situation is mitigated, but the recovery time is prolonged due to long-running requests continuing to execute
Solution Approach 1:
The system performs preliminary identification of long-running requests before they complete execution. By detecting requests that exceed a threshold execution time and preempting them early, the system prevents prolonged resource consumption and accelerates overload recovery, rather than waiting for natural completion of all requests
Solution Approach 2:
Instead of only limiting new requests (traditional throttling approach), the invention inverts the approach by targeting and preempting already-executing requests. This reverse strategy directly addresses the root cause of prolonged recovery by removing resource-intensive long-running requests from the system
2Use of energy by moving object
If all new requests are throttled, then resource consumption is reduced, but system productivity decreases due to extended overload duration
Solution Approach 1:
The system applies differentiated treatment to different requests based on their characteristics. Instead of uniformly throttling all new requests, it selectively preempts specific long-running requests that consume excessive resources, while allowing other requests to proceed normally. This localized approach preserves productivity by maintaining throughput for non-problematic requests
Data Source
AI summary
Systems, methods, and computer-readable and executable instructions are provided for selecting executing requests to preempt. Selecting executing requests to preempt can include determining whether an application is in an overload condition. Selecting executing requests can also include in response to determining the application is in an overload condition, identifying each request that is being executed by the application. Selecting executing requests can also include determining a value for each request that is executing. Furthermore, selecting executing requests can also include selecting executing requests to preempt based on the values for the requests.


