De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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

Verwante presentaties


Presentatie over: "Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A."— Transcript van de presentatie:

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

2 slide 2Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers praktische organisatie n lessenschema: 14 lessen u dinsdag 26 en woensdag 27 maart paas-’vakantie’ u dinsdag 16 en woensdag 17 april u dinsdag 23 en woensdag 24 april pauze: ik zit een week in het buitenland u dinsdag 7 en woensdag 8 mei u dinsdag 14 en woensdag 15 mei u dinsdag 21 en woensdag 22 mei n dinsdag u35, S01.03 n woensdag u35, S01.03

3 slide 3Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers doelstellingen van de cursus n direct doel u inzicht in l huidige tendensen in computerarchitectuur –achtergrond –algemene kenmerken –invloed voor de software l huidige tendensen in basissoftware –besturingssystemen –compilers u specifieke aandacht voor l snelheid l parallellisme (op alle niveaus) u via case studies kennis maken met belangrijke architecturen

4 slide 4Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers doelstellingen van de cursus (vervolg) n verder doel u studenten voorbereiden op een veelvoorkomende latere job: kiezen van gepaste apparatuur en basisprogrammatuur l voor een bepaalde omgeving l voor een bepaald doel 4 wat voor soort producten zijn er op de markt 4 wat moet je wel en niet geloven van de verkopers u ‘materiaal-cursus’: niet afstuderen met alleen theoretische kennis

5 slide 5Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers doelstellingen van de cursus (vervolg) n verder doel (vervolg) u na deze cursus moeten studenten l offertes voor computersystemen met kennis van zaken kunnen vergelijken l technische artikels over computerarchitecturen kunnen begrijpen l de vooruitgang in computerarchitectuur in de komende jaren gemakkelijk kunnen volgen

6 slide 6Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n verhouding hardware / software u de cursus beschrijft de ‘structuur en organisatie van computersystemen’ voor zover die van belang is voor een software specialist doelstellingen van de cursus (vervolg)

7 slide 7Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers karakteristieken van de cursus n een domein dat in continue en snelle beweging is (geen historisch overzicht maar huidige state-of-the-art) n breed domein n moeilijkheidsgraad: niet zo hoog n de cursus brengt u nieuwe methoden, technieken, begrippen, modellen,... analytisch u nieuwe terminologie beschrijvend n de cursus wil praktisch zijn n vergelijkbaar met SOCS1

8 slide 8Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers overzicht van de cursus n inleiding tot computerarchitectuur (H1) n performantie (H1) n instructie-set principes, RISC-architecturen (H2) n pipelining (H3) n parallellisme op het instructieniveau (H4) n geheugen-hiërarchie (H5) n parallelle machines (slides) n niet-traditionele systemen (slides, kopies) n een aantal case studies (slides)

9 slide 9Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers tekstboeken n Computer Architecture. A Quantitive Approach (2nd edition) David A. Patterson, John L. Hennessy Morgan Kaufmann Publishers, 1996, ISBN u boek richt zich in de eerste plaats tot ontwerpers van systemen u wij zullen die elementen benadrukken die ons helpen de huidige systemen te begrijpen en te evalueren n Advanced Computer Architectures. A Design Space Approach Deszo Sima, Terence Fountain, Peter Kacsuk Addison Wesley, 1997, ISBN u gebruikt voor het deel over parallelle machines en niet-traditionele systemen

10 slide 10Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers slides n n slides worden continu up to date gehouden

11 slide 11Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers plaats van cursus in curriculum n directe opvolger van SOCS1 n steunt nogal op besturingssystemen

12 slide 12Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers vorm van het examen n mogelijkheid tot alternatief examen (zie verder) n gesloten boek examen n mondeling met schriftelijke voorbereiding n vraag 1 u peilt naar inzicht in de cursus u overzichtsvraag u combinatie van 2 of meer (hoofd)stukken n vraag 2 u peilt naar diepte-kennis van een bepaald stuk cursus n vraag 3 u peilt naar terminologie-kennis u bestaat uit meerdere kleine vragen

13 slide 13Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers van belang voor het examen n ‘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 n cijfers: orde van grootte zijn van belang exacte cijfers niet

14 slide 14Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers mogelijkheid tot alternatief examen n bespreking van een hedendaagse architectuur u voorstelling van 20 min (indien één student) u voorstelling van 40 min (indien twee studenten) u redelijke vrijheid bij de keuze van architectuur (niet Intel) l keuzes kenbaar maken eerste week na pasen u zelf zoeken naar documentatie (op het web is er veel te vinden) u bespreking in het licht van de behandelde topics uit de cursus l begrippen uit cursus, voor en nadelen van bepaalde technieken … moeten gekend zijn l ik kan hierbij vragen stellen

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

