Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie...

106
slide 1 Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A 03.20

Transcript of Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie...

Page 1: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 1Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Structuur en organisatie van computersystemen:

deel 2

Yolande Berbers200A 03.20

Page 2: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 2Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

praktische organisatie lessenschema: 14 lessen

dinsdag 26 en woensdag 27 maart

paas-’vakantie’ dinsdag 16 en woensdag 17 april dinsdag 23 en woensdag 24 april

pauze: ik zit een week in het buitenland dinsdag 7 en woensdag 8 mei dinsdag 14 en woensdag 15 mei dinsdag 21 en woensdag 22 mei

dinsdag 10.35-12u35, S01.03 woensdag 10.35-12u35, S01.03

Page 3: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 3Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

doelstellingen van de cursus direct doel

inzicht in huidige tendensen in computerarchitectuur

– achtergrond– algemene kenmerken– invloed voor de software

huidige tendensen in basissoftware– besturingssystemen– compilers

specifieke aandacht voor snelheid parallellisme (op alle niveaus)

via case studies kennis maken met belangrijke architecturen

Page 4: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 4Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

doelstellingen van de cursus (vervolg)

verder doel studenten voorbereiden op een veelvoorkomende

latere job: kiezen van gepaste apparatuur en

basisprogrammatuur voor een bepaalde omgeving voor een bepaald doel wat voor soort producten zijn er op de markt wat moet je wel en niet geloven van de verkopers

‘materiaal-cursus’: niet afstuderen met alleen theoretische kennis

Page 5: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 5Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

doelstellingen van de cursus (vervolg)

verder doel (vervolg) na deze cursus moeten studenten

offertes voor computersystemen met kennis van zaken kunnen vergelijken

technische artikels over computerarchitecturen kunnen begrijpen

de vooruitgang in computerarchitectuur in de komende jaren gemakkelijk kunnen volgen

Page 6: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 6Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

verhouding hardware / software de cursus beschrijft de ‘structuur en organisatie van

computersystemen’ voor zover die van belang is voor een software specialist

doelstellingen van de cursus (vervolg)

Page 7: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 7Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

karakteristieken van de cursus

een domein dat in continue en snelle beweging is(geen historisch overzicht maar huidige state-of-the-art)

breed domein moeilijkheidsgraad: niet zo hoog de cursus brengt

nieuwe methoden, technieken, begrippen, modellen, ... analytisch

nieuwe terminologie beschrijvend de cursus wil praktisch zijn vergelijkbaar met SOCS1

Page 8: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 8Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

overzicht van de cursus inleiding tot computerarchitectuur (H1) performantie (H1) instructie-set principes, RISC-architecturen (H2) pipelining (H3) parallellisme op het instructieniveau (H4) geheugen-hiërarchie (H5) parallelle machines (slides) niet-traditionele systemen (slides, kopies) een aantal case studies (slides)

Page 9: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 9Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

tekstboeken Computer Architecture. A Quantitive Approach

(2nd edition)David A. Patterson, John L. HennessyMorgan Kaufmann Publishers, 1996, ISBN 1-55860-329-8 boek richt zich in de eerste plaats tot ontwerpers van

systemen wij zullen die elementen benadrukken die ons helpen de

huidige systemen te begrijpen en te evalueren Advanced Computer Architectures. A Design Space

Approach Deszo Sima, Terence Fountain, Peter KacsukAddison Wesley, 1997, ISBN 0-201-42291-3 gebruikt voor het deel over parallelle machines

en niet-traditionele systemen

Page 10: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 10Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

slides www.cs.kuleuven.ac.be/~yolande/slides/

socs2.html slides worden continu up to date gehouden

Page 11: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 11Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

plaats van cursus in curriculum

directe opvolger van SOCS1 steunt nogal op besturingssystemen

Page 12: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 12Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

vorm van het examen mogelijkheid tot alternatief examen (zie verder) gesloten boek examen mondeling met schriftelijke voorbereiding vraag 1

peilt naar inzicht in de cursus overzichtsvraag combinatie van 2 of meer (hoofd)stukken

vraag 2 peilt naar diepte-kennis van een bepaald stuk cursus

vraag 3 peilt naar terminologie-kennis bestaat uit meerdere kleine vragen

Page 13: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 13Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

van belang voor het examen

‘vergelijk x en y’ betekent niet bespreek achter elkaar eerst x en dan y, maar bespreek x en y zodat ze vergelijkbaar worden (dus volgens hetzelfde stramien) en vergelijk ze dan

cijfers: orde van grootte zijn van belangexacte cijfers niet

Page 14: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 14Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

mogelijkheid tot alternatief examen

bespreking van een hedendaagse architectuur voorstelling van 20 min (indien één student)

voorstelling van 40 min (indien twee studenten)

redelijke vrijheid bij de keuze van architectuur (niet Intel) keuzes kenbaar maken eerste week na pasen

zelf zoeken naar documentatie (op het web is er veel te vinden)

bespreking in het licht van de behandelde topics uit de cursus

begrippen uit cursus, voor en nadelen van bepaalde technieken … moeten gekend zijn

ik kan hierbij vragen stellen

Page 15: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 15Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Inleiding

Page 16: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 16Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

overzicht van deze inleiding vooruitgang van computermogelijkheden computerontwerp trends

software hardware

cpu chips geheugen chips disks

kostprijs

Page 17: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 17Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

vooruitgang van computermogelijkheden

2 elementen die spelen bij vooruitgang vooruitgang in de technologie die gebruikt wordt

in het bouwen van computers (onderwerp van elektronica) vooruitgang in computerontwerp (onderwerp van deze

cursus) vooruitgang niet gelijkmatig:

in technologie: nogal regelmatig in computerontwerp: onregelmatig, met sprongen

tot eind jaren 70: 25% verbetering per jaar vanaf eind jaren 70: microprocessoren

kunnen de technologische vooruitgang beter uitbuiten 35% verbetering per jaar (zie grafiek verder) massaproductie mogelijk, dus goedkoper

