Many Cores and the Limit on Speedup · seed 1 · A4, ink-friendly. The answer key prints on its own page for grown-ups.

Why ten cores do not always give tenfold speedup

Computing · Computer Systems · ages 19-20
Name ______________________   Date ____________
  1. Under Amdahl's fixed-workload assumptions, which part keeps its duration when more cores are added?

    • The serial part of the workload
    • The equally shared parallel part
    • Every part of the entire workload
  2. For fixed work with an unchanged serial fraction of 0.1, what is Amdahl's ideal limiting speedup bound?

    • Tenfold speedup
    • Hundredfold speedup
    • Unbounded speedup
  3. Using several cores and using SIMD data lanes are the same execution arrangement.

    Circle one:   True   False

  4. One instruction applies the same addition operation to eight data elements together. Which arrangement does this describe?

    • Eight cores following separate instruction streams
    • SIMD data lanes sharing an addition operation
    • One core executing eight scalar additions in sequence
  5. A fixed workload is 0.1 serial. Its serial time is unchanged; its parallel part divides equally across nine cores with no overhead. What is the ideal speedup over one core?

    Answer: ______________

  6. Adding cores saves 4 ms of computation but adds 7 ms of coordination and waiting. Why does total time increase?

    • The serial fraction must have fallen to zero
    • The workload must have become fully independent
    • The added costs exceed the computation saving
  7. Knowing that half a workload is parallel is enough to guarantee that buying more cores reduces its actual runtime.

    Circle one:   True   False

  8. A fixed workload has an unchanged serial fraction of 0.1. The parallel part divides equally across 30 cores with no added overhead. What is the ideal speedup over one core?

    • About 30, because all work divides by the core count
    • About 7.69, from dividing 1 by the normalized time
    • Exactly 10, because finite cores reach the limiting bound
LightMySky · lightmysky.comW1-mt_dy3-K9dV19-s1

Answer key

For grown-ups. Fold this page away before handing over the rest.

Why ten cores do not always give tenfold speedup W1-mt_dy3-K9dV19-s1

  1. The serial part of the workload · The model leaves serial duration unchanged and divides only the parallel part among cores.
  2. Tenfold speedup · The limiting bound is 1 / s. With s = 0.1, it is 1 / 0.1 = 10.
  3. False · Cores can execute different instruction streams. SIMD lanes apply the same operation to multiple data elements.
  4. SIMD data lanes sharing an addition operation · One shared instruction operating on several elements describes SIMD lanes.
  5. 5 · Normalized time is 0.1 + 0.9 / 9 = 0.2. Speedup is 1 / 0.2 = 5.
  6. The added costs exceed the computation saving · The program saves 4 ms but adds 7 ms, for a net increase of 3 ms.
  7. False · The parallel fraction alone does not include coordination or shared-resource costs. These can exceed the time saved.
  8. About 7.69, from dividing 1 by the normalized time · Normalized time is 0.1 + 0.9 / 30 = 0.13. Speedup is 1 / 0.13, about 7.69. The parallel part still takes time, so the tenfold bound is not reached.
Worksheet · LightMySky