16 slide 16Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers overzicht van deze inleiding n vooruitgang van computermogelijkheden n computerontwerp n trends u software u hardware l cpu chips l geheugen chips l disks u kostprijs

17 slide 17Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers vooruitgang van computermogelijkheden n 2 elementen die spelen bij vooruitgang u vooruitgang in de technologie die gebruikt wordt in het bouwen van computers (onderwerp van elektronica) u vooruitgang in computerontwerp (onderwerp van deze cursus) n vooruitgang niet gelijkmatig: u in technologie: nogal regelmatig u in computerontwerp: onregelmatig, met sprongen n tot eind jaren 70: 25% verbetering per jaar n vanaf eind jaren 70: microprocessoren u kunnen de technologische vooruitgang beter uitbuiten u 35% verbetering per jaar (zie grafiek verder) u massaproductie mogelijk, dus goedkoper

18 slide 18Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers vooruitgang van computermogelijkheden (vervolg) n wet van Moore uit 1965 u voorspelde dat de kracht van een chip zou verdubbelen elke 18 maanden u voorspelling is grotendeels juist gebleken u deze vooruitgang zal wellicht nog een tijdje lang doorgaan

19 slide 19Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers vooruitgang van computermogelijkheden (vervolg) n vroegere rem op vernieuwingen in computerarchitecturen u veel code werd geschreven in assembler l heel architectuur afhankelijk l grote investering: moest nog kunnen draaien op volgende machine uit zelfde reeks Ô object-code compatibiliteit is heel belangrijk u besturingssystemen l merkafhankelijk l in assembler geschreven Ô risico en kost van een nieuwe architectuur waren heel hoog l UNIX bracht hierin verandering

20 slide 20Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers vooruitgang van computermogelijkheden (vervolg) n RISC architecturen u ontworpen begin jaren 80, op de markt sinds  85 u vanaf dan: 50% verbetering per jaar

21 slide 21Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers vooruitgang van computermogelijkheden 1.54X/yr

22 slide 22Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n gevolgen van deze enorme vooruitgang u het krachtigste werkstation in 93 (IBM Power-2) vgl. met de krachtigste computer in 88 (Cray Y-MP) l werkstation is even snel voor floating point berekeningen l werkstation is sneller voor integerberekeningen l werkstation kost minder dan 10% van supercomputer u microprocessoren worden gebruikt voor alle maten van computers, ook voor mainframes en supercomputers vooruitgang van computermogelijkheden (vervolg)

23 slide 23Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n minicomputers: worden vervangen door servers gemaakt met microprocessoren n mainframes: worden vervangen door grote multiprocessoren gemaakt met microprocessoren n supercomputers: verzamelingen van microprocessoren n gebruikte terminologie –personal computers –servers voor werkstations –mainframes –werkstations –supercomputers vooruitgang van computermogelijkheden (vervolg)

24 slide 24Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Technology Trends Microprocessors Minicomputers Mainframes Supercomputers Year

25 slide 25Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers intermezzo: perspective on Post-PC Era n PostPC Era will be driven by 2 technologies: 1) “Gadgets”:Tiny Embedded or Mobile Devices u ubiquitous: in everything u e.g., successor to PDA, cell phone, wearable computers 2) Infrastructure to Support such Devices u e.g., successor to Big Fat Web Servers, Database Servers

26 slide 26Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers New Architecture Directions n “…media processing will become the dominant force in computer arch. and microprocessor design.” n “...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.” n Needs include real-time response, continuous media data types (no temporal locality), fine grain parallelism, coarse grain parallelism, memory bandwidth

27 slide 27Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers computerontwerp n complexe taak u functionele eisen bepalen u maximaliseren van de performantie u maar binnen de kostenbeperkingen n aspecten u ontwerp van instructieset: grens tussen software en hardware u functionele organisatie u logisch ontwerp u implementatie l ontwerp van geïntegreerd circuit l verpakking, koeling, voedingseenheid u kennis nodig van o.a. compilers, besturingssystemen

28 slide 28Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers computerontwerp Architecture is an iterative process: Searching the space of possible designs At all levels of computer systems Creativity Good Ideas Mediocre Ideas Bad Ideas Cost / Performance Analysis

29 slide 29Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers computerontwerp n vroegere verdeling u computer architectuur = ontwerp van instructie set u implementatie l organisatie l hardware n huidige tendens T computer architectuur omvat al deze aspecten

30 slide 30Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers computerontwerp n organisatie u geheugensysteem, busstructuur, interne CPU u mogelijk: gelijke instructieset maar verschillende organisatie (vb SPARCstation-2 en SPARCstation-20) n hardware u gedetailleerd logisch ontwerp, klok-snelheid, cache, verpakking u mogelijk: gelijke instructieset en organisatie maar verschillende hardware (vb Intel-reeks, Silicon Graphics Indy)