Page 18: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 18Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

vooruitgang van computermogelijkheden (vervolg)

wet van Moore uit 1965 voorspelde dat de kracht van een chip zou verdubbelen

elke 18 maanden

voorspelling is grotendeels juist gebleken

deze vooruitgang zal wellicht nog een tijdje lang

doorgaan

Page 19: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 19Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

vooruitgang van computermogelijkheden (vervolg)

vroegere rem op vernieuwingen in computerarchitecturen veel code werd geschreven in assembler

heel architectuur afhankelijk grote investering: moest nog kunnen draaien op

volgende machine uit zelfde reeks object-code compatibiliteit is heel belangrijk

besturingssystemen merkafhankelijk in assembler geschreven risico en kost van een nieuwe architectuur waren

heel hoog UNIX bracht hierin verandering

Page 20: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 20Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

vooruitgang van computermogelijkheden (vervolg)

RISC architecturen ontworpen begin jaren 80, op de markt sinds 85 vanaf dan: 50% verbetering per jaar

Sun-4/260MIPS M/120

MIPS M2000IBM RS6000/540

HP 9000/750

DEC AXP 3000

0

50

100

150

200

250

300

1987 1988 1989 1990 1991 1992 1993 1994 1995

Year

Performance

IBM Power 2/590

1.54X/yr

1.35X/yr

DEC 21064a

Sun UltraSparc

Page 21: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 21Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

vooruitgang van computermogelijkheden

0

200

400

600

800

1000

1200

87 88 89 90 91 92 93 94 95 96 97

DEC Alpha 21264/600

DEC Alpha 5/500

DEC Alpha 5/300

DEC Alpha 4/266IBM POWER 100

DEC AXP/500

HP 9000/750

Sun-4/

260

IBMRS/

6000

MIPS M/

120

MIPS M

2000

1.54X/yr

Page 22: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 22Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

gevolgen van deze enorme vooruitgang het krachtigste werkstation in 93 (IBM Power-2) vgl. met

de krachtigste computer in 88 (Cray Y-MP) werkstation is even snel voor floating point

berekeningen werkstation is sneller voor integerberekeningen werkstation kost minder dan 10% van supercomputer

microprocessoren worden gebruikt voor alle maten van computers, ook voor mainframes en supercomputers

vooruitgang van computermogelijkheden (vervolg)

Page 23: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 23Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

minicomputers: worden vervangen door servers gemaakt met microprocessoren

mainframes: worden vervangen door grote multiprocessoren gemaakt met microprocessoren

supercomputers: verzamelingen van microprocessoren

gebruikte terminologie– personal computers

– servers voor werkstations

– mainframes

– werkstations

– supercomputers

vooruitgang van computermogelijkheden (vervolg)

Page 24: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 24Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Technology Trends

Microprocessors

Minicomputers

Mainframes

Supercomputers

Year

0.1

1

10

100

1000

1965 1970 1975 1980 1985 1990 1995 2000

Page 25: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 25Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

intermezzo: perspective on Post-PC Era

PostPC Era will be driven by 2 technologies:1) “Gadgets”:Tiny Embedded

or Mobile Devices ubiquitous: in everything e.g., successor to PDA,

cell phone, wearable computers

2) Infrastructure to Support such Devices e.g., successor to Big Fat Web Servers, Database

Servers

Page 26: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 26Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

New Architecture Directions

“…media processing will become the dominant force in computer arch. and microprocessor design.”

“...new media-rich applications ... involve significant real-time processing of continuous media streams, and make heavy use of vectors of packed 8-, 16-, 32-bit integer and Fl. Pt.”

Needs include real-time response, continuous media data types (no temporal locality), fine grain parallelism, coarse grain parallelism, memory bandwidth

Page 27: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 27Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

computerontwerp complexe taak

functionele eisen bepalen maximaliseren van de performantie maar binnen de kostenbeperkingen

aspecten ontwerp van instructieset:

grens tussen software en hardware functionele organisatie logisch ontwerp implementatie

ontwerp van geïntegreerd circuit verpakking, koeling, voedingseenheid

kennis nodig van o.a. compilers, besturingssystemen

Page 28: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 28Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

computerontwerp

Design

Analysis

Architecture is an iterative process:• Searching the space of possible designs• At all levels of computer systems

Creativity

Good IdeasGood Ideas

Mediocre IdeasBad Ideas

Cost /PerformanceAnalysis

Page 29: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 29Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

computerontwerp

vroegere verdeling computer architectuur = ontwerp van instructie set implementatie

organisatie hardware

huidige tendens computer architectuur omvat al deze aspecten

Page 30: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 30Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

computerontwerp

organisatie geheugensysteem, busstructuur, interne CPU mogelijk: gelijke instructieset maar verschillende

organisatie(vb SPARCstation-2 en SPARCstation-20)

hardware gedetailleerd logisch ontwerp, klok-snelheid, cache,

verpakking mogelijk: gelijke instructieset en organisatie maar

verschillende hardware (vb Intel-reeks, Silicon Graphics Indy)

Page 31: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 31Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

functionele eisen functionele eisen hangen af van veel

factoren voor welke gebruikers is de machine bedoeld voor welke applicaties op welke besturingssystemen mikt men welke standaarden wilt men volgen vaak zijn markt-elementen heel belangrijk figuur 1.2: werkt deze verschillende punten meer uit

optimiseren van ontwerp meestal kost vs snelheid (ook nadruk in deze cursus) ook mogelijk: fouttolerantie en betrouwbaarheid

Page 32: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 32Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

software trends programma’s gebruiken meer en meer

geheugen factor 1.5 tot 2 per jaar adresruimten moeten groter worden,

dus adressen nemen meer bits in beslag: 0.5 tot 1 per jaar

komt zowel door programma’s als door verbeteringen in DRAM technologie (zie verder)

Page 33: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 33Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

software trends rol van compiler wordt steeds groter

