Computing Library › HPC & Compute
HPC & Compute

Scalability Metrics

Speedup, efficiency, and scalability quantify how well a parallel program uses added processors, making performance claims comparable and honest.

Defining the terms

Speedup S(N) is the serial run time divided by the parallel run time on N processors; ideal speedup is N. Parallel efficiency is S(N) divided by N, expressed as a fraction or percent; ideal is 1.0. Efficiency below one measures the overhead, communication, synchronization, imbalance, that keeps a code from perfect scaling.

Strong and weak

Kronos motion — conversion efficiency

These metrics apply differently to the two scaling regimes. Strong-scaling efficiency uses a fixed problem and falls as overheads grow relative to shrinking work. Weak-scaling efficiency grows the problem with the machine and stays high if communication does not outpace computation. A complete report states which was measured.

What good numbers look like

Common ways numbers mislead

Speedup measured against a slow, unoptimized serial baseline inflates the result; a fair baseline is the best serial code. Reporting only the favorable regime, or only small processor counts, hides where scaling breaks. Superlinear speedup sometimes appears when the problem, split up, suddenly fits in cache, a real effect but one to explain rather than tout.

Why honesty matters

Scalability numbers guide where to run and how much hardware to request. Overstated scaling wastes allocations and effort. Credible reporting names the baseline, the problem size, the precision, and the processor range, and shows the curve, including its limits, not just its best point.