Sunteți pe pagina 1din 30

Arhitectura sistemelor de calcul

- Prelegerea 2 -
Performana calculatoarelor

Ruxandra F. Olimid
Facultatea de Matematic i Informatic
Universitatea din Bucureti
Cuprins

1. Performana calculatoarelor

2. Msurarea performanei

3. Noiuni primare
1. Multiplii i submultiplii

2/29
Evaluarea calculatoarelor

Ce nseamn c un calculator este mai bun dect altul?

3/29
Evaluarea calculatoarelor
Evaluarea se poate realiza din punct de vedere al costurilor, al
consumului de energie

Today, the average annual energy cost to power a modern


laptop is about EUR 25. If the energy consumption had
remained unchanged since 1971, todays laptops would
consume 4,000 times more energy and cost about 100 000
euro per year. At that cost, not many people could afford to
operate a home computer
[Intel11]

dar o sa ne concentrm asupra performanei.

4/29
Performana calculatoarelor

Ce nseamn c un calculator este mai performant dect altul?

5/29
Un exemplu simplu

Un client care sun la Relaii cu clienii este interesat de ct de repede i


se rezolv problema (timpul de rspuns la solicitare)
Departamentul de Relaii cu clienii este interesat de numrul de clieni
multumii (crora li s-a rezolvat problema) ntr-o anumit perioad (zi
sau lun)

6/29
Performana calculatoarelor

Timpul de execuie (timpul de rspuns): diferena ntre nceputul i


sfritul unui eveniment (al rulrii unui program, execuiei unei
comenzi, etc.)
prezint interes pentru un utilizator
Throughput (productivitate): cantitatea de servicii prestate ntr-o
unitate de timp
prezint interes pentru centrele de calcul (datacenter)

Vom continua analiza din punctul de vedere al unui utilizator / programator,


deci ne intereseaz timpul de execuie (!)

7/29
Performana calculatoarelor

Performana unui sistem de calcul (calculator) este invers proportional


cu timpul de execuie (necesar execuiei unui test) :
cu ct timpul de execuie este mai scurt, cu att performana este mai
ridicat
cu ct timpul de execuie este mai lung, cu att performana este mai
sczut

1
=
.

8/29
Performana calculatoarelor

Calculatorul X este mai performant dect calculatorul Y dac:

>
. < .

Calculatorul X este de n ori mai rapid dect calculatorul Y dac:

. = .

9/29
Performana calculatoarelor

Timpul de execuie (al sistemului) este considerat n general timpul


total necesar calculatorului s rezolve o sarcin (cnd calculatorul este
nencrcat cu alte task-uri), incluznd: accesul la disc, memorie,
activiti de intrare / ieire, ncrcarea sistemului de operare, execuia
CPU
Timpul de execuie CPU (timpul CPU): timpul consumat cu executarea
de ctre CPU a unei sarcini specifice, care poate fi spart n:
Timpul CPU utilizator: timpul necesar execuiei programului de ctre CPU
Timpul CPU sistem: timpul necesar pentru execuia unor task-uri de ctre
sistemul de operare pentru programul respectiv (ex. ntreruperi de sistem)

. = . + . ()

10/29
Msurarea performanei
Timpul de execuie se msoar n:
Secunde (s)
Cicli de ceas (tacte de ceas)

Ceasul (CPU): funcioneaz la oscilaie constant i determin cnd un


eveniment se realizeaz fizic (n hardware)

De ce am folosi cicli de ceas pentru msurarea performanei?


Timpul msurat n secunde depinde de construcia fizic a circuitelor
Timpul msurat n cicli de ceas nu depinde de construcia fizic, permind
o mai bun comparaie dpdv logic

11/29
Msurarea performanei
Ceasul (CPU) este caracterizat de:
Perioada ceasului: lungimea (durata) unui tact (a unui ciclu de ceas);
unitate de msur: secunda
Frecvena ceasului: cte cicluri de ceas se fac n unitatea de timp; unitate
de msur: Hertz

1
. =
.

Multiplii si submultiplii [Info]

12/29
Msurarea performanei

The Intel 4004 microprocessor ran at 740 kilohertz; the


