chapter 1
TRANSCRIPT
∆ηµήτρης Γκιζόπουλος
Κεφάλαιο 1
Αφηρηµένες έννοιες καιτεχνολογία υπολογιστών
ΟργάνωσηΟργάνωση καικαι ΣχεδίασηΣχεδίαση ΥπολογιστώνΥπολογιστών, , ΗΗ ∆ιασύνδεση∆ιασύνδεση ΥλικούΥλικού καικαι ΛογισµικούΛογισµικού, , 44ηη έκδοσηέκδοση, 2010, 2010
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 2
∆ηµήτρης Γκιζόπουλος
Επανάσταση υπολογιστώνΠρόοδος της τεχνολογίας υπολογιστώνΘεµελιώνεται από το νόµο του Moore
Καινοτόµες εφαρµογές γίνονται εφικτέςΥπολογιστές σε αυτοκίνηταΚινητά τηλέφωναΕρευνητικό πρόγραµµα ανθρώπινουγονιδιώµατος (human genome)Παγκόσµιος ιστός (World Wide Web)Μηχανές αναζήτησης
Οι υπολογιστές βρίσκονται παντού
§1.1 Εισαγωγή
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 3
∆ηµήτρης Γκιζόπουλος
Κατηγορίες υπολογιστώνΕπιτραπέζιοι (desktop) υπολογιστές
Γενικού σκοπού, ποικιλία λογισµικούΣυµβιβασµοί (tradeoffs) κόστους/απόδοσης
∆ιακοµιστές (servers)Βασίζονται σε δίκτυοΜεγάλη χωρητικότητα, απόδοση, αξιοπιστίαΕύρος: µικροί διακοµιστές µέχρι µέγεθος κτιρίου
Ενσωµατωµένοι (embedded) υπολογιστές«Κρυµµένοι» σαν συστατικά άλλων συστηµάτωνΑυστηροί περιορισµοί ισχύος/απόδοσης/κόστους
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 4
∆ηµήτρης Γκιζόπουλος
Η αγορά των επεξεργαστών
Mill
ions
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 5
∆ηµήτρης Γκιζόπουλος
Τι θα µάθετεΠως µεταφράζονται τα προγράµµατα στηγλώσσα της µηχανήςΚαι πως τα εκτελεί το υλικό
Τη διασύνδεση υλικού και λογισµικούΤι καθορίζει την απόδοση τωνπρογραµµάτωνΚαι πως µπορεί να βελτιωθεί
Πως βελτιώνουν την απόδοση οισχεδιαστές του υλικούΤι είναι η παράλληλη επεξεργασία
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 6
∆ηµήτρης Γκιζόπουλος
Κατανόηση της απόδοσηςΑλγόριθµος
Καθορίζει τον αριθµό λειτουργιών που εκτελούνταιΓλώσσα προγραµµατισµού, µεταγλωττιστής, αρχιτεκτονική
Καθορίζουν τον αριθµό των εντολών µηχανής πουεκτελούνται ανά λειτουργία
Επεξεργαστής και σύστηµα µνήµηςΚαθορίζουν την ταχύτητα εκτέλεσης των εντολών
Σύστηµα Εισόδου/Εξόδου (περιλαµβάνει και τοΛειτουργικό Σύστηµα)
Καθορίζει την ταχύτητα εκτέλεσης των λειτουργιώνεισόδου/εξόδου
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 7
∆ηµήτρης Γκιζόπουλος
Κάτω από το πρόγραµµά σαςΛογισµικό εφαρµογών
Γραµµένο σε γλώσσα υψηλού επιπέδου(high-level language)
Λογισµικό συστηµάτωνΜεταγλωττιστής (compiler): µεταφράζεικώδικα HLL σε κώδικα µηχανήςΛειτουργικό σύστηµα: κώδικας υπηρεσιών
Χειρισµός εισόδου/εξόδου∆ιαχείριση µνήµης και αποθήκευσηςΧρονοπρογραµµατισµός εργασιών & κοινήχρήση πόρων
ΥλικόΕπεξεργαστής, µνήµη, ελεγκτέςεισόδου/εξόδου
§1.2 Κάτω
απότο
πρόγραµµά
σας
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 8
∆ηµήτρης Γκιζόπουλος
Επίπεδα κώδικα προγράµ/τοςΓλώσσα υψηλού επιπέδου
Επίπεδο αφαίρεσης πιοκοντά στο πρόβληµαΠαρέχει παραγωγικότητακαι φορητότητα
Συµβολική γλώσσα(assembly language)
Αναπαράσταση εντολώνµηχανής µε κείµενο
Αναπαράσταση υλικού∆υαδικά ψηφία (bit)Κωδικοποιηµένες εντολέςκαι δεδοµένα
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 9
∆ηµήτρης Γκιζόπουλος
Συστατικά ενός υπολογιστήΤα ίδια συστατικά για όλα ταείδη υπολογιστών
Επιτραπέζιοι, διακοµιστές, ενσωµατωµένοι
Η είσοδος/έξοδοςπεριλαµβάνει
Συσκευές διασύνδεσης χρήστη(user-interface)
Οθόνη, πληκτρολόγιο, ποντίκιΣυσκευές αποθήκευσης
Σκληρός δίσκος, CD/DVD, flashΠροσαρµογείς δικτύου (network adapters)
Επικοινωνία µε άλλουςυπολογιστές
§1.3 Κάτω
απότο
κάλυµµα
ΓΕΝΙΚΗ εικόνα
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 10
∆ηµήτρης Γκιζόπουλος
Ανατοµία ενός υπολογιστή
Συσκευήεξόδου
Συσκευήεισόδου
Συσκευήεισόδου
Καλώδιοδικτύου
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 11
∆ηµήτρης Γκιζόπουλος
Ανατοµία ενός ποντικιούΟπτικό ποντίκι
Μία LED φωτίζει τηνεπιφάνεια γραφείουΜικρή κάµερα χαµηλήςανάλυσηςΒασικός οπτικόςεπεξεργαστής
Παρατηρεί µετακινήσειςστους άξονες x, y
Πλήκτρα & ροδέλαΑντικαθιστά τοµηχανικό ποντίκι µε τηµπίλια
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 12
∆ηµήτρης Γκιζόπουλος
Μέσα από τον καθρέφτηΟθόνη LCD (liquid crystal display): πίξελ (pixels), ή εικονοστοιχεία
Αντικατοπτρίζει τα περιεχόµενα της προσωρινήςµνήµης καρέ (frame buffer)
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 13
∆ηµήτρης Γκιζόπουλος
Το άνοιγµα του κουτιού
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 14
∆ηµήτρης Γκιζόπουλος
Μέσα στον επεξεργαστή, CPU∆ιαδροµή δεδοµένων (datapath): εκτελείλειτουργίες στα δεδοµέναΈλεγχος: ορίζει την ακολουθία λειτουργιώνστη διαδροµή δεδοµένων, τη µνήµη, ...Κρυφή µνήµη (cache memory)Μικρή γρήγορη µνήµη SRAM για άµεσηπροσπέλαση δεδοµένων
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 15
∆ηµήτρης Γκιζόπουλος
Μέσα στον ΕπεξεργαστήAMD Barcelona: 4 πυρήνες (cores) επεξεργαστή
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 16
∆ηµήτρης Γκιζόπουλος
Αφαιρέσεις (Abstractions)
Οι αφαιρέσεις µας βοηθούν να χειριστούµε τηνπολυπλοκότητα
Κρύβουν λεπτοµέρειες χαµηλού επιπέδουΑρχιτεκτονική συνόλου εντολών (Instruction set architecture – ISA)
Η διασύνδεση υλικού και λογισµικού∆υαδική διασύνδεση εφαρµογής (application binary interface)
Η ISA και επιπλέον η διασύνδεση του λογισµικούσυστηµάτων
ΥλοποίησηΟι λεπτοµέρειες κάτω από µια διασύνδεση
ΓΕΝΙΚΗ εικόνα
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 17
∆ηµήτρης Γκιζόπουλος
Ασφαλές µέρος για δεδοµέναΠτητική (volatile) κύρια µνήµη
Χάνει τις εντολές και δεδοµένα όταν δενέχει ρεύµα
Μη-πτητική (non-volatile) δευτερεύουσαµνήµη
Μαγνητικός δίσκοςΜνήµη φλας (flash)Οπτικός δίσκος (CDROM, DVD)
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 18
∆ηµήτρης Γκιζόπουλος
∆ίκτυαΕπικοινωνία και κοινή χρήση πόρωνΤοπικό δίκτυο (local area network, LAN): Ethernet
Μέσα σε ένα κτίριο∆ίκτυο ευρείας περιοχής (wide area network, WAN): το InternetΑσύρµατο δίκτυο: WiFi, Bluetooth
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 19
∆ηµήτρης Γκιζόπουλος
Τάσεις της τεχνολογίαςΤεχνολογίαηλεκτρονικών συνεχίζεινα εξελίσσεται
Μεγαλύτερηχωρητικότητα καιαπόδοσηΜειωµένο κόστος
6,200,000,000Υπερυψηλής κλίµακαςολοκληρωµένο κύκλωµα (ULSI)
2005
2,400,000Πολύ µεγάλης κλίµακαςολοκληρωµένο κύκλωµα (VLSI)
1995900Ολοκληρωµένο κύκλωµα1975
35Τρανζίστος19651Λυχνία κενού1951
Σχετική απόδοση/κόστοςΤεχνολογίαΈτος
Χωρητικότητα DRAM
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 20
∆ηµήτρης Γκιζόπουλος
Ορισµός της απόδοσηςΠοιο αεροπλάνο έχει την καλύτερη απόδοση;
0 100 200 300 400 500
DouglasDC-8-50
BAC/SudConcorde
Boeing 747
Boeing 777
Passenger Capacity
0 2000 4000 6000 8000 10000
Douglas DC-8-50
BAC/SudConcorde
Boeing 747
Boeing 777
Cruising Range (miles)
0 500 1000 1500
DouglasDC-8-50
BAC/SudConcorde
Boeing 747
Boeing 777
Cruising Speed (mph)
0 100000 200000 300000 400000
Douglas DC-8-50
BAC/SudConcorde
Boeing 747
Boeing 777
Passengers x mph
§1.4 Απόδοση
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 21
∆ηµήτρης Γκιζόπουλος
Response time – ThroughputΧρόνος απόκρισης (response time)
Πόσο διαρκεί η εκτέλεση µιας εργασίας∆ιεκπαιρεωτική ικανότητα (throughput)
Συνολική δουλειά που γίνεται ανά µονάδα χρόνουπ.χ. tasks/transactions/… ανά ώρα
Πως επηρεάζονται ο χρόνος απόκρισης και ηδιεκπαιρεωτική ικανότητα από
Αντικατάσταση του επεξεργαστή µε ταχύτερη έκδοση;Προσθήκη νέων επεξεργαστών;
Εστιάζουµε στο χρόνο απόκρισης προς τοπαρόν…
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 22
∆ηµήτρης Γκιζόπουλος
Σχετική απόδοσηΟρισµός Απόδοση = 1/Χρόνος εκτέλεσης“ο X είναι n φορές ταχύτερος από τον Y”
n== XY
YX
time Executiontime ExecutionePerformancePerformanc
παράδειγµα: χρόνος εκτέλεσης προγρ/τος10s στον A, 15s στον BΧρόνος εκτέλεσηςB / Χρόνος εκτέλεσηςA= 15s / 10s = 1.5Άρα ο A είναι 1.5 φορές ταχύτερος του B
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 23
∆ηµήτρης Γκιζόπουλος
Μέτρηση χρόνου εκτέλεσης«Παρελθών» χρόνος (elapsed time)
Συνολικός χρόνος απόκρισης, περιλαµβάνει τα πάνταΕπεξεργασία, είσοδο/έξοδο, επιβάρυνση ΛΣ, αδρανήςχρόνος
Καθορίζει την απόδοση του συστήµατοςΧρόνος CPU (CPU time)
Ο χρόνος επεξεργασίας για µια συγκεκριµένηεργασίας
Χωρίς το χρόνο εισόδου/εξόδου και τη κοινή χρήση απόάλλες εργασίες
Αποτελείται από το χρόνο CPU χρήστη (user CPU time) και το χρόνο CPU συστήµατος (system CPU time)∆ιαφορετικά προγράµµατα επηρεάζονται διαφορετικάαπό την απόδοση της CPU και του συστήµατος
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 24
∆ηµήτρης Γκιζόπουλος
Χρονισµός CPU (clocking)Η λειτουργία του ψηφιακού υλικού ρυθµίζεταιαπό ένα ρολόι σταθερού ρυθµού
Clock (κύκλοι)Μεταφοράδεδοµένων καιυπολογισµόςΕνηµέρωσηκατάστασης
Clock period
Περίοδος ρολογιού: η διάρκεια ενός κύκλουπ.χ., 250ps = 0.25ns = 250×10–12s
Συχνότητα (ρυθµός) ρολογιού: κύκλοι/secondπ.χ., 4.0GHz = 4000MHz = 4.0×109Hz
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 25
∆ηµήτρης Γκιζόπουλος
Χρόνος CPU (CPU time)
Η απόδοση βελτιώνεται µεΜείωση του αριθµού των κύκλων ρολογιούΑύξηση του ρυθµού του ρολογιούΟ σχεδιαστής του υλικού πρέπει να κάνεισυχνά συµβιβασµούς µεταξύ του ρυθµούρολογιού και του πλήθους των κύκλωνρολογιού
RateClockCycles Clock CPU
Time Cycle ClockCycles Clock CPUTime CPU
=
×=
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 26
∆ηµήτρης Γκιζόπουλος
Παράδειγµα χρόνου CPUΥπολογιστής A: 2GHz ρολόι, 10s CPU timeΣχεδίαση του υπολογιστή B
Στόχος είναι 6s CPU timeΜπορεί το ρολόι να είναι ταχύτερο, αλλά προκαλεί αύξηση τωνκύκλων 1.2 × clock cycles
Πόσο ταχύτερο µπορεί να είναι το ρολόι του Β;
4GHz6s
10246s
10201.2Rate Clock
10202GHz10s
Rate ClockTime CPUCycles Clock
6sCycles Clock1.2
Time CPUCycles ClockRate Clock
99
B
9
AAA
A
B
BB
=×
=××
=
×=×=
×=
×==
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 27
∆ηµήτρης Γκιζόπουλος
Πλήθος εντολών και CPI
Πλήθος εντολών (Instruction Count) προγράµµατοςΚαθορίζεται από το πρόγραµµα, την αρχιτεκτονική συνόλουεντολών (ISA), και το µεταγλωττιστή
Μέσος αριθµός κύκλων ανά εντολή (CPI – clocks per instruction)
Καθορίζεται από το υλικό της CPUΑν οι διαφορετικές εντολές έχουν διαφορετικό CPI
Το µέσο CPI επηρεάζεται από τη µίξη των εντολών
Rate ClockCPICount nInstructio
Time Cycle ClockCPICount nInstructioTime CPU
nInstructio per CyclesCount nInstructioCycles Clock
×=
××=
×=
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 28
∆ηµήτρης Γκιζόπουλος
Παράδειγµα CPIΥπολογιστής A: Cycle Time = 250ps, CPI = 2.0Υπολογιστής B: Cycle Time = 500ps, CPI = 1.2Ίδια αρχιτεκτονική συνόλου εντολών (ISA)Ποιος είναι ταχύτερος, και κατά πόσο;
1.2500psI600psI
ATime CPUBTime CPU
600psI500ps1.2IBTime CycleBCPICount nInstructioBTime CPU
500psI250ps2.0IATime CycleACPICount nInstructioATime CPU
=××
=
×=××=
××=
×=××=
××=
A ταχύτερος…
…κατά τόσο
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 29
∆ηµήτρης Γκιζόπουλος
Το CPI µε λεπτοµέρειαΑν διαφορετικές κατηγορίες εντολώνδιαρκούν διαφορετικό αριθµό κύκλων
∑=
×=n
1iii )Count nInstructio(CPICycles Clock
Σταθµισµένο (weighted) µέσο CPI
∑=
⎟⎠⎞
⎜⎝⎛ ×==
n
1i
ii Count nInstructio
Count nInstructioCPICount nInstructio
Cycles ClockCPI
Σχετική συχνότητα εντολών
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 30
∆ηµήτρης Γκιζόπουλος
Παράδειγµα CPIΕναλλακτικές ακολουθίες µεταγλωττισµένουκώδικα µε εντολές τριών κατηγοριών A, B, C
114Instruction Count της ακολουθίας 2
212Instruction Count της ακολουθίας 1
321CPI της κατηγορίαςCBAΚατηγορία
Ακολουθία 1: IC = 5Κύκλοι ρολογιού= 2×1 + 1×2 + 2×3= 10Μέσο CPI = 10/5 = 2.0
Ακολουθία 2: IC = 6Κύκλοι ρολογιού= 4×1 + 1×2 + 1×3= 9Μέσο CPI = 9/6 = 1.5
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 31
∆ηµήτρης Γκιζόπουλος
Σύνοψη της απόδοσης
Η απόδοση εξαρτάται απόΑλγόριθµο: επηρεάζει το πληθος εντολών, πιθανόνκαι το CPIΓλώσσα προγραµµατισµού: επηρεάζει το πλήθοςεντολών και το CPIΜεταγλωττιστής: επηρεάζει το πλήθος εντολών και τοCPIΑρχιτεκτονική συνόλου εντολών (ISA): επηρεάζει τοπλήθος εντολών, το CPI και τη περίοδο (συχνότητα) του ρολογιού
ΓΕΝΙΚΗ εικόνα
cycle ClockSeconds
nInstructiocycles Clock
ProgramnsInstructioTime CPU ××=
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 32
∆ηµήτρης Γκιζόπουλος
Οι τάσεις στην ηλεκτρική ισχύ
Στη τεχνολογία ολοκληρωµένων κυκλωµάτων CMOS
§1.5 Τοτείχος
τηςισχύος
FrequencyVoltageload CapacitivePower 2 ××=
×1000×30 5V → 1V
(φορτίο χωρητικότητας)
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 33
∆ηµήτρης Γκιζόπουλος
Μείωση της ισχύοςΥποθέστε ότι µια νέα CPU έχει
85% του φορτίου χωρητικότητας (capacitive load) τηςπαλιάς CPUµειωµένη τάση κατά 15% και συχνότητα κατά 15%
0.520.85FVC
0.85F0.85)(V0.85CPP 4
old2
oldold
old2
oldold
old
new ==××
×××××=
Το τείχος της ισχύος (power wall)∆εν µπορούµε να µειώσουµε άλλο την τάση∆εν µπορούµε να απάγουµε τη θερµότητα
Πως αλλιώς µπορούµε να βελτιώσουµετην απόδοση;
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 34
∆ηµήτρης Γκιζόπουλος
Απόδοση µονοεπεξεργαστών§1.6 Μ
εγάληαλλαγή:µονοεπ
εξεργαστέςσε
πολυεπ
εξεργαστές
Περιορίζεται από την ισχύ, την παραλληλία επιπέδου εντολής (instruction-level parallelism), το λανθάνοντα χρόνο µνήµης (memory latency)
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 35
∆ηµήτρης Γκιζόπουλος
ΠολυεπεξεργαστέςΠολυπύρηνοι µικροεπεξεργαστές (multicoremicroprocessors)
Περισσότεροι του ενός επεξεργαστές ανά τσιπΑπαιτεί ρητό παράλληλο προγραµµατισµό(explicitly parallel programming)
Σύγκριση µε παραλληλία επιπέδου εντολής(instruction level parallelism – ILP)
Το υλικό εκτελεί πολλαπλές εντολές ταυτόχροναΟ προγραµµατιστής δεν το γνωρίζει
Μεγάλες δυσκολίεςΠρογραµµατισµός για µέγιστη απόδοσηΕξισορρόπηση φορτίου (load balancing)Βελτιστοποίηση επικοινωνίας (communication) καισυγχρονισµού (synchronization)
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 36
∆ηµήτρης Γκιζόπουλος
Κατασκευή Ολοκληρωµένων
Εσοδεία (yield): ποσοστό τσιπ ανά πλακίδιο(wafer) που λειτουργούν σωστά
§1.7 Πραγµατικότητα: ο
AM
D O
pteron X4
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 37
∆ηµήτρης Γκιζόπουλος
AMD Opteron X2 Wafer
X2: 300mm wafer, 117 chips, 90nm technologyX4: 45nm technology
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 38
∆ηµήτρης Γκιζόπουλος
Κόστος Ολοκληρωµένων
Μη γραµµική εξάρτηση από την επιφάνεια (area) και τορυθµό ατελειών (defect rate)
Κόστος και επιφάνεια πλακιδίου (wafer): σταθεράΡυθµός ατελειών (defect rate) εξαρτάται από τη διαδικασίακατασκευήςΕπιφάνεια τσιπ (die/chip area): εξαρτάται από την αρχιτεκτονικήκαι τη σχεδίαση του κυκλώµατος
2area/2)) Diearea per (Defects(11Yield
area Diearea Wafer waferper Dies
Yield waferper Dies waferper Costdie per Cost
×+=
≈
×=
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 39
∆ηµήτρης Γκιζόπουλος
Μετροπρογράµµατα SPEC CPUΧρησιµοποιούνται προγράµµατα για τη µέτρηση της απόδοσης
Υποτίθεται τυπικά για ένα πραγµατικό φορτίο εργασίας (workload)Standard Performance Evaluation Corp (SPEC)
Αναπτύσσει µετροπρογράµµατα (benchmarks) για CPU, είσοδο/έξοδο, Ιστό, …
SPEC CPU2006«Παρελθών» (elapsed) χρόνος για την εκτέλεση µιας συλλογήςπρογραµµάτων
Αµελητέα είσοδος/έξοδος, άρα εστιάζουν στην απόδοση της CPUΚανονικοποίηση σε σχέση µε µια µηχανή αναφοράς (reference machine)Σύνοψη σαν γεωµετρικός µέσος (geometric mean) των λόγωναπόδοσης (performance ratios)
CINT2006 (integer) and CFP2006 (floating-point)
nn
1iiratio time Execution∏
=
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 40
∆ηµήτρης Γκιζόπουλος
CINT2006 για Opteron X4 2356
6.06,9001,1430.402.701,058XML parsingxalancbmk
SPECratioΧρον. ανφ.Χρόν. εκτ.Tc (ns)CPIIC×109ΠεριγραφήΌνοµα
1.79
2.94
0.80
1.61
0.96
0.80
1.09
10.00
1.72
0.85
0.75
1,082
587
3,102
1,623
2,176
2,783
1,658
336
1,050
2,389
2,118
773
690
993
1,047
37
890
721
1,345
24
817
637
0.40
0.40
0.40
0.40
0.48
0.40
0.40
0.40
0.47
0.40
0.40
7,020
6,250
22,130
20,720
12,100
9,330
10,490
9,120
8,050
9,650
9,777
Games/path finding
Discrete event simulation
Video compression
Quantum computer simulation
Chess game (AI)
Search gene sequence
Go game (AI)
Combinatorial optimization
GNU C Compiler
Block-sorting compression
Interpreted string processing
11.7
9.1
9.1
22.3
19.8
14.5
10.5
14.6
6.8
11.1
11.8
15.3
Geometric mean
astar
omnetpp
h264avc
libquantum
sjeng
hmmer
go
mcf
gcc
bzip2
perl
Υψηλοί ρυθµοί αστοχίας κρυφήςµνήµης (cache misses)
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 41
∆ηµήτρης Γκιζόπουλος
SPEC Power µετροπρογράµµατα
Κατανάλωση ισχύος διακοµιστή (server) σε διαφορετικά επίπεδα φορτίου εργασίαςΑπόδοση: ssj_ops/secΙσχύς: Watts (Joules/sec)
⎟⎠
⎞⎜⎝
⎛⎟⎠
⎞⎜⎝
⎛= ∑∑
==
10
0ii
10
0ii powerssj_ops Wattper ssj_ops Overall
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 42
∆ηµήτρης Γκιζόπουλος
SPECpower_ssj2008 για X4
493∑ssj_ops/ ∑power2,6051,283,590Overall sum
14100%18023,06610%20647,12620%22270,50030%233920,3540%246118,32450%256140,16060%265163,42770%275185,80380%286211,28290%295231,867100%
Μέση ισχύς (Watts)Απόδοση (ssj_ops/sec)Φορτίο στόχος %
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 43
∆ηµήτρης Γκιζόπουλος
Παγίδα: νόµος του AmdahlΗ βελτίωση µιας πλευράς ενός υπολογιστή καιη αναµονή ανάλογης βελτίωσης της συνολικήςαπόδοσης
§1.8 Πλάνες
καιΠαγίδες
208020 +=n
∆εν γίνεται!
unaffectedaffected
improved Tfactor timprovemen
TT +=
Παράδειγµα: ο πολλ/σµός είναι τα 80s/100sΠόση βελτίωση της απόδοσης του πολλ/σµού ώστεη συνολική απόδοση να 5πλασιαστεί;
Πόρισµα: κάνε τη συνηθισµένη περίπτωση γρήγορη
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 44
∆ηµήτρης Γκιζόπουλος
Πλάνη: Χαµηλή ισχύς αδράνειας∆είτε το µετροπρόγραµµα ισχύος στον X4
Στο 100% του φορτίου: 295WΣτο 50% του φορτίου: 246W (83%)Στο 10% του φορτίου: 180W (61%)
Κέντρο δεδοµένων GoogleΚυρίως λειτουργεί στο 10% – 50% του φορτίουΜε φορτίο 100% σε λιγότερο από 1% του χρόνου
Σκεφθείτε τη σχεδίαση επεξεργαστών µεκατανάλωση ισχύος ανάλογη µε το φορτίο
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 45
∆ηµήτρης Γκιζόπουλος
Παγίδα: µέτρο απόδοσης MIPSMIPS: Millions of Instructions Per Second∆εν λαµβάνει υπόψη:
∆ιαφορλες ISA µεταξύ υπολογιστών∆ιαφορές πολυπλοκότητας µεταξύ εντολών
66
6
10CPIrate Clock
10rate Clock
CPIcount nInstructiocount nInstructio10time Execution
count nInstructioMIPS
×=
××
=
×=
Το CPI ποικίλει µεταξύ προγραµµάτων σε µιαδεδοµένη CPU
Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 46
∆ηµήτρης Γκιζόπουλος
Συµπερασµατικές παρατηρήσειςΟ λόγος κόστος/απόδοση βελτιώνεται
Λόγω της εξέλιξης της τεχνολογίαςΙεραρχικά επίπεδα αφαίρεσης
Στο υλικό και στο λογισµικόΑρχιτεκτονική συνόλου εντολών (Instruction set architecture – ISA)
Η διασύνδεση υλικού και λογισµικούΧρόνος εκτέλεσης: το καλύτερο µέτρο απόδοσηςΗ ισχύς είναι περιοριστικός παράγοντας
Χρήση παραλληλία για βελτίωση της απόδοσης
§1.9 Συµπερασµατικές
παρατηρήσεις