Tag
numa
- Aug 31, 2026 Spinlock Contention: Ticket Ordering and MCS Queues Why a test-and-set spinlock makes every waiter hammer one cache line, how a ticket lock restores first-come order, and why a queue of per-thread flags beats both. operating systems
- Aug 24, 2026 First-Touch Placement and the Faulting Thread Why a page lands on the node of whichever thread first writes it, what the kernel actually does inside the fault handler, and how the choice of allocation policy changes that default. memory systems
- Jun 22, 2026 CPU Affinity Masks and What Pinning Actually Costs How a task affinity mask restricts the scheduler, why pinning a thread can lower latency and raise queueing at the same time, and what the load balancer does when every task is pinned. memory systems
- Jun 2, 2026 Interleaving Pages Across Nodes for Aggregate Bandwidth Why spreading a range round-robin over every node raises streaming throughput and raises pointer-chasing latency, how the interleave sequence is kept, and when the policy is worth its cost. memory systems
- Mar 19, 2026 Where a Memory Policy Attaches and How It Inherits Policies belong to address ranges and to tasks, not to allocations, and the two interact at every fault; how splitting, forking, and exec change which policy is in force. memory systems
- Feb 17, 2026 Partitioning a Workload So Every Thread Reads Local Memory How to divide data and threads so that each partition lives on the node that processes it, what the boundaries between partitions cost, and where the design breaks on machines with uneven node counts. memory systems
- Aug 27, 2025 NUMA First-Touch and the Memory Bandwidth Ceiling per Node Why a multi-socket node delivers less than its nominal bandwidth to an unaware program, and how page placement, binding, and the roofline interact. scientific computing
- Jul 28, 2025 Page Migration: What a Move Between Nodes Costs How the kernel relocates a populated page from one node to another, why the operation needs to unmap every mapping first, and the conditions under which a requested migration silently does nothing. memory systems
- Jun 24, 2025 Measuring Remote Access with Hardware Counters Which performance events distinguish a local from a remote memory access, why per-node counters answer a different question than per-process ones, and how the two are combined to find misplaced data. memory systems
- Apr 30, 2025 Load Balancing and Thread Migration on Symmetric Multiprocessors How per-CPU run queues are kept in balance without a global lock, when a thread is worth moving, and why affinity and NUMA topology constrain the answer. operating systems
- Apr 15, 2025 NUMA Placement and the Cost of Touching Another Socket's Memory How first-touch page placement decides which socket holds a page, what a remote access costs relative to a local one, and why thread pinning without memory placement leaves the cost in place. performance engineering
- Feb 15, 2022 Node Distance and the Real Cost of a Remote Memory Access How a cache-coherent link turns an ordinary load into a transaction between two sockets, why distance values are ranks rather than nanoseconds, and which resource a remote access actually consumes. memory systems