01 - Performanse

You might also like

You are on page 1of 11

Marko D.

Petković: Vežbe iz paralelne obrade 1

1. PERFORMANSE RAČUNARSKOG SISTEMA

Pojam performansa znači izvodjenje ili sposobnost za rad. Performanse računara se izražavaju
u vremenu potrebnom da se obavi neki posao. Računar koji isti posao radi za kraće vreme ima
bolje performanse.
Vreme odziva sistema je ukupno vreme proteklo od početka nekog posla do njegovog
konačnog završetka. U to vreme je uključeno:
• vreme koje procesor potroši za izvršenje tog posla
• vreme pristupa memoriji
• vreme posvećeno I/O (Input/Output) aktivnostima.
Prema tome, vreme odziva sistema možemo podeliti na CPU vreme i na ne-CPU vreme. CPU
vreme možemo podeliti na korisničko CPU vreme i sistemsko CPU vreme.

1.1. CPU PERFORMANSE

CPU performanse se odnose na korisničko CPU vreme zato što na sva ostala vremena utiču
faktori koji nisu direktno vezani za program koji se izvršava.
Većina računara se pobudjuje posebnim taktnim signalom u diskretnim vremenskim
intervalima koji se nazivaju taktni periodi ili clock ciklusi ( τ ). Taktni periodi se izražavaju
njihovim trajanjem (npr. τ = 10ns ) ili frekvencijom ( f c = 100MHz ). Frekvencija je recipročna
vrednost trajanja clock ciklusa, f c =1/ τ . Korisničko CPU vreme se, prema tome, može izraziti
na jedan od dva načina:
N
TCPU = N ciklusa ⋅τ ili TCPU = ciklusa
fc
pri čemu sa N ciklusa označavamo broj (clock) ciklusa potrebnih za izvršenje programa. Ako
znamo ukupan broj clock ciklusa i broj instrukcija, možemo izračunati srednji (prosečni) broj
clock ciklusa po instrukciji. Označavaćemo ga sa CPI (Clock cycles Per Instruction):
N
CPI = ciklusa ili N ciklusa = CPI × N instrukcija
Ninstrukcija
Zamenom dobijamo:
TCPU = N ciklusa ⋅τ = N instrukcija ⋅ CPI ⋅τ
Ovaj izraz predstavlja veoma grubu procenu vremena izvršavanja programa zato što se vremena
izvršavanja različitih instrukcija mogu veoma razlikovati. Zato se instrukcije dele u više grupa u
zavisnosti od vremena potrebnog za njihovo izvršenje, pa tako dobijamo:
n
N ciklusa = ∑ CPI i ⋅ N i
i =1
gde je:
n – broj različitih instrukcija u programu,
Ni – broj instrukcija tipa i koje se javljaju u programu,
CPIi – broj ciklusa potrebnih za izvršenje instrukcije tipa i.

Uzimajući ovo u obzir dobijamo:


n
TCPU = τ ⋅ ∑ CPI i ⋅ N i
i =1
Odavde je:
2 Performanse računarskog sistema
n

N ∑ CPI i ⋅ Ni n
Ni
CPI = ciklusa = i =1
= ∑ CPI i ⋅
N instrukcija N instrukcija i =1 N instrukcija
Ni
Izraz se naziva frekvencija (verovatnoća) pojavljivanja instrukcija tipa i u programu.
Ninstrukcija

Zadatak 1. Pretpostavimo da imamo dva tipa CPU-a, А i B, kod koji se instrukcija uslovnog
skoka izvršava na različite načine.
CPU A: Naredba uslovnog skoka ostvaruje se pomoću dve instrukcije:
• uporedjivanja i
• uslovnog skoka
CPU B: Porednje je uključeno u uslovni skok.
Za oba CPU-a se naredba uslovnog skoka obavlja u dva ciklusa., dok se ostale instrukcije
obavljaju za jedan ciklus. Neka 20% svih instrukcija predstavlja instrukcije uslovnog skoka (za
CPU A to znači da je 20% drugih instrukcija posvećeno uporedjivanju). Takodje pretpostavimo
da je CPU A za 25% brži od CPU B, tj da je τ B = 1.25 ⋅τ A . Koji CPU brže izvršava program?

Rešenje:

Označimo sa N A i N B ukupan broj instrukcija koje izvršavaju CPU A odnosno CPU B, a sa