assembler is ongeveer helemaal verdwenen compilers bepalen mee in grote mate de performantie compilers: belangrijkste interface gebruiker / machine verbeteringen in compiler technologie

optimisaties, herschikken van code (pipelining, geheugen systeem)

ook onderwerp van deze cursus

Page 34: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 34Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

trends in implementatietechnologie integrated circuit technologie

densiteit: toename van 50% per jaar (verviervoudiging in 3 jaar)

chip-oppervlakte: toenamen van 10 tot 25% per jaar gecombineerd effect: toename van het aantal

transistoren per chip van 60 tot 80% per jaar

Page 35: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 35Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

trends in implementatietechnologie

Year

Tra

nsi

stor

s

1000

10000

100000

1000000

10000000

100000000

1970 1975 1980 1985 1990 1995 2000

i80386

i4004

i8080

Pentium

i80486

i80286

i8086

CMOS improvements:• Die size: 2X every 3 yrs• Line width: halve / 7 yrs

Alpha 21264: 15 millionPentium Pro: 5.5 millionPowerPC 620: 6.9 millionAlpha 21164: 9.3 millionSparc Ultra: 5.2 million

Moore’s Law

Page 36: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 36Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

trends in implementatietechnologie semiconductor DRAM technologie

densiteit: toename van 60% per jaar (verviervoudiging in 3 jaar)

cyclus tijd: veel kleinere verbetering vermindering van een derde in 10 jaar

Capacity Speed

Logic 2x in 3 years 2x in 3 years

DRAM 4x in 3 years 1.4x in 10 years

Disk 2x in 3 years 1.4x in 10 years

Speed increases of memory and I/O have not kept pace with processor speed increases.

Page 37: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 37Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

trends in implementatietechnologiesize

Year

Bit

s

1000

10000

100000

1000000

10000000

100000000

1000000000

1970 1975 1980 1985 1990 1995 2000

year size(Mb) cyc time

1980 0.0625 250 ns

1983 0.25 220 ns

1986 1 190 ns

1989 4 165 ns

1992 16 145 ns

1996 64 120 ns

2000 256 100 ns

Moore’s Law for Memory: Transistor capacity increases by 4x every 3 years

Page 38: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 38Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Memory History/Trends/State of Art

DRAM: main memory of all computers Commodity chip industry: no company >20% share Packaged in SIMM or DIMM (e.g.,16 DRAMs/SIMM)

Capacity: 4X/3 yrs (60%/yr..) Moore’s Law

MB/$: + 25%/yr. Latency: – 7%/year, Bandwidth: + 20%/yr. (so

far)

source: www.pricewatch.com, 5/21/98

Page 39: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 39Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Memory Summary

DRAM rapid improvements in capacity, MB/$, bandwidth slow improvement in latency

Processor-memory interface (cache+memory bus): bottleneck to bandwidth

Page 40: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 40Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Processor Limit: DRAM Gap

µProc60%/yr..

DRAM7%/yr..

1

10

100

10001980

1981

1983

1984

1985

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

DRAM

CPU

1982

Processor-MemoryPerformance Gap:(grows 50% / year)

Per

form

ance

“Moore’s Law”

• Alpha 21264 full cache miss in instructions executed: 180 ns/1.7 ns =108 clks x 4 or 432 instructions• Caches in Pentium Pro: 64% area, 88% transistors

Page 41: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 41Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

harde schijf technologie densiteit: toename van 50% per jaar

bijna verviervoudiging in 3 jaar cyclus tijd: veel kleinere verbetering

vermindering van een derde in 10 jaar

trends in implementatie technologie (vervolg)

Page 42: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 42Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Disk Description / History

1973:1. 7 Mbit/sq. in140 MBytes

1979:7. 7 Mbit/sq. in2,300 MBytes

SectorTrack

Cylinder

HeadPlatter

Arm

Embed. Proc. (ECC, SCSI)

Track Buffer

Page 43: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 43Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

1

10

100

1000

10000

1970 1980 1990 2000

Year

Are

al D

ensi

ty

Disk History

1989:63 Mbit/sq. in60,000 MBytes

1997:1450 Mbit/sq. in2300 MBytes

1997:3090 Mbit/sq. in8100 MBytes

Page 44: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 44Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Performance Model /Trends

Capacity + 60%/year (2X / 1.5 yrs)

Transfer rate (BW) + 40%/year (2X / 2.0 yrs)

Rotation + Seek time – 8%/ year (1/2 in 10 yrs)

MB/$ > 60%/year (2X / <1.5

yrs) Fewer chips + areal

densitysource: Ed Grochowski, 1996, “IBM leadership in disk drive technology”;

Latency = Queuing Time + Controller time +Seek Time + Rotation Time + Size / Bandwidth

www.storage.ibm.com/storage/technolo/grochows/grocho01.htm,

per access

per byte