current 2nd generation of Intel Core processors achieves
almost 4 GHz. If the speed of cars had increased at the same
pace since 1971, it would take about one second to drive
from San Francisco to New York (or from Lisboa in Portugal to
Moscow in Russia assuming the car speed in 1971 was 60
miles/hour and the distance between San Francisco and New
York is 3 000 miles).

[Intel11]

13/29
Msurarea performanei
ntrebare: Perioada unui ciclu de ceas este de 2ns. Ct este frecvena
ceasului?

Rspuns:

1 1 1
. = = = =
. 2 2 109

= 0.5 109 = 0.5 = 500

14/29
Msurarea performanei

[eMAG]

15/29
Msurarea performanei
ntrebare: Frecvena procesorului este 2200MHz. Ct nseamn n
GHz?

Rspuns:
. = 2200 = 2.2

ntrebare: Frecvena procesorului este 2200MHz. Ct dureaz un tact


de ceas?

Rspuns:
1 1 9 = 0.45
. = = 0.45 10
. 2.2 109

16/29
Msurarea performanei

Timpul de execuie poate fi exprimat n funcie de numrul de cicli CPU


executai i perioada (durata) unui ciclu:

. = . .

Timpul de execuie poate fi exprimat n funcie de numrul de cicli CPU


executai i frecvena unui ciclu:

.
. =
.

17/29
Msurarea performanei
ntrebare: Un program ruleaz 10s pe calculatorului X, care are frecvena
4GHz. Acelai program necesit de 1.2 ori mai muli cicli de ceas pe
calculatorul Y. Care este frecvena minim a calculatorului Y pentru ca s
fie considerat mai performant?
Rspuns:
Calculatorul X este mai performant dac timpul su de execuie este mai mic:
. .
. = > = .
. .
nlocuind, obinem:
. 1.2 .
10 = 9 > = .
4 10 .

. > 4.8
18/29
Msurarea performanei
ntrebare: Care este frecvena minim a calculatorului din ntrebarea
precedent, dac timpul de execuie pe acest calculator trebuie s fie cel
mult 6 secunde?
Rspuns:
Numrul ce cicli necesari la execuia pe calculatorul X este:
. 9
10 = . = 40 10
4 109

nlocuind n relaiile precedente obinem:

1.2 .
. = < 6
.

1.2 40 109
. = 8
6 19/29
Msurarea performanei

Timpul de execuie depinde de numrul de instruciuni:

. = . .
unde CPI este numrul mediu de Cicli Per Instruciune

Am considerat numrul total de cicli ca fiind numrul de instruciuni


nmulit cu numrul mediu de cicli per instruciune:

. = .
Mai exact este s se foloseasc numrul mediu de cicli de ceas pentru
fiecare tip de instruciune

20/29
Msurarea performanei
ntrebare: Pe un calculator se implementeaz 2 programe distincte (A i
B), care folosesc pentru rezolvarea unei probleme numrul de
instruciuni indicat. Fiecare tip de instruciune necesit un anumit numr
de cicluri de ceas. Care program este mai rapid ?

Program Nr. de instr.


adunare nmulire Instr. CPI
A 2 2 adunare 1
B 4 1 nmulire 3

21/29
Msurarea performanei
Rspuns: Se calculeaz numrul de cicli necesar pentru execuia
fiecrui program

N. = . (+) (+) + . () ()

. = 2 1 + 2 3 = 8
. = 4 1 + 1 3 = 7

Cum programele ruleaz pe acelai calculator, perioada de ceas este


aceeai i deci programul B este mai rapid.

Observai c performana nu este dat de numrul total de instruciuni


(programul B conine 5 instruciuni i este mai rapid dect programul A
care conine doar 4 instructiuni), ci depinde i de complexitatea acestora.
22/29
Msurarea performanei
Componenta Parametrii Info.
(hardware sau influenai
software)
Algoritm nr. de instruciuni Algoritmul determin nr. de instr. din codul surs, deci nr.
de instr. n limbaj maina executat de procesor.
CPI
Algoritmul determin i tipul de instruciuni executate,
care pot fi de complexitate diferit, deci CPI distinct.
Limbaj de nr. de instruciuni Instruciunile programului surs sunt traduse n
instruciuni n limbaj main, deci numrul de instruciuni
programare CPI
este influenat de alegerea limbajului de programare.
Analog, influeneaz complexitatea instruciunilor (ex.
abstractizarea induce o valoare CPI mai mare)
Compilator nr. de instruciuni Eficiena compilatorului influeneaz nr. de instr. i CPI,
acesta fiind cel care realizeaz traducerea din limbaj de
CPI
programare n limbaj main.
Arhitectura i nr. de instruciuni Arhitectura i setul de instruciuni afecteaz instruciunile
necesare pentru realizarea unei anumite funcionaliti,
setul de CPI costul n ciclii al fiecrei instructiuni, precum i perioada
instruciuni perioada de ceas ceasului procesorului.

