1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Δεύτερο Εξάμηνο: Έβδομο Καθηγητής: Α. Βαφειάδης 2007
2 Α. Βαφειάδης Μεταβλητές συστήματος Για την μελέτη ενός συστήματος απαιτείται η γνώση των τιμών των παρακάτω μεταβλητών: Μεταβλητές που αφορούν τα φυσικά χαρακτηριστικά του υλικού και του λογισμικού (π.χ CPU clock, Disk access time, memory size, page size κ.λ.π) Μεταβλητές που αφορούν το workload που χρησιμοποιούμε κατά την περίοδο της μέτρησης (π.χ μέση τιμή χρόνου επεξεργασίας, κατανομή του χρόνου άφιξης των απαιτήσεων των χρηστών κ.λ.π). Μεταβλητές που αφορούν την απόδοσης του συστήματος (δείκτες απόδοσης)
3 Α. Βαφειάδης Διάταξη μεταβλητών συστήματος
4 Α. Βαφειάδης Δείκτες Απόδοσης Με τους δείκτες απόδοσης ποσοτικοποιούμε την απόδοση ενός υπολογιστή Αυτοί που ενδιαφέρονται για τους δείκτες απόδοσης είναι: 1. Οι σχεδιαστές Συστημάτων 2. Οι διαχειριστές 3. Οι Αναλυτές και προγραμματιστές 4. Οι απλοί χρήστες Οι δείκτες διακρίνονται σε: Εξωτερικούς (αφορούν τους 3 και 4) Εσωτερικούς (αφορούν τους 1 και 2)
5 Α. Βαφειάδης Χρόνοι (γενικά) Response time O χρόνος απόκρισης ενός συστήματος CPU execution time Ο χρόνος απασχόλησης της CPU από ένα πρόγραμμα χρήστη user CPU execution time System CPU execution time (windows XP task monitor, εντολή time στο UNIX ) Elapsed time ή turnaround time Ο χρόνος από την στιγμή έναρξης μέχρι την στιγμή λήξης Response time Ο χρόνος από την στιγμή που πατήσαμε το return σε μια διαλογική επικοινωνία μέχρι την στιγμή που λάβαμε απάντηση από το σύστημα
6 Α. Βαφειάδης Εξωτερικοί δείκτες απόδοσης (Turnaround time) Turnaround time: Ορίζεται σαν το χρονικό διάστημα μεταξύ του χρόνου έναρξης ενός batch προγράμματος και της λήξης του. (ενδιαφερόμενος o χρήστης) Mean turnaround time: (ο διαχειριστής) Όπου n o αριθμός των προγραμμάτων που τελείωσαν P i ο χρόνος λήξης του i προγράμματος και R i ο χρόνος έναρξης του i προγράμματος
7 Α. Βαφειάδης Turnaround & Processing time Εντολές batch σε Unix -> at και batch Αρχείο διαχείρισης ουρών /user/lib/cron/queuedefs
8 Α. Βαφειάδης Response time Γενικά ορίζεται σαν το χρονικό διάστημα ανάμεσα στην στιγμή αποστολής μιας αίτησης για εξυπηρέτηση προς ένα σταθμό εξυπηρέτησης(computer system, network, database) μέχρι την στιγμή ικανοποίησης του αιτήματος O χρόνος ανταπόκρισης σε ένα διαλογικό σύστημα (response time) ορίζεται σαν το χρονικό διάστημα ανάμεσα στη στιγμή που στέλνουμε μια εντολή μέσω μιας τερματικής συσκευής ή terminal client, μέχρι την στιγμή που θα εμφανιστούν στην οθόνη το αποτέλεσμα. Ο χρόνος ανταπόκρισης σε ένα δίκτυο ορίζεται σαν τον χρόνο πού απαιτείται ανάμεσα στη στιγμή που ξεκινήσει μια αίτηση (request) από ένα workstation προς ένα server(HTTP,FTP) μέχρι την στιγμή που θα επιστρέψει και επιστρέψει η απάντηση. Ο χρόνος ανταπόκρισης σε ένα δίκτυό είναι αντιστρόφως ανάλογος της ταχύτητας μετάδοσης(transmit ion speed)
9 Α. Βαφειάδης Response & Interaction time
10 Α. Βαφειάδης Μέση τιμή και τυπική απόκλιση Στο χρόνο ανταπόκρισης (όπως και στον χρόνο ανακύκλωσης) μεγαλύτερο ενδιαφέρουν παρουσιάζουν τα στατιστικά μεγέθη των τιμών και όχι αυτές καθαυτές οι μεμονωμένες τιμές. Αν R 1, R 2 …. R n είναι μετρήσεις του χρόνου ανταπόκρισης τότε αυτές έχουν μέση τιμή R m και τυπική απόκλιση R σ
11 Α. Βαφειάδης Response time VS client workstations
12 Α. Βαφειάδης Internet Help Desks Response time
13 Α. Βαφειάδης Response time του server από το monitor SolarWinds.net
14 Α. Βαφειάδης Response time in Europe
15 Α. Βαφειάδης Throughput (Παραγωγικότητα) Η παραγωγικότητα ορίζεται σαν η ποσότητα του έργου που παράγεται από ένα σταθμό εξυπηρέτησης(computer system, computer device, network, database) στη μονάδα του χρόνου. Ορίζεται ανάλογα με το είδος του σταθμού και είναι: Ο αριθμός των προγραμμάτων που παράγονται στη μονάδα του χρόνου(Jobs/sec) Ο αριθμός των αιτήσεων που ικανοποιούνται ένα HTTP server (HHTP Req/sec) Ο αριθμός των συναλλαγών μιας βάσης δεδομένων (Transaction/sec) O αριθμός των Ι/Ο αιτήσεων που ικανοποιούνται από ένα δίσκο(I/O’s/sec)
16 Α. Βαφειάδης Σχέση Throughput και Response time σε ένα interactive σύστημα
17 Α. Βαφειάδης Thrashing είναι το φαινόμενο το οποίο παρουσιάζεται όταν η μνήμη cache δεν είναι αρκετά μεγάλη ώστε ο περισσότερος χρόνος να χάνεται στην ανταλλαγή των block μεταξύ των ιεραρχιών της μνήμης. Αυτό έχει σαν αποτέλεσμα στην μείωση της παραγωγικότητας του συστήματος
18 Α. Βαφειάδης Παράδειγμα throughput Ο δίσκος ενός συστήματος έχει average access time 10 msec. Ερώτηση 1 η Ποια είναι η μέγιστή (θεωρητική) παραγωγικότητα του ? 10 msec -> 1 request/10msec -> 0.1 req/msec -> 100 req/sec Ερώτηση 2 η Ποια είναι η παραγωγικότητα του όταν δέχεται Ι/Ο requests με συχνότητα (rate) 80 req/sec ? Επειδή ο δίσκος έχει μεγίστη παραγωγικότητα 100 req/sec αυτό σημαίνει ότι μπορεί να εξυπηρετήσει όλα τα ζητούμενα requests, άρα η παραγωγικότητα του θα είναι 80 req/sec
19 Α. Βαφειάδης Διαθεσιμότητα (availability) και αξιοπιστία (reliability) H αξιοπιστία (reliability) ορίζεται σαν την πιθανότητα να συμβεί ένα λάθος ή από το μέσο όρο μεταξύ των λαθών Σαν διαθεσιμότητα (availability) ορίζεται το ποσοστό του συνολικού χρόνου, κατά την διάρκεια του οποίου το σύστημα διατίθεται στους χρήστες Η διαθεσιμότητα μπορεί να εκφραστεί και από άλλα μεγέθη όπως: Mean time to Failure (MTTF) Mean time to Repair (MTTR) ή από το λόγο MTTF/(MTTF+MTTR)
20 Α. Βαφειάδης Χωρητικότητα (capacity) – Αποδοτικότητα(efficiency) Σαν χωρητικότητα ορίζουμε τη μέγιστη θεωρητική τιμή της παραγωγικότητας με ιδανικό workload (πχ bandwidth 2Mbps). Στη πράξη και για δεδομένο workload, η τιμή της χωρητικότητας αντιστοιχεί στο μέγιστο δυνατό έργο, το οποίο το σύστημα παράγει στη μονάδα του χρόνου. (Σήμερα πετύχαμε ταχύτητες μέχρι 1.8 Μbps) Αποδοτικότητα ονομάζουμε το λόγο της χωρητικότητας που επιτυγχάνουμε στη πράξη προς την θεωρητική χωρητικότητα ( efficiency = 1.8 Μbps /2 Μbps = 0.9). Η χωρητικότητα μπορεί να επεκταθεί και σε πολλά άλλα μεγέθη που αφορούν κυρίως χώρο.
21 Α. Βαφειάδης Ποιόν ενδιαφέρει τι Η μεριά του χρήστη ενδιαφέρεται για το elapsed time ή το response time αντίστοιχα Ο διαχειριστής όμως ενδιαφέρεται για την συνολική εικόνα του συστήματος από μεριάς απόδοσης για το δεδομένο workload Έχει σαν στόχο να τελειώσει π.χ τρία προγράμματα στον ελάχιστο δυνατό χρόνο, και δεν ενδιαφέρεται για τον elapsed time του κάθε προγράμματος O σχεδιαστής ενδιαφέρεται το σύστημά του να έχει την καλύτερη απόδοση σε κάθε δυνατό workload
22 Α. Βαφειάδης Ένα παράδειγμα χωρητικότητας
23 Α. Βαφειάδης Εσωτερικοί δείκτες απόδοσης Χρησιμοποίηση (utilization) Χρησιμοποίηση (utilization) μιας μονάδας (π.χ CPU) ορίζουμε σαν το ποσοστό του συνολικού χρόνου, κατά τη διάρκεια του οποίου ήταν απασχολημένη. Αν κατά το διάστημα της μέτρηση που είχε μήκος Τ tot ή μονάδα Κ δέχθηκε N αιτήσεις για εξυπηρέτηση με χρόνους Τ i (i=1…..N) η κάθε μία, τότε
24 Α. Βαφειάδης Βαθμός πολυπρογραμματισμού (Multiprogramming Level) Είναι το πλήθος των προγραμμάτων τα οποία ανταγωνίζονται μεταξύ τους, την ίδια χρονική στιγμή για την απόκτηση των μονάδων ενός υπολογιστικού Paging rate Ορίζουμε έτσι την συχνότητα με την οποία τα προγράμματα αναφέρονται σε πληροφορίες οι οποίες δεν είναι παρούσες στη κύρια μνήμη. Αυτές οι αναφορές ονομάζονται page faults και γίνονται αιτία να μεταφερθούν πληροφορίες από ένα μαγνητικό δίσκο στη κύρια μνήμη και πολλές φορές το αντίθετο
25 Α. Βαφειάδης Επικάλυψη (overlap) Επικάλυψη ονομάζουμε το ποσοστό του συνολικού χρόνου, κατά τη διάρκεια του οποίου δύο ή περισσότερες μονάδες απασχολούνται ταυτόχρονα. (Άθροισμα χρόνων CPU και Ι/Ο μονάδων)-(Χρόνος μέτρησης) Χρόνος μέτρησης Overlap = = 44,4%
26 Α. Βαφειάδης Σύνοψη δεικτών απόδοσης Εξωτερικοί δείκτες Turnaround Time Response Time Throughput Capacity Availability Reliability Efficiency Εσωτερικοί δείκτες Utilization Overlap Multiprogramming Level Paging Rate