Προχωρηµένα Θέµατα Αρχιτεκτονικής Η/Υ Storage Systems. Λιούπης
Απόδοση συστηµάτων Ι/Ο Απόδοση Ι/Ο: πόσο σηµαντική είναι; Αύξηση απόδοσης ανά έτος: CPU: περίπου 55% I/O: <10%! Συνολική Απόδοση; εξαρτάται από το αργότερο µέρος (νόµος Amdahl) 10% Ι/Ο και 10x CPU = συνολική απόδοση 5x 10% Ι/Ο και 100x CPU = συνολική απόδοση 10x I/O: bottleneck Η απόδοση συστηµάτων Ι/Ο οριοθετεί την απόδοση του συστήµατος
Τύποι Συσκευών Aποθήκευσης: Μαγνητικοί δίσκοι Μόνιµη αποθήκευση Μεγάλη χωρητικότητα Αποτελούν ένα επίπεδο στην ιεραρχία µνήµης, κάτω από την κύρια µνήµη, ως βοηθητικός χώρος αποθήκευσης για την virtual memory κατά την εκτέλεση του προγράµµατος Χαµηλό κόστος Seek Time: 5-12 ms (avg) Transfer Rate: 3-65MB/s Avg Rotation time = 0.5 / (x RPM) Response time = (Queue) + Controller + Seek + Rot + Transfer
Παραδείγµατα χαρακτηριστικών µαγνητικών δίσκων
Τεχνολογικές Τάσεις ίσκων Υψηλότερη πυκνότητα (bits/inch) Areal density = Tracks/Inch on a disk surface x Bits/Inch on a track ταχύτεροι ρυθµοί µεταφοράς Μικρότερης διαµέτρου δίσκοι µεγαλύτερη ταχύτητα περιστροφής (έως 15000 RPM) λιγότεροι cylinders: µικρότερος χρόνος seek Access time gap µεταξύ DRAM και δίσκων
Άλλα αποθηκευτικά µέσα Οπτικοί ίσκοι: CD - DVD Χαµηλό κόστος υψηλή χωρητικότητα Software distribution CD-R / CD-RW, DVD-R / DVD-RAM Μαγνητικές Ταινίες Ακολουθιακή προσπέλαση Βελτιώσεις (helican scan tapes) για ταχύτητα των ταινιών Χαµηλό κόστος Βιβλιοθήκες Ταινιών Flash memory Χρήση ως RW ROM σε embedded συστήµατα Software upgrade δίχως αντικατάσταση του chip Χαµηλή κατανάλωση ισχύος συγκρινόµενο µε δίσκους Η πληροφορία οργανώνεται σε διασυνδεδεµένες λίστες από blocks 6 φορές ακριβότερη από DRAM
Buses: ιασύνδεση επεξεργαστών/µνήµης µε Ι/Ο Τα buses παίζουν το ρόλο ενός διαµοιραζοµένου συνδέσµου επικοινωνίας µεταξύ υποσυστηµάτων - φθηνά - προσαρµοζόµενα - δηµιουργούν bottleneck, περιορίζοντας το µέγιστο I/O throughput Η µέγιστη ταχύτητα του bus περιορίζεται από φυσικές παραµέτρους - το µήκος του bus - αριθµό συσκευών που είναι συνδεδεµένες στο bus CPU-memory buses και I/O buses
Επιλογές για Buses
Split Transaction µε multiple masters, ένα bus µπορεί να αποφέρει περισσότερο bandwidth χρησιµοποιώντας πακέτα, παρά να κρατά το bus για όλο το transaction
Σύγχρονα / Ασύγχρονα buses Εκτέλεση ενός read transaction σε ένα σύγχρονο bus Ένας master εκτελεί write σε ένα ασύγχρονο bus
Bus Standards Parallel I/O Buses Serial I/O Buses
ιασυνδέοντας συσκευές αποθήκευσης στη CPU Interface Memory-mapped I/O Interrupt-driven I/O I/O control polling interrupts DMA I/O processors I/O control blocks
Reliability, Availability and Dependability Computer system dependability is the the quality of delivered service such that reliance can justifiably be placed on that service (Laprie [1985]) Module reliability είναι ένα µέτρο της επίτευξης συνεχούς εξυπηρέτησης από ένα αρχικό σηµείο αναφοράς - MTTF: Mean Time To Failure - MTTR: Mean Time To Repair Module availability είναι ένα µέτρο της επίτευξης εξυπηρέτησης λαµβάνοντας υπόψη την εναλλαγή µεταξύ των καταστάσεων επιτυχίας και διακοπής - Module availability = MTTF / (MTTF + MTTR) - MTTF + MTTR = MTBF (Mean Time Between Failures)
Fault, Error, Failure Fault είναι ένα λάθος προγραµµατιστικό Error είναι το επακόλουθο του στο software Failure προκαλείται στο σύστηµα όταν το error παράγει λανθασµένα δεδοµένα
Κατηγοριοποίηση των faults Σύµφωνα µε την αιτία δηµιουργίας τους: 1. Hardware faults 2. Design faults 3. Operation faults 4. Environmental faults Σύµφωνα µε τη διάρκεια τους: 1. Transient faults 2. Intermittent faults 3. Permanent faults
Reliability improvements Fault avoidance - prevent fault occurrence, by construction Fault tolerance - provide service complying, by redundancy Fault removal - minimize latent errors, by verification Fault forecasting - estimate the presence, creation and consequences of errors, by evaluation
RAID - Redundant Arrays of Disk Arrays Inexpensive Disks Μεγάλοι ρυθµοί data & I/O (transactions) Μείωση αξιοπιστίας! Αξιοπιστία Ν δίσκων = Αξιοπιστία ενός δίσκου / Ν Συνολικό Mean Time to Failure (MTTF) µειώνεται δραµατικά: π.χ. από 6 χρόνια σε 1 µήνα! Η λύση: αποθήκευση πλεονάζουσας (redundant) πληροφορίας πρόσθετη χρησιµοποιούµενη χωρητικότητα πρόσθετο bandwidth ανανέωσης πληροφορίας όµως: πολύ υψηλή αξιοπιστία!
RAID levels
RAID 1: Mirroring/Shadowing 100% overhead 2 physical writes / logical write για συστήµατα υψηλής διαθεσιµότητας
RAID 3 : Parity Disk Yψηλό transfer rate / χωρητικότητα Μείωση overhead (αλλά και διαθεσιµότητας) Για επιστηµονικές εφαρµογές/image processing
Block-interleaved parity (RAID 4) vs. distributed block-interleaved parity (RAID 5) Με τον κατανεµηµένο τρόπο, µερικά µικρά writes µπορούν να γίνουν παράλληλα
Μέτρηση Απόδοσης Συσκευών Ι/Ο Μετρικές που συνήθως χρησιµοποιούνται: Throughput = µέσος αριθµός tasks που ολοκληρώθηκαν σε µία χρονική περίοδο (I/O bandwidth) Response time =από τη στιγµή εισόδου στην ουρά µέχρι την ολοκλήρωση του έργου (latency) για µέγιστο throughput: ο server πάντα απασχοληµένος για ελάχιστο response time: η ουρά πάντα άδεια
Interactive Transaction entry time: χρόνος εισαγωγής εντολής από χρήστη response time: χρόνος απόκρισης συστήµατος think time: χρόνος µέχρι την έναρξη εισαγωγής νέας εντολής Μείωση response time => αύξηση παραγωγικότητας χρηστών!
Ι/Ο Benchmarks Processor benchmarks: µέτρηση response time I/O benchmarks: µέτρηση throughput κλιµάκωση φόρτου (scaling) για να ταιριάζει µε τα χαρακτηριστικά του ελεγχόµενου συστήµατος περιορισµός µέγιστου response time Παράδειγµα Ι/Ο benchmark: