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

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

Ανθεκτικά Υπολογιστικά Συστήματα

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


Παρουσίαση με θέμα: "Ανθεκτικά Υπολογιστικά Συστήματα"— Μεταγράφημα παρουσίασης:

1 Ανθεκτικά Υπολογιστικά Συστήματα

2 Περιεχόμενα Εισαγωγικά Ταξινόμηση Σφαλμάτων Είδη Πλεονασμού
Βασικές Μετρικές της Ανθεκτικότητας Σε Σφάλματα

3 Περιεχόμενα Ανθεκτικότητα Σε Σφάλματα Επιπέδου Υλικού
Ο Ρυθμός των Βλαβών Υλικού Ρυθμός Βλάβης, Αξιοπιστία και Μέσος Χρόνος Εμφάνισης Βλάβης (Mean Time To Failure – MTTF) Κανονικές και Εύκαμπτες (Προσαρμοστικές) Δομές Σειριακά και Παράλληλά Συστήματα Συστήματα M-of-N

4 Περιεχόμενα Πλεονασμός Πληροφορίας Κωδικοποίηση
Κώδικες Ισοτιμίας, Κώδικας Hamming, Άθροισμα Ελέγχου, Κώδικες M-of-N, Κώδικας Berger, Κυκλικοί Κώδικες, Αριθμητικοί Κώδικες Εύκαμπτα Συστήματα Δίσκων RAID Επιπέδου 1 RAID Επιπέδου 2 RAID Επιπέδου 3 RAID Επιπέδου 4 RAID Επιπέδου 5

5 Ταξινόμηση Σφαλμάτων Σφάλμα vs Βλάβη vs Λάθος
Ένα σφάλμα (ή μια βλάβη), μπορεί να είναι είτε ελάττωμα του υλικού είτε του λογισμικού / προγράμματος (bug). Αντίθετα, το λάθος είναι η εκδήλωση του σφάλματος / βλάβης (bug).

6 Παράδειγμα Double ypologismos_rizas(double num) { double riza;
riza = sqrt(num); return (riza); } Κλήσεις: ypologismos_rizas(16.0) ypologismos_rizas(1.44) ypologismos_rizas(0.0) ypologismos_rizas(-1)

7 Πλεονασμός Η ύπαρξη περισσότερων πηγών πληροφορίας στο σύστημα από αυτές που χρειάζονται για τη διεκπεραίωση μιας εργασίας. Είδη Πλεονασμού: πλεονασμός υλικού πλεονασμός πληροφορίας, πλεονασμός χρόνου, πλεονασμός λογισμικού

8 Πλεονασμός Υλικού Ενσωματώνουμε επιπλέον υλικό στο σχεδιασμό για να ανιχνεύσουμε ή να παρακάμψουμε τα αποτελέσματα ενός εσφαλμένου εξαρτήματος Αντί να έχουμε έναν επεξεργαστή π.χ., μπορούμε να έχουμε δύο ή τρεις, ο καθένας από τους οποίους θα εκτελεί την ίδια λειτουργία

9 Πλεονασμός Πληροφορίας
Η πιο γνωστή μορφή πλεονασμού πληροφορίας είναι η ανίχνευση λαθών και η διόρθωση κωδίκων. Έχουμε επιπλέον bits (bits ελέγχου), τα οποία προστίθενται στα αρχικά bits δεδομένων, έτσι ώστε κάποιο λάθος σε αυτά να μπορεί να ανιχνευτεί ή και να διορθωθεί. Απαιτούν επιπλέον υλικό που θα επεξεργαστεί το πλεόνασμα δεδομένων (τα bits ελέγχου).

10 Πλεονασμός Χρόνου Υλοποιείται μέσω επανεκτέλεσης του ίδιου προγράμματος στο ίδιο υλικό. Είναι αποτελεσματικός κυρίως ενάντια στα προσωρινά σφάλματα. Επειδή η πλειονότητα των σφαλμάτων του υλικού είναι προσωρινή, οι ξεχωριστές εκτελέσεις είναι απίθανο να υποπέσουν στο ίδιο σφάλμα. Ενδέχεται να χρησιμοποιηθεί όταν υπάρχουν άλλα μέσα ανίχνευσης λαθών και το σύστημα είναι ικανό να ανακάμψει από τα αποτελέσματα ενός σφάλματος και να επαναλάβει τον υπολογισμό.

11 Πλεονασμός Λογισμικού
Κάθε κομμάτι λογισμικού που κατασκευάζεται από τον άνθρωπο περιέχει σφάλματα, όπου για την άρση αυτών των σφαλμάτων υπάρχουν πολυδάπανες λύσεις: η κατασκευή πολλών ίδιων και ανεξάρτητων εξαρτημάτων λογισμικού (κατά προτίμηση από προγραμματιστές που δεν ανήκουν σε ίδιες ομάδες), με την ελπίδα ότι δε θα φέρουν τα ίδια αποτελέσματα με το ελαττωματικό η παραγωγή αλγορίθμων που να είναι λιγότερο επακριβείς (και συνεπώς, με μικρότερη πιθανότητα σφαλμάτων), για να χρησιμοποιηθούν πάνω στο ελαττωματικό κομμάτι λογισμικού

