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

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

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ ΠΜΣ: ΠΡΟΗΓΜΕΝΕΣ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Καψωμενάκη Καλλιόπη Μ402.

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


Παρουσίαση με θέμα: "ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ ΠΜΣ: ΠΡΟΗΓΜΕΝΕΣ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Καψωμενάκη Καλλιόπη Μ402."— Μεταγράφημα παρουσίασης:

1 ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ ΠΜΣ: ΠΡΟΗΓΜΕΝΕΣ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Καψωμενάκη Καλλιόπη Μ402

2 Μέτρηση απόδοσης υπολογιστών Μονάδα μέτρησης: Χρόνος •Χρόνος απόκρισης (response time, execution time): ο χρόνος μεταξύ της αρχής και της ολοκλήρωσης μιας μοναδικής εργασίας •Ρυθμός διεμεταγωγής (throughput): η συνολική ποσότητα δουλειάς που έγινε σε ένα δεδομένο χρονικό διάστημα Υπολογιστής ΑΥπολογιστής Β γρηγορότερος; Υπολογιστής Α είναι n φορές γρηγορότερος από υπολογιστή Β

3 Τρόποι µέτρησης της απόδοσης Εφαρµογή Μεταγλωττιστής Σύστηµ α Αρχ. Συνόλου Εντολών Σύστηµα Μνήµης Σύστηµ α διασύνδεσης Μονάδες Εισ. / Εξ. Επεξεργαστής (millions) of Instructions per second MIPS (millions) of (Floating Point) operations per second MFLOP/s Megabytes per second CPU time Cycles per second (συχν. λειτουργίας) Απαντήσεις ανά µήνα Χρήσιµες λειτουργίες ανά δευτ /πτο

4 Βασικές έννοιες CPU time: Χρόνος εκτέλεσης ενός προγράμματος CPU time : κύκλοι εκτέλεσης του προγράμματος x περίοδος ρολογιού CPU time : κύκλοι εκτέλεσης του προγρ. / συχνότητα ρολογιού CPU time : εντολές προγρ. x CPI x περίοδος ρολογιού CPI : µέσος αριθµός κύκλων ανά εντολή CPI (Cycles Per Instruction): µέσος αριθµός κύκλων ανά εντολή CPI = (CPU Time x Clock Rate) / Instruction Count = Clock Cycles / Instruction Count  Το CPI(j) πρέπει να µετρηθεί γιατί εξαρτάται, όχι μόνο από τον επεξεργαστή, αλλά και από το σύστημα μνήμης CPI Απόδοση επεξεργαστή

5 Βασικές έννοιες  MIPS: million instructions per second Για ένα δοσμένο πρόγραμμα: •Clock rate: έχει ρυθμιστεί για μια μηχανή •CPI: είναι ένας μικρός αριθμός (σε αντίθεση με τον αριθμό εντολών ή το χρόνο εκτέλεσης) •Εύκολο να υπολογιστεί και να γίνει κατανοητός. Αλλά: •MIPS: εξαρτάται από το σύνολο εντολών, οπότε είναι δύσκολο να συγκρίνεις τις MIPS υπολογιστών με διαφορετικά σύνολα εντολών •MIPS: διαφέρει μεταξύ προγραμμάτων στον ίδιο υπολογιστή •MIPS: μπορεί να διαφέρει αντιστρόφως από την απόδοση

6 Μέτρα σύγκρισης και συνοπτικής απόδοσης  Συνολικός χρόνος εκτέλεσης (Total Execution Time) Αριθμητικός μέσος = μέσος όρος χρόνων εκτέλεσης Όπου Time i ο χρόνος εκτέλεσης του ι-οστού προγράμματος από τα n συνολικά της εργασίας  Ισοζυγισμένος χρόνος εκτέλεσης (Weighted Execution Time) Αντιστοιχίζεται σε κάθε πρόγραμμα ένα συντελεστή βαρύτητας (weighting factor W i ) ανάλογα με την συχνότητα που εμφανίζεται στην συνολική εργασία. Ισοζυγισμένος αριθμητικός μέσος: Όπου Weight i η συχνότητα εμφάνισης του ι-οστού προγράμματος στη συνολική εργασία και Time i ο χρόνος εκτέλεσης του

