Dynamic Server Multiprogramming Level Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for tuning server multiprogramming levels are inadequate, as they fail to dynamically adjust to varying workloads, leading to suboptimal performance due to either increased contention on shared resources or limited concurrency.
Innovation Solution
A method and system that dynamically tunes the multiprogramming level by monitoring throughput and adjusting the number of workers in a worker pool based on real-time data, using incremental adjustments and data analysis to optimize worker allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the multiprogramming level is set high to increase concurrency, then the server can handle more requests simultaneously, but resource contention increases causing thrashing
Solution Approach 1:
The patent implements dynamic adjustment of the multiprogramming level based on real-time monitoring of throughput and resource usage. The system transitions from static MPL configuration to dynamic tuning, adjusting the number of workers in the worker pool according to actual system conditions and workload characteristics to optimize the balance between concurrency and resource contention.
Solution Approach 2:
The patent introduces feedback mechanisms where the system continuously monitors throughput values and uses this information to adjust the multiprogramming level. The controller receives throughput values, compares them against thresholds, and modifies the worker pool size accordingly, creating a closed-loop control system that responds to actual system performance.
2Object-generated harmful factors
If the multiprogramming level is set low to reduce resource contention, then thrashing is minimized, but the server's concurrency capability is limited
Solution Approach 1:
The system dynamically adjusts the multiprogramming level based on real-time conditions, allowing it to operate at lower MPL when resource contention is high and at higher MPL when resources are abundant. This dynamic behavior enables the system to achieve both low contention and high concurrency capability as needed.
Solution Approach 2:
The patent changes the multiprogramming level parameter dynamically based on monitored throughput values and system conditions. The controller modifies the number of workers in the pool by adjusting the MPL parameter, allowing the system to optimize performance by changing this critical parameter in response to actual workload and resource availability.
3Reliability
If traditional MPL tuning algorithms are used with small incremental steps, then the tuning process is conservative, but it takes a long time to reach optimal levels
Solution Approach 1:
The patent implements periodic monitoring and adjustment of the multiprogramming level. The system monitors throughput at regular intervals and performs adjustments based on these periodic measurements, allowing for systematic exploration of different MPL values while maintaining stability through structured, interval-based tuning rather than continuous random adjustment.
Solution Approach 2:
The patent replaces traditional mechanical incremental tuning approaches with a more sophisticated controller that uses throughput monitoring and data-driven decision-making. The controller analyzes throughput values and determines optimal MPL adjustments, substituting simple incremental mechanisms with an intelligent control system that can reach optimal levels more efficiently.
Data Source
AI summary
Methods, apparatus and computer program products for allocating a number of workers to a worker pool in a multiprogrammable computer are provided, to thereby tune server multiprogramming level. The method includes the steps of monitoring throughput in relation to a workload concurrency level and dynamically tuning a multiprogramming level based upon the monitoring. The dynamic tuning includes adjusting with a first adjustment for a first interval and with a second adjustment for a second interval, wherein the second adjustment utilizes data stored from the first adjustment.