31 slide 31Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers functionele eisen n functionele eisen hangen af van veel factoren u voor welke gebruikers is de machine bedoeld u voor welke applicaties u op welke besturingssystemen mikt men u welke standaarden wilt men volgen u vaak zijn markt-elementen heel belangrijk u figuur 1.2: werkt deze verschillende punten meer uit n optimiseren van ontwerp u meestal kost vs snelheid (ook nadruk in deze cursus) u ook mogelijk: fouttolerantie en betrouwbaarheid

32 slide 32Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers software trends n programma’s gebruiken meer en meer geheugen u factor 1.5 tot 2 per jaar u adresruimten moeten groter worden, dus adressen nemen meer bits in beslag: 0.5 tot 1 per jaar u komt zowel door programma’s als door verbeteringen in DRAM technologie (zie verder)

33 slide 33Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers software trends n rol van compiler wordt steeds groter u assembler is ongeveer helemaal verdwenen u compilers bepalen mee in grote mate de performantie u compilers: belangrijkste interface gebruiker / machine u verbeteringen in compiler technologie l optimisaties, herschikken van code (pipelining, geheugen systeem) l ook onderwerp van deze cursus

34 slide 34Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers trends in implementatietechnologie n integrated circuit technologie u densiteit: toename van 50% per jaar (verviervoudiging in 3 jaar) u chip-oppervlakte: toenamen van 10 tot 25% per jaar u gecombineerd effect: toename van het aantal transistoren per chip van 60 tot 80% per jaar

35 slide 35Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers trends in implementatietechnologie CMOS improvements: Die size: 2X every 3 yrs Line width: halve / 7 yrs Alpha 21264: 15 million Pentium Pro: 5.5 million PowerPC 620: 6.9 million Alpha 21164: 9.3 million Sparc Ultra: 5.2 million Moore’s Law

36 slide 36Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers trends in implementatietechnologie n semiconductor DRAM technologie u densiteit: toename van 60% per jaar (verviervoudiging in 3 jaar) u cyclus tijd: veel kleinere verbetering vermindering van een derde in 10 jaar CapacitySpeed Logic2x in 3 years2x in 3 years DRAM4x in 3 years1.4x in 10 years Disk2x in 3 years1.4x in 10 years Speed increases of memory and I/O have not kept pace with processor speed increases.

37 slide 37Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers trends in implementatietechnologie year size(Mb)cyc time ns ns ns ns ns ns ns Moore’s Law for Memory: Transistor capacity increases by 4x every 3 years

38 slide 38Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Memory History/Trends/State of Art n DRAM: main memory of all computers u Commodity chip industry: no company >20% share u Packaged in SIMM or DIMM (e.g.,16 DRAMs/SIMM) n Capacity: 4X/3 yrs (60%/yr..) u Moore’s Law n MB/$: + 25%/yr. n Latency: – 7%/year, Bandwidth: + 20%/yr. (so far) source: 5/21/98

39 slide 39Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Memory Summary n DRAM u rapid improvements in capacity, MB/$, bandwidth u slow improvement in latency n Processor-memory interface (cache+memory bus): bottleneck to bandwidth

40 slide 40Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Processor Limit: DRAM Gap Alpha 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

41 slide 41Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n harde schijf technologie u densiteit: toename van 50% per jaar bijna verviervoudiging in 3 jaar u cyclus tijd: veel kleinere verbetering vermindering van een derde in 10 jaar trends in implementatie technologie (vervolg)

42 slide 42Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Disk Description / History 1973: 1. 7 Mbit/sq. in 140 MBytes 1979: 7. 7 Mbit/sq. in 2,300 MBytes Sector Track Cylinder Head Platter Arm Embed. Proc. (ECC, SCSI) Track Buffer

43 slide 43Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Disk History 1989: 63 Mbit/sq. in 60,000 MBytes 1997: 1450 Mbit/sq. in 2300 MBytes 1997: 3090 Mbit/sq. in 8100 MBytes

