Weak versus Strong Scaling
Strong scaling fixes the problem size and adds processors; weak scaling grows the problem with the processors, and each answers a different question.
Two ways to scale
Strong scaling holds the total problem size fixed and increases the number of processors, asking how much faster a given problem can be solved. Weak scaling increases the problem size in proportion to the processors, keeping the work per processor constant, asking how large a problem can be solved in a fixed time. They probe different limits and are governed by different laws.
What limits each
Strong scaling is bounded by Amdahl's law: the serial fraction and the fixed communication overhead do not shrink as processors are added, so speedup saturates and eventually reverses when communication overtakes the ever-smaller per-processor work. Weak scaling is described by Gustafson's law: because the useful work per processor stays constant, near-linear scaling can continue much further, limited mainly by communication that grows with scale (such as global collectives).
- Strong: fixed problem, more processors, measure speedup.
- Weak: problem grows with processors, measure sustained efficiency.
- Strong scaling saturates as per-processor work shrinks (Amdahl).
- Weak scaling extends further because local work is held constant (Gustafson).
Reading a scaling study
A strong-scaling plot shows speedup versus processor count against an ideal linear line; the point where the curve peels away marks where overhead began to dominate, often because the per-processor problem became too small to amortize communication. A weak-scaling plot shows efficiency (time relative to the single-node baseline) versus processor count; a flat line near one is excellent, and any droop reveals communication or imbalance growing with scale.
In practice
Reporting both for a Hyperion solver is standard: strong scaling shows how quickly a fixed case can be turned around, while weak scaling shows how finely a plasma or blanket model can be resolved as more nodes are added. Stating which was measured, and at what per-processor work, is essential for the numbers to mean anything.