Performance Engineering · Cluster
Memory Performance
Allocation cost and locality effects.
- 01 The Cost Tiers of a Single Allocation Request One allocation call can cost tens of cycles or tens of thousands depending on which tier it stops at: thread cache, shared free list, kernel mapping, or first write.
- 02 Bytes Fetched per Field: Layout as a Bandwidth Decision Why array-of-structs and struct-of-arrays trade differently against cache line granularity, and how to compute the bytes moved per field actually read.
- 03 Working Set Size and the Miss-Rate Cliff Why memory performance degrades in a knee rather than a slope, how capacity and associativity produce the knee, and how to find its location empirically.
- 04 Dependent Loads and the Cost of Pointer Chasing Why linked structures serialise the memory system, how a dependent load chain differs from independent accesses, and what prefetchers cannot see.
- 05 First-Touch Costs in Demand-Paged Memory What a program actually pays when it writes to freshly allocated memory, and how page faults, zeroing, and transparent huge pages decide the bill.
- 06 Geometric Growth, Copy Cost, and Peak Footprint Why dynamic arrays grow by a constant factor, where the amortised argument breaks down, and how the transient copy raises a program peak memory.
- 07 Allocation Churn and the Locality of Recycled Memory Why the reuse distance of a freed block, not the speed of the allocator, sets the performance of allocate-and-free loops in long-running programs.
- 08 Bandwidth-Bound and Latency-Bound Work How to tell which of the two memory limits a kernel is actually hitting, why the remedy differs completely, and how the arithmetic intensity decides.
- 09 When Fragmentation Turns into a Latency Problem How address-space spread and shrinking TLB reach convert fragmentation from a capacity problem into a latency one, and how to detect the shift.
- 10 Shrinking Footprint with Narrow Handles and Inline Storage How pointer-width reduction, index handles, and inline small-object storage cut the bytes a traversal must move, and what each technique costs in indirection.