7 Κανονικοποιημένος χρόνος εκτέλεσης (Normalized Execution Time) •Κανονικοποίηση χρόνων εκτέλεσης σε μια μηχανή αναφοράς και υπολογισμού του μέσου όρου αυτών των χρόνων (γεωμετρικός μέσος) Γεωμετρικός μέσος: Όπου Execution time ratio i είναι ο χρόνος εκτέλεσης, κανονικοποιημένος στη μηχανή αναφοράς για το ι-οστό πρόγραμμα από τα n συνολικά της εργασίας Π.χ •Η τιμή του αριθμητικού μέσου εξαρτάται από μηχανή αναφοράς •Η τιμή του γεωμετρικού μέσου είναι ανεξάρτητη από κανονικοποίηση σε διαφορετικές μηχανές  Α και Β έχουν την ίδια απόδοση, ο χρόνος εκτέλεσης του C είναι 0.63 φορές του Α ή του Β (1/1.58)  Ο συνολικός χρόνος εκτέλεσης του Α είναι 10 φορές μεγαλύτερος από τον Β, ο οποίος είναι με τη σειρά του 3 φορές αργότερος από τον C

8 Κατηγορίες προγραμμάτων για εκτίμηση απόδοσης 1)Πραγματικά προγράμματα (Real programs): Π.χ μεταγλωττιστές, επεξεργαστές κειμένου, εργαλεία CAD 2)Πυρήνες (Kernels) Π.χ Livermoore, Linpack 3)Απλές δοκιμές (Toy Benchmarks) Π.χ Το κόσκινο του Ερατοσθένη, Quicksort 4)Συνθετικές δοκιμές (Synthetic Benchmarks) Π.χ Whetstone, Dhrystone

9 Benchmark Suites  Είναι συλλογές από προγράμματα δοκιμών (real programs, kernels) που προσπαθούν να μετρήσουν την απόδοση των υπολογιστών, χρησιμοποιώντας μια ποικιλία εφαρμογών  Αυτές οι συλλογές είναι μόνο τόσο καλές όσο οι ανεξάρτητες δοκιμές  Ωστόσο, έχουν το πλεονέκτημα, ότι η αδυναμία οποιασδήποτε δοκιμής ‘ελαττώνεται’ εξαιτίας της παρουσίας των άλλων δοκιμών  Πρέπει όμως να χρησιμοποιηθούν κατάλληλες μέθοδοι για να ‘αθροίσουν’ την απόδοση μιας συλλογής

10 SPEC Είναι ένας μη κερδοσκοπικός οργανισμός που συστάθηκε για να δημιουργήσει αξιόπιστες και αντικειμενικές δοκιμές υπολογιστών για την μέτρηση και σύγκριση της απόδοσης του υπολογιστή σε επίπεδο στοιχείου και συστήματος (component- and system-level computer performance), για διάφορα λειτουργικά συστήματα και περιβάλλοντα (συμπεριλαμβανομένων υψηλής απόδοσης αριθμητικούς υπολογισμούς, Web servers, συστήματα για γραφικά)  Τι είναι ο SPEC (Standard Performance Evaluation Corp.):  Αποτελείται από 3 διαφορετικές ομάδες: HPG: High-Performance Group Ασχολείται με την ανάπτυξη δοκιμών για αρχιτεκτονικές συστημάτων υψηλής απόδοσης: symmetric multiprocessor systems, workstation clusters, distributed memory parallel systems, traditional vector and vector parallel supercomputers. OSG: Open Systems Group Ασχολείται με δοκιμές σε επίπεδο στοιχείου και συστήματος, για σταθμούς εργασίας (workstations) και εξυπηρέτες πολλών χρηστών (multi-user servers) τα οποία τρέχουν περιβάλλοντα ανοιχτών λειτουργικών συστημάτων. GPC: Graphics Performance Characterization Group Ασχολείται με τη δημιουργία πρότυπων δοκιμών για τη βιομηχανία των γραφικών, για εφαρμογές γραφικών και πολυμέσων, κλπ.

11 Λειτουργία SPEC  Τα μέλη συμφωνούν σε εκδόσεις δοκιμών, οι οποίες παράγονται από υπάρχουσες εφαρμογές, έτσι ώστε τόσο οι σχεδιαστές υπολογιστών, όσο και οι αγοραστές αυτών να μπορούν να αποφασίσουν με βάση ρεαλιστικές-πραγματικές εργασίες.  Τα μέλη, (κατόπιν συμφωνίας με άδεια) συμφωνούν να παράγουν και να αναφέρουν αποτελέσματα, όπως ορίζεται σε κάθε έκδοση.  Μέλη του SPEC  Συνθέτες συστημάτων  Πωλητές υλικού/λογισμικού (hardware/software vendors)  Ερευνητικοί οργανισμοί, Πανεπιστήμια  Εκδότες, Σύμβουλοι  Ιδιώτες-Πελάτες Benchmark Suites Όσο βελτιώνεται η τεχνολογία, πρέπει να βελτιώνονται και οι αντίστοιχες εκδόσεις δοκιμών. SPEC ’89 SPEC ’92 SPEC ’95 SPEC 2000

