Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


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

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

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

3 Φάσμα Αγοράς Υπολογιστών •Προσωπικοί (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

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

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

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

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

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

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

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

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

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

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

14 Παραδειγμα (συν) 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

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

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

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

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

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

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

21 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

36 © 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))

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

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

39

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

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

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

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

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

45

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

47 © 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)

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

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

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

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

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


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google