12 Πλεονασμός Λογισμικού
Οι πολλαπλές εκδόσεις του προγράμματος μπορούν να εκτελεστούν: ταυτόχρονα (πλεονασμός υλικού) διαδοχικά (χρονικός πλεονασμός) για την ανίχνευση της βλάβης.

13 Βασικές Μετρικές της Ανθεκτικότητας Σε Σφάλματα
Βασικές Μετρικές της Ανθεκτικότητας Σε Σφάλματα Αξιοπιστία (R(t)): είναι η πιθανότητα (σαν συνάρτηση του χρόνου t) να είναι το σύστημα διαρκώς ενεργό στο διάστημα [0,t]. Μέσος Χρόνος Βλάβης (MTTF): ο μέσος όρος του χρόνου που λειτουργεί ορθά το σύστημα μέχρι να συμβεί βλάβη. Μέσος Χρόνος Μεταξύ Βλαβών (MTBF): ο μέσος όρος του χρόνου μεταξύ δύο διαδοχικών βλαβών. Μέσο Χρόνο Επισκευής (MTTR): ο μέσος όρος του χρόνου που απαιτείται για να διορθωθεί μία (μη μόνιμη, φυσικά) βλάβη. MTBF = MTTF + MTTR

14 Βασικές Μετρικές της Ανθεκτικότητας Σε Σφάλματα
Βασικές Μετρικές της Ανθεκτικότητας Σε Σφάλματα Διαθεσιμότητα A(t): ο μέσος όρος (κλάσμα χρόνου) στο διάστημα [0,t] όπου το σύστημα είναι ενεργό (προφανώς δεν έχουμε μόνιμες βλάβες). Το Α μπορεί να ερμηνευτεί σαν η πιθανότητα λειτουργίας του συστήματος σε ένα τυχαίο χρονικό σημείο και έχει νόημα μόνο στα συστήματα που περιλαμβάνουν επιδιόρθωση εσφαλμένων εξαρτημάτων. Η μακροπρόθεσμη διαθεσιμότητα υπολογίζεται από τους MTBF, MTTF και MTTR ως εξής:

15 Παράδειγμα υπολογισμού MTBF, MTTR και Διαθεσιμότητας Συστήματος
Ας υποθέσουμε ότι έχουμε ένα σύστημα Σ, το οποίο: τη στιγμή t = 0 ξεκινά να λειτουργεί. Τη στιγμή t=6 το σύστημα χαλάει και επιδιορθώνεται τη στιγμή 7. Τη στιγμή t=11 το σύστημα χαλάει και επιδιορθώνεται τη στιγμή 11,5. Τη στιγμή t=16 το σύστημα χαλάει και επιδιορθώνεται τη στιγμή 17,2. Τη στιγμή t=25 το σύστημα χαλάει και επιδιορθώνεται τη στιγμή 26. Τη στιγμή t=38 το σύστημα χαλάει και επιδιορθώνεται τη στιγμή 40.

16 Παράδειγμα υπολογισμού MTBF, MTTR και Διαθεσιμότητας Συστήματος

17 Παράδειγμα υπολογισμού MTBF, MTTR και Διαθεσιμότητας Συστήματος
Ο συνολικός χρόνος που μελετάμε το σύστημα είναι 40 χ.μ. Τ_συνολικό = 40 χ.μ. Το σύστημα λειτουργεί σε χρόνο: [0,6) U [7,11) U [11.5, 16) U [17.2, 25) U [26,38). Τ_λειτουργίας = (6-0) + (11-7) + ( ) + ( ) – (38-26) = ,5 + 7, = 34,3 χ.μ. Τ_μηΛειτουργίας = (7-6) + (11,5-11) + (17,2-16) + (26-25) + (40-38) = 1 + 0,5 + 1, = 5,7 χ.μ. Τ_λειτουργίας = 34,3 χ.μ. Τ_μηΛειτουργίας = 5,7 χ.μ.

18 Παράδειγμα υπολογισμού MTBF, MTTR και Διαθεσιμότητας Συστήματος
Η διαθεσιμότητα του συστήματος είναι ίση με το ποσοστό που το σύστημα ήταν λειτουργία. Άρα Α = Τ_λειτουργίας / Τ_συνολικό = 34,3 / 40 = 85,75%. Στις 40 χρονικές μονάδες που μελετάμε το σύστημα, χάλασε 5 φορές, όπου χρειάστηκε συνολικά 5,7 χρονικές μονάδες για να επισκευαστεί. Άρα MTTR = 5,7 / 5 = 1,14 χ.μ. Πέντε φορές το σύστημα λειτουργούσε (μέχρι να χαλάσει). Η συνολική διάρκεια που λειτουργούσε (και τις 5 φορές) είναι ίση με το Τ_λειτουργίας = 34,3 χ.μ. Άρα MTTF = 34,3 / 5 = 6,86 χρονικές μονάδες.