12 Κριτήρια επιλογής προγραμμάτων δοκιμών •Μεταφερσιμότητα σε όλες τις αρχιτεκτονικές του SPEC (32- και 64-bit συμπεριλαμβανομένων: Alpha, Intel αρχιτεκτονική, PA-RISC,Rxx00, SPARC, κλπ) •Μεταφερσιμότητα σε διάφορα λειτουργικά συστήματα, ειδικά UNIX και NT •Οι δοκιμές δεν πρέπει να εμπεριέχουν μέτρηση I/O •Οι δοκιμές δεν πρέπει να εμπεριέχουν στοιχεία δικτύου και γραφικών •Οι δοκιμές πρέπει να τρέχουν σε RAM 256 χωρίς εναλλαγή (swapping) •Δεν πρέπει να χρησιμοποιείται περισσότερο από 5% του χρόνου δοκιμής στην επεξεργασία κώδικα που δεν έχει δοθεί από τον SPEC •Ορθότητα-αξιοπιστία, διαφάνεια  Τα προγράμματα της συλλογής SPEC2000, επιλέχτηκαν από μια μεγάλη συλλογή από υποψήφιες εφαρμογές, οι οποίες υποβλήθηκαν στην δοκιμασία των μελών και του του γενικότερου κοινού μέσω μιας έρευνας που διεξάχθηκε μέσω της ιστοσελίδας του SPEC…

13 SPEC CPU2000 Benchmark Περιέχει δύο ομάδες προγραμμάτων δοκιμών: 1.CINT 2000 Για μέτρηση και σύγκριση απόδοσης υπολογισμών σε ακεραίους 2.CFP2000 Για μέτρηση και σύγκριση απόδοσης υπολογισμών σε αριθμούς κινητής υποδιαστολής  C: Component-level benchmarks : Ποιων συστατικών μετράνε την απόδοση 1.Του επεξεργαστή 2.Της αρχιτεκτονικής μνήμης 3.Του μεταγλωττιστή Ποιων συστατικών δεν μετράνε την απόδοση: 1.Της I/O 2.Των συστατικών του δικτύου 3.Των γραφικών

14 CPU2000 SUITE

15 Μηχανή αναφοράς  Ο SPEC χρησιμοποιεί μια μηχανή αναφοράς για να καθορίσει τις μονάδες μέτρησης απόδοσης. Κάθε δοκιμή τρέχει και μετράται σε αυτή τη μηχανή, ώστε να καθιερωθεί ένας χρόνος αναφοράς για αυτή τη δοκιμή. Αυτοί οι χρόνοι χρησιμοποιούνται μετά στους υπολογισμούς του SPEC.  Μηχανή αναφοράς: SUN Ultra5_10 με επεξεργαστή στα 300MHz  Απαιτείται διάστημα περίπου 2 ημερών για να γίνει ένα ένα τρέξιμο σύμφωνα με τα πρότυπα του SPEC (SPEC-conforming run) των CINT2000 και CFP2000 σε αυτή τη μηχανή.  Το τρέξιμο αυτό περιλαμβάνει τουλάχιστον 3 επαναλήψεις της ίδιας δοκιμής για να εξασφαλίσουμε ότι τα αποτελέσματα μπορούν να αναπαραχθούν.