{+

Page 45: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

Disk Limit: I/O Buses

CPU Memory bus

Memory

C

External I/O bus

(SCSI)C

(PCI)

C Internal I/O bus

C

Multiple copies of data,SW layers

Bus rate vs. Disk rate SCSI: Ultra2 (40 MHz),

Wide (16 bit): 80 MByte/s FC-AL: 1 Gbit/s = 125 MByte/s (single disk in 2002)

Cannot use 100% of bus Queuing Theory (< 70%) Command overhead

(Effective size = size x 1.2)

Controllers(15 disks)

Page 46: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 46Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Disk Limit Continued advance in

capacity (60%/yr) bandwidth (40%/yr.)

Slow improvement in seek, rotation (8%/yr) Time to read whole disk

Year Sequentially Randomly

1990 4 minutes 6 hours2000 12 minutes 1 week

Dynamically change data layout to reduce seek, rotation delay? Leverage space vs. spindles?

External I/O bus bottleneck to transfer rate, cost?=> move to fast serial lines (FC-AL)?

how to use speed of embedded processor inside disk?

Page 47: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 47Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

huidige tijdschaal van microprocessoren ontwerp 2 jaar productie 2 jaar levensduur van minimum 5 jaar gevolg: wanneer productie op volle toeren draait zijn

sleuteltechnologieën (DRAM bv.) reeds een stap verder technologische veranderingen gebeuren vaak niet

op een continue manier maar in discrete stappen bv. DRAM groeit steeds met factor 4 vanaf een bepaalde grens kan opeens iets heel anders

(bv. 32-bit, 64-bit)

trends in implementatie technologie (vervolg)

Page 48: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 48Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Clock Frequency Growth Rate

• 30% per year

0.1

1

10

100

1,000

19701975

19801985

19901995

20002005

Clo

ck r

ate

(MH

z)

i4004i8008

i8080

i8086 i80286i80386

Pentium100

R10000

Page 49: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 49Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Transistor Count Growth Rate

• 100 million transistors on chip by early 2000’s A.D.• Transistor count grows much faster than clock rate

- 40% per year, order of magnitude more contribution in 2 decades

Tran

sist

ors

1,000

10,000

100,000

1,000,000

10,000,000

100,000,000

19701975

19801985

19901995

20002005

i4004i8008

i8080

i8086

i80286i80386

R2000

Pentium R10000

R3000

Page 50: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 50Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

The future: general characteristics

Description 1995 1998 2001 2004 2007 2010

Line width (m) 0.35 0.25 0.18 0.13 0.10 0.07

Number of masks 18 20 20 22 22 24

Wafer size (mm) 200 200 300 300 400 400

Number of wiring levels 4-5 5 5-6 6 6-7 7-8

Power supply V: desktop 3.3 2.5 1.8 1.5 1.2 0.9

Power supply V: battery 2.5 1.8-2.5 0.9-1.8 0.9 0.9 0.9

Max. power dissipation/chip 80 100 120 140 160 180

Page 51: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 51Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

The future: DRAM

Description 1995 1998 2001 2004 2007 2010

Number of bits per chip 64M 256M 1G 4G 16G 64G

Chip size (mm2) 190 280 420 640 960 1400

Page 52: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 52Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

The future: high performance (P)

Description 1995 1998 2001 2004 2007 2010

Number of transistors 10M 21M 47M 108M 260M 560M

Number of I/O pads 900 1350 2000 2600 3600 4800

Number of package pins 512 512 512 512 800 1024

On chip clock freq. (MHz) 300 450 600 800 1000 1100

PCB frequency (Mhz) 150 200 250 300 375 475

Chip size (mm2) 250 300 360 430 520 620

Page 53: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 53Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

The future: ASIC

Description 1995 1998 2001 2004 2007 2010

Number of transistors 9M 26M 52M 108M 275M 560M

Number of I/O pads 900 1350 2000 2600 3600 4800

Number of package pins 750 1100 1700 2200 3000 4000

On chip clock freq. (MHz) 150 200 300 400 500 625

Chip size (mm2) 450 660 750 900 1100 1400

Page 54: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 54Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

trends in kostprijs kost van een product vermindert met de tijd

onder de knie krijgen van een technologie (leercurve) verlaagt de kost

grotere verkochte hoeveelheden verlagen de kost leercurve gaat sneller efficiëntere productiemethoden voor grote

hoeveelheden ontwerpkosten worden verdeeld over meer producten

zie als voorbeeld figuur 1.3 standaard randapparaten verlagen sterk in prijs

DRAM, kleine disks, schermen, toetsenborden, enz. zeer grote competitie, door gespecialiseerde firma’s hebben zeer groot volume door standaardisatie

Page 55: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 55Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

trends in kostprijs (vervolg) figuur 1.6 geeft de uitsplitsing van kosten voor

een eenvoudig kleuren werkstation figuren 1.7 en 1.8 en figuren volgende slides

component-kosten zijn maar een klein deel van de uiteindelijke prijs op een prijslijst

bij volumeproducten (bv PC’s) is de ‘gross margin’ lager (= alle kosten die niet

direkt toe te schrijven zijn aan een bepaald product, zoals marketing en reklame, R&D, gebouwen, directie, winst)

is de ‘average discount’ groter (= winst die de eindverkoper heeft)

Page 56: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 56Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Component Costs

ComponentCost

List Price

15% to 33%

trends in kostprijs (vervolg)

Page 57: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 57Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Component Costs Direct Costs (add 25% to 40%) recurring costs: labor,

purchasing, scrap, warranty

ComponentCost

Direct Cost

List Price

15% to 33%6% to 8%

trends in kostprijs (vervolg)

Page 58: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 58Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Component Costs Direct Costs (add 25% to 40%) recurring costs: labor,

purchasing, scrap, warranty

Gross Margin (add 82% to 186%) nonrecurring costs: R&D, marketing, sales, equipment maintenance, rental, financing cost, pretax profits, taxes

ComponentCost

Direct Cost

GrossMargin

List Price

15% to 33%6% to 8%

34% to 39%

trends in kostprijs (vervolg)

Page 59: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 59Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Component Costs Direct Costs (add 25% to 40%) recurring costs: labor,

purchasing, scrap, warranty Gross Margin (add 82% to 186%) nonrecurring costs:

R&D, marketing, sales, equipment maintenance, rental, financing cost, pretax profits, taxes

Average Discount to get List Price (add 33% to 66%): volume discounts and/or retailer markup

ComponentCost

Direct Cost

GrossMargin

AverageDiscount

Avg. Selling Price

List Price

15% to 33%6% to 8%

34% to 39%

25% to 40%

trends in kostprijs (vervolg)

Page 60: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 60Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

0%

20%

40%

60%

80%

100%

Mini W/S PC

Average Discount

Gross Margin

Direct Costs

Component Costs

0

1

2

3

4

5

Mini W/S PC

Average Discount

Gross Margin

Direct Costs

Component Costs

4.73.8

1.8

3.52.5

1.5

trends in kostprijs (vervolg)

Page 61: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 61Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

het meten en rapporteren van

performantie

Page 62: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 62Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

performantie: overzicht wat verstaat men onder performantie programma's uitvoeren om performantie te meten performantie vergelijken en samenvatten kwantitatieve principes ivm performantie

algemeen, formules, toegepast op enkele kleinere voorbeelden

toegepast op geheugenhiërarchie

fouten en valstrikken

Page 63: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 63Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

het definiëren van performantie

wat bedoelen we met ‘computer X heeft een betere performantie dan computer Y’ ?

vergelijk met vliegtuigen

vliegtuig

Boeing 737-100

Boeing 747

Concorde

DC-8-50

passagiers-

capaciteit

101

470

132

146

vliegbereik

(km)

1000

6640

6400

13950

vliegsnelheid

(km / u)

957

976

2160

870

passagiersdoorvoer

(passagiers X km/u)

96.657

458.720

285.120

127.020

Page 64: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 64Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

het definiëren van performantie (vervolg)

verschillende criteria responsetijd = uitvoeringstijd doorvoer

klassiek definieert men performantie als

als X n keer sneller is dan Y:

termen zoals verhogen of verlagen zijn verwarrend:we zullen spreken over verbeteren en verslechteren

performantie Xuitvoeringstijd X

__

1

nuitvoeringstijd Y

uitvoeringstijd X

performantie X

performantie Y

_

_

_

_

Page 65: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 65Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

het meten van performantie slechts één echte maat: uitvoeringstijd

van één taak = responstijd van meerdere taken = doorvoer responsetijd (latency) bevat ook wachttijden CPU-tijd = user CPU-tijd + system CPU-tijd vaak gebruikt men enkel user CPU-tijd

keuze van programma’s om performantie te meten echte programma’s kernels spelbenchmarks synthetische benchmarks benchmark suites

Page 66: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 66Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

het meten van performantie (vervolg)

echte programma's beste methode voordelen:

vergelijkt dat wat men in werkelijkheid wil doen nadelen:

software niet altijd beschikbaar (moet gekocht worden)

niet altijd eenvoudig uit te voeren (duurt te lang) zelfs al is de broncode beschikbaar, overdragen van

de code is meestal geen evidente zaak vergelijking moet volledig door de klant gebeuren

Page 67: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 67Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kernels korte, typische extracten van echte programma's

voordelen: gemakkelijk te schrijven, ook voor nieuwe machines

waar nog geen compilers voor zijn (oud argument) vergelijkingswaarden zijn voor vele machines bekend goed om individuele aspecten van computers te

vergelijken nadelen:

geeft niet echt weer wat later als software zal draaien voorbeelden:

Livermore Loops, Linpack

het meten van performantie (vervolg)

Page 68: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 68Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

voorbeelden: Livermore Loops (eigenlijk Livermore Fortran Kernels of

LFK) 24 Fortran DO-loops uit code van de Lawrence

Livermore National Laboratory wordt gebruikt sinds begin jaren 70 (eerst 14, later 24

loops) mengeling van lussen die wel/niet gevectoriseerd

kunnen worden lengte van de lussen wordt gevarieerd heeft geleid tot het gebruik van de term Mflop/s

(millions of floating point operations per second) geeft niet 1 cijfer, maar een groot aantal (zie ook SPEC)

het meten van performantie (vervolg)

Page 69: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 69Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

voorbeelden: Linpack

oplossing van 100x100 lineaire vergelijking met L/U decompositie

klein programma

het meten van performantie (vervolg)

Page 70: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 70Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

spel benchmarks bekende algoritmes die men als benchmark gebruikt

voordelen: korte code om in te tikken voorbeelden gemakkelijk te vinden in artikels vergelijkingswaarden zijn voor vele machines bekend

nadelen: geeft niet echt weer wat later als software zal draaien

(minder nog dan kernels) voorbeelden:

zeef van Erastosthenes, quicksort

het meten van performantie (vervolg)

Page 71: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 71Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

synthetische benchmarks volgt de idee van de kernels: programma's die de

frequentie van instructiegebruik nabootsen in bepaalde toepassingsgebieden

voordelen: vergelijkingswaarden zijn voor vele machines bekend de testen zijn veel uitgebreider dan kernels

nadelen: geeft niet echt weer wat later als software zal draaien problemen indien performantie afhangt van klein stukje

code: geeft vaak aanleiding tot ad hoc optimisaties

voorbeelden: Whetstone (Fortran wetenschappelijk code) Dhrystone (geen wetenschappelijk code)

het meten van performantie (vervolg)

Page 72: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 72Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

het meten van performantie (vervolg)

benchmark suites verzameling van benchmarks

voordelen: zwakheid van een bepaalde benchmark uit de suite

wordt gecompenseerd door de andere benchmarks uit de suite

vergelijkingswaarden zijn voor vele machines bekend nadelen:

methode om de resultaten van de verschillende benchmarks samen te brengen is heel belangrijk

geeft niet echt weer wat later als software zal draaien voorbeelden:

SPEC92, SPEC95, SPEC CPU2000, TPC

Page 73: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 73Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

het meten van performantie (vervolg)

SPEC: System Performance Evaluation Corporation opgericht door meer dan 20 computerfirma’s in 1988 eerste versie in 1989; standaard machine VAX 11/780 tweede versie in 1992 met uitgebreide floating-point tests;

standaard machine VAX 11/780 derde algemene versie van 1995

standaard machine Sun SPARCstation 10/450 met 64MB RAM

nieuwe versies nodig: optimisaties van compilers voor benchmarks!

nieuwe gespecialiseerde suites

– SPEChpc96: voor high performance computing

– SPECweb96: voor web-toepassingen

– SPECjvm98: voor het testen van java virtual machines

Page 74: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 74Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

het meten van performantie (vervolg)

SPEC: System Performance Evaluation Corporation nieuwste algemene versie: SPEC CPU2000

bestaat uit CINT2000 en CFP2000 CINT2000 suite bevat 12 application-based benchmarks

in C and C++ CFP2000 suite bevat 14 CPU-intensieve benchmarks in

FORTRAN (77 en 90) en C referentiemachine: Sun Microsystems Ultra5_10

werkstation met 300-MHz SPARC processor en 256-MB geheugen

de waarden van CINT2000 en CFP2000 zijn op de referentiemachine per definitie 100

methode (zie ook fig. 1.9): meerdere in de praktijk gebruikte toepassingsprogramma’s

Page 75: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 75Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

2 manieren om er mee te werken: SPECint en SPECfp : meest gebruikt

enkel die tests gebruiken die het meest lijken op de software die men wil draaien

maar meestal wordt alleen het gemiddelde resultaat gepubliceerd (zie figuur uit tijdschrift)

SPECrate_int, SPECrate_fp testen de verwerkingscapaciteit van een systeem meerdere kopieën van dezelfde test worden

opgestart;gemeten wordt hoeveel processen binnen bepaalde tijd volledig uitgevoerd zijn

ook geschikt voor multiprocessoren een tape met de testen kost 800 $

het meten van performantie (vervolg)

Page 76: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 76Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

het meten van performantie (vervolg)

TPC: Transaction Processing Performance Council tps: transactions per second of tpm: transactions per

minute $/tps: geeft prijs/performantie

gebruikt in de database wereld test de van combinatie database software en

onderliggende hardware TPC-A, TPC-B, TPC-C bestaan niet zo gekend als SPEC, resultaten minder publiek het kost een firma initieel tot 500.000 $ om TPC-C audit

op te bouwen, te optimiseren en te tunen

Page 77: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 77Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

verslag uitbrengen over performantie reproduceerbaarheid

cijfers over benchmarks hebben slechts betekenis als alle omstandigheden meting vermeld zijn (wat weinig gebeurd)

exacte versie van processor versie van compiler gebruikte optimisaties (zie ook bij fouten en valstrikken) hoeveelheid RAM hoeveelheid cache (primair, secundair) welke input enz.

bij auto-tests: wel gewoonte om alle omstandigheden te geven

bij SPEC: baseline performance naast optimized performance

Page 78: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 78Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

verslag uitbrengen over performantie (vervolg)

vergelijken van performantie: hoe combineer je informatie ?

niet zo eenvoudig !

Program P1 (secs)

Computer A

1

1000

1001

Computer B

10

100

110

Computer C

20

20

40

Program P2 (secs)

Total time (secs)

Page 79: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 79Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

verslag uitbrengen over performantie (vervolg)

totale uitvoeringstijd

rekenkundig gemiddelde

gewogen rekenkundig gemiddelde

Timeii

n

11

1nTimei

i

n

A

gem: W(3) (secs)

P2 (secs)

P1 (secs)

gem: W(2) (secs)

gem: W(1) (secs)

B C W(1) W(2) W(3)

1.00 10.00 20.00 0.50 0.909 0.999

1000.00 20.00 0.50 0.091 0.001100.00

500.50 20.0055.00

91.82 20.0018.18

2.00 20.0010.09

Page 80: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 80Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

verslag uitbrengen over performantie (vervolg)

genormaliseerde uitvoeringstijd tov een referentiemachine:uitvoeringstijd van referentiemachine is dan 1 (per def.)

gemiddelde van genormaliseerde uitvoeringstijden rekenkundig meetkundig (SPEC)

Normalized to A

P1 (secs)

P2 (secs)

A B C

Normalized to B

A B C

Normalized to C

A B C

Rek Gem

Geo Gem

Tot Tijd

1.0 10.0 20.0

1.0

1.0

1.0

1.0

0.1

5.05

1.0

0.11

1.0

1.0

1.0

1.0

1.0

1.0

1.0

1.0

1.0

1.0

0.02

10.01

0.63

0.04

0.1

10.0

5.05

1.0

9.1

2.0

0.2

1.1

0.63

0.36

0.05

50.0

25.03

1.58

25.03

0.5

5.0

2.75

1.58

2.75

Execution time ratioii

nn _ _

1

Page 81: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 81Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

verslag uitbrengen over performantie (vervolg)

voordelen van meetkundig gemiddelde van genormaliseerde uitvoeringstijden onafhankelijk van uitvoeringstijden van individuele progr. onafhankelijk van referentiemachine

nadelen van meetkundig gemiddelde van genormaliseerde uitvoeringstijden ze voorspellen niet de uitvoeringstijden de constructeurs worden aangemoedigd om korte

programma's te optimizeren (gaat gemakkelijker dan langere en heeft hetzelfde effect)

ideaal: eerst juiste gewichten (afhankelijk van voorspelde

gebruik) en dan normalisatie

Page 82: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 82Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes belangrijkste principe

zorg ervoor dat wat vaak voorkomt snel is uitgangspunt van RISC (zie later) extra voordeel: wat vaak voorkomt is meestal ook

simpel vb: overflow

komt niet zo vaak voor versnel dus het normale geval (geen overflow) eventueel is dan overflow trager, maar dat is minder

erg dit kan gekwantificeerd worden met behulp van

de wet van Amdahl

Page 83: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 83Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg) Amdahl’s wet: een verbetering is beperkt tot de

