Post on 27-Jan-2016
description
1Α. Βαφειάδης
Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής
Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών
Εργαστηριακό Μέρος
Μέρος: Δεύτερο
Εξάμηνο: ΈβδομοΚαθηγητής: Α. Βαφειάδης
2009
2Α. Βαφειάδης
Μεταβλητές συστήματος
Για την μελέτη ενός συστήματος απαιτείται η γνώση των τιμών των παρακάτω μεταβλητών:
Μεταβλητές που αφορούν τα φυσικά χαρακτηριστικά του υλικού και του λογισμικού (π.χ CPU clock, Disk access time, memory size, page size κ.λ.π)
Μεταβλητές που αφορούν το workload που χρησιμοποιούμε κατά την περίοδο της μέτρησης (π.χ μέση τιμή χρόνου επεξεργασίας, κατανομή του χρόνου άφιξης των απαιτήσεων των χρηστών κ.λ.π) .
Μεταβλητές που αφορούν την απόδοσης του συστήματος (δείκτες απόδοσης)
3Α. Βαφειάδης
Διάταξη μεταβλητών συστήματος
Πραγματικό Σύστημα
Ή
Μοντέλο Συστήματος
Μεταβλητές Συστήματος
Μεταβλητές Workload
Μεταβλητές Απόδοσης
4Α. Βαφειάδης
Δείκτες Απόδοσης
Με τους δείκτες απόδοσης ποσοτικοποιούμε την απόδοση ενός υπολογιστή
Αυτοί που ενδιαφέρονται για τους δείκτες απόδοσης είναι:
1. Οι σχεδιαστές Συστημάτων2. Οι διαχειριστές 3. Οι Αναλυτές και προγραμματιστές4. Οι απλοί χρήστες
Οι δείκτες διακρίνονται σε:Εξωτερικούς (αφορούν τους 3 και 4)Εσωτερικούς (αφορούν τους 1 και 2)
5Α. Βαφειάδης
Χρόνοι (γενικά)
Response timeO χρόνος απόκρισης ενός συστήματος
Ο χρόνος από την στιγμή που πατήσαμε το return σε μια
διαλογική επικοινωνία μέχρι την στιγμή που λάβαμε απάντηση από το
σύστημα
CPU execution timeΟ χρόνος απασχόλησης της CPU από ένα πρόγραμμα χρήστη
user CPU execution timeSystem CPU execution time (windows XP task monitor , εντολή time στο UNIX )
Elapsed time ή turnaround time Ο χρόνος από την στιγμή έναρξης μέχρι την στιγμή λήξης μιας
διαδικασίας
6Α. Βαφειάδης
Mean Elapse time
Elapse (turnaround) time : Ορίζεται σαν το χρονικό διάστημα
μεταξύ του χρόνου έναρξης ενός προγράμματος και της λήξης του.
(ενδιαφερόμενος o χρήστης)
Mean elapse time: (ο διαχειριστής)
)RP(n
1Tm i
n
1i i
Όπου n o αριθμός των προγραμμάτων που τελείωσαν
Pi ο χρόνος λήξης του i προγράμματος και
Ri ο χρόνος έναρξης του i προγράμματος
7Α. Βαφειάδης
Turnaround (elapse) & Processing time
CPU Wait CPU or I/O Wait CPU Wait CPU or I/O
Read
Αναμονήστην ουράεισόδου
Αναμονήστην ουρά
εξόδου
time
Processing time
Turnaround 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
CPU Wait CPU or I/O Wait CPU Wait CPU
Response time
Interaction time
Waitwait
Thinktime
Output
Waitin
outputqueue
Transmisiontime
Waitin
outputqueue
Transmisiontime
Typing Processing time
Send a commandStart Output
10Α. Βαφειάδης
Μέση τιμή και τυπική απόκλιση
Στο χρόνο ανταπόκρισης μεγαλύτερο ενδιαφέρουν παρουσιάζουν τα στατιστικά μεγέθη των τιμών και όχι αυτές καθαυτές οι μεμονωμένες τιμές.
Αν R1 , R2 …. Rn είναι μετρήσεις του χρόνου ανταπόκρισης τότε αυτές έχουν μέση τιμή Rm και τυπική απόκλιση Rσ
)(
1
1
221
1
1
n
imin
n
im
nRRR
Rin
R
11Α. Βαφειάδης
Response time VS client workstations
12Α. Βαφειάδης
Internet Help Desks Response time
13Α. Βαφειάδης
Response time του server 205.181.179.58 από το 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 σύστημα
Response Time
Throughput
Χωρητικότητα Συστήματος
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).
Η χωρητικότητα μπορεί να επεκταθεί και σε πολλά άλλα μεγέθη που αφορούν κυρίως χώρο.
22Α. Βαφειάδης
Ένα παράδειγμα χωρητικότητας
23Α. Βαφειάδης
Εσωτερικοί δείκτες απόδοσηςΧρησιμοποίηση (utilization)
Χρησιμοποίηση (utilization) μιας μονάδας (π.χ CPU) ορίζουμε σαν το ποσοστό του συνολικού χρόνου, κατά τη διάρκεια του οποίου ήταν απασχολημένη.
Αν κατά το διάστημα της μέτρηση που είχε μήκος Τtot ή μονάδα Κ δέχθηκε N αιτήσεις για εξυπηρέτηση με χρόνους Τi (i=1…..N) η κάθε μία, τότε
tot
N
1ii
T
T
)i(U
24Α. Βαφειάδης
Βαθμός πολυπρογραμματισμού (Multiprogramming Level)
Είναι το πλήθος των προγραμμάτων τα οποία ανταγωνίζονται μεταξύ τους, την ίδια χρονική στιγμή για την απόκτηση των μονάδων ενός υπολογιστικού
Paging rate
Ορίζουμε έτσι την συχνότητα με την οποία τα προγράμματα αναφέρονται σε πληροφορίες οι οποίες δεν είναι παρούσες στη κύρια μνήμη. Αυτές οι αναφορές ονομάζονται page faults και γίνονται αιτία να μεταφερθούν πληροφορίες από ένα μαγνητικό δίσκο στη κύρια μνήμη και πολλές φορές το αντίθετο
25Α. Βαφειάδης
Επικάλυψη (overlap)
Επικάλυψη ονομάζουμε το ποσοστό του συνολικού χρόνου, κατά τη διάρκεια του οποίου δύο ή περισσότερες μονάδες απασχολούνται ταυτόχρονα.
(Άθροισμα χρόνων CPU και Ι/Ο μονάδων)-(Χρόνος μέτρησης)
Χρόνος μέτρησηςOverlap =
1 2 3 4 5 6 7 8 9
CPU
I / O
Χρόνος μέτρησης
= 44,4%
26Α. Βαφειάδης
Σύνοψη δεικτών απόδοσης
Εξωτερικοί δείκτες
Elapse Time Response Time Throughput Capacity Availability Reliability Efficiency
Εσωτερικοί δείκτες
Utilization Overlap Multiprogramming Level Paging Rate