N i N iB brojeve instrukcija uporedjivanja ( i = 1 ) i uslovnog skoka ( i = 2 ). Imamo da je za
i
A

CPU A ispunjeno:

2
N iA
CPI A = ∑ CPI i ⋅ = 2 ⋅ 0.20 + 1⋅ 0.80 = 1.2
i =1 NA
T A
CPU = N A ⋅1.2 ⋅τ A

Kod CPU B poredjenja se ne izvršavaju pa je N B = 0.8 ⋅ N A . Medjutim, za CPU B naredbi


uslovnog grananja ima 20% = 25% koje koriste dva ciklusa, dok ostalih 75% zahtevaju
80%
jedan ciklus, pa je:

CPI B = 2 ⋅ 0.25 + 1⋅ 0.75 = 1.25


B
TCPU = N B ⋅1.25 ⋅τ B = 0.8 ⋅ N A ⋅1.25 ⋅1.25 ⋅τ A = N A ⋅1.25 ⋅τ A

A
Prema tome važi da je TCPU < TCPU
B
, tj da se program brže izvršava na CPU A.

Zadatak 2. Ako se u prethodnom zadatku pretpostavi da je τ B = 1.1 ⋅τ A , koji CPU je brži?


Rezultat prokomentarisati.

Rešenje:

Iz predhodnog zadatka imamo da je za CPU A ispunjeno:

A
TCPU = N A ⋅1.2 ⋅τ A
Marko D. Petković: Vežbe iz paralelne obrade 3

Pošto se menja taktni interval za CPU B, promeniće se i vreme izvršavanja programa. Imamo da
je:

B
TCPU = N B ⋅1.25 ⋅τ B = 0.8 ⋅ N A ⋅1.25 ⋅1.25 ⋅τ A = N A ⋅1.10 ⋅τ A
= 1.10 ⋅ N A ⋅τ A = 0.88 ⋅ TCPU
A

pa zaključujemo da je CPU B brži.

Zadatak 3. Neka je data mašina kod koje samo instrukcije Load i Store rade sa memorijom dok
ostale rade sa registrima. Za ovu mašinu data je sledeća tabela frekvencija instrukcija (instruction
mix) i broja clock ciklusa po instrukciji:

Klasa instrukcije CPI Broj clock


ciklusa
ALU operacije 43% 1
Load 21% 2
Store 12% 2
Grananja 24% 2

Pretpostavimo da 25% ALU operacija koristi direktno jedan operand iz memorije, dok ostale
operacije koriste operande iz registara. Sada dodajmo jednu novu ALU instrukciju koja ima
jedan operand u memoriji i izvršava se za 2 ciklusa. Pretpostavimo da ova instrukcija povećava
broj clock ciklusa naredbe grananja za 1, ali da nema efekata na dužinu ciklusa. Da li se ovim
izmenama dobija poboljšanje CPU performansi? Naći CPI pre i posle poboljšanja.

Rešenje:

Treba utvrditi da li je nova mašina brža od stare. Nova mašina ima za 25% manje Load
instrukcija od stare. Prema tome, ukupan broj instrukcija nove mašine je:

N B = (1 − 0.25 ⋅ 0.43) ⋅ N A = 0.8925 ⋅ N A

Novi skup instrukcija i njihova procentualna raspodela prikazani su sledećom tabele:

Broj
Klasa Frekvencija
clock
instrukcije pojavljivanja
ciklusa
ALU R 0.75 ⋅ 43%
= 36.13% 1
operacije 0.8925
ALU M 0.25 ⋅ 43%
= 12.05% 2
operacije 0.8925
25% − 10.75%
Load = 11.49% 2
0.8925
12%
Store = 13.45% 2
0.8925
24%
Grananja = 26.89% 2
0.8925
4 Performanse računarskog sistema

Za staru mašinu važi:

4
Niold
CPI old = ∑ CPI iold ⋅ = 1⋅ 0.43 + 2 ⋅ 0.21 + 2 ⋅ 0.12 + 2 ⋅ 0.24 = 1.57
i =1 N old

Vreme izvršenja programa za CPU old je:

old
TCPU = N old ⋅1.57 ⋅τ old

Za novu mašinu dobijamo da je:

4
Ninew
CPI new = ∑ CPI inew ⋅ =2 ⋅ 0.1205 + 1⋅ 0.3613 + 2 ⋅ 0.1149 + 2 ⋅ 0.1345 + 3 ⋅ 0.2689 = 1.908
i =1 N new

Zamenom sada dobijamo da je:

new
TCPU = N new ⋅1.908 ⋅τ old = 0.8925 ⋅1.908 ⋅ N old ⋅τ old = 1.703 ⋅ N old ⋅τ old

Dakle, nije došlo do poboljšanja performansi, a glavni razlog za to je usporavanje instrukcije


grananja.

1.2. MIPS

Alternativna mera izračunavanja performansi računara je MIPS (Million Instruction Per Second):

N instrukcija N instrukcija fc
MIPS = = =
TCPU ⋅10 6
N instrukcija ⋅ CPI ⋅τ ⋅10 6
CPI ⋅106

Zadatak 4. Pretpostavimo da imamo optimizirajući compiler za load/store mašinu iz prethodnog


primera (sada uz pretpostavku da su sve ALU operacije registarske) koji smanjuje broj ALU
operacija za 50%, dok je broj ostalih operacija nepromenjen. Ignorišući zahteve sistema i
pretpostavljajući da je τ = 20ns izračunati MIPS i TCPU za optimizirajući i neoptimizirajući
kompajler.

Rešenje:

Pošto je dat taktni interval, možemo lako da izračunamo taktnu frekvenciju na sledeći način:

1 1
fc = = = 50MHz
τc 20 ⋅10−9

Iz predhodnog zadatka imamo da je CPI old = 1.57 . Na osnovu definicije dobijamo da je:

f
MIPSold = c
= 31.85
CPI ⋅106
old

old
TCPU = N old ⋅ CPI old ⋅τ old = N old ⋅1.57 ⋅ 20 ns = N old ⋅ 31.40 ns
Marko D. Petković: Vežbe iz paralelne obrade 5

Ukupan broj instrukcija koji proizvodi optimizirajući kompajler je:

N new = N old ⋅ (1 − 0.43 ⋅ 0.5) = 0.785 ⋅ N old

Tablica frekvencija pojavljivanja pojedinih instrukcija korišćenjem novog kompajlera

Broj
Klasa Frekvencija
clock
instrukcije pojavljivanja
ciklusa
ALU 0.75 ⋅ 43%
= 36.13% 1
operacije 0.8925
21%
Load = 15.29% 2
0.785
12%
Store = 15.29% 2
0.785
24%
Grananja = 30.57% 2
0.785

new
Sada jednostavno računamo CPI new , MIPSnew i TCPU :

CPI new = 1⋅ 0.3613 + 2 ⋅ 0.1529 + 2 ⋅ 0.1529 + 2 ⋅ 0.3057 = 1.73


fc 50 ⋅106
MIPS new = = = 28.9
CPI new ⋅106 1.73 ⋅106
new
TCPU = N new ⋅ CPI new ⋅τ new = N old ⋅ 0.785 ⋅1.73 ⋅ 20 ns = N old ⋅ 27.161ns

Vidimo da je u ovom slučaju TCPU new


< TCPU
old
, pa možemo zaključiti da program generisan
optimizovanim kompajlerom radi brže. Medjutim, u isto vreme važi i MIPS new < MIPSold , što
znači da se prilikom izvršenja programa kompajliranog neoptimizovanim kompajlerom prosečno
izvršava više instrukcija u sekundi. Ovaj zaključak se može objasniti činjenicom da je
optimizovanim kompajlerom smanjen broj ALU instrukcija, koje se izvršavaju za duplo manji
taknti interval nego ostale instrukcije.

Zadatak 5. Pretpostavite da ste glavni projektant novog procesora. Dizajn procesora i compilera
su okončani, ali ostaje da se donese odluka da li će se i dalje proizvoditi sadašnji dizajn ili je
vredno potrošiti još dodatnog vremena da bi se rešenje poboljšalo. O ovom problemu ste
diskutovali sa timom inžinjera hardverista i došli ste do zaključka da se mogu ponuditi sledeće
opcije:

a) Ne menjati rešenje – Ovaj tip mašine se naziva Rosn. Njegova taktna frekvencija je
500MHz a merenja na simulatoru su dala sledeće rezultate:

Klasa Frekvencija CPI


