Skip to content

Commit 583d0ac

Browse files
Refine memory subsystem documentation for clarity and accuracy
1 parent 6e14150 commit 583d0ac

4 files changed

Lines changed: 4 additions & 8 deletions

File tree

content/learning-paths/servers-and-cloud-computing/memory-subsystem/_index.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@ title: Characterize the memory subsystem of an Arm Linux system using ASCT
33

44
description: Use ASCT to measure cache latency, streaming bandwidth, and coherency latency on Arm Neoverse systems, and compare results across Graviton generations.
55

6-
draft: true
7-
cascade:
8-
draft: true
9-
106
minutes_to_complete: 60
117

128
who_is_this_for: This is an advanced topic for software developers and performance engineers who want to understand and characterize the CPU-side memory subsystem of Arm Linux systems.

content/learning-paths/servers-and-cloud-computing/memory-subsystem/cache-hierarchy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ When you access a single byte, the hardware fetches an entire 64-byte cache line
7878

7979
### Associativity and conflict misses
8080

81-
A 4-way set associative cache can hold 4 lines that map to the same set. If your access pattern happens to map many addresses to the same set, lines get evicted even though the cache isn't full. This is less likely with randomized pointer-chase patterns, but can still occur depending on address distribution and cache indexing but worth understanding.
81+
A 4-way set associative cache can hold 4 lines that map to the same set. If your access pattern happens to map many addresses to the same set, lines get evicted even though the cache isn't full. Conflict misses are less likely with randomized pointer-chase patterns, but can still occur depending on address distribution and cache indexing, making this concept worth understanding.
8282

8383
### Prefetching
8484

content/learning-paths/servers-and-cloud-computing/memory-subsystem/pointer-chase-latency.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ layout: learningpathall
88

99
## The pointer-chase technique
1010

11-
Cache and memory latency is the single most important metric for characterizing a memory subsystem. The standard technique is a pointer chase, a linked list where each node points to the next, and the CPU must complete each load before it can issue the next one. This creates a chain of dependent loads that defeats both hardware prefetching and out-of-order execution, letting you measure the effective dependent-load latency for this access pattern at each level of the memory hierarchy.
11+
Cache and memory latency is the single most important metric for characterizing a memory subsystem. The standard technique is a pointer chase, a linked list where each node points to the next, and the CPU must complete each load before it can issue the next one. Making each load depend on the previous one creates a chain of dependent loads that defeats both hardware prefetching and out-of-order execution, letting you measure the effective dependent-load latency for this access pattern at each level of the memory hierarchy.
1212

1313
## Why pointer chasing works
1414

content/learning-paths/servers-and-cloud-computing/memory-subsystem/system-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,13 +241,13 @@ On both systems, every core has its own unique L1d, L1i, and L2 index, so those
241241

242242
### Visualize the topology with hwloc
243243

244-
The `hwloc` package provides a visual representation. Install it using the package manager:
244+
The `hwloc` package provides a visual representation of the hardware topology, including CPU cores, cache hierarchies, and NUMA nodes. The graphical output makes it easier to understand how cores are organized and which caches they share. Install it using the package manager:
245245

246246
```bash
247247
sudo apt-get install -y hwloc
248248
```
249249

250-
Generate a graphical representation of the hierarchy:
250+
Generate a PNG diagram of the complete hardware hierarchy. The `hwloc-ls` command enumerates the system topology and formats it as a tree diagram showing cores, caches, and memory:
251251

252252
```bash
253253
hwloc-ls --of png > topology.png

0 commit comments

Comments
 (0)