---
title: Shared System-Level Cache
url: https://www.emergentmind.com/topics/shared-system-level-cache
type: topic
---

# Shared System-Level Cache

A shared system-level cache (SLC), frequently synonymous with shared last-level cache (LLC), is a cache memory resource located at the highest level of the processor-internal memory hierarchy that is accessible by multiple cores, clusters, or heterogeneous processing engines. This architectural element serves as a critical arena for performance optimization, temporal isolation, coherence management, QoS enforcement, and security assurance in both general-purpose and domain-specific multicore systems.

## 1. Fundamental Architectural Principles

System-level caches are physically centralized resources—typically L2 or L3—in multi/many-core SoCs and heterogeneous systems. They may be organized as inclusive, exclusive, or noninclusive to lower-level caches. The physical organization can include set associative, banked, or even pseudo-random policies, as in the exclusive 8 MiB, 16-way, 128 B-line SLC of Apple M-series SoCs (indexed on PA[25:14]) [2504.13385]. SLCs may be banked to afford increased memory-level parallelism, where independent banks/slices permit high-throughput concurrent access, at the cost of bank-level contention phenomena [2410.14003].

Sharing characteristics depend on workload and platform. CPUs, GPUs, and other agents (e.g., in heterogeneous SoCs) may share the SLC with distinct inclusion/exclusion properties (exclusive for CPU, inclusive for GPU in Apple M-series [2504.13385]). Thus, the SLC acts both as a performance-critical resource and a locus of interference and security vulnerability.

## 2. Data Coherence, Isolation, and Partitioning

Coherence of shared system-level caches is traditionally maintained using directory-based invalidation protocols such as MESI/MOESIF, as implemented in programmable or fixed-function engines (e.g., BlackParrot-BedRock MOESIF directory [2505.00962]). Directoryless approaches, such as DLS [1206.4753], leverage weak memory consistency and speculation to eliminate directories, dramatically cutting area, network traffic, and energy at modest complexity.

Partitioning enables spatial isolation of SLC lines. Hardware like Intel CAT exposes “way masks” for each core or group (CLOS), and the OS or VMM can assign these statically or dynamically to applications for soft or hard QoS goals [2102.09673, 2402.07693, 1708.09538]. Partitioning aids temporal isolation (satisfying per-tenant SLAs [1906.01260]) and is a foundation for security (side-channel elimination via cache partitioning [1708.09538]) and mixed-criticality scheduling (dynamic redistribution at mode change [1704.08876]).

Partitioning and clustering strategies may assign partitions to cores singly or in groups, or dynamically move ways between domains guided by fairness, slowdown minimization, or cache sensitivity classifications (e.g., LFOC+’s classification and Pair-Clustering heuristic [2402.07693]).

## 3. Sharing Control, Scheduling, and Predictability

Enabling multiple agents or cores to share partitions increases cache space utilization and hardware efficiency, but risks unbounded contention and WCET (worst-case execution time) inflation. Safety-critical and real-time systems use hardware/software contracts to control contention.

Mechanisms include:
- Static and dynamic LLC partition assignment, possibly grouped by application criticality [2204.01679, 1704.08876].
- Arbitration via time-division multiplexing (TDM) buses and set sequencers for predictable queueing and bounded WCL [2204.01679].
- Compiler- and ML-guided allocation frameworks (e.g., Com-CAS), where phase-aware app behavior is predicted and CAT allocations are adjusted “just-in-time” [2102.09673].
- Per-bank bandwidth regulation, which multiplexes access to cache banks in order to block denial-of-service at the true contention point (bank, not cache-wide) [2410.14003].

By judiciously grouping tasks by working set, criticality, and sharing requirements, these methods mediate utilization, fairness, throughput, and predictability.

## 4. Replacement, Management, and Data Sharing Policies

Shared SLCs must balance eviction and protection of lines according to locality, hotness, and sharing patterns. Approaches include:
- Reuse- and sharing-aware replacement (e.g., SRCP), which equips each line with per-core and global counters to prioritize high-reuse, highly shared lines and prevent unnecessary replication across partitions [2201.11638].
- Pairwise instruction-data management (e.g., Garibaldi), where instruction lines with high “miss cost” (i.e., that trigger hot data) are selectively protected from eviction, and data lines paired with instruction misses may be prefetched [2505.18554].
- Hybrid dedicated/shared cache regions for private-cloud workloads: a portion is reserved for each tenant to guarantee minimum hit-rate (“hard” SLA), while the rest is globally pooled for opportunistic performance (“soft” SLA). Victim-selection is guided by per-tenant gap to target [1906.01260].

Profiling and tuning of these policies may use trace-driven reuse-distance analysis, yielding aggregated reuse-distance histograms that predict the miss-rate impact of contention for rapid design-space exploration at the cache configuration phase [2109.04621].

## 5. Security and Side-Channel Mitigation