fractie die baat heeft bij de verbetering

factoren die een rol spelen– fractie waarop verbetering een invloed heeft

– vb: een programma duurt 60 sec.; de verbetering heeft betrekking op 20 sec; de fractie is 20/60

– verbetering die bekomen kan worden– vb: zonder verbetering duurt een stuk 20 sec.; met

verbetering duurt het 8 sec.; verbetering (speedup) is 20/8

wet van Amdahl is interessant om verschillende mogelijke verbetering te vergelijken

in formules: zie volgende slide

Page 84: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 84Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg)

speedupperformantie met gebruik van verbetering

performantie zonder gebruik van verbetering

speedupuitvoeringstijd zonder gebruik van verbetering

uitvoeringstijd met gebruik van verbetering

ex. time = ex.time fract.fract.

speedup

speeup =ex. time

ex. time

fract.fract.

speedup

new old enhancedenhanced

enhanced

overallold

new

enhancedenhanced

enhanced

1

1

1

Page 85: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 85Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg) voorbeeld 1

verandering = verbetering met een factor 10 wordt gebruikt 40% van de tijd

speeupfract.

fract.

speedup

00.4

10

overal

enhancedenhanced

enhanced

1

1

1

1 41 56

..

Page 86: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 86Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg) voorbeeld 2

FP = 50% van uitvoeringstijd van een bepaalde benchmarkFPSQR = 20% van uitvoeringstijd van deze benchmark