44 slide 44Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Performance Model /Trends n Capacity u + 60%/year (2X / 1.5 yrs) n Transfer rate (BW) u + 40%/year (2X / 2.0 yrs) n Rotation + Seek time u – 8%/ year (1/2 in 10 yrs) n MB/$ u > 60%/year (2X / <1.5 yrs) u Fewer chips + areal density source: Ed Grochowski, 1996, “IBM leadership in disk drive technology”; Latency = Queuing Time + Controller time + Seek Time + Rotation Time + Size / Bandwidth per access per byte { +

45 Disk Limit: I/O Buses CPU Memory bus Memory C External I/O bus (SCSI) C (PCI) C Internal I/O bus C n Multiple copies of data, SW layers n Bus rate vs. Disk rate u SCSI: Ultra2 (40 MHz), Wide (16 bit): 80 MByte/s u FC-AL: 1 Gbit/s = 125 MByte/s (single disk in 2002) n Cannot use 100% of bus m Queuing Theory (< 70%) m Command overhead (Effective size = size x 1.2) Controllers (15 disks)

46 slide 46Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Disk Limit n Continued advance in u capacity (60%/yr) u bandwidth (40%/yr.) n Slow improvement in seek, rotation (8%/yr) n Time to read whole disk YearSequentiallyRandomly minutes6 hours minutes 1 week n Dynamically change data layout to reduce seek, rotation delay? Leverage space vs. spindles? n External I/O bus bottleneck to transfer rate, cost? => move to fast serial lines (FC-AL)? n how to use speed of embedded processor inside disk?

47 slide 47Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n huidige tijdschaal van microprocessoren u ontwerp 2 jaar u productie 2 jaar u levensduur van minimum 5 jaar u gevolg: wanneer productie op volle toeren draait zijn sleuteltechnologieën (DRAM bv.) reeds een stap verder n technologische veranderingen gebeuren vaak niet op een continue manier maar in discrete stappen u bv. DRAM groeit steeds met factor 4 u vanaf een bepaalde grens kan opeens iets heel anders (bv. 32-bit, 64-bit) trends in implementatie technologie (vervolg)

48 slide 48Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Clock Frequency Growth Rate 30% per year

49 slide 49Structuur en Organisatie van Computersystemen: deel 2Yolande 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

50 slide 50Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers The future: general characteristics Description Line width (  m) Number of masks Wafer size (mm) Number of wiring levels Power supply V: desktop Power supply V: battery Max. power dissipation/chip

51 slide 51Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers The future: DRAM Description Number of bits per chip64M256M1G4G16G64G Chip size (mm 2 )

52 slide 52Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers The future: high performance (  P) Description Number of transistors10M21M47M108M260M560M Number of I/O pads Number of package pins On chip clock freq. (MHz) PCB frequency (Mhz) Chip size (mm 2 )

53 slide 53Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers The future: ASIC Description Number of transistors9M26M52M108M275M560M Number of I/O pads Number of package pins On chip clock freq. (MHz) Chip size (mm 2 )

54 slide 54Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers trends in kostprijs n kost van een product vermindert met de tijd u onder de knie krijgen van een technologie (leercurve) verlaagt de kost u grotere verkochte hoeveelheden verlagen de kost l leercurve gaat sneller l efficiëntere productiemethoden voor grote hoeveelheden l ontwerpkosten worden verdeeld over meer producten u zie als voorbeeld figuur 1.3 n standaard randapparaten verlagen sterk in prijs / DRAM, kleine disks, schermen, toetsenborden, enz. u zeer grote competitie, door gespecialiseerde firma’s u hebben zeer groot volume door standaardisatie

55 slide 55Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers trends in kostprijs (vervolg) n figuur 1.6 geeft de uitsplitsing van kosten voor een eenvoudig kleuren werkstation n figuren 1.7 en 1.8 en figuren volgende slides u component-kosten zijn maar een klein deel van de uiteindelijke prijs op een prijslijst u bij volumeproducten (bv PC’s) l 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) l is de ‘average discount’ groter (= winst die de eindverkoper heeft)

56 slide 56Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n Component Costs Component Cost List Price 15% to 33% trends in kostprijs (vervolg)

57 slide 57Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n Component Costs n Direct Costs (add 25% to 40%) recurring costs: labor, purchasing, scrap, warranty Component Cost Direct Cost List Price 15% to 33% 6% to 8% trends in kostprijs (vervolg)

58 slide 58Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n Component Costs n Direct Costs (add 25% to 40%) recurring costs: labor, purchasing, scrap, warranty n Gross Margin (add 82% to 186%) nonrecurring costs: R&D, marketing, sales, equipment maintenance, rental, financing cost, pretax profits, taxes Component Cost Direct Cost Gross Margin List Price 15% to 33% 6% to 8% 34% to 39% trends in kostprijs (vervolg)

59 slide 59Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n Component Costs n Direct Costs (add 25% to 40%) recurring costs: labor, purchasing, scrap, warranty n Gross Margin (add 82% to 186%) nonrecurring costs: R&D, marketing, sales, equipment maintenance, rental, financing cost, pretax profits, taxes n Average Discount to get List Price (add 33% to 66%): volume discounts and/or retailer markup Component Cost Direct Cost Gross Margin Average Discount Avg. Selling Price List Price 15% to 33% 6% to 8% 34% to 39% 25% to 40% trends in kostprijs (vervolg)

60 slide 60Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers trends in kostprijs (vervolg)

61 slide 61Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers het meten en rapporteren van performantie