16 Επεξήγηση όρων: base, non- base | : rate, non-rate  Ο SPEC, προκειμένου να προσφέρει συγκρίσεις για διαφορετικές αρχιτεκτονικές υπολογιστών, παρέχει τον πηγαίο κώδικα των δοκιμών. Αυτό σημαίνει ότι πρέπει να μεταγλωττιστούν, πριν να τρέξουν. Μπορούν να μεταγλωττιστούν με τον τρόπο που οι χρήστες μεταγλωττίζουν τα προγράμματα, δηλαδή: •Χρησιμοποιώντας τις γενικές οδηγίες υψηλής απόδοσης, που προτείνει ο κατασκευαστής του μεταγλωττιστή •Είτε, να πειραματιστούν με διαφορετικούς μεταγλωττιστές και flags μεταγλωττιστών για να επιτύχουν την καλύτερη απόδοση •Επειδή ο SPEC δεν μπορεί να προβλέψει πως ακριβώς χρησιμοποιούν τους μεταγλωττιστές οι διάφοροι χρήστες, προσφέρει κάποια χαρακτηριστικά μεγέθη που να αντιπροσωπεύουν τα χαρακτηριστικά αυτών των 2 ομάδων  Base (conservative): απαιτούνται από όλες τις επίσημες αναφορές και έχουν θέσει οδηγίες για μεταγλώττιση (π.χ τα ίδια flags με την ίδια σειρά πρέπει να χρησιμοποιούνται για όλα τα προγράμματα της ίδιας γλώσσας)  Non base (aggressive): είναι προαιρετικές και μπορούν να χρησιμοποιήσουν λιγότερο αυστηρές απαιτήσεις (π.χ διαφορετικές επιλογές μεταγλωττιστή μπορούν να χρησιμοποιηθούν για κάθε πρόγραμμα δοκιμής).  Ρυθμός διεμεταγωγής (throughput, capacity, rate metrics): Δείχνει πόσες εργασίες μπορεί να εκτελέσει ένας υπολογιστής στη μονάδα του χρόνου.  Ταχύτητα εκτέλεσης (non-rate metrics): Μετράει το χρόνο που εκτελείται μια μοναδική εργασία από τον υπολογιστή.  Υπάρχουν διάφοροι τρόποι για να μετρηθεί η απόδοση ενός υπολογιστή:

17 Μετρήσιμα μεγέθη Οι εκδόσεις CINT2000, CINT FP2000 μπορούν να χρησιμοποιηθούν για να μετρήσουν και να υπολογίσουν τα ακόλουθα χαρακτηριστικά μεγέθη: CINT2000: •SPECint2000 •SPECint_base2000 •SPECint_rate2000 •SPECint_rate_base2000 CFP2000: •SPECfp2000 •SPECfp_base2000 •SPECfp_rate2000 •SPECfp_rate_base2000  SPECint2000: Ο γεωμετρικός μέσος των 12 κανονικοποιημένων λόγων (μια για κάθε δοκιμή ακεραίων) όταν μεταγλωττίζονται με “aggressive” optimization για κάθε δοκιμή.  SPECint_base2000:Ο γεωμετρικός μέσος των 12 κανονικοποιημένων λόγων όταν μεταγλωττίζονται με “conservative” optimization για κάθε δοκιμή.  SPECint_rate2000:Ο γεωμετρικός μέσος των 12 κανονικοποιημένων λόγων του ρυθμού διεμεταγωγής όταν μεταγλωττίζονται με “aggressive” optimization για κάθε δοκιμή.  SPECint_rate_base2000:Ο γεωμετρικός μέσος των 12 κανονικοποιημένων λόγων του ρυθμού διεμεταγωγής όταν μεταγλωττίζονται με “conservative” optimization για κάθε δοκιμή. Ομοίως για τις δοκιμές αριθμών κινητής υποδιαστολής

18 Περιεχόμενα πακέτου SPEC CPU2000 •Εργαλεία για: μεταγλώττιση, τρέξιμο, έλεγχο των δοκιμών για διάφορα λειτουργικά συστήματα •Πηγαίος κώδικας για τα εργαλεία, έτσι ώστε να μπορούν να δημιουργηθούν για συστήματα που δεν καλύπτονται από τα ήδη μεταγλωττισμένα εργαλεία •Πηγαίος κώδικας για τα προγράμματα δοκιμών •Εργαλεία για δημιουργία αναφορών απόδοσης •Κανόνες για τρέξιμο και δημιουργία αναφορών που ορίζουν πως οι δοκιμές πρέπει να χρησιμοποιηθούν για να παράγουν τυποποιημένα αποτελέσματα •CPU2000 τεκμηρίωση Απαιτήσεις συστήματος •Λειτουργικό σύστημα: UNIX ή Windows NT •Μεταγλωττιστές: C, C++, FORTRAN90 •Τουλάχιστον 1 GB σκληρός δίσκος για την εγκατάσταση, χτίσιμο και τρέξιμο του SPEC CPU2000 • Τουλάχιστον 256 RAM