instrukcije pojavljivanja
A 40% 2
B 25% 3
C 25% 3
D 10% 5
6 Performanse računarskog sistema

b) Optimizovani hardver - tim projektanata hardvera je utvrdio da može poboljšati dizajn


procesora i povećati taktnu frekvenciju na 600MHz. Poboljšani procesor zvaćemo Ropt.
Merenja na simulatoru su dala sledeće rezultate:

Klasa Frekvencija CPI


instrukcije pojavljivanja
A 40% 2
B 25% 3
C 25% 3
D 10% 4

(1) Odrediti CPI i MIPS za obe mašine.


(2) Koliko puta je brži Rosn u odnosu na Rpob?
(3) Tim projektanata compilera obavešten je o diskusiji koja se odnosi na poboljšanje
mašine pa zbog toga predlaže da poboljša compiler sa ciljem da poveća performanse.
Kombinaciju poboljšani compiler plus bazna mašina zvaćemo Rkom. Dobijeni rezultati
za poboljšanu verziju compilera su sledeći:

Klasa Procenat instrukcija koja se izvršava


instrukcije u poredjenu sa Rosn
A 90%
B 90%
C 85%
D 95%

Ako Rosn izvršava 500 instrukcija klase A, tada će Rkom izvršavati 500 ⋅ 0.9 = 450
instrukcija klase A za isti program. Koliki je CPI za Rkom?
(4) Koliko puta je brži Rkom u odnosu na Rosn?
(5) Tim projektanata compilatora ukazao je da je moguće implementirati kako hardverska
tako i compilatorska poboljšanja. Ovakav tip mašine zvaćemo Rhps. Koliko puta je Rhps
brži u odnosu na Rosn?

Rešenje:

(1)
CPI osn = 2 ⋅ 0.4 + 3 ⋅ 0.25 + 3 ⋅ 0.25 + 5 ⋅ 0.10 = 2.8
500
MIPSosn = = 178.57
2.8
CPI pob = 2 ⋅ 0.4 + 3 ⋅ 0.25 + 3 ⋅ 0.25 + 4 ⋅ 0.10 = 2.7
600
MIPS pob = = 222.22
2.7
(2) Imamo da je Rpob brže 222.222 = 1.244 puta od Rosn.
178.57
(3) CPI kom = 0.9 ⋅ 2 ⋅ 0.4 + 0.9 ⋅ 3 ⋅ 0.25 + 0.85 ⋅ 3 ⋅ 0.25 + 0.95 ⋅ 5 ⋅ 0.10 = 2.5075 .
(4) Imamo da je Rkom brže 2.8 = 1.12 puta od Rosn. Pošto je taktna frekvencija ista
2.5075
za obe mašine, odnos brzine možemo dobiti deljenjem vrednosti CPI.
Marko D. Petković: Vežbe iz paralelne obrade 7

(5)
CPI hps = 0.9 ⋅ 2 ⋅ 0.4 + 0.9 ⋅ 3 ⋅ 0.25 + 0.85 ⋅ 3 ⋅ 0.25 + 0.95 ⋅ 4 ⋅ 0.10 = 2.4125
600
MIPS hps = = 248.70
2.4125
Imamo da je Rhps brže 248.70 = 1.393 puta od Rosn.
178.57

Zadatak 6. Pretpostavimo da se neki program izvršava na Acme II procesoru čija je taktna


frekvencija 300 MHz.
a) Na osnovu procenta učešća i broja ciklusa, koji su za svaku klasu instrukcija dati u
sledećoj tabeli, odrediti veličine CPI i MIPS za dati program.

Frekvencija Broj clock


Klasa instrukcije
pojavljivanja ciklusa
ALU operacije 40% 1
Load 20% 1
Store 10% 2
Grananja 20% 3
FP 10% 5

b) Ako optimizator eliminiše 30% aritmetičko/logičkih instrukcija (tj. 12% svih instrukcija),
30% Load instrukcija, i 20% floating-point instrukcija, odrediti veličine CPI i MIPS za
optimizovanu verziju programa i uporediti ih sa vrednostima koje su dobijene pod a) za
osnovni (neoptimizovani) program? Odrediti ubrzanje koje se može postići
optimizovanjem osnovnog programa.

Rešenje:

a) CPI 0.4 1 0.2 1 0.1 2 0.2 3 0.1 5, MIPS 157.9.


