Tag
parallelism
- Feb 20, 2026 Amdahl's Law and the Serial Fraction That Caps Speedup Why a fixed serial portion of a workload bounds speedup no matter how many processors are added, how to estimate that fraction, and where the law stops describing real scaling. performance engineering
- Jan 18, 2026 Rescaling Keyed State Without Replaying History Why changing an operator's parallelism redistributes state, how the key-group indirection makes the move a file copy, and what forces a full replay instead. data engineering
- Jan 6, 2026 Why the Busiest Stage Is Not Always the Critical Path Pipeline stages, parallel branches, and slack explain why time spent in the hottest function may not extend total latency, and how to identify the segment that actually does. performance engineering
- Dec 5, 2025 Work, Span, and the Bound on Parallel Execution Time How a computation DAG yields two numbers, work and span, and why their ratio rather than the processor count sets the achievable speedup. algorithms
- Jul 7, 2025 Parallel Tree Hashing and the BLAKE3 Design How chunk trees, parent nodes, and a stack of subtree roots convert a sequential hash into a parallel one, and what the tree structure costs in digest size and complexity. cryptography
- Dec 25, 2024 Throughput, Latency, and Why Concurrency Is Not Parallelism How the relation between completion rate, response time, and in-flight work constrains every scaling decision, and why overlapping waits and splitting computation buy throughput in different ways. performance engineering
- Dec 13, 2024 Work Distribution, Join Barriers, and Idle Time at the End of a Stage Why splitting a stage across parallel workers shortens the mean but lengthens the tail, what a join barrier does to a request that has one slow participant, and the arithmetic of straggler cost. performance engineering
- Nov 13, 2024 Channels, Dies, and Planes: How a Flash Controller Reaches Its Throughput A single flash die serves one operation at a time, so drive throughput comes from concurrency across channels and planes; the arithmetic of that concurrency sets the queue depth a workload needs. hardware engineering
- Jul 29, 2024 Composing a Parallelism Layout From a Memory and Bandwidth Budget Data, tensor, pipeline, and shard dimensions interact non-linearly. A procedure for choosing their sizes from per-device memory, interconnect tiers, and batch constraints. deep learning
- Oct 26, 2023 Scheduling a Job Graph Around Its Critical Path The longest path through the dependency graph bounds pipeline latency regardless of machine count, and the cost of fan-out decides whether widening the graph helps at all. devops
- Feb 15, 2023 Scheduling a Parallel Build from a Dependency Graph A build is a DAG of commands with known costs and unknown costs alike. Choosing what to run next determines both wall-clock time and how badly a late-discovered dependency hurts. compilers