19 Βήματα για χρήση των δοκιμών  Εγκατάσταση του πακέτου CPU2000  Τρέξιμο των κατάλληλων σεναρίων εγκατάστασης (installation scripts) ανάλογα με το λειτουργικό σύστημα  Μεταγλώττιση των εργαλείων, αν τα εκτελέσιμα δεν παρέχονται  Καθορισμός του μεγέθους (metric) που θέλουμε να μετρήσουμε  Δημιουργία ενός configuration αρχείου για αυτό το μέγεθος (σε αυτό ορίζονται compiler flags και άλλες πληροφορίες που εξαρτώνται από το σύστημα)  Τρέξιμο των εργαλείων του SPEC για μεταγλώττιση, τρέξιμο και ελέγχου των δοκιμών  Αν τα παραπάνω βήματα είναι επιτυχή, μπορεί να δημιουργηθεί μια αναφορά βασισμένη στους χρόνους τρεξίματος και συγκρίσεις των μεγεθών

20 Δομή καταλόγων μετά την εγκατάσταση nnn.benchmark - root for this benchmark Spec - SPEC metadata about the benchmark data all - data used by all runs (if needed by the benchmark) ref - the real data set, required for all result reporting test - data for a simple test that an executable is functional train - data for feedback-directed optimization exe - compiled versions of the benchmark run - all builds and runs take place here src - the sources for the benchmark $SPEC or %SPEC% - the root directory benchspec CFP floating point benchmarks CINT integer benchmarks bin - tools to run and report on the suite config - config files result - log files and reports tools - sources for the CPU2000 tools Η δομή του δέντρου των καταλόγων του CPU έχει ως εξής: Μέσα σε κάθε κάθε μια ανεξάρτητη δοκιμή, η δομή είναι:

21 Runspec: runspec [options] [list of benchmarks to run] --action action (or -a action)  validate: Build (if needed), run, and generate reports --iterations number (or -n number)  3: 3 iterations of each benchmark --reportable (or -s, --strict, --noloose) ! --loose (or -l, --nostrict, --noreportable)  Loose: enforce the CPU2000 run rules, so as to produce a result which is suitable for public reporting and/or submission to SPEC --tune tuning (or --tuning tuning, -T tuning)  Base: Build all the benchmarks in the suite with a common set of optimizations (Peak: Build each benchmark in the suite with a set of optimizations individually tailored for that benchmark) --rate (-r)  speed run (i.e. non-rate): Select rate run instead of speed --users number (or -u number)  1: Use number copies for a SPECrate run --output_format format (or -o format)  all available formats: all (all of the following), asc (ASCII text), config (config file used for this run), html (web page), pdf (Portable Document Format), ps (Postscript) --size size (or -i size, --input size)  Ref: Selects size of input data to run: test, train, or ref το βασικό εργαλείο για χτίσιμο, τρέξιμο, αναφορά αποτελεσμάτων

22 Παράδειγμα χρήσης 1.F:\cpu2000> runspec --action=build --tune=base --config=intel_nt_visual_studio.cfg gzip 2.F:\cpu2000> runspec --size=test --iterations=1 --noreportable ^ More? --config=intel_nt_visual_studio.cfg gzip 3.F:\cpu2000> runspec --config=intel_nt_visual_studio --iterations=1 --noreportable gzip →χρησιμοποιείται το πραγματικό μέγεθος δεδομένων στην είσοδο → --noreportable: μας επιτρέπει να τρέξουμε τη συγκεκριμένη συλλογή και όχι όλη τη συλλογή. →--size=test: χρησιμοποιείται το μικρότερο μέγεθος δεδομένων στην είσοδο → --tune=base : να χρησιμοποιηθεί η τυποποιημένη μεταγλώττιση

23 Αρχείο αποτελεσμάτων ( CINT asc) SPEC CINT2000 Summary Wed Dec 1 10:42: SPEC License #0 Test date: -- Hardware availability: -- Tester: -- Software availability: -- Estimated Estimated Base Base Base Peak Peak Peak Benchmarks Ref Time Run Time Ratio Ref Time Run Time Ratio gzip * 175.vpr X 176.gcc X 181.mcf X 186.crafty X 197.parser X 252.eon X 253.perlbmk X 254.gap X 255.vortex X 256.bzip2 X 300.twolf X ===================================================================== ===

24 Συνέχεια… 164.gzip * 175.vpr X 176.gcc X 181.mcf X 186.crafty X 197.parser X 252.eon X 253.perlbmk X 254.gap X 255.vortex X 256.bzip2 X 300.twolf X Est. SPECint_base Est. SPECint ************************************************************  Τα περισσότερα αποτελέσματα είναι κενά επειδή έτρεξε μόνο μία από τις 12 δοκιμές ακεραίων


Κατέβασμα ppt "ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ ΠΜΣ: ΠΡΟΗΓΜΕΝΕΣ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Καψωμενάκη Καλλιόπη Μ402."

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


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