Πίσω

Παράδειγμα 2o

Δίδονται οι ακόλουθες πληροφορίες επίδοσης και κόστους:

Εκτιμείστε το κόστος ανά λειτουργία I/O ανά δευτερόλεπτο (IOPS) που επιφέρει η χρησιμοποίηση μικρών ή μεγάλων οδηγών. Υποθέστε ότι κάθε λειτουργία I/O δίσκου επιφέρει μια μέση καθυστέρηση λόγω αναζήτησης και  περιστροφής. Χρησιμοποιείστε την αισιόδοξη υπόθεση ότι όλες οι συσκευές μπορούν να χρησιμοποιήσουν το 100% της χωρητικότητάς τους και ότι ο φόρτος εργασίας είναι ισοκατανεμημένος μεταξύ των δίσκων.

Απάντηση

Οι επιδόσεις της εισόδου/εξόδου περιορίζονται από τον ασθενέστερο κρίκο της αλυσίδας, έτσι θα εκτιμήσουμε την μέγιστη απόδοση του κάθε κρίκου στην αλυσίδα I/O για κάθε οργάνωση, ώστε με αυτό τον τρόπο να προσδιορίσουμε συνολικά τη μέγιστη απόδοση της.

Ας αρχίσουμε υπολογίζοντας τον μέγιστο αριθμό των IOPS για τον επεξεργαστή, την κύρια μνήμη, και την αρτηρία I/O. Η επίδοση του επεξεργαστή σε σχέση με την είσοδο/έξοδο καθορίζεται από την ταχύτητα του καθώς και από τον αριθμό των εντολών που χρειάζονται για να εκτελεσθεί μία λειτουργία I/O δίσκου:

Η μέγιστη απόδοση του συστήματος μνήμης καθορίζεται από τον κύκλο ρολογιού της μνήμης, το εύρος λέξεων της μνήμης και το μέγεθος των δεδομένων I/O που μεταφέρονται :

Η μέγιστη απόδοση της αρτηρίας I/O περιορίζεται από το εύρος ζώνης της αρτηρίας και το μέγεθος των δεδομένων Ι/Ο:

Συνεπώς, δεν έχει σημασία ποιος δίσκος επιλέγεται, ο επεξεργαστής και η κυρίως μνήμη περιορίζουν την μέγιστη απόδοση να είναι όχι μεγαλύτερη από  10000 εντολές εισόδου/εξόδου το λεπτό.

Τώρα είναι ώρα να κοιτάξουμε τις επιδόσεις του επόμενου συνδέσμου της αλυσίδας I/O, τους ελεγκτές SCSI-2. Ο χρόνος που απαιτείται για να μεταφερθούν 16 Κb στην αρτηρία SCSI-2 είναι

Προσθέτοντας την επιβάρυνση (overhead) του 1 ms του ελεγκτή SCSI-2 ο παραπάνω χρόνος γίνεται  1,8 ms ανά λειτουργία I/O, και έτσι ο μέγιστος ρυθμός ανά ελεγκτή γίνεται

Ολες οι οργανώσεις θα χρησιμοποιούν πολλούς ελεγκτές, άρα το 556 IOPS δεν είναι το όριο και για όλο το σύστημα.
Ο τελευταίος κρίκος στην αλυσίδα είναι οι ίδιοι οι δίσκοι. Ο χρόνος για μία μέση λειτουργία δίσκου είναι

άρα η απόδοση του δίσκου είναι

Ο αριθμός των δίσκων σε κάθε οργάνωση καθορίζεται από το μέγεθος κάθε δίσκου: 200 Gb μπορούν να είναι είτε 25 δίσκοι των 8 Gb είτε 100 δίσκοι των 2 Gb. Ο μέγιστος αριθμός των λειτουργιών I/O για όλους τους δίσκους είναι:
Μέγιστο IOPS για 25 δίσκους των 8 Gb = 25 * 67 = 1675
Μέγιστο IOPS για 100 δίσκους των 2 Gb = 100 * 67 = 6700

Συνεπώς, με την προϋπόθεση ότι υπάρχουν αρκετές συστοιχίες SCSI-2, οι δίσκοι γίνονται το νέο όριο για τη μέγιστη απόδοση: 1675 IOPS για τους δίσκους των 8 Gb και 6700 για τους δίσκους των 2 Gb.