19 Ανθεκτικότητα σε Σφάλματα Επιπέδου Υλικού
Ανθεκτικότητα σε Σφάλματα Επιπέδου Υλικού Η πιο κρίσιμη παράμετρος που χρησιμοποιείται στην ανάλυση αξιοπιστίας των συστημάτων υλικού είναι ο ρυθμός βλάβης (failure rate) ενός εξαρτήματος, δηλαδή ο ρυθμός με τον οποίο ένα εξάρτημα παθαίνει βλάβες. Ο ρυθμός βλάβης εξαρτάται από την ηλικία του εξαρτήματος, τις ηλεκτροστατικές εκκενώσεις, την περιβάλλουσα θερμοκρασία και την τεχνολογία. λ το ποσοστό αποτυχίας ενός εξαρτήματος πL ο παράγοντας leaming που δείχνει την κατάσταση της τεχνολογίας πQ ο παράγοντας ποιότητας που δείχνει την κατασκευαστική ποιότητα – κυμαίνεται μεταξύ 0.25 και πT ο παράγοντας θερμοκρασίας που κυμαίνεται μεταξύ 0.1 και και T η θερμοκρασία σε βαθμούς Kelvin πV ο παράγοντας τάσης για CMOS συσκευές που κυμαίνεται από 1 ως 10, αναλόγως της θερμοκρασίας και της παροχής τάσης. Δεν εφαρμόζει σε άλλες τεχνολογίες και η τιμή του τότε είναι ίση με 1 πE ο παράγοντας περιβάλλοντος που κυμαίνεται από πολύ χαμηλά (περίπου 0.4), όταν το εξάρτημα βρίσκεται σε περιβάλλον γραφείου, ως πολύ ψηλά (13.0), όταν αυτό βρίσκεται σε δριμύ περιβάλλον C1, C2 παράγοντες πολυπλοκότητας

20 Ανθεκτικότητα σε Σφάλματα Επιπέδου Υλικού
Ανθεκτικότητα σε Σφάλματα Επιπέδου Υλικού Η εξάρτηση από τον παράγοντα ηλικία συνήθως αντικατοπτρίζεται από την αποκαλούμενη «Καμπύλη Της Μπανιέρας» (Bathtub Curve)

21 Ρυθμός Βλάβης, Αξιοπιστία και Μέσος Χρόνος Βλάβης
Ρυθμός Βλάβης, Αξιοπιστία και Μέσος Χρόνος Βλάβης f(t) παράγοντα πυκνότητας πιθανότητας (PDF) του Τ F(t) παράγοντας αθροιστικής κατανομής του Τ, Οι παράγοντες αυτοί ορίζονται μόνο για t≥0 (αφού ο χρόνος ζωής δε δύναται να πάρει αρνητικές τιμές) και συνδέονται μέσω των σχέσεων: Για το F(t), που είναι η πιθανότητα βλάβης του εξαρτήματος έως τη χρονική στιγμή t, ισχύει:

22 Ρυθμός Βλάβης, Αξιοπιστία και Μέσος Χρόνος Βλάβης
Ρυθμός Βλάβης, Αξιοπιστία και Μέσος Χρόνος Βλάβης R(t) είναι η αξιοπιστία του εξαρτήματος, δηλαδή η πιθανότητα να παραμείνει ενεργό τουλάχιστον μέχρι τη χρονική στιγμή t και δίνεται από τον τύπο: Όπου f(t) είναι η πιθανότητα βλάβης ενός ΝΕΟΥ εξαρτήματος στο μέλλον σε χρόνο t. Η υποθετική πιθανότητα ενός εξαρτήματος που λειτουργεί σωστά σε χρόνο t, να πάθει κάποια βλάβη μέσα στο επόμενο διάστημα dt, εκφράζεται μέσω του ποσοστού βλάβης ενός εξαρτήματος σε χρόνο t και συμβολίζεται με λ(t). Υπολογίζεται ως:

23 Ρυθμός Βλάβης, Αξιοπιστία και Μέσος Χρόνος Βλάβης
Ρυθμός Βλάβης, Αξιοπιστία και Μέσος Χρόνος Βλάβης και επειδή ισχύει η παραπάνω σχέση γίνεται: Κάποια εξαρτήματα βέβαια, δεν παλαιώνουν και έτσι έχουν σταθερό ποσοστό βλάβης στη διάρκεια του χρόνου λ(t)=λ. Τότε: Η λύση της διαφορικής αυτής εξίσωσης, με R(0) = 1, είναι η: Επομένως, ένας σταθερός ρυθμός βλάβης υπονοεί ότι η διάρκεια Τ ενός εξαρτήματος έχει εκθετική κατανομή, με παράμετρο ίση με αυτό, λ: για