62 slide 62Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers performantie: overzicht n wat verstaat men onder performantie n programma's uitvoeren om performantie te meten n performantie vergelijken en samenvatten n kwantitatieve principes ivm performantie u algemeen, formules, toegepast op enkele kleinere voorbeelden u toegepast op geheugenhiërarchie n fouten en valstrikken

63 slide 63Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers het definiëren van performantie n wat bedoelen we met ‘computer X heeft een betere performantie dan computer Y’ ? n vergelijk met vliegtuigen vliegtuig Boeing Boeing 747 Concorde DC-8-50 passagiers- capaciteit vliegbereik (km) vliegsnelheid (km / u) passagiersdoorvoer (passagiers X km/u)

64 slide 64Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers het definiëren van performantie (vervolg) n verschillende criteria u responsetijd = uitvoeringstijd u doorvoer n klassiek definieert men performantie als n als X n keer sneller is dan Y: n termen zoals verhogen of verlagen zijn verwarrend: we zullen spreken over verbeteren en verslechteren

65 slide 65Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers het meten van performantie n slechts één echte maat: uitvoeringstijd V van één taak = responstijd V van meerdere taken = doorvoer u responsetijd (latency) bevat ook wachttijden u CPU-tijd = user CPU-tijd + system CPU-tijd u vaak gebruikt men enkel user CPU-tijd n keuze van programma’s om performantie te meten u echte programma’s u kernels u spelbenchmarks u synthetische benchmarks u benchmark suites

66 slide 66Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers het meten van performantie (vervolg) n echte programma's k beste methode 3 voordelen: u vergelijkt dat wat men in werkelijkheid wil doen 3 nadelen: u software niet altijd beschikbaar (moet gekocht worden) u niet altijd eenvoudig uit te voeren (duurt te lang) u zelfs al is de broncode beschikbaar, overdragen van de code is meestal geen evidente zaak u vergelijking moet volledig door de klant gebeuren

67 slide 67Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n kernels u korte, typische extracten van echte programma's 3 voordelen: u gemakkelijk te schrijven, ook voor nieuwe machines waar nog geen compilers voor zijn (oud argument) u vergelijkingswaarden zijn voor vele machines bekend u goed om individuele aspecten van computers te vergelijken 3 nadelen: u geeft niet echt weer wat later als software zal draaien 3 voorbeelden: u Livermore Loops, Linpack het meten van performantie (vervolg)

68 slide 68Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers 3 voorbeelden: u Livermore Loops (eigenlijk Livermore Fortran Kernels of LFK) l 24 Fortran DO-loops uit code van de Lawrence Livermore National Laboratory l wordt gebruikt sinds begin jaren 70 (eerst 14, later 24 loops) l mengeling van lussen die wel/niet gevectoriseerd kunnen worden l lengte van de lussen wordt gevarieerd l heeft geleid tot het gebruik van de term Mflop/s (millions of floating point operations per second) l geeft niet 1 cijfer, maar een groot aantal (zie ook SPEC) het meten van performantie (vervolg)

69 slide 69Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers 3 voorbeelden: u Linpack l oplossing van 100x100 lineaire vergelijking met L/U decompositie l klein programma het meten van performantie (vervolg)

70 slide 70Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n spel benchmarks u bekende algoritmes die men als benchmark gebruikt 3 voordelen: u korte code om in te tikken u voorbeelden gemakkelijk te vinden in artikels u vergelijkingswaarden zijn voor vele machines bekend 3 nadelen: u geeft niet echt weer wat later als software zal draaien (minder nog dan kernels) 3 voorbeelden: u zeef van Erastosthenes, quicksort het meten van performantie (vervolg)

71 slide 71Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n synthetische benchmarks u volgt de idee van de kernels: programma's die de frequentie van instructiegebruik nabootsen in bepaalde toepassingsgebieden 3 voordelen: u vergelijkingswaarden zijn voor vele machines bekend u de testen zijn veel uitgebreider dan kernels 3 nadelen: u geeft niet echt weer wat later als software zal draaien u problemen indien performantie afhangt van klein stukje code: geeft vaak aanleiding tot ad hoc optimisaties 3 voorbeelden: u Whetstone (Fortran wetenschappelijk code) u Dhrystone (geen wetenschappelijk code) het meten van performantie (vervolg)

72 slide 72Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers het meten van performantie (vervolg) n benchmark suites u verzameling van benchmarks 3 voordelen: u zwakheid van een bepaalde benchmark uit de suite wordt gecompenseerd door de andere benchmarks uit de suite u vergelijkingswaarden zijn voor vele machines bekend 3 nadelen: u methode om de resultaten van de verschillende benchmarks samen te brengen is heel belangrijk u geeft niet echt weer wat later als software zal draaien 3 voorbeelden: u SPEC92, SPEC95, SPEC CPU2000, TPC

