Aldimhr Home Page

Tentang Amdahl’s Law

Math

Aldimhr • 16-08-2025 • 4 min read

Tentang Amdahl’s Law

Amdahl’s Law — Seberapa cepat seluruh sistem bisa berjalan, dibatasi oleh bagian sistem yang tidak bisa kita percepat.

Gagasan utama dari amdahl’s law adalah ketika mempercepat satu bagian dari sistem, dampaknya terhadap kinerja sistem secara keseluruhan bergantung pada seberapa signifikan bagian tersebut dan seberapa besar percepatannya.

Konsep

Contoh kasus, dalam memasak Mie Instan kita memerlukan beberapa langkah dan setiap langkah memiliki waktu masing masing seperti pada table berikut

ActionTime (m)Percentage (%)
Mendidihkan Air550
Memasak Mie330
Memakan Mie220
Total10100

Lalu, kita melakukan percepatan pada langkah Memasak Mie, misalnya

ActionTime (m)Percentage (%)
Mendidihkan Air5 (tetap)62.5
Memasak Mie1 (3x lebih cepat)12.5
Memakan Mie2 (tetap)25
Total8100

Secara umum kita bisa mendapatkan speedup dengan rumus

$S = \frac{Waktu Lama}{Waktu Baru}$

Tapi, Amdahl’s Law punya model spesifik yang memecah total waktu lama menjadi dua, yaitu

  1. Bagian yang dipercepat → Proporsi α dari total waktu lama
  2. Bagian yang tidak dipercepat → Proporsi (1 - α) dari total waktu lama

Jika diketahui:

  • $T_{old}$ = Total waktu yang dibutuhkan sebelum percepatan

  • $T_{new}$ = Total waktu yang dibutuhkan setelah percepatan

  • $α$ = Proporsi dari waktu lama yang dipercepat

    Contoh: 0.3, berarti 30% dari waktu lama akan dipercepat

  • $k$ = Faktor percepatan pada bagian yang kita improve

    Contoh: $k$ = 4, artinya bagian itu berjalan 4x lebih cepat

  1. Bagian yang dipercepat, bisa dihitung dengan

    $αT_{old}$

    Misalnya, dari contoh diatas, diketahui

    α = 30% atau 0.3

    $T_{old}$ = 10 Menit

    Maka, bagian yang dipercepat adalah $0.3\ 10=3\ menit$

  2. Bagian yang tidak dipercepat

    $(1-α)T_{old}$

    Misalnya, dari contoh diatas, diketahui

    α = 30% atau 0.3

    $T_{old}$ = 10 Menit

    Maka, bagian yang tidak dipercepat adalah $(1-0.3)10=7\ menit$

  3. Dengan definisi sebelumnya, kita bisa gabungkan keduanya, sehingga total waktu sebelum percepatan dapat kita hitung dengan menambahkan bagian yang tidak dipercepat dan bagian yang dipercepat

    $T_{old} = αT_{old} + (1-α)T_{old}$

  4. Sekarang, dengan asumsi kita melakukan percepatan $k$ kali dari waktu sebelumnya, kita bisa cari $T_{new}$

    $T_{new} = (1-α)T_{old}+\frac{αT_{old}}{k}$

    Misalnya, dari contoh diatas, diketahui

    $αT_{old} = 3\ menit$ (Bagian yang dipercepat)

    $(1-α)T_{old} = 7\ menit$ (Bagian yang tidak dipercepat)

    $k = 3$ (Melakukan percepatan 3x dari waktu awal)

    maka,

    $T_{new} = 7 + \frac{3}{3} = 7 + 1=8\ menit$

    Jadi, total waktu setelah percepatan adalah 8 menit

  5. Kita kembali ke rumus umum

    $S = \frac{T_{old}}{T_{new}}$

    Setelah kita mengetahui $T_{old}$ dan $T_{new}$ kita bisa menuliskan

    $S = \frac{T_{old}}{(1-α)T_{old}+\frac{αT_{old}}{k}}$

    Jika disederhanakan akan menjadi

    $S = \frac{1}{(1-α)+\frac{α}{k}}$

    Ini adalah rumus Amdahl’s Law

Sekarang, kita coba hitung dari kasus diatas. Jika, diketahui

α = 30% atau 0.3

k = 3 (3x kali lebih cepat)

maka,

$S = \frac{1}{(1-0.3) + \frac{0.3}{3}}$

$S = \frac{1}{0.8} = 1.25$

Jadi, keseluruhan proses memasak mie berhasil dipercepat 1.25x

Practice Problem

  1. Seorang supir truk mengangkut kentang dari Boise, Idaho ke Minnepolis, Minnesota, total jaraknya 2500 km. Rata-rata truk berjalan 100 km/hr dan membutuhkan waktu total 25 jam.

    • Jika 1500 km dari total perjalanan truk berjalan dengan kecepatan 150 km/hr, maka berapa speedup dari total perjalanan?

      $α = \frac{1500}{2500} = 0.6$

      $k = \frac{150}{100} = 1.5$

      maka,

      $S = \frac{1}{(1-α) + \frac{α}{k}}$

      $S = \frac{1}{(1-0.6) + \frac{0.6}{1.5}} = \frac{1}{0.8} = 1.25$

      Jadi, total percepatan yang dilakukan jika truk berjalan 150km/hr di 1500km dari total perjalanan sebesar 1.25x

    • Seberapa cepat truk harus berjalan di 1500km perjalanan, jika kita melakukan percepatan 1.67x?

      α = 0.6, $S$ = 1.67

      • Cari tahu total waktu yang dibutuhkan setelah percepatan

        $S = \frac{T_{old}}{T_{new}}$

        $1.67 = \frac{25}{T_{new}}$

        $T_{new} = \frac{25}{1.67}=14.97 =15\ jam$

      • Karena sisa perjalanan (2500 - 1500 = 1000 km) berjalan di 100km/jam, maka total waktu yang dibutuhkan adalah

        $\frac{1000}{100}=10\ jam$

        jadi total waktu untuk 1500 km adalah 15 -10 = 5 jam

      • Untuk mencari tahu kecepatan di 1500 km selama 5 jam adalah

        $\frac{1500}{5} = 300\ km/jam$

      Jadi, truk harus berjalan 300 km/jam di 1500 km agar mencapai percepatan 1.67x

  2. Perusahaan menufaktor mobil telah berjanji kepada pelanggan untuk rilis mesin baru dengan 4x lebih cepat dari sebelumnya. Setelah dilakukan analisa, 90% bagian mesin dapat ditingkatkan. Berapa banyak percepatan (k) yang diperlukan agar memenuhi target performa mesin secara keseluruhan?

    α = 0.9, $S$ = 4

    $4 = \frac{1}{0.1 + \frac{0.9}{k}}$

    $0.1+\frac{0.9}{k} = 0.25$

    $\frac{0.9}{k} = 0.15$

    $k = \frac{0.9}{0.15} = 6$

    Jadi, 90% mesin harus ditingkatkan 6x agar mencapai 4x percepatan di seluruh performa mesin


Bryant, R. E., & O’Hallaron, D. R. (2021). Computer systems: A programmer’s perspective (4th ed.). Pearson.

https://en.wikipedia.org/wiki/Amdahl%27s_law