24 Ρυθμός Βλάβης, Αξιοπιστία και Μέσος Χρόνος Βλάβης
Ρυθμός Βλάβης, Αξιοπιστία και Μέσος Χρόνος Βλάβης Για ένα εξάρτημα που δεν επιδέχεται διόρθωση, το MTTF είναι ίσο με την αναμενόμενη διάρκεια ζωής Ε[Τ]: : Αντικαθιστώντας το Για την περίπτωση του σταθερού ρυθμού βλάβης, όπου ισχύει έχουμε:

25 Παράδειγμα - Εφαρμογή υπολογισμού δεσμευμένης πιθανότητας σφάλματος εξαρτήματος που ακολουθεί εκθετική κατανομή. Ας υποθέσουμε ότι ο χρόνος ζωής ενός ηλεκτρονικού υπολογιστή είναι εκθετικά κατανεμημένος με μέση τιμή τα 2 έτη. Αν ξέρουμε ότι ένας Η/Υ δούλευε για τουλάχιστον 4, αλλά όχι πάνω από 8 χρόνια ( [4,8] κάπου ενδιάμεσα χάλασε, αλλά δεν ξέρουμε ακριβώς πότε), είναι πιο πιθανό να χάλασε τον 5ο χρόνο [4,5]; Έχουμε Ε(Τ) = 1/λ = 2, άρα λ= 0,5 Επειδή ξέρουμε ότι R(t) = e-λt, στην περίπτωσή μας: R(t) = e-0,5t κ’ F(t)=1-e-0,5t Επομένως :

26 Κανονικές και Εύκαμπτες Δομές
Κανονικές δομές ονομάζονται οι βασικές σειριακές και παράλληλες δομές και αυτές που εξάγονται από σύνθεσή τους. Εύκαμπτες δομές ονομάζονται αυτές που ενσωματώνουν πλεονάζοντα εξαρτήματα (αποκαλούμενα στοιχεία (modules)).

27 Σειριακά κ’ Παράλληλα Συστήματα
Ένα σειριακό σύστημα ορίζεται σαν μια ομάδα από Ν στοιχεία συνδεδεμένα μεταξύ τους με τέτοιο τρόπο ώστε αν ένα από αυτά πάθει βλάβη, θα καταρρεύσει όλο το σύστημα. Ένα παράλληλο σύστημα ορίζεται σαν μια ομάδα από Ν στοιχεία συνδεδεμένα μεταξύ τους με τέτοιο τρόπο, ώστε η κατάρρευση του συστήματος επέρχεται μόνο όταν όλα τα στοιχεία του πάθουν βλάβη.

28 Σειριακά Συστήματα Ισχύει: Αν όλα τα στοιχεία έχουν τότε Όπου
και Αν όλα τα στοιχεία έχουν τότε . Όπου Δηλαδή το σειριακό έχει σταθερό ρυθμό βλάβης λs και

29 Παράλληλα Συστήματα Αν τα στοιχεία έχουν σταθερό ρυθμό βλάβης λi, τότε: Ένα παράλληλο σύστημα δεν έχει σταθερό ρυθμό βλάβης. Ο ρυθμός βλάβης του μειώνεται με κάθε βλάβη που συμβαίνει σε κάποιο στοιχείο. Ο Μέσος Χρόνος Μέχρι τη Βλάβη ενός παράλληλου συστήματος με όλα τα στοιχεία του να έχουν τον ίδιο ρυθμό βλάβης λ, είναι

30 Παράδειγμα - Εφαρμογή Υπολογισμού ολικής
Παράδειγμα - Εφαρμογή Υπολογισμού ολικής αξιοπιστίας σειριακού / παράλληλου συστήματος Να υπολογιστεί η αξιοπιστία του σειριακού / παράλληλου συστήματος υποθέτοντας ότι καθένα από τα πέντε υποσυστήματα έχει αξιοπιστία R(t).

31 Παράδειγμα - Εφαρμογή Υπολογισμού ολικής
Παράδειγμα - Εφαρμογή Υπολογισμού ολικής αξιοπιστίας σειριακού / παράλληλου συστήματος R(t)ΒΓ = 1 – (1-R(t))2 R(t)ΑΒΓ = R(t) * R(t)ΒΓ R(t)ΑΒΓΔ = 1 – (1-R(t))*(1-RΑΒΓ (t)) RΣ = R(t)ΑΒΓΔE = R(t) * R(t)ΑΒΓΔ

