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 10.35-12u35, S01.03 n woensdag 10.35-12u35, 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 1-55860-329-8 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 0-201-42291-3 u gebruikt voor het deel over parallelle machines en niet-traditionele systemen

10 slide 10Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers slides n www.cs.kuleuven.ac.be/~yolande/slides/socs2.html 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 0.1 1 10 100 1000 19651970197519801985199019952000

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 19800.0625250 ns 19830.25220 ns 19861190 ns 19894165 ns 199216145 ns 199664120 ns 2000256100 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: www.pricewatch.com, 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 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

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 www.storage.ibm.com/storage/technolo/grochows/grocho01.htm, 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 1990 4 minutes6 hours 200012 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 Description199519982001200420072010 Line width (  m) 0.350.250.180.130.100.07 Number of masks1820 22 24 Wafer size (mm)200 300 400 Number of wiring levels4-555-666-77-8 Power supply V: desktop3.32.51.81.51.20.9 Power supply V: battery2.51.8-2.50.9-1.80.9 Max. power dissipation/chip80100120140160180

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

52 slide 52Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers The future: high performance (  P) Description199519982001200420072010 Number of transistors10M21M47M108M260M560M Number of I/O pads90013502000260036004800 Number of package pins512 8001024 On chip clock freq. (MHz)30045060080010001100 PCB frequency (Mhz)150200250300375475 Chip size (mm 2 )250300360430520620

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

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 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

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 500.000 $ 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 1 1000 1001 Computer B 10 100 110 Computer C 20 40 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) 1.0010.0020.000.500.9090.999 1000.0020.000.500.0910.001100.00 500.5020.0055.00 91.8220.0018.18 2.0020.0010.09

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 1.010.020.0 1.0 0.1 5.05 1.0 0.11 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

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 2 + 0.80 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 2 + 0.75 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 8-128 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 2.0 + 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