Exercises — Amdahl's Law and Gustafson's Law
6.1.3 · D4· Hardware › Parallelism & Multicore › Amdahl's Law and Gustafson's Law
Yeh page ek self-test hai. Har problem saaf tarike se di gayi hai, phir ek collapsible solution ke andar chhupa di gayi hai. Pehle paper par try karo, phir [!recall]- block kholo aur har step check karo. Problems L1 (sirf pieces ko pehchano) se L5 (mastery — sab kuch combine karo) tak badhti hain.
Shuru karne se pehle, parent note Amdahl's Law and Gustafson's Law se do master formulas apne saamne rakh lo.
Upar har ek symbol parent note mein build kiya gaya tha; agar ya "serial fraction" unclear hai, to aage badhne se pehle [!mistake] wala section dobara padho jisme time vs. lines count karne ki baat hai.
Level 1 — Recognition
Goal: , , aur yeh identify karo ki wording kis formula ke liye pooch rahi hai. Abhi koi mushkil algebra nahi.
Exercise 1.1
Ek program seconds mein ek core par run karta hai. Isme se seconds serial hai (split nahi ho sakta) aur baaki perfectly parallel hai. aur batao agar ab hum cores par run karein, aur batao kaun sa law lagta hai jab question yeh ho ki "kya main same 80-second job jaldi finish kar sakta hoon?"
Recall Solution 1.1
Hum kya karte hain: hai serial time over total time. . Job fixed size hai ("the same 80-second job"), isliye hum Amdahl's Law use karte hain. Parallel fraction hai .
Exercise 1.2
Har phrase ko Amdahl ya Gustafson se match karo: (a) "Ek ghante mein zyada nodes ke saath kitna bada simulation run kar sakta hoon?" (b) "Meri batch job fixed hai; kya 16 cores use 16× jaldi finish karenge?" (c) "Problem grow karti hai taaki har processor busy rahe."
Recall Solution 1.2
(a) Gustafson — workload resources ke saath scale karta hai. (b) Amdahl — fixed workload, finish-speed ke liye pooch raha hai. (c) Gustafson — yahi defining assumption hai (problem ke saath badhti hai).
Exercise 1.3
Ek code ko runtime se parallel measure kiya gaya hai. likho, phir ke liye Amdahl formula likho bina simplify kiye (sirf substitute karo).
Recall Solution 1.3
Parallel hai, isliye serial hai . (Numerically yeh hai — L2 mein compute kiya gaya.)
Level 2 — Application
Goal: substitution ko ek clean number mein badlo, including final runtime.
Exercise 2.1
Exercise 1.3 se , use karke, do decimals tak compute karo aur naya runtime nikalo agar one-core time ms tha.
Recall Solution 2.1
Step 1 — denominator: . Step 2 — speedup: . Step 3 — runtime: ms. Kyun: speedup hai , isliye . Aath cores, lekin sirf — serial tax kaata hai.
Exercise 2.2
Ek rendering job serial hai. par Amdahl speedup compute karo. Neeche figure dekho aur samjho kyun curve flat hoti hai.

Recall Solution 2.2
.
- Figure mein curve tezi se badhti hai phir ceiling ko hug karti hai. Serial fraction, core count nahi, ceiling set karta hai.
Exercise 2.3 (Gustafson)
Ek climate run nodes use karta hai; wall-clock ka serial setup hai. Gustafson use karke scaled speedup nikalo.
Recall Solution 2.3
, . Matlab: nodes par hum ek ghante mein zyada grid work karte hain jo ek node kar sakta tha.
Level 3 — Analysis
Goal: yeh reason karo ki numbers aisa behave kyun karte hain; formula invert karo; dono laws compare karo.
Exercise 3.1 (Back-calculate )
Tum cores par real speedup measure karte ho. Effective serial fraction kya hai?
Recall Solution 3.1
Amdahl invert karo. se shuru karo, isliye . se multiply karo: . Solve karo: . plug karo: , minus , over : Isliye runtime ka effectively serial hai — zyaatar logon ke algorithmic guess se bahut zyada, kyunki real overhead (sync, cache) andar chhupa hota hai.
Exercise 3.2 (Same , dono laws)
aur ke liye, dono Amdahl aur Gustafson speedups compute karo aur gap explain karo.
Recall Solution 3.2
Amdahl: . Gustafson: . Gap kyun hai: Amdahl problem ko fixed rakhta hai, isliye serial part ek bada aur bada slice ban jaata hai jaise cores baaki ko speed up karte hain — ke paas cap kar jaata hai. Gustafson parallel work ko ke saath grow hone deta hai, isliye serial part ek patla, near-constant slice rehta hai — speedup linear ke paas rehta hai ( of ). Same , opposite mood. Figure dekho.