32 Συστήματα M-of-N Ένα M-of-N σύστημα αποτελείται από Ν πανομοιότυπα στοιχεία και χρειάζεται τουλάχιστον Μ από αυτά για να λειτουργήσει σωστά. Επομένως, το σύστημα παύει να λειτουργεί όταν λιγότερα από Μ στοιχεία είναι λειτουργικά Υποθέτουμε ότι οι βλάβες των διαφορετικών στοιχείων είναι στατιστικά ανεξάρτητες, ότι τα στοιχεία δεν είναι επιδιορθώσιμα και R(t) είναι η αξιοπιστία ενός στοιχείου (η πιθανότητα το στοιχείο να είναι λειτουργικό τη χρονική στιγμή t).

33 Δεδομένου ότι η μονάδα απόφασης πλειοψηφίας λειτουργεί πάντα σωστά
Σύστημα 3MR (TMR) Δεδομένου ότι η μονάδα απόφασης πλειοψηφίας λειτουργεί πάντα σωστά

34 Παράδειγμα - Εφαρμογή Υπολογισμός ολικής αξιοπιστίας
Παράδειγμα - Εφαρμογή Υπολογισμός ολικής αξιοπιστίας και MTTF συστήματος M-of-N Υπολογίστε την ολική αξιοπιστία και το MTTF ενός συστήματος 5MR, υποθέτοντας ότι τα σφάλματα που συμβαίνουν ακολουθούν την κατανομή Poisson με ρυθμό λ ανά κόμβο, ότι τα σφάλματα είναι ανεξάρτητα μεταξύ τους (των κόμβων) και ότι η μονάδα ελέγχου πλειοψηφίας δεν παθαίνει ποτέ σφάλματα (failure-free). Η αξιοπιστία του κάθε κόμβου είναι: R(t) = e-λt.

35 Παράδειγμα - Εφαρμογή Υπολογισμός ολικής. αξιοπιστίας
Παράδειγμα - Εφαρμογή Υπολογισμός ολικής αξιοπιστίας και MTTF συστήματος M-of-N

36 Σύγκριση απλής μονάδας με ΝMR
MTTFμονάδας = 1/λ > MTTF3MR = 5/6λ > MTTF5MR = 47/60λ Αφού ανεβαίνοντας σε επίπεδα NMR (που σημαίνει μεγαλύτερο κόστος, αφού έχουμε περισσότερες μονάδες), το MMTF δεν αυξάνεται, τότε τι θετικό έχει;;

37 Σύγκριση απλής μονάδας με ΝMR
Runit(t) = e-λt R3MR(t) = 3e-2λt - 2e-3λt Runit(1/10λ) = e-λ*1/10λ = e-0,1 = 90,9% R3MR(1/10λ) = 3e-2λ*1/10λ - 2e-3λ*1/10λ = 3e-0,2 - 2e-0,3 = 98% Ο λόγος που ανεβαίνουμε σε επίπεδο MR είναι γιατί σε χρόνο πολύ μικρότερο από το MTTF, έχουμε αισθητά μεγαλύτερη αξιοπιστία.

38 Πλεονασμός Πληροφορίας
Τα λάθη στα δεδομένα συμβαίνουν όταν εκείνα μεταφέρονται από τη μια μονάδα στην άλλη, από ένα σύστημα σε ένα άλλο, ή όταν αυτά αποθηκεύονται σε μια μονάδα μνήμης. Για να ανεχτούμε τέτοια λάθη, εισάγουμε την έννοια του πλεονασμού στα δεδομένα, που καλείται πλεονασμός πληροφορίας (information redundancy). Η πιο κοινή μορφή πλεονασμού πληροφορίας είναι η κωδικοποίηση (coding), που προσθέτει bits στα δεδομένα, επιτρέποντάς μας να πιστοποιήσουμε την ορθότητα των δεδομένων πριν τα χρησιμοποιήσουμε, και σε κάποιες περιπτώσεις, μπορούμε ακόμη και να διορθώσουμε τα εσφαλμένα bits δεδομένων.

39 Πλεονασμός Πληροφορίας
Η εισαγωγή του πλεονασμού πληροφορίας μέσω κωδικοποίησης δεν περιορίζεται στο επίπεδο μεμονωμένων λέξεων δεδομένων αλλά μπορεί να επεκταθεί για να παρέχει ανθεκτικότητα σε σφάλματα για μεγαλύτερες δομές δεδομένων. Το πιο δημοφιλές παράδειγμα τέτοιας χρήσης είναι το σύστημα αποθήκευσης Πλεονάζοντος Πίνακα Ανεξάρτητων Δίσκων (ΠΠΑΔ) (Redundant Array of Independent Disks – RAID).

40 Κωδικοποίηση Όταν κωδικοποιούμε, μια λέξη δεδομένων d-bits κρυπτογραφείται (encoded) σε μια κωδική λέξη (codeword) c-bits, με c > d. Αυτή η κρυπτογράφηση εισάγει τον πλεονασμό πληροφορίας, κάτι που μας ωθεί να χρησιμοποιήσουμε πιο πολλά bits από όσα χρειαζόμαστε. Μια συνέπεια αυτού του πλεονασμού πληροφορίας είναι ότι δεν αποτελούν όλοι οι 2c δυαδικοί συνδυασμοί των c bits έγκυρες κωδικές λέξεις.

