Förstå Amdahls lag kring speedup
Jag har nyligen stött på en intressant uppgift kring Amdahls lag och dess användning för att uppskatta speedup för program kört på processorer med olika antal kärnor. Jag stötte på två olika formler för att beräkna detta, där den ena formeln föredras framför den andra i mitt universitets material, men jag hittade den andra formeln på nätet och är osäker på skillnaderna mellan dem.
Här är uppgiften och formlerna:
Uppskatta speedup för ett program när det körs på en processor med 16 kärnor, med utgångspunkt från att du har tillgång till en dator med 4 kärnor. När programmet körs på den 4-kärniga maskinen observeras en speedup på 3 jämfört med när det körs på enbart en kärna. Målet är att uppskatta vilken speedup som skulle uppnås på en maskin med 16 kärnor.
Beteckningar för formel (1) från universitetets lösning:
- P: Proportionell andel av programmet som är sekventiell
- N: Antal processorer
- T: Tid när programmet körs på en kärna Med dessa beteckningar gavs formel 1.
I universitetets lösning använder de formel 1 för att lösa uppgiften och beräknar att speedup blir 6 när programmet körs på 16 kärnor. Genom att definiera T som tiden det tar för programmet att köra på en kärna, och p som andelen av tiden som är sekventiell (ej paralleliserbar), kunde de använda Amdahls lag för att först lösa ut p med givet speedup på 3 för en 4-kärnig maskin, och sedan beräkna speedup för 16 kärnor. Slutresultatet blev en uppskattad speedup på 6.
Min fråga till forumet är: Kan någon förklara skillnaden mellan dessa två formler och varför universitetet föredrar den första? Är det något jag missar i tolkningen av den andra formeln (2) jag hittade på nätet?
Tacksam för alla insikter eller förklaringar!
Jag har ingen djupare insikt i Amdahl eller de två formlerna.
Däremot är det tämligen givet att:
Värdet för T torde alltså inte spela någon roll i formel #1.
sictransit skrev:Jag har ingen djupare insikt i Amdahl eller de två formlerna.
Däremot är det tämligen givet att:
Värdet för T torde alltså inte spela någon roll i formel #1.
Japp, men lägg dock märke till att de två formlerna har 'N' på två olika ställen i nämnaren, och det är där jag har svårt att fatta varför.
Kolla om de verkligen har samma defintion av p, byter man p och (1-p) så blir väl samma?