Cache Partitioning Controller for Multi-Owner Resource Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for partitioning data storage resources among multiple owners lack flexibility and efficiency, particularly in managing cache or directory resources shared by processors or processor cores.
Innovation Solution
A method and enhanced controller that determine a total value representing each owner's share of the resource based on ownerships, allowing partitioning of elements to be owned by one or more owners, and utilize pseudo-owners to efficiently manage and update ownership changes, thereby facilitating flexible and efficient sharing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional cache partitioning schemes are used to manage shared cache resources among multiple processors, then resource allocation can be enforced, but flexibility and efficiency in managing multi-owner objects are reduced
Solution Approach 1:
The patent introduces a controller as an intermediary component that manages cache partitioning and ownership. The controller receives requests from multiple processors, determines ownership of cache lines, and enforces partitioning policies. This intermediary approach allows flexible multi-owner support while keeping the complexity centralized in the controller rather than distributed across all processors and cache structures.
2Ease of manufacture
If cache lines are assigned to single owners for simplified management, then implementation becomes easier, but efficiency in utilizing shared cache resources is reduced
Solution Approach 1:
The patent implements dynamic ownership where cache lines can have multiple owners simultaneously. The ownership is not static but can change based on access patterns and partitioning policies. The controller dynamically determines which processors own which cache lines, allowing the system to adapt to different workloads and efficiently utilize cache resources while maintaining manageable complexity through centralized control.
3Ease of operation
If maximum threshold allocation is used for each owner, then resource sharing is simplified, but fairness and priority-based allocation are compromised
Solution Approach 1:
The patent changes the parameter of ownership from a single-owner model to a multi-owner model with associated ownership values. Each cache line has ownership information that indicates which processors own it and with what priority. The controller uses these ownership parameters to enforce partitioning policies that can guarantee minimum allocations, support priority-based allocation, and ensure fairness among multiple processors while maintaining operational simplicity through centralized management.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present invention relates to a method for partitioning elements (34) of a data storage resource (32) shared among a plurality of owners, wherein each element (34) is configured to store an object, wherein each object is owned by one or more owners of the plurality of owners, wherein the method comprises: a determination step of determining, for each owner, a total value representing the owner's share of the resource, on a basis of the ownerships of each owner among the objects; and a partition step of partitioning the elements (34) of the data storage resource (32) based on the determined total values of the owners. The present invention further relates to an enhanced controller (10), a cache or directory system (30), and a processing system.