41 Κωδικοποίηση Σαν αποτέλεσμα, όταν επιχειρούμε να αποκρυπτογραφήσουμε (decode) την λέξη των c bits για να εξάγουμε τα αρχικά d bits δεδομένων, ίσως έρθουμε αντιμέτωποι με μια άκυρη κωδική λέξη, κάτι που σημαίνει πως συνέβη λάθος. Έχουμε 3 περιπτώσεις κατά τη φάση της αποκωδικοποίησης: Δεν αντιλαμβανόμαστε κανένα λάθος (χωρίς να σημαίνει πως δεν υπάρχει) Αντιλαμβανόμαστε πως υπάρχει κάποιο λάθος χωρίς να είμαστε σε θέση να πούμε που έγινε το λάθος Αντιλαμβανόμαστε το λάθος και είμαστε σε θέση να πούμε που ακριβώς έγινε το λάθος και να το διορθώσουμε

42 Είδη Κωδικοποίησης Κώδικες Ισοτιμίας (στέλνουμε 0, αν έχουμε ζυγό πλήθος άσσων, αλλιώς 1) Κώδικας Hamming (προσθέτουμε r bits, με 2r ≥ d + r + 1 ώστε να πετύχουμε ανίχνευση λάθους και στα bits που προσθέτουμε) Άθροισμα Ελέγχου (προσθέτουμε τα bytes πληροφορίας και στέλνουμε κ’ το άθροισμα – συνηθίζεται για έλεγχο κολλημένης γραμμής στο 0) Κώδικες M-of-N (κάθε κωδική λέξη των N bits έχει ακριβώς M bits που είναι μονάδα, οδηγώντας σε κωδικές λέξεις. Οποιοδήποτε λάθους απλού bit θα αλλάξει το πλήθος των μονάδων σε Μ + 1 είτε σε Μ – 1 και θα ανιχνευτεί )

43 Είδη Κωδικοποίησης Κώδικας Berger (στέλνουμε μαζί και το συμπλήρωμα του πλήθους των άσσων) Κυκλικοί Κώδικες (η κρυπτογράφηση των δεδομένων αποτελείται από τον πολλαπλασιασμό (modulo-2) της λέξης δεδομένων με έναν σταθερό αριθμό. Το γινόμενο αποτελεί και την κωδική λέξη. Η αποκρυπτογράφηση γίνεται με τη διαίρεση με την ίδια σταθερά: αν το υπόλοιπο δεν είναι μηδενικό, φαίνεται ότι έχει συμβεί κάποιο λάθος) Αριθμητικοί Κώδικες (πολλαπλασιάζουμε κάθε τελεστή με Α π.χ. 3 και ελέγχουμε το αποτέλεσμα μιας πράξης - πρόσθεσης ή αφαίρεσης - για να δούμε αν είναι αριθμός ακέραιος και πολλαπλάσιος του Α)

44 Εύκαμπτα Συστήματα Δίσκων
Πλεονασμός πληροφορίας μέσω κωδικοποίησης σε υψηλότερο επίπεδο από τις μεμονωμένες λέξεις δεδομένων είναι η δομή RAID (Redundant Arrays of Independent (or Inexpensive) Disks), ή αλλιώς των Πλεοναζόντων Πινάκων Ανεξάρτητων (ή Οικονομικών) Δίσκων.

45 Υλοποίηση RAID Επίπεδο Υλικού
Συνήθως γίνεται είτε από έναν αφοσιωμένο RAID ελεγκτή, είτε από έναν ελεγκτή SCSI. Οι ελεγκτές SCSI ποικίλουν από την άποψη της ικανότητάς τους να υποστηρίζουν διάφορα επίπεδα RAID. Επίπεδο Λογισμικού Μπορεί να οριστεί και σε επίπεδο λογισμικού από το λειτουργικό σύστημα. Ένα λειτουργικό σύστημα που υποστηρίζει RAID εσωτερικά είναι τα Windows NT. Γενικά είναι πιο συνηθισμένο το RAID σε επίπεδο H/W επειδή είναι πιο γρήγορο.

46 Επίπεδα RAID (Standard RAID levels)
RAID 0 (stripe set or striped volume) ?? RAID 1 (mirrored disks) RAID 2 RAID 3 RAID 4 RAID 5