Exercise 3.3 (Crossover thinking)
Amdahl ke liye ke saath, smallest kya hai jis par mile? (Pehle tumhe chahiye ho sakta hai.)
Recall Solution 3.3
Pehle ceiling check karo: . Isliye reachable hai (). Good. set karo. Phir . , isliye . Smallest integer jis par mile woh hai (exactly ).
Level 4 — Synthesis
Goal: messy data se khud banao, phir use ek law mein feed karo. Weighted time se savdhaan raho.
Exercise 4.1 (Weighted serial time)
Ek loop mein iterations hain. parallelisable hain aur har ek ki cost unit hai. Baaki serial hain aur har ek ki cost units hai (woh disk I/O karte hain). nikalo, phir Amdahl nikalo.
Recall Solution 4.1
ko time se banao, counts se nahi. Serial time . Parallel time . Total . Amdahl at : parallel term . Denominator . . Trap avoid kiya: iterations count karne par milta aur over-optimistic milta.
Exercise 4.2 (Amdahl → time budget mein wapas)
Ek s job mein serial hai. Management chahta hai yeh s mein ho jaaye. (a) Kya yeh Amdahl aur enough cores ke saath possible hai? (b) Agar nahi, to kaun sa serial fraction s ko limit mein reachable banayega?
Recall Solution 4.2
(a) Best case hai , jo par best time s deta hai. Ruko — yeh s se better hai, isliye s reachable hai. nikalo: chahiye (kyunki ). cores. Achievable hai. (b) Yahan zarurat nahi kyunki (a) succeed karta hai; lekin general rule: s ko chahiye, aur ceiling hai , isliye koi bhi limit mein s ko reachable rakhta hai. Hamara iske andar hi hai.
Exercise 4.3 (Gustafson from wall-clock breakdown)
GPUs par ek training run ghante leti hai: minutes synchronisation (serial) hain, baaki gradient work hai. aur Gustafson speedup nikalo.
Recall Solution 4.3
Total min, serial min, isliye . Hum same wall-clock mein ek GPU se bada model train karte hain.
Level 5 — Mastery
Goal: ek chain of reasoning mein inversion, dono laws, aur ek limiting/degenerate case combine karo.
Exercise 5.1 (Dono laws ko reconcile karo)
processors par tum Gustafson speedup observe karte ho. (a) recover karo. (b) Usi ko use karke, cores fixed-problem Amdahl speedup kya denge? (c) Ek sentence mein batao, dono itne alag kyun hain?
Recall Solution 5.1
(a) Gustafson invert karo: . (b) Amdahl: denominator . . (c) Same serial fraction: Amdahl (fixed problem) ke paas cap karta hai kyunki serial slice ka relative weight badhta hai; Gustafson (scaled problem) ke paas rehta hai kyunki parallel work cores ke saath badhta hai.
Exercise 5.2 (Degenerate / limiting cases)
Dhyan se evaluate karo: (a) Amdahl with at any . (b) Amdahl with at any . (c) Gustafson with ; with . (d) Amdahl at .
Recall Solution 5.2
(a) (fully parallel): . Perfect linear speedup — ideal hai. (b) (fully serial): . Kabhi speedup nahi; extra cores idle rehte hain. (c) Gustafson : (linear). : (koi speedup nahi). Dono laws do extremes aur par agree karte hain — yeh sirf beech mein alag hote hain, jahan "fixed vs. scaled" assumption actually matter karti hai. (d) (Amdahl): . Sanity check: ek core khud se tez nahi ho sakta — speedup exactly hona chahiye. ✓
Exercise 5.3 (Design decision)
Tumhari Amdahl-limited job mein hai. Tum ya to (A) cores se kar sakte ho, ya (B) serial fraction ko tak halve kar sakte ho jabki cores rakhte ho. Kaun jitega?
Recall Solution 5.3
Baseline (): . (A) : . (B) : . Winner: (B). Serial fraction par attack karna hardware throw karne se better hai, kyunki ceiling se tak badh gayi. Yahi Amdahl ka pura moral hai.
Recall Quick self-check (answers reveal karo)
Amdahl jab ho ::: Scaled problems ke liye kaun sa law optimistic hai ::: Gustafson Amdahl ko given ke liye invert karo ::: Gustafson ko given ke liye invert karo ::: Dono laws kaun se values par agree karte hain ::: aur
Aage badhne ke liye related vault topics: Scalability Analysis, Performance Metrics, Load Balancing, Thread Synchronization, Parallel Architectures, GPU Computing, Cache Coherence.