Skip to content
About
Main content
Model

Zipf caps data-parallel speedup

A data-parallel stage runs at the speed of its largest partition.

Keys
distinct keys
Harmonic number
1 + 1/2 + 1/3 + … + 1/K

Recurring principle: Power laws and skew

How it behaves

One input on the horizontal axis, the others held fixed.

Data table
Best possible speedup of a Zipf (α ≈ 1) join, by distinct keys
Distinct keys KSpeedup ceiling
102.88×
12.63.11×
15.83.34×
203.57×
25.13.8×
31.64.03×
39.84.26×
50.14.49×
63.14.72×
79.44.95×
1005.18×
1265.41×
1585.64×
2005.87×
2516.1×
3166.33×
3986.56×
5016.79×
6317.02×
7947.25×
1K7.48×
1.26K7.72×
1.58K7.95×
2K8.18×
2.51K8.41×
3.16K8.64×
3.98K8.87×
5.01K9.1×
6.31K9.33×
7.94K9.56×
10K9.79×
12.6K10×
15.8K10.2×
20K10.5×
25.1K10.7×
31.6K10.9×
39.8K11.2×
50.1K11.4×
63.1K11.6×
79.4K11.9×
100K12.1×
126K12.3×
158K12.6×
200K12.8×
251K13×
316K13.2×
398K13.5×
501K13.7×
631K13.9×
794K14.2×
1M14.4×
1.26M14.6×
1.58M14.9×
2M15.1×
2.51M15.3×
3.16M15.5×
3.98M15.8×
5.01M16×
6.31M16.2×
7.94M16.5×
10M16.7×
12.6M16.9×
15.8M17.2×
20M17.4×
25.1M17.6×
31.6M17.8×
39.8M18.1×
50.1M18.3×
63.1M18.5×
79.4M18.8×
100M19×
126M19.2×
158M19.5×
200M19.7×
251M19.9×
316M20.1×
398M20.4×
501M20.6×
631M20.8×
794M21.1×
1B21.3×

Worked examples, recomputed

Every number the mechanisms quote for this relationship is recomputed from it, so none of them disagrees with it.

Where it appears

Each mechanism states it in its own names. The general symbol each name stands for is shown with it.