47 RAID 0 (stripe set or striped volume)
Στο RAID 0 τα δεδομένα χωρίζονται ομοιόμορφα σε δύο ή περισσότερους δίσκους (λωρίδες – strips) χωρίς καμία ισοτιμία πληροφορίας για πλεονασμό. Δεν υπάρχει κανένας πλεονασμός πληροφορίας και χρησιμοποιείται μόνο για την αύξηση της απόδοσης Ένα RAID 0 μπορεί να δημιουργηθεί με δίσκους διαφορετικού μεγέθους, αλλά το μέγεθος του κάθε δίσκου που θα είναι ωφέλιμο θα είναι ίσο με το μέγεθος του μικρότερου που συμμετέχει στο RAID.

48 RAID 0 (stripe set or striped volume)
Ας υποθέσουμε ότι έχουμε 2 σκληρούς δίσκους μεγέθους 120GB και 100GB. Αν θέλουμε να υλοποιήσουμε ένα RAID 0 σύστημα, τότε αυτό θα έχει μέγεθος = 2*min(120GB,100GB) = 2*100GB = 200GB. Το RAID 0 μπορεί να υλοποιηθεί και για περισσότερους από 2 δίσκους, στις περισσότερες υλοποιήσεις όμως συμμετέχουν 2 δίσκοι, αφού το σύστημα αποτυγχάνει ακόμα και αν 1 μόνο δίσκος αποτύχει, άρα η αξιοπιστία μειώνεται όσο περισσότερους δίσκους έχουμε. Αν, για παράδειγμα, υπάρχει 5% πιθανότητα κάποιος δίσκος να χαλάσει μέσα σε 3 χρόνια, τότε η πιθανότητα να αποτύχει ένα RAID 0 σύστημα 2 δίσκων είναι ίσο με:

49 RAID 1 (mirrored disks) Το επίπεδο 1 των RAID (RAID1) αποτελείται από είδωλα δίσκων (mirrored disks). Στη θέση ενός δίσκου υπάρχουν δύο, με τον καθένα να είναι ένα αντίγραφο του άλλου. Αν ένας δίσκος πάθει βλάβη, ο άλλος μπορεί να συνεχίσει να εξυπηρετεί αιτήσεις πρόσβασης. Αν λειτουργούν ορθά και οι δύο δίσκοι, το RAID1 μπορεί να επιταχύνει την ανάγνωση των προσβάσεων μοιράζοντάς τις στους δύο δίσκους. Η εγγραφή των προσβάσεων, ωστόσο, καθυστερεί επειδή οι δύο δίσκοι πρέπει να τελειώσουν πρώτα την ενημέρωση (update) πριν την περάτωση της λειτουργίας.

50 RAID 1 (mirrored disks) Ας υποθέσουμε ότι οι δίσκοι παθαίνουν βλάβες ανεξάρτητα ο ένας από τον άλλον, ο καθένας με έναν σταθερό ρυθμό λ, και ότι ο χρόνος επιδιόρθωσης του καθένα είναι εκθετικά κατανεμημένος με παράμετρο μ. Για να υπολογίσουμε την αξιοπιστία, θεωρούμε μια αλυσίδα Markov τριών επιπέδων.

51 RAID 1 (mirrored disks) Ο μέσος χρόνος απώλειας δεδομένων είναι:
Η διαθεσιμότητα είναι: Και η αξιοπιστία είναι: (με μετάβαση ρυθμού 1 / MTTDL στην κατάσταση 0 )

52 RAID 2 Το RAID Επιπέδου 2 αποτελείται από μια τράπεζα δίσκων δεδομένων σε παράλληλους δίσκους κωδικοποιημένους με Hamming. Υποθέστε ότι υπάρχουν d δίσκοι δεδομένων και c δίσκοι κωδίκων. Τότε, μπορούμε να θεωρήσουμε το i-οστό bit του κάθε δίσκου σαν bits μιας λέξης (c + d) bits. Βάσει της θεωρίας των κωδίκων Hamming, γνωρίζουμε πως πρέπει να έχουμε 2c ≥ c + d + 1 για να είμαστε ικανοί να διορθώσουμε το ένα bit ανά λέξη.

53 RAID 2 Για παράδειγμα, η χρήστη του κωδικού Hamming(7,4), που σημαίνει 4 bits δεδομένων συν 3 bits για διόρθωση λαθών, ισοδυναμεί με τη χρήση 7 σκληρών δίσκων, εκ των οποίων οι 4 χρησιμοποιούνται για αποθήκευση δεδομένων και οι 3 για διόρθωση λαθών. Λόγω του φόρτου που επιφέρει αυτό το επίπεδο RAID (σε σχέση με τα υπόλοιπα) χρησιμοποιείται πολύ σπάνια.

