Fine-Grained QoS Control via Interpolation for Partitioned Processor Resources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Quality of Service (QoS) mechanisms in processor-based systems provide only coarse-grained control over the allocation of shared resources such as system caches and memory access bandwidth, limiting allocation resolution and the number of resource clients that can access these resources.
Innovation Solution
The implementation of fine-grained QoS control using interpolation for partitioned resources in processor-based systems, where each combination of resource client and partition is assigned a unique allocation indicator, allowing for varying allocations across partitions and enabling higher-resolution aggregate resource allocation through interpolation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional QoS mechanisms use a single way mask applied to all partitions, then the implementation is simple, but the allocation resolution is coarse-grained and limited to minimum increments (e.g., 5% or 6.25%)
Solution Approach 1:
The patent segments the allocation control by creating separate way masks for each partition (partition 0 way mask, partition 1 way mask, etc.) instead of using a single unified way mask. This segmentation allows independent control of resource allocation in each partition, enabling fine-grained allocation resolution where different clients can receive different allocation percentages across partitions through interpolation of individual partition allocations.
Solution Approach 2:
The patent adds a partition dimension to the allocation control structure. Instead of a single-dimensional way mask applied uniformly across all partitions, the system now uses multiple way masks indexed by partition number. This dimensional expansion enables the interpolation mechanism to combine allocations across partitions, achieving fine-grained control (e.g., 3.125% increments) by weighting individual partition allocations.
2Measurement precision
If fine-grained QoS control is implemented using traditional methods, then allocation precision improves, but hardware implementation costs increase significantly
Solution Approach 1:
The patent uses copying by replicating the same way mask structure across multiple partitions. Instead of designing complex custom hardware for fine-grained control, the system copies the basic way mask mechanism and indexes it by partition number. This approach leverages existing hardware patterns, reducing implementation cost while achieving fine-grained precision through the combination of multiple copied instances with different allocation weights.
Solution Approach 2:
The patent creates a universal allocation framework where the same way mask structure serves multiple partitions simultaneously. The interpolation mechanism universally combines allocations across all partitions using a single control logic, making the system multi-functional without requiring separate specialized hardware for each partition. This universal approach reduces overall hardware cost while maintaining fine-grained precision.
3Adaptability or versatility
If coarse-grained allocation is used with single way masks, then the number of resource clients is limited, but the system remains simple to manage
Solution Approach 1:
The patent performs preliminary action by pre-configuring individual way masks for each partition before resource allocation decisions are made. Each partition has its way mask prepared in advance, stored in dedicated registers. When allocation decisions are needed, the system interpolates between these pre-configured masks based on client priorities and QoS requirements, enabling support for many more clients without complex real-time computation.
Solution Approach 2:
The patent introduces an intermediary interpolation mechanism that mediates between individual partition allocations and final client allocations. This intermediary layer combines the pre-configured way masks from multiple partitions using weighted interpolation, translating fine-grained partition-level controls into effective client-level allocations. This mediator enables versatile client support while keeping individual partition controls simple.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Providing fine-grained Quality of Service (QoS) control using interpolation for partitioned resources in processor-based systems is disclosed. In this regard, in one aspect, a processor-based system provides a partitioned resource (such as a system cache or memory access bandwidth to a shared system memory) that is subdivided into a plurality of partitions, and that is configured to service a plurality of resource clients. A resource allocation agent of the processor-based system provides a plurality of allocation indicators corresponding to each combination of resource client and partition, and indicating an allocation of each partition for each resource client. The resource allocation agent allocates the partitioned resource among the resource clients based on an interpolation of the plurality of allocation indicators. Because each allocation indicator may be different for each combination of resource client and partition, interpolation of the allocation indicators provides a higher-resolution aggregate resource allocation for each resource client.