alternatief 1: extra hardware: FPSQR is 10 keer sneller

alternatief 2: alle FP berekeningen 2 maal sneller

speedupfract.

fract.

speedup

speedup0

0.2

10

speedup0

0.5

2.0

overal

enhancedenhanced

enhanced

FPSQR

FP

1

1

1

1 2122

1

1 5133

..

..

Page 87: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 87Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg) berekenen van CPU-performantie

vorige berekeningen gingen ervan uit dat we precies weten wat het effect zal zijn van een verbetering

in de praktijk moet je dit voorspellen, je kunt het niet meten (want de verbeteringen zijn nog niet doorgevoerd)

een aantal formules kunnen hierbij gebruikt worden

CPI = gemiddelde duur van een instructie

= gemiddeld aantal klokcycli per instructie

IC = aantal instructies in een prog. = Instruction Count

Page 88: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 88Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg)

CPU performantie is dus afhankelijk van 3 factoren: aantal instructies, klokcycli per instructie, klokfrequentie

CPU time = CPU klokcycli voor een prog. klokcyclustijd

= CPU klokcycli voor een prog.

klokfrequentie

CPI = CPU klokcycli voor een programma

ICCPU time = IC CPI klokcyclustijd

= IC CPI

klokfrequentie

Page 89: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 89Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg) deze drie factoren zijn niet onafhankelijk