SLCs are prime targets for cross-core, cross-domain side-channel attacks due to shared state visibility:
- Timing-based attacks, such as flush+reload and occupancy-based probes, can leak cryptographic keys or infer cross-component behavior (e.g., CPU-GPU occupancy leakage in Apple M SLC [2504.13385]).
- Defenses include partitioning via CAT, domain-aware co-scheduling, and time-based cache-flushing (“state-cleansing”) on context switch [1708.09538].
- Hardware extensions (e.g., TimeCache) enforce “first-access misses,” leveraging per-line per-context s-bits and load-time timestamps to ensure that any process’s first access to a line loaded by another always incurs a miss, blocking classical cache reuse side channels [2009.14732].
- Application-visible cacheability controls (INC-OC memory type) permit selected data to only be cached in the shared SLC level, bypassing private caches entirely and eliminating coherence overheads and associated unpredictability [1909.05349].

Methodologies for partitioning, cleansing, and first-access motion are evaluated on isolation, microbenchmark security, and system-level overhead, with state-of-the-art designs sustaining <2% runtime overhead and near-complete elimination of targeted side-channels [2009.14732, 1708.09538].

## 6. Heterogeneous and Multi-Domain Use Cases

System-level caches are critical for efficiently supporting contemporary heterogeneous platforms. Apple M-series SoCs exemplify SLC designs shared across high-performance, efficiency, and GPU clusters, with asymmetric inclusion policies (CPU exclusive, GPU inclusive) and pseudo-random replacement [2504.13385]. This heterogeneity enables powerful occupancy-based side-channels but also allows resource multiplexing and performance scaling across diverse agents.

Emerging ML/AI inference services such as RAG-powered LLMs require shared, persistent KV caches across many instances, with additional layers of management (in-RAM LRU, disk-backed blobs, prefetching on queue wait, etc.) for throughput and latency optimization [2504.11765]. Here, the SLC is extended into the storage subsystem, but similar principles—prefetch, sharing, capacity constraint management—apply.

## 7. Summary Table: Shared SLC Design Dimensions

| Dimension                | Example Mechanisms / Features                                            |
|--------------------------|---------------------------------------------------------------------------|
| Partitioning             | Way-based (Intel CAT), per-bank, hybrid dedicated/shared [2402.07693, 1906.01260, 2410.14003] |
| Coherence/Consistency    | Directory/BedRock MOESIF, directoryless/DLS, programmable engine [2505.00962, 1206.4753] |
| Arbitration              | TDM arbitration, set/queue sequencers, adaptive reallocation [2204.01679, 1704.08876]      |
| Replacement/Eviction     | Reuse-aware, sharing-aware, instruction-data pair management [2201.11638, 2505.18554]   |
| Security/Isolation       | CAT clustering/co-scheduling, state-cleansing, TimeCache [1708.09538, 2009.14732]        |
| Bank/Locality Handling   | Per-bank regulation, aggregated reuse-distance histograms [2410.14003, 2109.04621]       |
| Heterogeneous Sharing    | Exclusive/inclusive hybrid, multi-cluster, GPU-aware [2504.13385]                        |
| Service/Cloud-Aware Mgmt | Multi-tenant hybrid SLAs, disk-based KV cache sharing [1906.01260, 2504.11765]           |

## References

- "EXAM: Exploiting Exclusive System-Level Cache in Apple M-Series SoCs for Enhanced Cache Occupancy Attacks" [2504.13385]
- "Predictable Sharing of Last-level Cache Partitions for Multi-core Safety-critical Systems" [2204.01679]
- "LFOC+: A Fair OS-level Cache-Clustering Policy for Commodity Multicore Systems" [2402.07693]
- "Reuse-Aware Cache Partitioning Framework for Data-Sharing Multicore Systems" [2201.11638]
- "Timing Cache Accesses to Eliminate Side Channels in Shared Software" [2009.14732]
- "A Hybrid Cache Architecture for Meeting Per-Tenant Performance Goals in a Private Cloud" [1906.01260]
- "Cache Where you Want! Reconciling Predictability and Coherent Caching" [1909.05349]
- "Effective Cache Apportioning for Performance Isolation Under Compiler Guidance" [2102.09673]
- "Per-Bank Bandwidth Regulation of Shared Last-Level Cache for Real-Time Systems" [2410.14003]
- "An Effective Early Multi-core System Shared Cache Design Method Based on Reuse-distance Analysis" [2109.04621]
- "The Open-Source BlackParrot-BedRock Cache Coherence System" [2505.00962]
- "Garibaldi: A Pairwise Instruction-Data Management for Enhancing Shared Last-Level Cache Performance in Server Workloads" [2505.18554]
- "Mixed-criticality Scheduling with Dynamic Redistribution of Shared Cache" [1704.08876]
- "A Novel Scheduling Framework Leveraging Hardware Cache Partitioning for Cache-Side-Channel Elimination in Clouds" [1708.09538]
- "Shared Disk KV Cache Management for Efficient Multi-Instance Inference in RAG-Powered LLMs" [2504.11765]
- "DLS: Directoryless Shared Last-level Cache" [1206.4753]

Source: https://www.emergentmind.com/topics/shared-system-level-cache