73 slide 73Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers het meten van performantie (vervolg) n SPEC: System Performance Evaluation Corporation u opgericht door meer dan 20 computerfirma’s in 1988 u eerste versie in 1989; standaard machine VAX 11/780 u tweede versie in 1992 met uitgebreide floating-point tests; standaard machine VAX 11/780 u derde algemene versie van 1995 standaard machine Sun SPARCstation 10/450 met 64MB RAM l nieuwe versies nodig: optimisaties van compilers voor benchmarks! l nieuwe gespecialiseerde suites –SPEChpc96: voor high performance computing –SPECweb96: voor web-toepassingen –SPECjvm98: voor het testen van java virtual machines

74 slide 74Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers het meten van performantie (vervolg) n SPEC: System Performance Evaluation Corporation u nieuwste algemene versie: SPEC CPU2000 l bestaat uit CINT2000 en CFP2000 l CINT2000 suite bevat 12 application-based benchmarks in C and C++ l CFP2000 suite bevat 14 CPU-intensieve benchmarks in FORTRAN (77 en 90) en C l referentiemachine: Sun Microsystems Ultra5_10 werkstation met 300-MHz SPARC processor en 256-MB geheugen l de waarden van CINT2000 en CFP2000 zijn op de referentiemachine per definitie 100 n methode (zie ook fig. 1.9): u meerdere in de praktijk gebruikte toepassingsprogramma’s

75 slide 75Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n 2 manieren om er mee te werken: u SPECint en SPECfp : meest gebruikt l enkel die tests gebruiken die het meest lijken op de software die men wil draaien l maar meestal wordt alleen het gemiddelde resultaat gepubliceerd (zie figuur uit tijdschrift) u SPECrate_int, SPECrate_fp l testen de verwerkingscapaciteit van een systeem l meerdere kopieën van dezelfde test worden opgestart; gemeten wordt hoeveel processen binnen bepaalde tijd volledig uitgevoerd zijn l ook geschikt voor multiprocessoren u een tape met de testen kost 800 $ het meten van performantie (vervolg)

76 slide 76Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers het meten van performantie (vervolg) n TPC: Transaction Processing Performance Council l tps: transactions per second of tpm: transactions per minute l $/tps: geeft prijs/performantie u gebruikt in de database wereld u test de van combinatie database software en onderliggende hardware u TPC-A, TPC-B, TPC-C bestaan u niet zo gekend als SPEC, resultaten minder publiek u het kost een firma initieel tot $ om TPC-C audit op te bouwen, te optimiseren en te tunen

77 slide 77Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers verslag uitbrengen over performantie n reproduceerbaarheid u cijfers over benchmarks hebben slechts betekenis als alle omstandigheden meting vermeld zijn (wat weinig gebeurd) l exacte versie van processor l versie van compiler l gebruikte optimisaties (zie ook bij fouten en valstrikken) l hoeveelheid RAM l hoeveelheid cache (primair, secundair) l welke input l enz. T bij auto-tests: wel gewoonte om alle omstandigheden te geven u bij SPEC: baseline performance naast optimized performance

78 slide 78Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers verslag uitbrengen over performantie (vervolg) n vergelijken van performantie: hoe combineer je informatie ? _ niet zo eenvoudig ! Program P1 (secs) Computer A Computer B Computer C Program P2 (secs) Total time (secs)

79 slide 79Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers verslag uitbrengen over performantie (vervolg) n totale uitvoeringstijd n rekenkundig gemiddelde n gewogen rekenkundig gemiddelde A gem: W(3) (secs) P2 (secs) P1 (secs) gem: W(2) (secs) gem: W(1) (secs) BCW(1)W(2)W(3)

80 slide 80Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers verslag uitbrengen over performantie (vervolg) n genormaliseerde uitvoeringstijd tov een referentiemachine: uitvoeringstijd van referentiemachine is dan 1 (per def.) n gemiddelde van genormaliseerde uitvoeringstijden u rekenkundig u meetkundig (SPEC) Normalized to A P1 (secs) P2 (secs) ABC Normalized to B ABC Normalized to C ABC Rek Gem Geo Gem Tot Tijd

81 slide 81Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers verslag uitbrengen over performantie (vervolg) n voordelen van meetkundig gemiddelde van genormaliseerde uitvoeringstijden u onafhankelijk van uitvoeringstijden van individuele progr. u onafhankelijk van referentiemachine n nadelen van meetkundig gemiddelde van genormaliseerde uitvoeringstijden u ze voorspellen niet de uitvoeringstijden u de constructeurs worden aangemoedigd om korte programma's te optimizeren (gaat gemakkelijker dan langere en heeft hetzelfde effect) n ideaal: u eerst juiste gewichten (afhankelijk van voorspelde gebruik) u en dan normalisatie