.
b) Imamo da je novi ukupan broj instrukcija jednak:
0.4 1 0.3 0.2 1 0.3 0.1 0.2 0.1 1 0.2
0.28 0.14 0.1 0.2 0.08 0.8
Prema tome, nove frekvencije pojavljivanja instrukcija se izračunavaju na način prikazan u
sledećoj tabeli:

Frekvencija Broj clock


Klasa instrukcije
pojavljivanja ciklusa
0.28
ALU operacije 35% 1
0.8
0.14
Load 17.5% 1
0.8
0.1
Store 12.5% 2
0.8
0.2
Grananja 25% 3
0.8
0.08
FP 10% 5
0.8
8 Performanse računarskog sistema

Primećujemo da se frekvencija pojavljivanja klasa čije je instrukcije optimizator delimično


eliminisao smanjila, ili je ostala ista dok se frekvencija pojavljivanja ostalih klasa povećala.
Na osnovu rezultata iz predhodne tabele dobijamo na sličan način kao i u delu a) da je:

CPIn 0.35 1 0.175 1 0.125 2 0.25 3 0.1 5 2.025


300
MIPSn 148.1
2.025

Ubrzanje računamo kao odnos vremena izvršenja neoptimizovanog i optimizovanog


programa:
Т 1.9 1.9
1.17
2.025 0.8 1.62

Prema tome, optimizovani program je 1.17 puta brži od neoptimizovanog.

Zadatak 7. U toku izvršenja programa P, koji se sastoji od FP (floating point) i Integer


instrukcija, procenat učešća instrukcija dat je u tabeli.
Pretpostavimo da se dati program P izvršava na dve različite mašine. Prva mašina, M1,
direktno implementira FP instrukcije, a potreban broj taktnih intervala (CPI) za svaku klasu
instrukcija dat je u tabeli. Druga mašina, M2, direktno implementira jedino Integer instrukciije,
dok je za svaku FP instrukciju potreban odgovarajući broj Integer instrukcija, koji je takodje dat
u tabeli. Pretpostavimo da je taktna frekvencija i jedne i druge mašine 200MHz i da je prvoj
mašini koja direktno implementira FP instrukcije potrebno 500 10 instrukcija za izvršenje
programa P.
a) Koliko instrukcija je potrebno drugoj mašini, koja direktno implementira samo Integer
instrukcije, da bi izvršila program P.
b) Odrediti CPI i MIPS za obe mašine.
c) Odrediti vreme izvršenja programa P i na prvoj i na drugoj mašini.

Klasa Frekvencija Broj potrebnih Integer instrukcija


CPI
instrukcije pojavljivanja za svaku od FP instrukcija
FP sabiranje 20% 4 10
FP oduzimanje 15% 5 20
FP mnozenje 10% 8 30
FP deljenje 5% 10 40
Integer 50% 2 /

Rešenje:

a)

Broj
Klasa Frekvencija Broj ekvivalentnih Integer
instrukcija
instrukcije pojavljivanja instrukcija mašine M2
mašine M1
FP sabiranje 20% 100 10 10 100 10 1000 10
FP oduzimanje 15% 75 10 20 75 10 1500 10
FP mnozenje 10% 50 10 30 50 10 1500 10
FP deljenje 5% 25 10 40 25 10 1000 10
Integer 50% 250 10 250 10
Ukupno 100% 500 10 5250 10
Marko D. Petković: Vežbe iz paralelne obrade 9

b)

0.2 4 0.15 5 0.1 8 0.05 10 0.5 2 3.85


2

200 10 500 10
51.95
3.85 10 51.95 10
200 10 5250 10
100
2 10 100 10

c)

9.62s
10
52.5s
10

1.3. MFLOPS

Sledeća popularna alternativa vremenu izvršenja jeste MFLOPS (Million Floating Point
Operations Per Second).

N FPops
MFLOPS = .
TCPU ⋅106

MFLOPS zavisi od mašine i od programa. Kako se za različite operacije sa realnim brojevima


obavljaju za različito vreme, uvedena je sledeća normalizacija FP operacija:

Realne FP operacije Normalizovane


FP operacije
+ , - , * , Uporedjivanje 1
/, Sqrt 4
sin x , exp x ,... 8
Konverzija 8
Tabela 1. Normalizacija FP operacija

