Weighted Fair Queuing Virtual Finish Time Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Weighted fair queuing techniques inadequately address issues such as resource processing rate variability, resource attribute sensitivity, and cross-stream interference in complex resource-sharing systems, particularly in systems-on-chip (SoC) and computer systems.
Innovation Solution
An enhanced weighted fair queuing technique that stores virtual finish times at the requestor rather than the resource, using accumulator modules to predict and adjust virtual finish times and an arbiter module to reorder request messages based on these times, ensuring efficient resource allocation and preventing saturation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If weighted fair queuing is used to provide fair access to a resource, then service distribution is improved, but it inadequately addresses resource processing rate variability and resource attribute sensitivity
Solution Approach 1:
The patent implements dynamic virtual finish time prediction that adapts to varying resource processing rates. The system continuously updates virtual finish times based on actual resource behavior, allowing the queueing mechanism to respond to changes in processing rate without requiring manual reconfiguration. This dynamic adjustment resolves the contradiction by maintaining service fairness while adapting to resource variability.
Solution Approach 2:
The system employs feedback mechanisms where the resource reports actual processing completion times, and the requestor uses this information to adjust virtual finish time predictions. This closed-loop feedback allows the weighted fair queuing system to learn from actual resource performance and refine its scheduling decisions, thereby improving both fairness and adaptability to processing rate variations.
2Productivity
If weighted fair queuing is used to manage request streams, then service allocation is improved, but cross-stream interference is not adequately addressed
Solution Approach 1:
The patent segments request streams into distinct queues at the requestor, with each queue independently managing its own virtual finish time predictions. This segmentation allows the system to track and manage different request streams separately, reducing cross-stream interference while maintaining overall allocation efficiency through coordinated virtual finish time adjustments across streams.
3Device complexity
If virtual finish times are stored at the resource rather than the requestor, then resource management is simplified, but service quality and timing accuracy deteriorate
Solution Approach 1:
The patent inverts the conventional approach by having the requestor store and manage virtual finish times rather than the resource. This inversion shifts the computational burden to the requestor side, where timing information can be more accurately predicted based on local request characteristics, thereby improving measurement precision while the resource side remains relatively simple.
4Ease of manufacture
If simple fair queuing is used to provide equal access, then implementation is simplified, but it cannot adequately handle different service requirements and weights
Solution Approach 1:
The patent extends simple fair queuing by introducing variable weight parameters that can be assigned to different request streams. Instead of uniform equal access, the system allows configuration of different weights to reflect varying service requirements. This parameter change enables the system to maintain the simplicity of fair queuing while adding the flexibility to handle diverse service requirements through adjustable weighting factors.
Data Source
AI summary
A method and system for an enhanced weighted fair queuing technique for a resource are provided. A plurality of request streams is received at a requestor, each request stream including request messages from a process executing on the requestor. The request messages of each request stream are apportioned to an input queue associated with the request stream; each input queue has a weight. A virtual finish time is determined for each request message based, at least in part, on the weights of the input queues. A sequence of request messages is determined based, at least in part, on the virtual finish times of the request messages. The sequence of request messages is enqueued into an output queue. The sequence of request messages is sent to a resource, over a connection, which provides a service for each process.