23/29
Msurarea performanei

MIPS (Millions Instruction per Second) reprezint rata de execuie a


instruciunilor i este o alternativ la evaluarea performanei prin timpul
de execuie:

.
=
. 106

MIPS nu ia n calcul tipuri diferite de instruciuni (ex. complexitatea


instruciunilor), ceea ce poate conduce la rezultate eronate (!)

Atenie! Nu confundai cu MIPS (Microprocessor without Interlocked


Pipeline Stages)
24/29
Msurarea performanei

Practic, performana unui calculator se evalueaz prin:


simularea ncrcrii uzuale (workload) prin aplicaii rulate n general
(de ctre utilizatori) la frecvenele relative
rularea unor programe specifice, de test, pentru msurarea
performanei (benchmarks)
[ http://www.spec.org/ ]

Timpul total de execuie este o medie (cel mai corect ponderat) a


timpilor de execuie a programelor rulate la evaluare

25/29
Msurarea performanei
ntrebare: Timpul de execuie a 2 programe (A i B) pe 2
calculatoare diferite (X i Y) este reprezentat mai jos. De cte ori
este mai rapid calculatorul X dect calculatorul Y?

Program Calc.X Calc.Y Frecv.de exec.


A 800s 400s 80%
B 200s 600s 20%

26/29
Msurarea performanei
Rspuns: Dac se consider doar timpul total de execuie total, atunci
calculatoarele necesit acelai timp de execuie, deci sunt considerate
la fel de performante:
. = 800 + 200 = 1000
. = 400 + 600 = 1000

Corect se ine cont de frecvena de rulare a programelor i se obine:

. = 800 80/100 + 200 20/100 = 680


. = 400 80/100 + 600 20/100 = 440

n concluzie, calculatorul Y este mai rapid.

27/29
Multiplii si submultiplii
S.I.(Sistemul International):

Prefix Simbol Valoare Prefix Simbol Valoare


(decimal) (decimal)
Deca K 101 Deci d 10-1
Hecto H 102 Centi c 10-2
Kilo K 103 Mili m 10-3
Mega M 106 Micro 10-6
Giga G 109 Nano n 10-9
Tera T 1012 Pico p 10-12
Peta P 1015 Femto f 10-15
Exa E 1018 Atto a 10-18
Zetta Z 1021 Zepto z 10-21
Yotta Y 1024 Yokto y 10-24

28/29
Multiplii si submultiplii
IEC (International Electrotechnical Commission); standardul IEC 80000-13 (2008)

Prefix Simbol Valoare


Because the SI prefixes strictly
(decimal)
represent powers of 10, they should
Kibi Ki 210 not be used to represent powers of
Mebi Mi 220 2. Thus, one kilobit, or 1 kbit, is 1000
bit and not 210 bit = 1024 bit. To
Gibi Gi 230 alleviate this ambiguity, prefixes for
Tebi Ti 240 binary multiples have been adopted
by the International Electrotechnical
Pebi Pi 250 Commission (IEC) for use in
Exbi Ei 260 information technology.
Zebi Z 270
[NIST, Physical Measurement
Yobi Y 280 Laboratory
http://physics.nist.gov/cuu/Units/prefi
xes.html ]

[inapoi]
29/29
[Intel11] INTEL Fun Facts, INTEL 4004 PROCESSOR CELEBRATES 40TH ANNIVERSARY (2011)
http://newsroom.intel.com/docs/DOC-2383

[eMAG]
www.emag.ro

Imaginile au fost preluate de la


http://cute-pictures.blogspot.ro/2011/08/75-free-stock-images-3d-human-character.html

30/29

S-ar putea să vă placă și