Skip to content
About
Main content
Model

How wide a shuffle can be

Shuffle width grows as the square root of data size.

Shuffle bytes
the total shuffle bytes
Width
producers (map tasks) and consumers (reduce tasks)
Bytes per connection
bytes each producer–consumer pair moves
Substrate floor
the minimum efficient transfer of the storage underneath

Recurring principle: Granularity mismatch

How it behaves

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

NVMe floor ≈ 250 KBdisk floor ≈ 2 MBobject storage ≈ 4 MB
Data table
Widest square shuffle that stays above the floor, by shuffle size
Shuffle bytes SseriesM = R at most
954 MBNVMe floor ≈ 250 KB63.2
1.08 GBNVMe floor ≈ 250 KB68
1.24 GBNVMe floor ≈ 250 KB73
1.43 GBNVMe floor ≈ 250 KB78.5
1.66 GBNVMe floor ≈ 250 KB84.3
1.91 GBNVMe floor ≈ 250 KB90.6
2.21 GBNVMe floor ≈ 250 KB97.4
2.55 GBNVMe floor ≈ 250 KB105
2.95 GBNVMe floor ≈ 250 KB112
3.4 GBNVMe floor ≈ 250 KB121
3.93 GBNVMe floor ≈ 250 KB130
4.54 GBNVMe floor ≈ 250 KB140
5.24 GBNVMe floor ≈ 250 KB150
6.05 GBNVMe floor ≈ 250 KB161
6.98 GBNVMe floor ≈ 250 KB173
8.06 GBNVMe floor ≈ 250 KB186
9.31 GBNVMe floor ≈ 250 KB200
10.8 GBNVMe floor ≈ 250 KB215
12.4 GBNVMe floor ≈ 250 KB231
14.3 GBNVMe floor ≈ 250 KB248
16.6 GBNVMe floor ≈ 250 KB267
19.1 GBNVMe floor ≈ 250 KB287
22.1 GBNVMe floor ≈ 250 KB308
25.5 GBNVMe floor ≈ 250 KB331
29.5 GBNVMe floor ≈ 250 KB356
34 GBNVMe floor ≈ 250 KB382
39.3 GBNVMe floor ≈ 250 KB411
45.4 GBNVMe floor ≈ 250 KB441
52.4 GBNVMe floor ≈ 250 KB474
60.5 GBNVMe floor ≈ 250 KB510
69.8 GBNVMe floor ≈ 250 KB548
80.6 GBNVMe floor ≈ 250 KB589
93.1 GBNVMe floor ≈ 250 KB632
108 GBNVMe floor ≈ 250 KB680
124 GBNVMe floor ≈ 250 KB730
143 GBNVMe floor ≈ 250 KB785
166 GBNVMe floor ≈ 250 KB843
191 GBNVMe floor ≈ 250 KB906
221 GBNVMe floor ≈ 250 KB974
255 GBNVMe floor ≈ 250 KB1.05K
295 GBNVMe floor ≈ 250 KB1.12K
340 GBNVMe floor ≈ 250 KB1.21K
393 GBNVMe floor ≈ 250 KB1.3K
454 GBNVMe floor ≈ 250 KB1.4K
524 GBNVMe floor ≈ 250 KB1.5K
605 GBNVMe floor ≈ 250 KB1.61K
698 GBNVMe floor ≈ 250 KB1.73K
806 GBNVMe floor ≈ 250 KB1.86K
931 GBNVMe floor ≈ 250 KB2K
1.05 TBNVMe floor ≈ 250 KB2.15K
1.21 TBNVMe floor ≈ 250 KB2.31K
1.4 TBNVMe floor ≈ 250 KB2.48K
1.62 TBNVMe floor ≈ 250 KB2.67K
1.87 TBNVMe floor ≈ 250 KB2.87K
2.16 TBNVMe floor ≈ 250 KB3.08K
2.49 TBNVMe floor ≈ 250 KB3.31K
2.88 TBNVMe floor ≈ 250 KB3.56K
3.32 TBNVMe floor ≈ 250 KB3.82K
3.84 TBNVMe floor ≈ 250 KB4.11K
4.43 TBNVMe floor ≈ 250 KB4.41K
5.11 TBNVMe floor ≈ 250 KB4.74K
5.91 TBNVMe floor ≈ 250 KB5.1K
6.82 TBNVMe floor ≈ 250 KB5.48K
7.88 TBNVMe floor ≈ 250 KB5.89K
9.09 TBNVMe floor ≈ 250 KB6.32K
10.5 TBNVMe floor ≈ 250 KB6.8K
12.1 TBNVMe floor ≈ 250 KB7.3K
14 TBNVMe floor ≈ 250 KB7.85K
16.2 TBNVMe floor ≈ 250 KB8.43K
18.7 TBNVMe floor ≈ 250 KB9.06K
21.6 TBNVMe floor ≈ 250 KB9.74K
24.9 TBNVMe floor ≈ 250 KB10.5K
28.8 TBNVMe floor ≈ 250 KB11.2K
33.2 TBNVMe floor ≈ 250 KB12.1K
38.4 TBNVMe floor ≈ 250 KB13K
44.3 TBNVMe floor ≈ 250 KB14K
51.1 TBNVMe floor ≈ 250 KB15K
59.1 TBNVMe floor ≈ 250 KB16.1K
68.2 TBNVMe floor ≈ 250 KB17.3K
78.8 TBNVMe floor ≈ 250 KB18.6K
90.9 TBNVMe floor ≈ 250 KB20K
954 MBdisk floor ≈ 2 MB22.4
1.08 GBdisk floor ≈ 2 MB24
1.24 GBdisk floor ≈ 2 MB25.8
1.43 GBdisk floor ≈ 2 MB27.7
1.66 GBdisk floor ≈ 2 MB29.8
1.91 GBdisk floor ≈ 2 MB32
2.21 GBdisk floor ≈ 2 MB34.4
2.55 GBdisk floor ≈ 2 MB37
2.95 GBdisk floor ≈ 2 MB39.8
3.4 GBdisk floor ≈ 2 MB42.7
3.93 GBdisk floor ≈ 2 MB45.9
4.54 GBdisk floor ≈ 2 MB49.3
5.24 GBdisk floor ≈ 2 MB53
6.05 GBdisk floor ≈ 2 MB57
6.98 GBdisk floor ≈ 2 MB61.2
8.06 GBdisk floor ≈ 2 MB65.8
9.31 GBdisk floor ≈ 2 MB70.7
10.8 GBdisk floor ≈ 2 MB76
12.4 GBdisk floor ≈ 2 MB81.7
14.3 GBdisk floor ≈ 2 MB87.7
16.6 GBdisk floor ≈ 2 MB94.3
19.1 GBdisk floor ≈ 2 MB101
22.1 GBdisk floor ≈ 2 MB109
25.5 GBdisk floor ≈ 2 MB117
29.5 GBdisk floor ≈ 2 MB126
34 GBdisk floor ≈ 2 MB135
39.3 GBdisk floor ≈ 2 MB145
45.4 GBdisk floor ≈ 2 MB156
52.4 GBdisk floor ≈ 2 MB168
60.5 GBdisk floor ≈ 2 MB180
69.8 GBdisk floor ≈ 2 MB194
80.6 GBdisk floor ≈ 2 MB208
93.1 GBdisk floor ≈ 2 MB224
108 GBdisk floor ≈ 2 MB240
124 GBdisk floor ≈ 2 MB258
143 GBdisk floor ≈ 2 MB277
166 GBdisk floor ≈ 2 MB298
191 GBdisk floor ≈ 2 MB320
221 GBdisk floor ≈ 2 MB344
255 GBdisk floor ≈ 2 MB370
295 GBdisk floor ≈ 2 MB398
340 GBdisk floor ≈ 2 MB427
393 GBdisk floor ≈ 2 MB459
454 GBdisk floor ≈ 2 MB493
524 GBdisk floor ≈ 2 MB530
605 GBdisk floor ≈ 2 MB570
698 GBdisk floor ≈ 2 MB612
806 GBdisk floor ≈ 2 MB658
931 GBdisk floor ≈ 2 MB707
1.05 TBdisk floor ≈ 2 MB760
1.21 TBdisk floor ≈ 2 MB817
1.4 TBdisk floor ≈ 2 MB877
1.62 TBdisk floor ≈ 2 MB943
1.87 TBdisk floor ≈ 2 MB1.01K
2.16 TBdisk floor ≈ 2 MB1.09K
2.49 TBdisk floor ≈ 2 MB1.17K
2.88 TBdisk floor ≈ 2 MB1.26K
3.32 TBdisk floor ≈ 2 MB1.35K
3.84 TBdisk floor ≈ 2 MB1.45K
4.43 TBdisk floor ≈ 2 MB1.56K
5.11 TBdisk floor ≈ 2 MB1.68K
5.91 TBdisk floor ≈ 2 MB1.8K
6.82 TBdisk floor ≈ 2 MB1.94K
7.88 TBdisk floor ≈ 2 MB2.08K
9.09 TBdisk floor ≈ 2 MB2.24K
10.5 TBdisk floor ≈ 2 MB2.4K
12.1 TBdisk floor ≈ 2 MB2.58K
14 TBdisk floor ≈ 2 MB2.77K
16.2 TBdisk floor ≈ 2 MB2.98K
18.7 TBdisk floor ≈ 2 MB3.2K
21.6 TBdisk floor ≈ 2 MB3.44K
24.9 TBdisk floor ≈ 2 MB3.7K
28.8 TBdisk floor ≈ 2 MB3.98K
33.2 TBdisk floor ≈ 2 MB4.27K
38.4 TBdisk floor ≈ 2 MB4.59K
44.3 TBdisk floor ≈ 2 MB4.93K
51.1 TBdisk floor ≈ 2 MB5.3K
59.1 TBdisk floor ≈ 2 MB5.7K
68.2 TBdisk floor ≈ 2 MB6.12K
78.8 TBdisk floor ≈ 2 MB6.58K
90.9 TBdisk floor ≈ 2 MB7.07K
954 MBobject storage ≈ 4 MB15.8
1.08 GBobject storage ≈ 4 MB17
1.24 GBobject storage ≈ 4 MB18.3
1.43 GBobject storage ≈ 4 MB19.6
1.66 GBobject storage ≈ 4 MB21.1
1.91 GBobject storage ≈ 4 MB22.7
2.21 GBobject storage ≈ 4 MB24.3
2.55 GBobject storage ≈ 4 MB26.2
2.95 GBobject storage ≈ 4 MB28.1
3.4 GBobject storage ≈ 4 MB30.2
3.93 GBobject storage ≈ 4 MB32.5
4.54 GBobject storage ≈ 4 MB34.9
5.24 GBobject storage ≈ 4 MB37.5
6.05 GBobject storage ≈ 4 MB40.3
6.98 GBobject storage ≈ 4 MB43.3
8.06 GBobject storage ≈ 4 MB46.5
9.31 GBobject storage ≈ 4 MB50
10.8 GBobject storage ≈ 4 MB53.7
12.4 GBobject storage ≈ 4 MB57.7
14.3 GBobject storage ≈ 4 MB62
16.6 GBobject storage ≈ 4 MB66.7
19.1 GBobject storage ≈ 4 MB71.7
22.1 GBobject storage ≈ 4 MB77
25.5 GBobject storage ≈ 4 MB82.7
29.5 GBobject storage ≈ 4 MB88.9
34 GBobject storage ≈ 4 MB95.5
39.3 GBobject storage ≈ 4 MB103
45.4 GBobject storage ≈ 4 MB110
52.4 GBobject storage ≈ 4 MB119
60.5 GBobject storage ≈ 4 MB127
69.8 GBobject storage ≈ 4 MB137
80.6 GBobject storage ≈ 4 MB147
93.1 GBobject storage ≈ 4 MB158
108 GBobject storage ≈ 4 MB170
124 GBobject storage ≈ 4 MB183
143 GBobject storage ≈ 4 MB196
166 GBobject storage ≈ 4 MB211
191 GBobject storage ≈ 4 MB227
221 GBobject storage ≈ 4 MB243
255 GBobject storage ≈ 4 MB262
295 GBobject storage ≈ 4 MB281
340 GBobject storage ≈ 4 MB302
393 GBobject storage ≈ 4 MB325
454 GBobject storage ≈ 4 MB349
524 GBobject storage ≈ 4 MB375
605 GBobject storage ≈ 4 MB403
698 GBobject storage ≈ 4 MB433
806 GBobject storage ≈ 4 MB465
931 GBobject storage ≈ 4 MB500
1.05 TBobject storage ≈ 4 MB537
1.21 TBobject storage ≈ 4 MB577
1.4 TBobject storage ≈ 4 MB620
1.62 TBobject storage ≈ 4 MB667
1.87 TBobject storage ≈ 4 MB717
2.16 TBobject storage ≈ 4 MB770
2.49 TBobject storage ≈ 4 MB827
2.88 TBobject storage ≈ 4 MB889
3.32 TBobject storage ≈ 4 MB955
3.84 TBobject storage ≈ 4 MB1.03K
4.43 TBobject storage ≈ 4 MB1.1K
5.11 TBobject storage ≈ 4 MB1.19K
5.91 TBobject storage ≈ 4 MB1.27K
6.82 TBobject storage ≈ 4 MB1.37K
7.88 TBobject storage ≈ 4 MB1.47K
9.09 TBobject storage ≈ 4 MB1.58K
10.5 TBobject storage ≈ 4 MB1.7K
12.1 TBobject storage ≈ 4 MB1.83K
14 TBobject storage ≈ 4 MB1.96K
16.2 TBobject storage ≈ 4 MB2.11K
18.7 TBobject storage ≈ 4 MB2.27K
21.6 TBobject storage ≈ 4 MB2.43K
24.9 TBobject storage ≈ 4 MB2.62K
28.8 TBobject storage ≈ 4 MB2.81K
33.2 TBobject storage ≈ 4 MB3.02K
38.4 TBobject storage ≈ 4 MB3.25K
44.3 TBobject storage ≈ 4 MB3.49K
51.1 TBobject storage ≈ 4 MB3.75K
59.1 TBobject storage ≈ 4 MB4.03K
68.2 TBobject storage ≈ 4 MB4.33K
78.8 TBobject storage ≈ 4 MB4.65K
90.9 TBobject storage ≈ 4 MB5K

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.

  • Execution Engine Runtime

    Once a query plan is chosen, why does the machine still sit idle, and what does each mechanism of a query runtime pay to buy that idle time back?

    Read it in place →

  • Execution Engine Runtime

    Once a query plan is chosen, why does the machine still sit idle, and what does each mechanism of a query runtime pay to buy that idle time back?

    Read it in place →