Παρόλο που έχουμε προσδιορίσει την επίδοση του κάθε κρίκου της αλυσίδας I/O, έχουμε ακόμη να προσδιορίσουμε πόσες αρτηρίες και ελεγκτές SCSI-2 θα χρησιμοποιήσουμε και πόσους δίσκους θα συνδέσουμε σε κάθε ελεγκτή, καθώς αυτός είναι παράγοντας που μπορεί να περιορίσει την μέγιστη επίδοση. Η αρτηρία I/O περιορίζεται σε 20 ελεγκτές SCSI-2 και το πρότυπο SCSI-2 περιορίζει τον αριθμό τον δίσκων σε 15 ανά συστοιχία. Ο ελάχιστος αριθμός ελεγκτών για τους δίσκους των 8 Gb είναι:

(εξυπακούεται ότι παίρνουμε το ακέραιο μέρος του κλάσματος) και για δίσκους των 2 Gb:

Μπορούμε να υπολογίσουμε το μέγιστο IOPS για κάθε σχηματισμό:
Μέγιστο IOPS για 2 SCSI strings = 2 * 556 = 1112 IOPS
Μέγιστο IOPS για 7 SCSI strings = 7 * 556 =3892 IOPS

Η μέγιστη απόδοση αυτού του αριθμού ελεγκτών είναι ελάχιστα χαμηλότερη  από το ρυθμό διαμεταγωγής των δίσκων. Ας υπολογίσουμε λοιπόν τον αριθμό των ελεγκτών έτσι ώστε να μην υπάρχει πρόβλημα στενωπού (bottleneck). Ενας τρόπος είναι να βρούμε τον αριθμό των δίσκων που μπορούν να υποστηρίξουν ανά συστοιχία:

και στη συνέχεια υπολογίζουμε τον αριθμό των συστοιχιών:


Ολα αυτά καθορίζουν τις επιδόσεις τεσσάρων οργανώσεων: 25 δίσκοι των 8 Gb με 2 ή 4 συστοιχίες SCSI-2 και 100 δίσκοι των 2 Gb με 7 έως 13 συστοιχίες SCSI. Η μέγιστη απόδοση κάθε επιλογής περιορίζεται από τον κρίκο της αλυσίδας I/O με τη μικρότερη απόδοση (με έντονα γράμματα):

Δίσκοι 8 GB, 2 συστοιχίες  = Min(50000,10000,12500,1675,1112)  = 1112 IOPS
Δίσκοι 8 GB, 4 συστοιχίες  = Min(50000,10000,12500,1675,2224)  = 1675 IOPS
Δίσκοι 2 GB, 7 συστοιχίες  = Min(50000,10000,12500,6700,3892)  = 3892 IOPS
Δίσκοι 2 GB, 13 συστοιχίες  = Min(50000,10000,12500,6700,7228)  = 6700 IOPS
Τώρα μπορούμε να υπολογίσουμε το κόστος κάθε οργάνωσης:
Δίσκοι 8 GB, 2 συστοιχίες = $30.000 + 2*$1.500 + 25 * (8192*$0.25) = $84.200
Δίσκοι 8 GB, 4 συστοιχίες = $30.000 + 4*$1.500 + 25 * (8192*$0.25) = $87.200
Δίσκοι 2 GB, 7 συστοιχίες = $30.000 + 7*$1.500 + 100 * (2048*$0.25) = $91.700
Δίσκοι 2 GB,13 συστοιχίες=$30.000 + 13*$1.500 + 100*(2048*$0.25) = $100.700

Τελικά, το κόστος ανά IOPS για κάθε μία από τις τέσσερις οργανώσεις είναι $76, $52, $24 και $15 αντίστοιχα. Υπολογίζοντας τον μέγιστο αριθμό μέσων λειτουργιών I/Os ανά δευτερόλεπτο και κάνοντας την υπόθεση ότι οι κύριοι πόροι χρησιμοποιούνται κατά 100% , η οργάνωση που μας δίνει το βέλτιστο  λόγο κόστος/επίδοση είναι αυτή με τους μικρούς δίσκους και τον μεγαλύτερο αριθμό ελεγκτών. Οι μικροί δίσκοι έχουν περίπου 3,5 φορές καλύτερο λόγο κόστους/επίδοση από τους μεγάλους δίσκους σ' αυτό το παράδειγμα. Το μόνο μειονέκτημα είναι ότι ο μεγαλύτερος αριθμός δίσκων θα επηρεάσει αρνητικά τη διαθεσιμότητα του συστήματος, εκτός και αν προστεθεί κάποια μορφή πλεονασμού (redundancy). Τέλος παραδείγματος