82 slide 82Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes n belangrijkste principe u zorg ervoor dat wat vaak voorkomt snel is u uitgangspunt van RISC (zie later) u extra voordeel: wat vaak voorkomt is meestal ook simpel u vb: overflow l komt niet zo vaak voor l versnel dus het normale geval (geen overflow) l eventueel is dan overflow trager, maar dat is minder erg n dit kan gekwantificeerd worden met behulp van de wet van Amdahl

83 slide 83Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg) n Amdahl’s wet: een verbetering is beperkt tot de fractie die baat heeft bij de verbetering n 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 n wet van Amdahl is interessant om verschillende mogelijke verbetering te vergelijken n in formules: zie volgende slide

84 slide 84Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg)

85 slide 85Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg) n voorbeeld 1 u verandering = verbetering met een factor 10 u wordt gebruikt 40% van de tijd

86 slide 86Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg) n voorbeeld 2 u FP = 50% van uitvoeringstijd van een bepaalde benchmark FPSQR = 20% van uitvoeringstijd van deze benchmark l alternatief 1: extra hardware: FPSQR is 10 keer sneller l alternatief 2: alle FP berekeningen 2 maal sneller

87 slide 87Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg) n berekenen van CPU-performantie u vorige berekeningen gingen ervan uit dat we precies weten wat het effect zal zijn van een verbetering u in de praktijk moet je dit voorspellen, je kunt het niet meten (want de verbeteringen zijn nog niet doorgevoerd) u een aantal formules kunnen hierbij gebruikt worden

88 slide 88Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg) n CPU performantie is dus afhankelijk van 3 factoren: aantal instructies, klokcycli per instructie, klokfrequentie

89 slide 89Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg) n deze drie factoren zijn niet onafhankelijk u een verbetering van één factor kan een invloed hebben op de andere (bv een verslechtering) n basistechnologieën die invloed hebben op de 3 factoren: u klokfrequentie: hardware technologie en organisatie u CPI: organisatie en instructieset u aantal instructies: instructieset en compilertechnologie n formules die helpen bij CPU-ontwerpbeslissingen n vb van berekening: zie boek blz 33

90 slide 90Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes CPU 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 Rate Program X Compiler X (X) Inst. Set. X X Organization X X Technology X

91 slide 91Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg) n meten (of schatten) van de 3 factoren u klokfrequentie l heel moeilijk, is meestal een schatting u aantal instructies l nodig compiler te hebben (wordt heel vroeg ontwikkeld) l totaal aantal instructies is van belang l ook frequentiegebruik van verschillende (klassen van) instructies is van belang (instructiemix) u CPI l vaak werkt men met CPIi (per instructie (klasse)) l moeilijk want afhankelijk van de toestand van processor (dus pipeline en cache) l vaak zal men die twee factoren opsplitsen

92 slide 92Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg) n voorbeeld 3: 2 alternatieven voor conditionele sprong u alt A: een ‘compare’ instructie die een conditiecode zet, gevolgd door een ‘branch’ die de conditiecode test u alt B: slechts 1 instructie, een ‘branch’ die direct vergelijkt u voor beide: l conditionele ‘branch’ instructie duurt 2 klokcycli l alle andere instructies duren 1 klokcyclus u alt A: 20% zijn sprongen en er zijn dus ook 20% ‘compare’ u alt A: snellere klok omdat korte sprong: 1.25 maal sneller dan B ? vraag: welke CPU is sneller ?

93 slide 93Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers kwantitatieve principes (vervolg) n CPI A = 0.20 x X 1 = 1.2 n CPU time A = IC A x CPI A x klokcyclustijd A = IC A x 1.2 x klokcyclustijd A n alt B heeft geen extra ‘compare’, dus 20/80 of 25% zijn sprongen en de rest (75%) zijn andere instructies CPI B = 0.25 x X 1 = 1.25 n alt B heeft in totaal minder instructies uit te voeren: IC B = 0.8 IC A n CPU time B = IC B x CPI B x klokcyclustijd B = 0.8 x IC A x 1.25 x (1.25 x kl.cyclustijd A ) = 1.25 x IC A x klokcyclustijd A n alternatief A is dus sneller

94 slide 94Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers geheugenhiërarchie n axioma van hardware ontwerp: klein is snel u klein: signalen moeten minder ver gaan u meer voeding mogelijk per cel Z wel veel duurder n van groot belang bij geheugens u grote bandbreedte (in MB/sec.) u kleine toegangstijden n data toegang u meest recent gebruikt komt vaak terug (temporele lokaliteit) u wat in de buurt ligt is vaak ook nodig (ruimtelijke lokaliteit) n combinatie van deze elementen met de wet van Amdahl: geheugen hiërarchie is de oplossing

