IP Library Granted Patent US 12,711,071
Granted Patent B2
US 12,711,071 · App. 18/824,818 · Granted Aug 18, 2026

Allocation control for cache

Inventors: Chintan S. Patel (Santa Clara, CA); Alexander J. Branover (Boxborough, MA); Benjamin Tsien (Santa Clara, CA); Edgar Munoz (Austin, TX); Vydhyanathan Kalyanasundharam (Santa Clara, CA)
Assignee: Advanced Micro Devices, Inc.
G06F12/0871G06F12/0811G06F12/0864
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,711,071
App. No.
18/824,818
Filed
Sep 4, 2024
Granted
Aug 18, 2026
Kind
B2
Art Unit
2133
USPC
711/118
Abstract

A technique for operating a cache is disclosed. The technique includes based on a workload change, identifying a first allocation permissions policy; operating the cache according to the first allocation permissions policy; based on set sampling, identifying a second allocation permissions policy; and operating the cache according to the second allocation permissions policy.

Claims (32)

1 . A method comprising:

performing caching operations, by a last level cache, for a plurality of clients connected via an interconnect to the last level cache;

based on a workload change, changing a first allocation policy for the last level cache to generate an updated first allocation policy that indicates which clients of the plurality of clients are permitted to allocate into the last level cache, wherein the updated first allocation policy reduces cache thrashing associated with contention among the plurality of clients as compared with the first allocation policy; and

operating the last level cache according to the updated first allocation policy.

2 . The method of claim 1 , wherein the workload changes comprises changing from a first workload to a second workload, wherein the first workload includes a first set of executing applications and active clients, and the second workload includes a second set of executing applications and active clients.

3 . The method of claim 1 , further comprising determining the updated first allocation policy based on aspects of execution observed for the workload change.

4 . The method of claim 1 , further comprising determining the updated first allocation policy using a set sampling technique.

5 . The method of claim 4 , wherein the set sampling technique comprises observing performance of different allocation policies in different sets of the last level cache.

6 . The method of claim 5 , wherein the different sets are cache associativity sets.

7 . The method of claim 1 , wherein the first allocation policy and the first updated allocation policy indicate which clients are permitted to allocate entries in the last level cache and which clients are not permitted to allocate entries in the last level cache.

8 . The method of claim 7 , where the allocating includes, in response to a miss in the last level cache for an access request from a client, assigning an entry of the last level cache to store data for the request.

9 . The method of claim 1 , wherein the performing the caching operations includes allocating entries into the last level cache based on the first allocation policy.

10 . A system comprising:

a last level cache configured to perform caching operations for a plurality of clients connected via an interconnect to the last level cache; and

a cache controller configured to:

based on a workload change, change a first allocation policy for the last level cache to generate an updated first allocation policy that indicates which clients of the plurality of clients are permitted to allocate into the last level cache, wherein the updated first allocation policy reduces cache thrashing associated with contention among the plurality of clients as compared with the first allocation policy; and

cause the last level cache to operate according to the updated first allocation policy.

11 . The system of claim 10 , wherein the workload changes comprises changing from a first workload to a second workload, wherein the first workload includes a first set of executing applications and active clients, and the second workload includes a second set of executing applications and active clients.

12 . The system of claim 10 , wherein the cache controller is further configured to determine the updated first allocation policy based on aspects of execution observed for the workload change.

13 . The system of claim 10 , wherein the cache controller is further configured to determine the updated first allocation policy using a set sampling technique.

14 . The system of claim 13 , wherein the set sampling technique comprises observing performance of different allocation policies in different sets of the last level cache.

15 . The system of claim 14 , wherein the different sets are cache associativity sets.

16 . The system of claim 10 , wherein the first allocation policy and the first updated allocation policy indicate which clients are permitted to allocate entries in the last level cache and which clients are not permitted to allocate entries in the last level cache.

17 . The system of claim 16 , where the allocating includes, in response to a miss in the last level cache for an access request from a client, assigning an entry of the last level cache to store data for the request.

18 . The system of claim 10 , wherein the performing the caching operations includes allocating entries into the last level cache based on the first allocation policy.

19 . A system comprising:

a plurality of clients;

a last level cache configured to perform caching operations for the plurality of clients connected via an interconnect to the last level cache; and

a cache controller configured to:

based on a workload change, change a first allocation policy for the last level cache to generate an updated first allocation policy that indicates which clients of the plurality of clients are permitted to allocate into the last level cache, wherein the updated first allocation policy reduces cache thrashing associated with contention among the plurality of clients as compared with the first allocation policy; and

cause the last level cache to operate according to the updated first allocation policy.

20 . The system of claim 19 , wherein the workload changes comprises changing from a first workload to a second workload, wherein the first workload includes a first set of executing applications and active clients, and the second workload includes a second set of executing applications and active clients.

Continuity (2)
Continuation 17852296 · Jun 28, 2022
Related Publication 20240427704A1 · Dec 26, 2024
References Cited (13)
US 9298616B2 · Soundararajan et al. · 2016 [cited by applicant]
US 10303602B2 · Kayiran et al. · 2019 [cited by applicant]
US 20070180199A1 · Augsburg et al. · 2007 [cited by applicant]
US 20130151777A1 · Daly et al. · 2013 [cited by applicant]
US 20160147655A1 · Hower et al. · 2016 [cited by applicant]
US 20170255569A1 · Sartorius et al. · 2017 [cited by applicant]
US 20170293565A1 · Priyadarshi et al. · 2017 [cited by applicant]
US 20180260330A1 · Felter · 2018 [cited by examiner]
US 20190042388A1 · Wang et al. · 2019 [cited by applicant]
US 20200151111A1 · Krueger · 2020 [cited by applicant]
US 20210406145A1 · Kelley et al. · 2021 [cited by applicant]
US 20220197700A1 · Wasserman · 2022 [cited by examiner]
Jallel, A., et al., “Adaptive Insertion Policies for Managing Shared Caches”; Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques, PACT '08 AMC Press, New York, New York… [cited by applicant]