Why Is Eight Cores Not Eight Times Faster?

You parallelise a job across eight cores and get a 3x speedup. Why, and what do you do about it?

The scenario

A nightly ETL job was parallelised from 1 to 8 workers. Wall time went from 96 minutes to 31. The team wants to move to 32 workers and expects roughly 8 minutes.

What it tests

  • Whether the candidate reasons about the serial fraction as the ceiling
  • Whether they know the other costs beyond the serial fraction
  • Whether they can distinguish fixed-size from scaled-size workloads

Answer it out loud first. Recognising a good answer is not the same skill as producing one.