95 slide 95Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers CPU Registers 100s Bytes <1 ns Cache 10s-100s K Bytes 1-10 ns $10/ MByte Main Memory M Bytes 100ns- 300ns $1/ MByte Disk 10s G Bytes, 10 ms (10,000,000 ns) $0.0031/ MByte Capacity Access Time Cost Tape infinite sec-min $0.0014/ MByte Registers Cache Memory Disk Tape Instr. Operands Blocks Pages Files Staging Xfer Unit prog./compiler 1-8 bytes cache cntl bytes OS 512-4K bytes user/operator Mbytes Upper Level Lower Level faster Larger geheugenhiërarchie

96 slide 96Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n By taking advantage of the principle of locality: u give user as much memory as is available in cheapest technology u provide access at the speed offered by the fastest technology Control Datapath Secondary Storage (Disk) Processor Registers Main Memory (DRAM) Second Level Cache (SRAM) On-Chip Cache 1s10,000,000s (10s ms) Speed (ns):10s100s Gs Size (bytes): KsMs Tertiary Storage (Disk/Tape) 10,000,000,000s (10s sec) Ts geheugenhiërarchie

97 slide 97Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n cache terminologie: cache hit, cache miss, cache block n vergelijking cache en virtueel geheugen u bij cache miss blokkeert de CPU totdat gegevens aanwezig zijn u bij page fault krijgen we een proceswisseling geheugenhiërarchie (vervolg)

98 slide 98Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers performantie van cachegeheugen n voorbeeld: speedup na toevoeging van een cache u cache is 10 maal sneller dan het hoofdgeheugen u cache wordt gebruikt 90% van de keren

99 slide 99Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers performantie van cachegeheugen (vervolg) n meestal is er al een geheugenhiërarchie u vraag: hoe kan ik die verbeteren u nodig: in rekening brengen van wachten van CPU op cache CPUtime = (CPU klokcycli + geheugen-stall-cycli) x klokcyclus geheugen-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 n de elementen uit de laatste formule zijn ‘gemakkelijk’ te bepalen, o.a. door simulatie

100 slide 100Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers performantie van cachegeheugen (vervolg) n voorbeeld u machine met CPI = 2.0 als data in de cache u geheugentoegang enkel via load en store (40% van instr.) u kost van missing = 25 klokcycli u mis-frequentie = 2% ? vraag: hoeveel sneller zou de machine zijn met alleen cache hits

101 slide 101Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers performantie van cachegeheugen (vervolg) u 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 IC x 0.7) x klokcyclus = 2.7 x IC x klokcyclus

102 slide 102Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers fouten en valstrikken n valstrik : MIPS is een goede maat om performanties van computersystemen te vergelijken l Million Instructions per Second l Meaningless Indicator of Performance of System l Marketing’s Invention to Promote Sales u hoe groter de MIPS, hoe performanter het systeem (gemakkelijk te begrijpen) u 3-voudig probleem: l MIPS is afhankelijk van instructieset l MIPS kan variëren op 1 systeem (afh. van programma) l MIPS kan variëren omgekeerd als performantie (vb: FP)

103 slide 103Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers fouten en valstrikken (vervolg) n valstrik : MFLOPS is een consistente en handige maat voor performantie l Million FP Operations Per Second u is afhankelijk van de machine en van het programma (compilers hebben een MFLOP van 0) u als zelfde programma vergeleken wordt tussen verschillende systemen, dan nog is het geen goede vergelijking l soort hardware ondersteunde FP operaties: niet overal gelijk l maakt geen verschil tussen snelle FP operaties (bv optelling) en trage FP operaties (bv deling) u zoals bij MIPS: men geeft maar 1 cijfer en zegt niets over de omstandigheden van dat cijfer

104 slide 104Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers fouten en valstrikken (vervolg) n fout : synthetische benchmarks voorspellen performantie u compilers worden vaak aangepast expliciet aan veelgebruikte benchmarks l eenvoudige programma’s waar alle procedures kunnen uitgeschakeld worden l door kennis van bepaalde formules uit Whetstone vertalen sommige compilers dit in veel eenvoudigere code n valstrik : benchmarks blijven altijd geldig l één van de programma’s van SPEC89 (matrix300) werd vaak heel specifiek geoptimiseerd l andere concrete voorbeelden in het boek

105 slide 105Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers fouten en valstrikken (vervolg) n 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 u 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 ?

106 slide 106Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers fouten en valstrikken (vervolg) n fout : hardware-onafhankelijke maten voorspellen performantie u vb: gebruik van grootte van programma’s als maat voor programma-uitvoeringstijd (dat werd vroeger wel eens gedaan) n valstrik : vergelijken van computers, waarbij men alleen rekening houdt met één van de drie performantie- maten: kloksnelheid, CPI, instructie-aantallen n valstrik : piek-performantie gebruiken om machines te vergelijken


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

Verwante presentaties


Ads door Google