een verbetering van één factor kan een invloed hebben op de andere (bv een verslechtering)

basistechnologieën die invloed hebben op de 3 factoren: klokfrequentie: hardware technologie en organisatie CPI: organisatie en instructieset aantal instructies: instructieset en compilertechnologie

formules die helpen bij CPU-ontwerpbeslissingen

vb van berekening: zie boek blz 33

CPI = CPI IC

Instr. count CPI

IC

Instr. Count

i i

ii

i

n

i

n1

1

Page 90: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 90Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principesCPU time = Seconds = Instructions x Cycles x

Seconds

Program Program Instruction Cycle

CPU time = Seconds = Instructions x Cycles x Seconds

Program Program Instruction Cycle

Inst Count CPIClock RateProgram X

Compiler X (X)

Inst. Set. X X

Organization X X

Technology X

Page 91: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 91Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg) meten (of schatten) van de 3 factoren

klokfrequentie heel moeilijk, is meestal een schatting

aantal instructies nodig compiler te hebben (wordt heel vroeg ontwikkeld) totaal aantal instructies is van belang ook frequentiegebruik van verschillende (klassen van)

instructies is van belang (instructiemix) CPI

vaak werkt men met CPIi (per instructie (klasse)) moeilijk want afhankelijk van de toestand van processor

(dus pipeline en cache) vaak zal men die twee factoren opsplitsen

Page 92: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 92Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg) voorbeeld 3: 2 alternatieven voor conditionele sprong

alt A: een ‘compare’ instructie die een conditiecode zet,gevolgd door een ‘branch’ die de conditiecode test

alt B: slechts 1 instructie, een ‘branch’ die direct vergelijkt voor beide:

conditionele ‘branch’ instructie duurt 2 klokcycli alle andere instructies duren 1 klokcyclus

alt A: 20% zijn sprongen en er zijn dus ook 20% ‘compare’ alt A: snellere klok omdat korte sprong: 1.25 maal sneller

dan B

? vraag: welke CPU is sneller ?

Page 93: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 93Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

kwantitatieve principes (vervolg) CPIA = 0.20 x 2 + 0.80 X 1 = 1.2 CPU time A = ICA x CPIA x klokcyclustijdA

= ICA x 1.2 x klokcyclustijdA

alt B heeft geen extra ‘compare’, dus 20/80 of 25% zijn sprongen en de rest (75%) zijn andere instructiesCPIB = 0.25 x 2 + 0.75 X 1 = 1.25

alt B heeft in totaal minder instructies uit te voeren:ICB = 0.8 ICA

CPU time B = ICB x CPIB x klokcyclustijdB

= 0.8 x ICA x 1.25 x (1.25 x kl.cyclustijdA)

= 1.25 x ICA x klokcyclustijdA

alternatief A is dus sneller

Page 94: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 94Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

geheugenhiërarchie axioma van hardware ontwerp: klein is snel

klein: signalen moeten minder ver gaan meer voeding mogelijk per cel wel veel duurder

van groot belang bij geheugens grote bandbreedte (in MB/sec.) kleine toegangstijden

data toegang meest recent gebruikt komt vaak terug (temporele

lokaliteit) wat in de buurt ligt is vaak ook nodig (ruimtelijke lokaliteit)

combinatie van deze elementen met de wet van Amdahl: geheugen hiërarchie is de oplossing

Page 95: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 95Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

CPU Registers100s Bytes<1 ns

Cache10s-100s K Bytes1-10 ns$10/ MByte

Main MemoryM Bytes100ns- 300ns$1/ MByte

Disk10s G Bytes, 10 ms (10,000,000 ns)$0.0031/ MByte

CapacityAccess TimeCost

Tapeinfinitesec-min$0.0014/ MByte

Registers

Cache

Memory

Disk

Tape

Instr. Operands

Blocks

Pages

Files

StagingXfer Unit

prog./compiler1-8 bytes

cache cntl8-128 bytes

OS512-4K bytes

user/operatorMbytes

Upper Level

