LightMySky

Many Cores and the Limit on Speedup

When one core stops getting faster, machines add cores, and the gain then depends on how much of the work can actually run at the same time. The serial fraction sets a ceiling that no number of cores can lift.

No account needed. Progress saves in this browser.

What a learner can do afterwards

  • Compute the best possible speedup for a program that is one tenth serial
  • Distinguish work that splits across cores from work that splits across data lanes
  • Explain why adding cores can make a program slower

1 · Read

Pipelining overlapped steps inside one core, but one core still stops getting faster, so machines add cores. But the part that must run in order caps the gain. With a tenth of the work serial, even endless cores top out at ten times: one divided by one tenth.

Try it together

Take that tenth-serial program on nine cores. The serial tenth stays, and the rest splits nine ways: one tenth plus nine tenths over nine, which is two tenths. One divided by two tenths is five, so nine cores buy five times, not nine.

Cores and lanes are different tools. Cores split separate tasks that run on their own. Data lanes march many numbers through one step together. Code that splits across cores may still stall inside one lane.

More cores can even slow a program. Splitting, syncing, and sharing caches cost steps, and fights over one lock can dwarf the parallel gain. Measure before you buy.

The serial tenth caps you at ten times, lanes differ from cores, and overhead can bite.

2 · Watch

Take it off screen

Print a worksheetA4 with an answer key page for grown-ups. No screen, no internet.

Where it sits

Then practise

8 questions wait behind this lesson, each with its answer explained. Every answer feeds the sky: stars light as they are learned, and dim when it is time to come back.

Spotted a problem on this page? Tell us
Many Cores and the Limit on Speedup · Computing, ages 19 to 20 · LightMySky