54 RAID 3 Το RAID3 αποτελεί μια τροποποίηση του RAID2 και προκύπτει από την παρατήρηση ότι κάθε δίσκος έχει κωδικοποίηση διόρθωσης λάθους ανά τομέα. Επομένως, αν κάποιος τομέας πάθει βλάβη, μπορούμε να τον αναγνωρίσουμε. Το RAID3 αποτελείται από μια τράπεζα d δίσκων δεδομένων μαζί με έναν δίσκο ισοτιμίας. Τα δεδομένα είναι διαστρωμένα με bits (bit-interleaved) κατά μήκος των δίσκων δεδομένων και η i-οστή θέση bit της ισοτιμίας δίσκου περιέχει το bit ισοτιμίας που σχετίζεται με τα bits στην i-οστή θέση του κάθε δίσκου δεδομένων.

55 RAID 3 Οι αλυσίδες Markov για την αξιοπιστία και τη διαθεσιμότητα αυτού του συστήματος είναι σχεδόν ίδιες με εκείνες που χρησιμοποιήθηκαν στο RAID1. Εκεί, είχαμε δύο δίσκους ανά σύνολο. Εδώ, έχουμε d + 1. Και στις δύο περιπτώσεις, το συνολικό σύστημα παθαίνει βλάβη (έχουμε απώλεια δεδομένων) αν δύο η περισσότεροι δίσκοι πάθουν βλάβη.

56 RAID 4 Το RAID4 είναι παρόμοιο με το RAID3, εκτός από το γεγονός ότι η μονάδα που παρεμβάλλεται δεν αποτελείται από ένα bit αλλά από ένα μπλοκ αυθαίρετου μεγέθους, που καλείται ράβδωση (stripe).

57 RAID 4 Το πλεονέκτημα του RAID4 έναντι του RAID3 είναι ότι μια μικρή λειτουργία ανάγνωσης μπορεί να περιοριστεί μέσα σε έναν μόνο δίσκο δεδομένων και όχι να παρεμβληθεί σε όλους. Έτσι, οι μικρές αναγνώσεις είναι ταχύτερες στο RAID4 παρά στο RAID3. Μια παρόμοια παρατήρηση ισχύει και για τις μικρές εγγραφές: σε μια τέτοια λειτουργία, και ο επηρεαζόμενος δίσκος δεδομένων και ο δίσκος ισοτιμίας πρέπει να αναβαθμιστούν. Η αναβάθμιση της ισοτιμίας είναι σχετικά απλή: το bit ισοτιμίας εναλλάσσεται (toggles) αν το αντίστοιχο bit δεδομένων που γράφεται είναι διαφορετικό από εκείνο που εκείνο που αντικαθίσταται. Το μοντέλο αξιοπιστίας του RAID4 είναι όμοιο με εκείνο του RAID3.

58 RAID 5 Το RAID5 αποτελεί μια τροποποίηση της δομής του RAID4 και προκύπτει από την παρατήρηση ότι ο δίσκος ισοτιμίας μπορεί μερικές φορές να είναι ο παράγοντας συμφόρησης του συστήματος (system bottleneck): στο RAID4, υπάρχει πρόσβαση στον δίσκο ισοτιμίας σε κάθε λειτουργία εγγραφής Για να παρακάμψουμε αυτό το πρόβλημα, μπορούμε απλά να παρεμβάλλουμε τα μπλοκ ισοτιμίας ανάμεσα στους δίσκους. Με άλλα λόγια, δεν υπάρχει πλέον δίσκος μόνο για τα bits ισοτιμίας, αλλά ο κάθε δίσκος έχει κάποια μπλοκ δεδομένων και κάποια μπλοκ ισοτιμίας.

59 RAID 5 Το μοντέλο αξιοπιστίας για το RAID5 είναι προφανώς το ίδιο με το RAID4 και διαφέρουν μόνο στο μοντέλο απόδοσης.

60 Παράδειγμα - Εφαρμογή σχεδίασης συστήματος RAID
Θέλουμε να εισάγουμε πληροφορία 1,2TB σε συστήματα δίσκων RAID0, RAID1, RAID4 και RAID5. Όλοι οι δίσκοι που διαθέτουμε έχουν χωρητικότητα 400GB ο καθένας. α. Πόσοι δίσκοι χρειάζονται σε κάθε περίπτωση; β. Να δείξετε (σχεδιάσετε) πως θα κατανεμηθεί η πληροφορία αυτή στους δίσκους (πληροφορίας και ισοτιμίας) σε κάθε περίπτωση. γ. Μέχρι πόσοι δίσκοι μπορούν να χάσουν ταυτόχρονα τα δεδομένα τους χωρίς να έχουμε απώλεια πληροφορίας; Υποθέστε πως το κάθε μπλοκ έχει μέγεθος 100GB (κάτι που δεν ισχύει στην πραγματικότητα, αλλά βολεύει για ευκολία πράξεων και σχεδιασμού).

61 Παράδειγμα - Εφαρμογή σχεδίασης συστήματος RAID

62 Βιβλιογραφία Fault-Tolerant Systems - Israel Koren, C. Mani Krishna 2007

63 THANK YOU


Κατέβασμα ppt "Ανθεκτικά Υπολογιστικά Συστήματα"

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


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