Zadatak 8. Neka program radi 92 sekunde, U sledećoj tabeli je dat spisak FP operacija koje se
izvršavaju u tom programu:

Realne FP Broj pojavljivanja


operacije u programu [ ⋅ 106]
+ 26.0
- 18.3
* 33.9
/ 15.7
10 Performanse računarskog sistema

Uporedjivanje 9.7
sin x 2.6
exp x 2.2
Konverzija 1.6
Ukupno 110.0

Izračunati MFLOPS za ovaj program. Koristeći tabelu za normalizaciju izračunati normalizovani


MFLOPS.

Rešenje:

110 ⋅106
MFLOPS prirodni = = 1.2
92s ⋅106
26 ⋅1 + 18.3 ⋅1 + 33.9 ⋅1 + 15.7 ⋅ 4 + 9.7 ⋅1 + 2.6 ⋅ 8 + 2.2 ⋅ 8 + 1.6 ⋅ 8
MFLOPSnormalizovani = = 2.2
92s

1.4. AMDALOV ZAKON

Jedan od najvažnijih principa dizajniranja računara je da se često upotrebljavane operacije


izvršavaju brzo. Ovaj princip se takodje primenjuje i za korišćenje bilo kojih resursa. Da bi
primenili ovaj jednostavan princip treba znati koji su najčešći slučajevi i koliko možemo
poboljšati performanse da bi ubrzali te slučajeve. Amdalov zakon je fundamentalni zakon koji
pojašnjava ovaj princip.

Amdalov zakon definiše ubrzanje koje bi se dobilo odredjenom promenom. Ubrzanje


definišemo kao odnos vremena potrebnog za izvršenje programa bez promene i vremena
potrebnog da se isti posao izvrši sa željenom promenom. Amdalov zakon daje brz način procene
ubrzanja pri nekoj promeni koja zavisi od dva faktora:
1. Prvi faktor je odnos poboljšanja ( Fractionenhanced ) koji je uvek manji ili jednak 1. Npr. ako
60s ukupnog rada programa možemo poboljšati 20s onda će odnos poboljšanja biti 20/60.
2. Drugi faktor je ubrzanje poboljšanja ( Speedupenhanced ) i ovo ubrzanje je uvek veće od 1.
Npr. ako je za neki deo posla bilo potrebno 5s, a pri poboljšanju možemo uraditi za 2s, onda
je ubrzanje poboljšanja jednako 5/2.
Amdalov zakon glasi:
⎛ Fractionenhanced ⎞
TCPUnew = TCPUold ⎜ (1 − Fractionenhanced ) + ⎟,
⎝ Speedupenhanced ⎠
odnosno ukupno poboljšanje ( Speedupoverall ) je jednako:
T 1
Speedupoverall = CPUnew =
TCPUold ⎛ Fractionenhanced ⎞
⎜ (1 − Fractionenhanced ) + ⎟
⎝ Speedupenhanced ⎠

Zadatak 9. Posmatrajmo poboljšanje koje u 40% vremena računa 10 puta brže. Koliko je
ukupno ubrzanje ovog poboljšanja u celoj mašini?
Marko D. Petković: Vežbe iz paralelne obrade 11

Rešenje:

Fractionenhanced = 40% = 0.4


Speedupenhanced = 10
1 1
Speedupoverall = = = 1.56
⎛ 0.4 ⎞ 0.6 + 0.04
⎜ (1 − 0.4 ) + ⎟
⎝ 10 ⎠

Zadatak 10. Posmatrajmo dva različita poboljšanja jedne iste mašine:

(1) U prvom slučaju se poboljšavaju kvadratni koreni realnih brojeva i to 10 puta, a ovih
operacija ima 20%.
(2) U drugom slučaju se vrši poboljšanje svih floating-point instrukcija kojih ima 50% a
ubrzanje je 2 puta.

Koje poboljšanje ima veće ukupno ubrzanje?

Rešenje:

1 1
SpeedupFP = = = 1.33
⎛ 0.5 ⎞ 0.5 + 0.25
⎜ (1 − 0.5 ) + ⎟
⎝ 2 ⎠
1 1
SpeedupSQRT = = = 1.22
⎛ 0.2 ⎞ 0.8 + 0.02
⎜ (1 − 0.2 ) + ⎟
⎝ 10 ⎠
SpeedupFP > SpeedupSQRT

You might also like