Μέτρηση και Σύγκριση Επίδοσης Υπολογιστών •Διαλέξεις βασίζονται εν μέρη –Σημειώσεις αντιστοίχων μαθημάτων CS UW-Madison(Smith, Lipasti, Hill, Sohi, Wood),

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
2. Το ασύρματο κανάλι.
Advertisements

Τι είναι ο προγραμματισμός
Αρχιτεκτονική και απόδοση Υπολογιστών
ΑΠΟΤΙΜΗΣΗ ΑΠΟΔΟΣΗΣ ΔΙΚΤΥΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΜΕΤΑΦΟΡΑΣ ΚΑΙ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΣΥΝΔΕΣΗΣ Ιωάννης Κόμνιος Μεταπτυχιακή Διατριβή Τμήμα.
Δομές Δεδομένων και Αλγόριθμοι
1. Εισαγωγή Ορισμοί:  VOD  NVOD  Live Streaming.
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
Αλέξανδρος Σαχινίδης, ΜΒΑ, Ph.D. ΙΟΥΝΙΟΣ 2009
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Το υλικο του Υπολογιστη
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (1).
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Handling Local Variables General Purpose Registers
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Πρώτο Απόδοση συστημάτων.
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Περίληψη Εξάμηνο: Έβδομο Καθηγητής:
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ ΠΜΣ: ΠΡΟΗΓΜΕΝΕΣ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Καψωμενάκη Καλλιόπη Μ402.
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
Σημειώσεις : Χρήστος Μουρατίδης
Λογισμικο συστηματοσ Κεφάλαιο 4ο
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
Είδη των Υπολογιστών Χρήστος Μουρατίδης.
ΜΑΘ-3122/106 Προγραμματισμός
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ. Εισαγωγή Έρευνα στην Αρχιτεκτονική Υπολογιστών – Σχεδίαση επεξεργαστή για την εκτέλεση 1 thread (pipeline, branch prediction)
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Αρχιτεκτονική Συστημάτων
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Δεύτερο Εξάμηνο: Έβδομο Καθηγητής:
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό Λέξεις Κλειδιά: Λογισμικό (Software), Πρόγραμμα (Program), Προγραμματιστής (programmer), Λειτουργικό Σύστημα.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Τα θέματα μας σήμερα Ηλεκτρονικοί υπολογιστές Υλικό και λογισμικό
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Τα χαρακτηριστικά των επεξεργαστών By ΔΙΟΝΥΣΗ ΣΚΕΓΙΑ ΕΠΑ-Λ ΚΡΕΣΤΕΝΩΝ!
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Μικροεπεξεργαστές Λειτουργία - Εξέλιξη
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
ΜΝΗΜΗ RAM Εισαγωγή Μια μονάδα μνήμης στην ουσία είναι ένα σύνολο από δυαδικά κύτταρα αποθήκευσης (τα δυαδικά κύτταρα μπορούν να αποθηκεύσουν είτε την.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Η Κεντρική Μονάδα Συστήματος Εισαγωγή στην Πληροφορκή 1 Η κεντρική μονάδα του συστήματος (base unit ή system unit) αποτελεί τον πυρήνα ενός υπολογιστή.
ΜΕΓΑΛΟΣ ΥΠΟΛΟΓΙΣΤΗΣ ! ΕΚΠΑΙΔΕΥΤΗΡΙΑ ΚΑΝΤΑ ΕΚΠΑΙΔΕΥΤΗΡΙΑ ΚΑΝΤΑ ΙΝΑ ΜΑΚΡΑΚΗ ΙΝΑ ΜΑΚΡΑΚΗ ΣΧΟΛΙΚΟ ΕΤΟΣ
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL. Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: –Προσκόμιση.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
ΤΕΧΝΙΚΑ ΘΕΜΑΤΑ ΠΩΛΗΣΕΩΝ & ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ Β΄ ΕΠΑΛ ΚεφΑλαιο 2: ΠροδιαγραφΕΣ ΥλικοΥ Η/Υ 2.7 Επεξεργαστές.
Γνωριμία με το Λογισμικό του Υπολογιστή
Single-cyle υλοποίηση:
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
ΤΕΧΝΙΚΑ ΘΕΜΑΤΑ ΠΩΛΗΣΕΩΝ & ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ Β΄ ΕΠΑΛ ΚεφΑλαιο 2: ΠροδιαγραφΕΣ ΥλικοΥ Η/Υ 2.8 Μνήμη.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ανάπτυξη Εφαρμογών για Φορητές Συσκευές
Ο ορισμός του επιχειρηματικού μοντέλου
Single-cyle υλοποίηση:
ΣΧΕΣΗ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ
Το υπολογιστικό σύστημα σαν ενιαίο σύνολο
Single-cyle υλοποίηση:
Κατηγορίες Ηλεκτρονικών Υπολογιστών
Single-cyle υλοποίηση:
Μεταγράφημα παρουσίασης:

Μέτρηση και Σύγκριση Επίδοσης Υπολογιστών •Διαλέξεις βασίζονται εν μέρη –Σημειώσεις αντιστοίχων μαθημάτων CS UW-Madison(Smith, Lipasti, Hill, Sohi, Wood), ECE Purdue(Vijakumar) και CS- Berkeley (D. Culler) •Διαβάστε κεφάλαιο 1 από το βιβλίο και άρθρα (links στο web page)-spec2000

Περιγραφή •Αγορά Yπολογιστών •Mέτρα σύγκρισης –Χρόνος Ανταπόκρισης vs Διεκπαιρεωτική Ικανότητα (Response time vs throughput) •Νομός Επίδοσης (Iron law of performance) •Βenchmarking •Αmdhal’s law •Ιδιότητες Προγραμμάτων και Καλές Αρχές Σχεδιασμού (Program properties and good design principles)

Φάσμα Αγοράς Υπολογιστών •Προσωπικοί (desktops): –ενός χρήστη & γενικής χρήσεως: web, multimedia, programming –low end: notebook,PC; high end: workstation –καλή απόδοση (χρόνος εκτέλεσης, γραφικά) –χαμήλο κόστος •Eξυπηρετητές (servers) –πολλοί χρήστες: file system, , web, banking, simulation –απόδοση σημαντική αλλά περισσοτερό το εύρος(throughput) –RAS: αξιοπιστία(reliability), διαθεσιμότητα (αvailability), serviceability, και επεκτασιμότητα (scalability) •Eνσωματωμένοι (embedded) –ενός χρήστη & μίας/περιορισμένων χρήσεων:car, gameboy, mobiles –απαιτήσεις: real time, battery/power, κόστος •Supercomputers: πολύ απαιτητικές προσομοιώσεις: earth weather

Επίδοση •Η ουσία για το πoσο καλο ειναι ενα συστημα •Επιτρέπει σύγκριση μεταξύ δυο επιλογων για το ποια ειναι η καλυτερη •Ποιος ενδιαφερεται –χρήστες –σχεδιαστες –προγραμματιστες –ερευνητες –αγορα - εξαιρετικες οικονομικες προεκτασεις

Latency vs Throughput •Ταχύτητα: Boeing < Concorde •Throughput: Boeing > Concorde •Ποιο είναι καλύτερο; Plane Boeing 747 Concorde Speed 610 mph 1350 mph DC to Paris 6.5 hours 3 hours Passengers Throughput (passen/24hr)

Τί συγκρίνουμε; •Επίδοση στην εκτέλεση προγραμμάτων •Μέτρηση κατα εκτελεση προγράμματος σε δύο υπολογιστές –configuration (cpu, ram,etc) –αρχιτεκτονικη •Μέτρο Σύγκρισης –ενέργεια που χρειαζεται –χρονος εκτελεσης για ιδια δουλεια (execution time, latency, response time) –διεκπαιρωτικη ικανοτητα - πόσες δουλειές ολοκληρώνονται ανα μονάδα χρόνου (throughput, bandwidth)

Μετρο: Χρονος Εκτελεσης •Επίδοση μηχανης χ στην εκτελεση ενος προγραμματος: Επίδοση Χ = 1 / Χρονος Εκτελεσης Χ •Η μηχανη Χ εχει καλυτερη επίδοση απο την Υ στην εκτελεση ενος προγραμματος Επίδοση Χ > Επίδοση Υ Χρονος Εκτελεσης Χ <Χρονος Εκτελεσης Υ

Μετρο: Χρονος Εκτελεσης (συν) •Η μηχανη Χ ειναι ν φορες γρηγοροτερη απο τη Υ σημαινει: Επίδοση Χ / Επίδοση Υ = ν Χρονος Υ / Χρονος Χ = ν

Tι ειναι χρονος εκτέλεσης; •Χρόνος Ανταπόκρισης (response time): ο χρονος που περασε. Αλλα περιλαμβάνει... –λειτουργικο συστημα –Ε/Ε(Ι/Ο) –συστήματα πολλαπλων χρηστων •Χρονος ΚΜΕ (CPU time): ο χρονος που ο επεξεργαστης εργαζεται σε ενα προγραμμα •CPU time = User time + System Time

Παραδειγμα •Στο UΝΙΧ χρονος που περασε δινεται απο την εντολη time: > time gcc foo.c -o foo real2m39,00 user1m30,70s sys0m12,90s •Χρονος Χρηστη 90.7s (Xρονος ΚΜΕ, CPU time)

Συχνοτητα, περιοδος, κυκλος μηχανης •Επεξεργαστες κατεσκευαζονται με ρολοι που τρεχει σε συγκεκριμενη συχνοτητα (frequency cycles/s ή Hz (Hertz)) •Η περιοδος =1/συχνοτητα, ονομαζεται χρονος κυκλου μηχανης (clock cycle time) •Μια μηχανη με εναν επεξεργαστη P4 τρεχει στο 3GΗz. Tι ειναι ο χρονος κυκλου μηχανης: 1/3GHz=1/3x10 9 Hz= s=0.333ns •Ποσους κυκλους μηχανης εχει 1s; ____

Τι επηρεαζει την επίδοση Χρονος ΚΜΕ= Κυκλοι Μηχανης ΚΜΕ για ενα Προγραμμα x Χρονος Κυκλου Μηχανης = CPU Clock Cycles x Clock Cycle Time = Κυκλοι Μηχανης x Χρονος Κυκλoυ Μηχανης = Κυκλοι Μηχανης / Συχνοτητα •Συγκρουομενοι στοχοι: μειωση κυκλων και αυξηση συχνοτητας

Παράδειγμα Ενα προγραμμα χρειαζεται 10s για να τρεξει στον υπολογιστη Α με συχνοτητα 2GHz. Ενας σχεδιαστης προτεινει μια καινουργια μηχανη Β, οι οποια θα χρειαστει 1.2 περισσοτερους κυκλους απο την Α αλλα με σημαντικη αυξηση στην συχνοτητα του ρολογιου. Σε ποια συχνοτητα πρεπει να τρεχει η μηχανη Β για να εχει χρονο εκτελεσης 6s;

Παραδειγμα (συν) CPU Time A = Clock Cycles A/ Clock Rate A 10s = Clock Cycles A /2x10 9 cycles/s Clock Cycles A = 20x10 9 cycles CPU Time B = Clock Cycles B / Clock Rate B 6s = 1.2 Clock Cycles A / Clock Rate B Clock Rate B = x10 9 cycles/6 s = 4 GHz

Τι επηρεαζει την επίδοση (συν) Κυκλοι Μηχανης ( Clock Cycles) = Αριθμος εντολων που εκτελουνται x Μεσος Αριθμος Κυκλων Μηχανης ανα Εντολη = Eντολες x Κυκλοι Ανα Εντολη = Instructions x Cycles Per Instruction = I x CPI •Το CPI (ή IPC=1/CPI) επιτρεπει συγκριση δυο υλοποιησεων της ιδιας αρχιτεκτονικης (δηλαδη οταν το Ι ειναι ιδιο)

Σιδερενιος Νομος Επίδοσης Χρονος ΚΜΕ = Εντολες x CPI x Χρονος Κυκλου Μηχανης CPU Time = I x CPI x Clock Cycle Time CPU Time = I x CPI / Clock Rate

Παραδειγμα Δυο υλοποιησεις της ιδιας αρχιτεκτονικης και compiler εχουν για καποιο προγραμμα Κυκλο ΡολογιουCPI A1ns2 B2ns1.2 Ποια μηχανη εχει την καλυτερη επίδοση και ποσο καλυτερη ειναι;

Τι επηρεαζει τις παραμετρους επίδοσης Time = I x CPI x Clock Cycle Time •I: ΑΣΕ, μεταγλωτιστης, προγράμμα, data •CPI: οργανωση/μικροαρχιτεκτονική, ΑΣΕ •Clock Cycle Time: τεχνολογια, οργάνωση •Αλληλοεπιδρασεις μεταξυ Ι, CPI και Clock Cycle Time (συγκρουομενοι στοχοι) inst count CPI Cycle time

Πως μετρουμε... •Clock Cycle Time: κατεσκευαστής •Χρονος ΚΜΕ: σύστημα •CPI: προσομοίωση, μετρητές υλικού •Ι: με instrumentation, προσομοίωση, μετρητες υλικου •Clock Cycles = Σ CPI i x F i –για καθε κατηγορια εντολων i: μεσος ορος κυκλων ανα εντολη (CPI i ) και αριθμος εντολων (F i )

Cycles Per Instruction “Instruction Frequency” CPU time = Cycle Time x Cycles “Average Cycles per Instruction”

Example: Calculating CPI bottom up Typical Mix of instruction types in program Base Machine OpFreqCyclesCPI(i)(% Time) ALU50%1.5(33%) Load20%2.4(27%) Store10%2.2(13%) Branch20%2.4(27%) 1.5

Example: Branch Stall Impact •Assume CPI = 1.0 ignoring branches (ideal) •Assume solution was stalling for 3 cycles •If 30% branch, Stall 3 cycles on 30% •OpFreqCyclesCPI(i)(% Time) •Other 70%1.7(37%) •Branch30%4 1.2(63%) •=> new CPI = 1.9 •New machine is 1/1.9 = 0.52 times faster (i.e. slower)

Παρατηρησεις •Χρονος ειναι το μονο αξιοπιστο μετρο συγκρισεως •Οταν συγκρινουμε εξεταζουμε ολες τις μεταβλητες που επηρεαζονται –πχ οταν ο χρονος κυκλου μηχανης ειναι ιδιος, τότε περισοτερες εντολες αλλα μικροτερο CPI μπορεί να προσφερει την καλυτερη επίδοση

Aλλα Μετρα Συγκρισης: ΜΙPS •Million Instructions Per Second (GIPS,TIPS) –MIPS = Eντολες / Χρονος x 10 6 –MIPS = Συχνοτητα / CPI x 10 6 •Προβληματα με το MIPS –δεν σχετιζεται με την αρχιτεκτονικη ή οργανωση (δεν μπορει να συγκρινεις διαφορετικες αρχιτεκτονικες ή οργανωσεις) –δυνατον να διαφερει αντιστροφως αναλογα με την επίδοση

Παραδειγμα Aριθμος Εντολων(εκατ) Κατ. Εντ.CPIAριθμος Εντολων(εκατ) A1ΣειραΑΒΓ B21511 Γ Με την μηχανη να τρεχει στα 1GHz. Ποιος κωδικας εχει ψηλοτερο MIPS; Ποιος κωδικας εκτελειται πιο γρηγορα;

Παρατηρησεις: ΜΙPS •Δεν ειναι αξιοπιστο μετρο συγκρισης •Peak Mips: αποδοση που δεν μπορει να ξεπεραστει! •Xρονος το μονο αξιοπιστο μετρο συγκρισης

Παρατηρησεις: ΜFLOPS •Million Floating Point Operations per Sec •Tα ιδια προβληματα με MIPS, ισως και χειροτερα –διαφορετικες αρχιτεκτονικες, υλοποιησεις δεν παρεχουν ιδια υποστηριξη για εντολες

Επιλογη Προγραμματων (Βenchmarks) για Αξιολογηση •Ο χρηστης (οργανισμος) αποφασιζει ποιες εφαρμογες ειναι οι πιο χρησιμες για να αξιολογησει •Εταιρειες συμφωνουν μεταξυ τους ωστε να μην δινεται πλεονεκτημα ή μειονεκτημα στους συναγωνιστες •Χρησιμοποιουνται κατα την διαρκεια υλοποιησης και για ελεγχο του προιοντoς (επισής για το ΕΠΛ605)

Επιλογη Προγραμματων (Βenchmarks) για Αξιολογηση •Σχεδιαστες σημερα χρησιμοποιουν πραγματικες εφαρμογες •Πριν λιγα χρονια αυτο δεν ηταν αληθεια (kernels, microbenches) •περιορισμενης εμβελειας/χρησεως βελτιστοποιησεις •Περιγραφη συστηματος (λογισμικο/υλικο) για αναπαραγωγη επίδοσης (δες

Συνοψη και Συγκριση Επίδοσης •Ενας αριθμος για την περιγραφη της Επίδοσης σε πολλα προγραμματα •Προταθηκαν και χρησιμοποιουνται διαφοροι μεσοι οροι: –Αριθμητικός, –weighted arithmetic –γεωμετρικός, –αρμονικός αριθμητικός κτλ •Ποιο μετρικό πού;

Συνοψης Υπολογιστης ΑΥπολογιστης Β Προγρ. 1(s)110 Προγρ. 2(s) Συν. Χρονος(s) Αριθ. Μεσος Για το 1 η μηχανη Α ειναι 10 φορες πιο γρηγορη Για το 2 η μηχανη Β ειναι 10 φορες πιο γρηγορη Συνολικα η μηχανη Β ειναι 9.1 φορες πιο γρηγορη

Συνοψης •Αριθμητικος Μεσος Ορος (Arithmetic Mean) συνοψιζει τον συνολικο χρονο εκτελεσης n προγραμματων ΑΜ = Σ Xronos i / n •Τι γινεται εαν το προγραμμα 1 ειναι πιο ‘‘σημαντικο’’ απο το 2; Xρηση βαρων για το καθε προγραμμα. Weighted Arithmetic Mean, WΑΜ = Σ w i Xronos i / n

Πραγματικα Δεδομενα: SPEC •Οργανισμος αξιολόγησης με μελη διαφορες εταιρειες •Mέτρα: –Execution Time Ratio –Γεωμετρικος Μεσος (Geometric Mean) –Spec Ratio

SPEC: Γεωμετρικος Μεσος •Για καθε προγραμμα i υπολογισε το execution ratio ER i =(χρονος σε 300 MHz UltraSun 5_10 / χρονος μηχανη μετρησης )* 100 •Συνοψισε τα Execution Ratio n προγραμματων με Γεωμετρικο Μεσο n n SpecRatio= Π ER i i=1

SPEC: Γεωμετρικός Μέσος •Γεωμετρικός Μέσος +ανεξάρτητο από base –δεν διατηρά σχέση με χρόνο εκτέλεσης (πόσο πιο γρήγορη είναι μία μηχανή)

© 2002 Mark D. HillCS & ECE, University of Wisconsin-Madison Aρμονικός Μέσος Για σύνοψη rates ΗΜ = n/Σ Rate i Γιατί; 30 mph for first 10 miles 90 mph for next 10 miles. average speed? Average speed = (30+90)/2 WRONG Average speed = total distance / total time (20 / (10/30+10/90))

© 2002 Mark D. HillCS & ECE, University of Wisconsin-Madison Ποιός μέσος; Αριθμητικός Μέσος: για χρόνο ή weighted χρόνο Γεωμετρικός Μέσος: για ratios (αναλογίες) execution ratios Αρμονικός Μέσος: για rates (IPC)

Παραδειγμα με SPEC2000 •SPEC2000 –12 integer και 14 floating point εφαρμογες •Συγκριση 4 υλοποιησεων της ιδιας αρχιτεκτονικης –3 με επεξεργαστη –1 με επεξεργαστη •Διαβάστε/Περίληψη SPEC2000 paper - θα το συζητήσουμε –Επίσης ERPS και το SPEC web

Περιγραφη Συστηματων

Execution Ratio για 4 συστηματα

Παρατηρησεις •Γρηγοροτερο ρολοι δεν ειναι αρκετο –ο επεξεργαστης με 533ΜΗz ρολοι εχει χαμηλοτερο Execution Ratios απο τον με ρολοι 500ΜΗz • Γιατι; –το CPI του ειναι χαμηλοτερο. Γιατι; –Καλυτερη Οργανωση Επεξεργαστη και Ιεραρχιας Mνημης (κεφ. 3,4 και 5)

Aλλα benchmarks •Eξαρτάται από φάσμα αγοράς (embedded, transaction processing, general puprose etc) •TPC,SPEC-*, SPLASH, LinPack, Livermore Loops, Java, Web, Perfect, και πολλα αλλα •Συνθετικα προγραμματα

Παραδειγμα συγκρισης διαφορων μετρων και αρχιτεκτονικων •Συγκριση 6 διαφορετικων αρχιτεκτονικων •Μετρα συγκρισης –Χρονος Εκτελεσης –Αριθμος Δυναμικων Εντολων –Αριθμος Στατικων Εντολων –Μεγεθος προγραμματος σε bits

Ψηλη αποδοση αλλα... •Ψηλοτερη αποδοση απαιτηται, αλλα να μην ξεχνουμε το κοστος –πχ υπερηχητικα αεροπλανα

© 2002 Mark D. HillCS & ECE, University of Wisconsin-Madison Amdhal’s Law •Γιατί δεν πρέπει να αγνοούμε το πιο σπάνιο SpeedUp = OldTime / NewTime Εάν μια βελτιστοποίηση αύξανει την επίδοση του f% του OldTime κατά s, τότε SpeedUp = OldTime (1-f+f) / (1-f) OldTime + f + OldTime/s SpeedUp = 1/ (1-f+f/s) και εάν s είναι τεράστιο SpeedUp = 1 / (1-f)

Amdhal’s Law (s=2,4,8) •Mην βελτιστοποιησετε ενα μηχανισμο αν δεν θα ειναι χρησιμος πολύ συχνά

© 2002 Mark D. HillCS & ECE, University of Wisconsin-Madison Amdhal’s Law (άπειρο s) •Mην βελτιστοποιησετε ενα μηχανισμο αν δεν θα ειναι χρησιμος πολύ συχνά

Κατανοήση της Συμπεριφοράς Προγραμμάτων •Tι ειναι συχνό και τι όχι •Τοπικότητα (χρονική, χωρική) •Προβλεψιμότητα •Επαναχρησιμοποίηση •Διάφορα είδη παραλληλισμού

Περιληψη •Χρονος καλυτερο μετρο επίδοσης –ΚΜΕ Χρηστη + ΚΜΕ Συστημα •Επίδοση επηρεαζεται απο •λειτουργικο συστημα •μεταγλωτιστη •αρχιτεκτονικη •υλοποιηση •χαρακτηριστικα προγραμματος και δεδομενων •Χρονος ΚΜΕ καθοριζεται Ι x CPI x Clock Cycle

Περιληψη •Aλληλοσυγκρουομενοι στοχοι •Επιλογη benchmarks (πραγματικες εφαρμογες) επηρεαζει την ακριβεια προβλεψης πραγματικης επίδοσης •Συνοψη επίδοσης προγραμματων (μεσους) •Ψηλη επίδοσης αλλα σε ‘‘λογικο’’ κοστος •Αmdhal’s Law και καλές αρχές σχεδιασμού •Eπόμενη διάλεξη: βασική ΑΣΕ