Lower Level

faster

Larger

geheugenhiërarchie

Page 96: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 96Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

By taking advantage of the principle of locality: give user as much memory as is available in cheapest technology provide access at the speed offered by the fastest technology

Control

Datapath

SecondaryStorage(Disk)

Processor

Registers

MainMemory(DRAM)

SecondLevelCache

(SRAM)

On

-Ch

ipC

ache

1s 10,000,000s (10s ms)

Speed (ns): 10s 100s

100sGs

Size (bytes):Ks Ms

TertiaryStorage

(Disk/Tape)

10,000,000,000s (10s sec)

Ts

geheugenhiërarchie

Page 97: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 97Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

cache terminologie: cache hit, cache miss, cache block

vergelijking cache en virtueel geheugen bij cache miss blokkeert de CPU totdat gegevens

aanwezig zijn bij page fault krijgen we een proceswisseling

geheugenhiërarchie (vervolg)

Page 98: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 98Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

performantie van cachegeheugen voorbeeld: speedup na toevoeging van een cache

cache is 10 maal sneller dan het hoofdgeheugen cache wordt gebruikt 90% van de keren

speedupfract.

fract.

speedup

00.9

10

enhancedenhanced

enhanced

1

1

1

1 95 3

..

Page 99: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 99Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

performantie van cachegeheugen (vervolg)

meestal is er al een geheugenhiërarchie vraag: hoe kan ik die verbeteren nodig: in rekening brengen van wachten van CPU op cache

CPUtime = (CPU klokcycli + geheugen-stall-cycli) x klokcyclusgeheugen-stall-cycli = aantal missingen x kost van een

missing= IC x aantal missingen per instructie x kost van een missing= IC x aantal geh. ref. per instr. x mis-frequ. x kost van

missing

de elementen uit de laatste formule zijn ‘gemakkelijk’ te bepalen, o.a. door simulatie

Page 100: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 100Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

performantie van cachegeheugen (vervolg)

voorbeeld machine met CPI = 2.0 als data in de cache geheugentoegang enkel via load en store (40% van

instr.) kost van missing = 25 klokcycli mis-frequentie = 2%

? vraag: hoeveel sneller zou de machine zijn met alleen cache hits

CPUaltijd hit = CPU klokcylic + geh - stall - cycli klokcyclus

= IC CPI + 0 klokcyclus

= IC 2.0 klokcyclus

Page 101: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 101Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

performantie van cachegeheugen (vervolg)

voor machine met cache (elke instructie vraagt een instructiefetch uit het geheugen, en 40% van de instructies vragen nog een geheugentoegang extra)

CPUtime = (CPU klokcycli + geheugen-stall-cycli) x klokcyclus

= (IC x 2.0 + IC x 0.7) x klokcyclus= 2.7 x IC x klokcyclus

geh.-stall - cycli = IC aantal geheugenreferenties per instr.

mis - frequentie kost van missing

= IC 1+ 0.4

IC 0.7

0 02 25.

performantieverbetering = 2.7 IC klokcyclus

2.0 IC klokcyclus

1 35.

Page 102: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 102Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

fouten en valstrikken valstrik: MIPS is een goede maat om performanties

van computersystemen te vergelijken Million Instructions per Second Meaningless Indicator of Performance of System Marketing’s Invention to Promote Sales

hoe groter de MIPS, hoe performanter het systeem (gemakkelijk te begrijpen)

3-voudig probleem: MIPS is afhankelijk van instructieset MIPS kan variëren op 1 systeem (afh. van programma) MIPS kan variëren omgekeerd als performantie (vb: FP)

MIPS = IC

uitvoeringstijd

klokfrequentie

CPI

6 610 10

Page 103: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 103Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

fouten en valstrikken (vervolg) valstrik: MFLOPS is een consistente en handige

maat voor performantie Million FP Operations Per Second

is afhankelijk van de machine en van het programma (compilers hebben een MFLOP van 0)

als zelfde programma vergeleken wordt tussen verschillende systemen, dan nog is het geen goede vergelijking

soort hardware ondersteunde FP operaties: niet overal gelijk

maakt geen verschil tussen snelle FP operaties (bv optelling) en trage FP operaties (bv deling)

zoals bij MIPS: men geeft maar 1 cijfer en zegt niets over de omstandigheden van dat cijfer

Page 104: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 104Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

fouten en valstrikken (vervolg) fout: synthetische benchmarks voorspellen

performantie compilers worden vaak aangepast expliciet aan

veelgebruikte benchmarks eenvoudige programma’s waar alle procedures

kunnen uitgeschakeld worden door kennis van bepaalde formules uit Whetstone

vertalen sommige compilers dit in veel eenvoudigere code

valstrik: benchmarks blijven altijd geldig één van de programma’s van SPEC89 (matrix300)

werd vaak heel specifiek geoptimiseerd andere concrete voorbeelden in het boek

Page 105: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 105Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

fouten en valstrikken (vervolg) valstrik: verwachten dat de verbetering van één

aspect de performantie van een machine zal doen toenemen met een hoeveelheid die evenredig is met de grootte van de verbetering vb: de uitvoering van een programma duurt 100 sec.,

waarvan 80 sec. vermenigvuldigingen zijn. Met hoeveel moet ik de vermenigvuldiging verbeteren opdat mijn programma 5 maal sneller zou uitvoeren ?

uitvoerings tijd na verbetering

80100 80

2080

20

080

sec( sec)

secsec

sec

sec

n

n

n

Page 106: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A.

slide 106Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

fouten en valstrikken (vervolg) fout: hardware-onafhankelijke maten voorspellen

performantie vb: gebruik van grootte van programma’s als maat

voor programma-uitvoeringstijd (dat werd vroeger wel eens gedaan)

valstrik: vergelijken van computers, waarbij men alleen rekening houdt met één van de drie performantie-maten: kloksnelheid, CPI, instructie-aantallen

valstrik: piek-performantie gebruiken om machines te vergelijken