Εφαρμογή κλιμάκωσης. Επεκτάσιμες αρχιτεκτονικές Ιστού. Παράδειγμα υλοποίησης έργου

Ας φανταστούμε ότι έχουμε φτιάξει μια ιστοσελίδα. Η διαδικασία ήταν συναρπαστική και ήταν υπέροχο να βλέπεις τον αριθμό των επισκεπτών να αυξάνεται.

Αλλά κάποια στιγμή, η επισκεψιμότητα αρχίζει να αυξάνεται πολύ αργά, κάποιος δημοσίευσε έναν σύνδεσμο προς την αίτησή σας στο Reddit ή στο Hacker News, κάτι συνέβη με τον πηγαίο κώδικα του έργου στο GitHub και γενικά, όλα φαινόταν να πηγαίνουν εναντίον σας.

Επιπλέον, ο διακομιστής σας έχει καταρρεύσει και δεν μπορεί να χειριστεί το συνεχώς αυξανόμενο φορτίο. Αντί να αποκτήσετε νέους πελάτες ή/και τακτικούς επισκέπτες, δεν έχετε τίποτα και, επιπλέον, μια άδεια σελίδα.

Όλες οι προσπάθειές σας για να συνεχίσετε την εργασία είναι μάταιες - ακόμη και μετά από επανεκκίνηση, ο διακομιστής δεν μπορεί να αντιμετωπίσει τη ροή των επισκεπτών. Χάνεις κίνηση!

Κανείς δεν μπορεί να προβλέψει κυκλοφοριακά προβλήματα. Πολύ λίγοι άνθρωποι συμμετέχουν σε μακροπρόθεσμο προγραμματισμό όταν εργάζονται σε ένα έργο δυνητικά υψηλής απόδοσης για να τηρήσουν μια καθορισμένη προθεσμία.

Τότε πώς μπορείτε να αποφύγετε όλα αυτά τα προβλήματα; Για να γίνει αυτό, πρέπει να λύσετε δύο ζητήματα: βελτιστοποίηση και απολέπιση.

Βελτιστοποίηση

Πρώτα απ 'όλα, θα πρέπει να ενημερώσετε το πιο πρόσφατο εκδόσεις PHP (Τρέχουσα έκδοση 5.5, χρησιμοποιεί το OpCache), ευρετηριάζει τη βάση δεδομένων και κρυφή στατικό περιεχόμενο (σπάνια αλλάζει σελίδες όπως Πληροφορίες, Συχνές ερωτήσεις κ.λπ.).

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

Η ιδέα είναι η εξής: βάζετε το Nginx μπροστά από τον διακομιστή σας Apache (ο Ngiz θα είναι ο διακομιστής frontend και ο Apache το backend) και του αναθέτετε να υποκλέψει αιτήματα για στατικούς πόρους (π.χ. *.jpg, *.png, *. mp4 , *.html ...) και την υπηρεσία τους ΧΩΡΙΣ ΑΠΟΣΤΟΛΗ αίτησης στον Apache.

Αυτό το σχήμα ονομάζεται reverse proxy (αναφέρεται συχνά μαζί με την τεχνική εξισορρόπησης φορτίου, η οποία περιγράφεται παρακάτω).

Απολέπιση

Υπάρχουν δύο τύποι κλιμάκωσης - οριζόντια και κάθετη.

Λέμε ότι ένας ιστότοπος είναι επεκτάσιμος όταν μπορεί να χειριστεί αυξημένο φόρτο χωρίς να χρειάζεται αλλαγές λογισμικού.

Κάθετη κλιμάκωση

Φανταστείτε ότι έχετε έναν διακομιστή ιστού που εξυπηρετεί μια εφαρμογή Ιστού. Αυτός ο διακομιστής έχει τα ακόλουθα χαρακτηριστικά 4GB RAM, i5 CPU και 1TB HDD.

Κάνει καλά τη δουλειά του, αλλά για να χειριστείτε καλύτερα την αυξανόμενη κίνηση, αποφασίζετε να αντικαταστήσετε τη μνήμη RAM των 4 GB με 16 GB, να εγκαταστήσετε μια νέα CPU i7 και να προσθέσετε μια υβριδική μονάδα SSD/HDD PCIe.

Ο διακομιστής έχει πλέον γίνει πιο ισχυρός και μπορεί να αντέξει αυξημένα φορτία. Αυτό είναι αυτό που ονομάζεται κατακόρυφη κλιμάκωση ή " κλιμάκωση σε βάθος"- βελτιώνετε τα χαρακτηριστικά του αυτοκινήτου για να το κάνετε πιο ισχυρό.

Αυτό φαίνεται καλά στην παρακάτω εικόνα:

Οριζόντια κλιμάκωση

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

Αυτό είναι πολύ ακριβό οικονομικά και συχνά δεν δίνει το αποτέλεσμα που περιμένουμε - τα περισσότερα προβλήματα κλιμάκωσης σχετίζονται με την παράλληλη εκτέλεση εργασιών.

Εάν ο αριθμός των πυρήνων του επεξεργαστή δεν είναι αρκετός για την εκτέλεση των διαθέσιμων νημάτων, τότε δεν έχει σημασία πόσο ισχυρή είναι η CPU - ο διακομιστής θα εξακολουθεί να λειτουργεί αργά και να κρατά τους επισκέπτες σε αναμονή.

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

ΣΕ σε αυτήν την περίπτωση, χρησιμοποιείται ένας εξισορροπητής φορτίου - ένα μηχάνημα ή πρόγραμμα που καθορίζει ποιο σύμπλεγμα θα στείλει το επόμενο εισερχόμενο αίτημα.

Και οι μηχανές στο σύμπλεγμα μοιράζονται αυτόματα την εργασία μεταξύ τους. Σε αυτήν την περίπτωση, διακίνησηο ιστότοπός σας αυξάνεται κατά μια τάξη μεγέθους σε σύγκριση με την κατακόρυφη κλίμακα. Αυτό είναι επίσης γνωστό ως " πλάτος κλιμάκωσης».

Υπάρχουν δύο τύποι εξισορροπητών φορτίου - υλικό και λογισμικό. Ένας εξισορροπητής λογισμικού εγκαθίσταται σε ένα κανονικό μηχάνημα και δέχεται όλη την εισερχόμενη κίνηση, ανακατευθύνοντάς την στον κατάλληλο χειριστή. Για παράδειγμα, το Nginx μπορεί να λειτουργήσει ως εξισορροπητής φόρτου λογισμικού.

Δέχεται αιτήματα για στατικά αρχεία και τα εξυπηρετεί μόνο του χωρίς να επιβαρύνει τον Apache. Ένα άλλο δημοφιλές λογισμικό εξισορρόπησης είναι το Squid, το οποίο χρησιμοποιώ στην εταιρεία μου. Παρέχει πλήρης έλεγχοςπάνω από όλα πιθανές ερωτήσειςμέσω μιας πολύ φιλικής προς τον χρήστη διεπαφής.

Οι εξισορροπητές υλικού είναι ένα ξεχωριστό ειδικό μηχάνημα που εκτελεί αποκλειστικά το έργο της εξισορρόπησης και στο οποίο, κατά κανόνα, δεν είναι εγκατεστημένο άλλο λογισμικό. Τα πιο δημοφιλή μοντέλα έχουν σχεδιαστεί για να χειρίζονται τεράστιο ποσόΚΙΝΗΣΗ στους ΔΡΟΜΟΥΣ.

Κατά την οριζόντια κλιμάκωση, συμβαίνουν τα εξής:


Σημειώστε ότι οι δύο μέθοδοι κλιμάκωσης που περιγράφονται δεν αλληλοαποκλείονται - μπορείτε να βελτιώσετε τα χαρακτηριστικά υλικού των μηχανημάτων (ονομάζονται επίσης κόμβοι) που χρησιμοποιούνται σε ένα σύστημα συμπλέγματος κλιμάκωσης.

Σε αυτό το άρθρο θα εστιάσουμε στην οριζόντια κλιμάκωση, αφού στις περισσότερες περιπτώσεις είναι προτιμότερη (φθηνότερη και αποτελεσματικότερη), αν και είναι πιο δύσκολη η εφαρμογή της με τεχνικό σημείοόραμα.

Δυσκολίες με τον διαχωρισμό δεδομένων

Υπάρχουν μερικά κολλώδη σημεία που εμφανίζονται κατά την κλιμάκωση εφαρμογών PHP. Το σημείο συμφόρησης εδώ είναι η βάση δεδομένων (θα μιλήσουμε περισσότερα για αυτό στο Μέρος 2 αυτής της σειράς).

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

Persistent Load Balancer

Ένας μόνιμος εξισορροπητής φορτίου θυμάται πού έγινε η επεξεργασία του προηγούμενου αιτήματος ενός συγκεκριμένου πελάτη και, στο επόμενο αίτημα, στέλνει το αίτημα εκεί.

Για παράδειγμα, εάν επισκέφτηκα τον ιστότοπό μας και συνδέθηκα εκεί, τότε το πρόγραμμα εξισορρόπησης φορτίου με ανακατευθύνει, ας πούμε, στον Server1, με θυμάται εκεί και την επόμενη φορά που θα κάνω κλικ, θα ανακατευθυνθώ ξανά στον Server1. Όλα αυτά μου συμβαίνουν εντελώς διάφανα.

Τι θα γινόταν όμως αν ο Server1 κατέρρευσε; Φυσικά, όλα τα δεδομένα συνεδρίας θα χαθούν και θα πρέπει να συνδεθώ ξανά σε νέο διακομιστή. Αυτό είναι πολύ δυσάρεστο για τον χρήστη. Επιπλέον, αυτό είναι ένα επιπλέον φορτίο για τον εξισορροπητή φορτίου: όχι μόνο θα χρειαστεί να ανακατευθύνει χιλιάδες άτομα σε άλλους διακομιστές, αλλά και να θυμάται πού τους ανακατεύθυνε.

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

Τοπική κοινή χρήση δεδομένων

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

Είναι γνωστό ότι τα δεδομένα περιόδου λειτουργίας αποθηκεύονται στον υπερ-σφαιρικό πίνακα PHP $_SESSION. Επίσης, δεν είναι μυστικό ότι αυτή η συστοιχία $_SESSION είναι αποθηκευμένη στον σκληρό δίσκο.

Αντίστοιχα, δεδομένου ότι ο δίσκος ανήκει σε ένα ή άλλο μηχάνημα, άλλοι δεν έχουν πρόσβαση σε αυτόν. Τότε πώς μπορούμε να το οργανώσουμε; γενική πρόσβασηγια πολλούς υπολογιστές;

Σημειώστε ότι οι χειριστές περιόδων σύνδεσης στην PHP μπορούν να παρακαμφθούν - μπορείτε να ορίσετε τη δική σας κλάση/συνάρτηση για τη διαχείριση των συνεδριών.

Χρησιμοποιώντας τη βάση δεδομένων

Χρησιμοποιώντας το δικό μας πρόγραμμα χειρισμού συνεδρίας, μπορούμε να είμαστε σίγουροι ότι όλες οι πληροφορίες συνεδρίας αποθηκεύονται στη βάση δεδομένων. Η βάση δεδομένων πρέπει να βρίσκεται σε ξεχωριστό διακομιστή (ή σε δικό της σύμπλεγμα). Σε αυτήν την περίπτωση, οι ομοιόμορφα φορτωμένοι διακομιστές θα επεξεργάζονται μόνο την επιχειρηματική λογική.

Αν και αυτή η προσέγγισηλειτουργεί αρκετά καλά σε περίπτωση υψηλή κίνηση, η βάση δεδομένων γίνεται όχι μόνο ένα ευάλωτο σημείο (αν τη χάσετε, χάνετε τα πάντα), θα είναι πολύ προσβάσιμη λόγω της ανάγκης εγγραφής και ανάγνωσης δεδομένων συνεδρίας.

Αυτό γίνεται άλλο ένα εμπόδιο στο σύστημά μας. Σε αυτήν την περίπτωση, μπορείτε να εφαρμόσετε κλίμακα πλάτους, η οποία είναι προβληματική όταν χρησιμοποιείτε παραδοσιακές βάσεις δεδομένων όπως η MySQL, η Postgre και άλλες παρόμοιες (αυτό το πρόβλημα θα καλυφθεί στο δεύτερο μέρος της σειράς).

Χρησιμοποιώντας ένα κοινόχρηστο σύστημα αρχείων

Μπορείτε να ρυθμίσετε ένα σύστημα αρχείων δικτύου στο οποίο θα έχουν πρόσβαση όλοι οι διακομιστές και θα λειτουργούν με δεδομένα περιόδου λειτουργίας. Δεν πρέπει να το κάνεις αυτό. Αυτή είναι μια εντελώς αναποτελεσματική προσέγγιση, με μεγάλη πιθανότητα απώλειας δεδομένων, και όλα λειτουργούν πολύ αργά.

Αυτός είναι ένας άλλος πιθανός κίνδυνος, ακόμη πιο επικίνδυνος από την περίπτωση της βάσης δεδομένων που περιγράφηκε παραπάνω. Η ενεργοποίηση του κοινόχρηστου συστήματος αρχείων είναι πολύ απλή: αλλάξτε την τιμή του session.save_path στο αρχείο php.ini, αλλά συνιστάται ανεπιφύλακτα να χρησιμοποιήσετε μια άλλη μέθοδο.

Εάν εξακολουθείτε να θέλετε να εφαρμόσετε την επιλογή κοινόχρηστου συστήματος αρχείων, τότε υπάρχει μια πολύ καλύτερη λύση - το GlusterFS.

Memcached

Μπορείτε να χρησιμοποιήσετε το memcached για να αποθηκεύσετε δεδομένα περιόδου σύνδεσης μνήμη τυχαίας προσπέλασης. Αυτή είναι μια πολύ μη ασφαλής μέθοδος, καθώς τα δεδομένα περιόδου λειτουργίας θα αντικατασταθούν μόλις εξαντληθεί ο ελεύθερος χώρος στο δίσκο.

Δεν υπάρχει επιμονή - τα δεδομένα σύνδεσης θα αποθηκευτούν όσο εκτελείται ο διακομιστής memcached και υπάρχει ελεύθερος χώρος για την αποθήκευση αυτών των δεδομένων.

Ίσως αναρωτιέστε - η RAM δεν είναι συγκεκριμένη για κάθε μηχανή; Πώς να εφαρμόσει αυτή τη μέθοδοστο σύμπλεγμα; Το Memcached έχει τη δυνατότητα να συνδυάζει ουσιαστικά όλη τη διαθέσιμη μνήμη RAM πολλών μηχανών σε έναν ενιαίο χώρο αποθήκευσης:

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

Ετσι, απαιτούμενο ποσόΗ μνήμη παραμένει στη διάθεση των υπολογιστών για τις δικές τους ανάγκες. Το υπόλοιπο χρησιμοποιείται για την αποθήκευση δεδομένων συνεδρίας για ολόκληρο το σύμπλεγμα.

Εκτός από τις συνεδρίες, η κρυφή μνήμη μπορεί επίσης να περιέχει οποιαδήποτε άλλα δεδομένα επιθυμείτε, το κυριότερο είναι ότι υπάρχουν αρκετά ελεύθερος χώρος. Το Memcached είναι μια εξαιρετική λύση που χρησιμοποιείται ευρέως.

Η χρήση αυτής της μεθόδου σε εφαρμογές PHP είναι πολύ εύκολη: απλά πρέπει να αλλάξετε την τιμή στο αρχείο php.ini:

session.save_handler = memcache session.save_path = "tcp://path.to.memcached.server:port"

Συστάδα Redis

Το Redis είναι ένας χώρος αποθήκευσης δεδομένων που δεν είναι SQL, στη μνήμη, όπως το Memcached, αλλά είναι μόνιμος και υποστηρίζει πιο σύνθετους τύπους δεδομένων από απλές συμβολοσειρές πίνακα PHP με τη μορφή ζευγών "key => value".

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

Σε σύγκριση με λύσεις όπως το Memcached, το Redis είναι μια διασταύρωση μεταξύ μιας κανονικής βάσης δεδομένων και του Memcached.

Κάθετη κλιμάκωση— κλιμάκωση — αύξηση του αριθμού των διαθέσιμων πόρων στο λογισμικό αυξάνοντας την ισχύ που χρησιμοποιείται από τους διακομιστές.

— κλιμάκωση — αύξηση του αριθμού των κόμβων που συνδυάζονται σε ένα σύμπλεγμα διακομιστών όταν υπάρχει έλλειψη CPU, μνήμης ή χώρου στο δίσκο.

Και οι δύο είναι λύσεις υποδομής που διαφορετικές καταστάσειςαπαιτείται όταν αναπτύσσεται ένα έργο web.

Κατακόρυφη και οριζόντια κλιμάκωση, κλιμάκωση για web

Για παράδειγμα, εξετάστε τους διακομιστές βάσης δεδομένων. Για μεγάλες εφαρμογέςαυτό είναι πάντα το πιο φορτωμένο στοιχείο του συστήματος.

Οι δυνατότητες κλιμάκωσης για διακομιστές βάσης δεδομένων καθορίζονται από τα ισχύοντα λύσεις λογισμικού: πιο συχνά αυτές είναι σχεσιακές βάσεις δεδομένων (MySQL, Postgresql) ή NoSQL(, Κασσάνδρα κ.λπ.).

Οριζόντια κλιμάκωση για διακομιστές βάσης δεδομένων όταν βαρέα φορτίαπολύ φθηνότερα

Ένα έργο Ιστού ξεκινά συνήθως σε έναν διακομιστή, οι πόροι του οποίου εξαντλούνται καθώς μεγαλώνει. Σε μια τέτοια περίπτωση, υπάρχουν 2 επιλογές:

  • μετακινήστε τον ιστότοπο σε έναν πιο ισχυρό διακομιστή
  • προσθέστε έναν άλλο διακομιστή χαμηλής κατανάλωσης και συνδυάστε μηχανές σε ένα σύμπλεγμα

Το MySQL είναι το πιο δημοφιλές RDBMS και, όπως οποιοδήποτε από αυτά, απαιτεί πολλούς πόρους διακομιστή για να εκτελεστεί υπό φόρτωση. Η κλιμάκωση είναι δυνατή κυρίως προς τα πάνω. Υπάρχει διαμοιρασμός (που απαιτεί αλλαγές κώδικα για τη διαμόρφωση) και διαμοιρασμός, που μπορεί να είναι δύσκολο να υποστηριχθεί.

Κάθετη κλιμάκωση

Το NoSQL κλιμακώνεται εύκολα και η δεύτερη επιλογή, για παράδειγμα, με το MongoDB θα είναι πολύ πιο κερδοφόρα οικονομικά και δεν θα απαιτεί ρυθμίσεις έντασης εργασίας και υποστήριξη για τη λύση που προκύπτει. Η κοινή χρήση πραγματοποιείται αυτόματα.

Έτσι, με τη MySQL θα χρειαστείτε έναν διακομιστή με μεγάλο ποσό CPU και RAM, τέτοιοι διακομιστές έχουν σημαντικό κόστος.

Οριζόντια κλιμάκωση
Με το MongoDB μπορείτε προσθέστε ένα ακόμα μέσο διακομιστή και η προκύπτουσα λύση θα λειτουργεί σταθερά, δίνοντας πρόσθετη ανοχή σφαλμάτων.


Scale-outή αποτελεί φυσικό στάδιο ανάπτυξης υποδομών. Οποιοσδήποτε διακομιστής έχει περιορισμούς και όταν προσεγγιστούν ή όταν το κόστος ενός πιο ισχυρού διακομιστή αποδειχθεί αδικαιολόγητα υψηλό, προστίθενται νέα μηχανήματα. Το φορτίο κατανέμεται μεταξύ τους. Παρέχει επίσης ανοχή σφαλμάτων.

Θα πρέπει να αρχίσετε να προσθέτετε διακομιστές μεσαίου μεγέθους και να δημιουργείτε συμπλέγματα όταν έχουν εξαντληθεί οι δυνατότητες αύξησης των πόρων ενός μηχανήματος ή όταν η αγορά ενός ισχυρότερου διακομιστή αποδεικνύεται ασύμφορη

Το παράδειγμα που δίνεται με τις σχεσιακές βάσεις δεδομένων και το NoSQL είναι μια κατάσταση που εμφανίζεται πιο συχνά. Οι διακομιστές frontend και backend είναι επίσης επεκτάσιμοι.

Διαβάστε για τον εξισορροπητή

Oleg Spiryaev

ΣΕ ΠρόσφαταΣυχνά αναφέρεται ότι οι διακομιστές μεσαίας και υψηλού επιπέδου αντικαθίστανται ενεργά από ομάδες διακομιστών επίπεδο εισόδου, συνδυασμένα σε ράφια ή συμπλέγματα. Ωστόσο, ορισμένοι ειδικοί διαφωνούν. Έτσι, σύμφωνα με την Dataquest, το μερίδιο των μοντέλων με τιμή από 500 χιλιάδες δολάρια και άνω (αυτό περιλαμβάνει διακομιστές SMP μεσαίας κατηγορίας και υψηλής ποιότητας) στις συνολικές πωλήσεις διακομιστών από το 2000 έως το 2002 αυξήθηκε από 38 σε 52%.

Άλλα δεδομένα που ελήφθησαν από την IDC δείχνουν ανάπτυξη (σύμφωνα με τουλάχιστον, κατά αριθμό μηχανημάτων) στον τομέα των μοντέλων διακομιστών χαμηλού επιπέδου - με δύο επεξεργαστές. Η IDC προβλέπει επίσης ότι το 2005 το πιο κοινό λειτουργικό σύστημα για διακομιστές που κοστίζουν από 50.000 έως 3 εκατομμύρια δολάρια θα είναι το Unix. Συγκρίνοντας αυτά τα δεδομένα, είναι σαφές ότι οι διακομιστές Unix μεσαίας και υψηλού επιπέδου θα παραμείνουν η κυρίαρχη πλατφόρμα για τα κέντρα δεδομένων, αλλά θα συμπληρώνονται από έναν αυξανόμενο αριθμό μικρότερων διακομιστών (συνήθως διπλού επεξεργαστή).

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

Κατακόρυφες και οριζόντιες αρχιτεκτονικές

Ας δούμε τις κύριες διαφορές μεταξύ κάθετων και οριζόντιων αρχιτεκτονικών. Οι διακομιστές κλιμάκωσης είναι μεγάλα συστήματα SMP (συμμετρική πολυεπεξεργασία ή κοινόχρηστη μνήμη) με περισσότερες από τέσσερις κεντρικές μονάδες επεξεργασίας. Χρησιμοποιούν μόνο ένα αντίγραφο του λειτουργικού συστήματος, διευθυντής εργασίαςόλους τους επεξεργαστές, τη μνήμη και τα στοιχεία I/O. Συνήθως, όλοι αυτοί οι πόροι στεγάζονται σε ένα ράφι ή ντουλάπι. Αυτοί οι διακομιστές διασυνδέονται μέσω κεντρικού ή backplane υψηλής ταχύτητας με χαμηλό λανθάνοντα χρόνο και συνεκτική πρόσβαση στην κρυφή μνήμη. Μπορείτε να προσθέσετε πόρους εγκαθιστώντας πρόσθετες πλακέτες συστήματος μέσα στο ντουλάπι. Σε συστήματα κάθετης αρχιτεκτονικής (ή συστήματα SMP), η μνήμη είναι κοινόχρηστη, που σημαίνει ότι όλοι οι επεξεργαστές και τα στοιχεία I/O έχουν πρόσβαση σε όλη τη μνήμη. Ο χρήστης «βλέπει» τη μνήμη ως ένα ενιαίο μεγάλο αντικείμενο.

Εναλλακτικά, η οριζόντια κλιμάκωση, τα συστήματα συνδέονται μέσω δικτύου ή συγκεντρώνονται μεταξύ τους. Οι διασυνδέσεις συνήθως χρησιμοποιούν τυπικές τεχνολογίες δικτύου όπως π.χ Γρήγορο Ethernet, Gigabit Ethernet (GBE) και Scalable Coherent Interconnect (SCI), που προσφέρουν χαμηλότερη απόδοση και υψηλότερο λανθάνοντα χρόνο σε σύγκριση με τα κατακόρυφα συστήματα. Οι πόροι σε αυτήν την περίπτωση κατανέμονται μεταξύ κόμβων, που συνήθως περιέχουν από έναν έως τέσσερις επεξεργαστές. Κάθε κόμβος έχει τον δικό του επεξεργαστή και μνήμη και μπορεί να έχει το δικό του υποσύστημα I/O ή να το μοιράζεται με άλλους κόμβους. Λειτουργεί σε κάθε κόμβο ξεχωριστό αντίγραφο OS. Οι πόροι επεκτείνονται με την προσθήκη κόμβων, αλλά όχι με την προσθήκη πόρων σε έναν κόμβο. Η μνήμη σε οριζόντια συστήματα κατανέμεται, δηλαδή κάθε κόμβος έχει δική μνήμη, στο οποίο έχουν άμεση πρόσβαση οι επεξεργαστές και το υποσύστημά του I/O. Η πρόσβαση σε αυτούς τους πόρους από έναν άλλο κόμβο είναι πολύ πιο αργή από ό,τι από τον κόμβο όπου βρίσκονται. Επιπλέον, με μια οριζόντια αρχιτεκτονική, δεν υπάρχει συνεπής πρόσβαση μεταξύ των κόμβων στη μνήμη και οι εφαρμογές που χρησιμοποιούνται καταναλώνουν σχετικά λίγους πόρους, επομένως «ταιριάζουν» σε έναν μόνο κόμβο και δεν χρειάζονται συνεπή πρόσβαση. Εάν μια εφαρμογή απαιτεί πολλούς κόμβους, πρέπει να παρέχει η ίδια συνεπή πρόσβαση στη μνήμη.

Εάν ένα οριζόντιο σύστημα πληροί τις απαιτήσεις εφαρμογής, τότε αυτή η αρχιτεκτονική είναι προτιμότερη γιατί το κόστος απόκτησής του είναι χαμηλότερο. Συνήθως, το κόστος απόκτησης ανά επεξεργαστή για οριζόντια συστήματα είναι χαμηλότερο από ότι για κάθετα συστήματα. Η διαφορά στην τιμή οφείλεται στο γεγονός ότι τα κατακόρυφα συστήματα χρησιμοποιούν πιο ισχυρά χαρακτηριστικά RAS (αξιοπιστία, διαθεσιμότητα, δυνατότητα εξυπηρέτησης), καθώς και διασυνδέσεις υψηλής απόδοσης. Ωστόσο, υπάρχουν ορισμένοι περιορισμοί στη χρήση συστημάτων με οριζόντια αρχιτεκτονική. Παρακάτω θα συζητήσουμε υπό ποιες συνθήκες μπορούν να χρησιμοποιηθούν οριζόντια συστήματα και πότε είναι απαραίτητη η κατακόρυφη κλιμάκωση.

Εκτός από έναν μεγάλο διακομιστή SMP, η κατακόρυφη αρχιτεκτονική περιλαμβάνει επίσης συμπλέγματα μεγάλων διακομιστών SMP που χρησιμοποιούνται για μια μεμονωμένη εφαρμογή μεγάλης κλίμακας.

Οι πρόσφατοι αρθρωτοί διακομιστές ή blade διακομιστές που εισήχθησαν στην αγορά, συνήθως εξοπλισμένοι με έναν ή δύο επεξεργαστές, αποτελούν παράδειγμα οριζόντιων διακομιστών. Εδώ το σύμπλεγμα αποτελείται από μικρούς κόμβους, καθένας από τους οποίους έχει έναν διακομιστή SMP εισαγωγικού επιπέδου με τον αριθμό των κεντρικών επεξεργαστών από 1 έως 4.

Ένας άλλος τρόπος μείωσης είναι με μεγάλα, μαζικά παράλληλα συστήματα υπολογιστών (MPP) που αποτελούνται από πολλά εγκατεστημένα σε ένα ενιαίο ντουλάπι μικρούς επεξεργαστές, καθένα από τα οποία έχει το δικό του αντίγραφο του λειτουργικού συστήματος ή ένα αντίγραφο του μικροπυρήνα του λειτουργικού συστήματος. Επί του παρόντος, παράγονται μόνο μερικά συστήματα MPP, τα οποία τις περισσότερες φορές αντιπροσωπεύουν εξειδικευμένες λύσεις. Αυτά είναι, για παράδειγμα, συστήματα Terradata που κατασκευάζονται από τις NCR, IBM RS/6000SP (SP-2) και HP Tandem χωρίς διακοπή.

Πίνακας 1. Χαρακτηριστικά κατακόρυφων και οριζόντιων αρχιτεκτονικών

Παράμετρος Κάθετα συστήματα Οριζόντια συστήματα
Μνήμη Μεγάλο κοινόχρηστο Μικρό αφιερωμένο
Ρεύματα Πολλά αλληλοεξαρτώμενα νήματα Πολλά ανεξάρτητα νήματα
Διασυνδέσεις Σφιχτά συνδεδεμένο εσωτερικό Χαλαρά συνδεδεμένο εξωτερικό
RAS Ισχυρό RAS ενιαίο σύστημα Ισχυρό RAS που χρησιμοποιεί αναπαραγωγή
Κεντρικές μονάδες επεξεργασίας Πολλά στάνταρ Πολλά στάνταρ
OS Ένα αντίγραφο του λειτουργικού συστήματος για πολλούς κεντρικούς επεξεργαστές Πολλά αντίγραφα του λειτουργικού συστήματος (ένα αντίγραφο για 1-4 επεξεργαστές)
Διάταξη Σε μια ντουλάπα Κατάλυμα μεγάλος αριθμόςδιακομιστές σε ράφι
Πυκνότητα Υψηλής πυκνότηταςτοποθέτηση επεξεργαστών ανά μονάδα επιφάνειας ορόφου
Εξοπλισμός Στάνταρ και ειδικά σχεδιασμένο Πρότυπο
Απολέπιση Μέσα σε ένα πλαίσιο διακομιστή Σε κλίμακα πολλών διακομιστών
Επέκταση Εγκαθιστώντας πρόσθετα στοιχεία στον διακομιστή Με την προσθήκη νέων κόμβων
Αρχιτεκτονική 64-bit 32 και 64 bit

Τραπέζι 1 επιτρέπει μια συγκριτική ανάλυση κάθετων και οριζόντιων αρχιτεκτονικών.

  • Τα κάθετα συστήματα μοιράζονται τη μνήμη και παρέχουν συνεπή πρόσβαση στην κρυφή μνήμη.
  • Τα κάθετα συστήματα είναι ιδανικά για ροές εργασιών που πρέπει να επικοινωνούν μεταξύ τους.
  • Τα κάθετα συστήματα χαρακτηρίζονται από ισχυρές λειτουργίες RAS και σε οριζόντια συστήματα, η διαθεσιμότητα υλοποιείται με τη χρήση μαζικής αναπαραγωγής (πολλοί κόμβοι συνδέονται σε ένα σύμπλεγμα, επομένως η αποτυχία ενός από αυτούς έχει μικρή επίδραση στη λειτουργία ολόκληρου του συστήματος).
  • Στα κάθετα συστήματα, ένα αντίγραφο του ΛΣ καλύπτει όλους τους πόρους. Ορισμένα κατακόρυφα συστήματα, όπως τα μεσαία πλαίσια και οι διακομιστές υψηλής κατηγορίαςΗ Sun Microsystems (Sun Fire 4800 έως Sun Fire 15K), μπορεί να χωριστεί σε μικρότερους κατακόρυφους διακομιστές.
  • Τα κάθετα συστήματα χρησιμοποιούν όσο το δυνατόν περισσότερα τυπικά εξαρτήματα, αλλά ορισμένα βασικά στοιχεία (όπως οι διασυνδέσεις) είναι ειδικά σχεδιασμένα.
  • Τα κάθετα συστήματα μπορούν να επεκταθούν εγκαθιστώντας πρόσθετα στοιχεία στο υπάρχον πλαίσιο (πιο ισχυροί επεξεργαστές, πρόσθετη μνήμη, πρόσθετες και υψηλότερης απόδοσης συνδέσεις I/O κ.λπ.). Τα οριζόντια συστήματα επεκτείνονται προσθέτοντας έναν κόμβο ή αντικαθιστώντας παλιούς κόμβους με νέους.
  • Σχεδόν όλα τα κατακόρυφα συστήματα είναι 64-bit, ενώ τα οριζόντια συστήματα μπορεί να είναι είτε 32-bit είτε 64-bit.

Τα κάθετα συστήματα είναι καλύτερα κατάλληλα για ορισμένους τύπους εφαρμογών και τα οριζόντια συστήματα για άλλους, αλλά σε πολλές περιπτώσεις η βέλτιστη επιλογή αρχιτεκτονικής εξαρτάται από το μέγεθος του προβλήματος. Στον πίνακα Το 2 δείχνει παραδείγματα εφαρμογών για τις οποίες η κατακόρυφη ή οριζόντια αρχιτεκτονική είναι η βέλτιστη.

Πίνακας 2. Τύποι εφαρμογών για κάθετες και οριζόντιες αρχιτεκτονικές

Οι μικροί και αρθρωτοί διακομιστές είναι κατάλληλοι για εφαρμογές που δεν έχουν κράτος, μικρής κλίμακας και αναπαράγονται εύκολα. Και για εφαρμογές που χρησιμοποιούν πληροφορίες κατάστασης και μεγάλους όγκους δεδομένων που απαιτούν εντατική μεταφορά δεδομένων εντός του συστήματος, οι κάθετοι διακομιστές είναι η ιδανική λύση. Στην αγορά τεχνικών υπολογιστών υψηλής απόδοσης (HPTC), υπάρχουν πολλές εφαρμογές στις οποίες τα νήματα εξαρτώνται το ένα από το άλλο και ανταλλάσσουν δεδομένα μεταξύ τους. Υπάρχουν επίσης εφαρμογές που απαιτούν μεγάλες ποσότητες κοινόχρηστης μνήμης. Οι μεγάλοι διακομιστές SMP είναι οι πλέον κατάλληλοι για αυτούς τους δύο τύπους εφαρμογών. Ωστόσο, υπάρχουν και εφαρμογές HPTC στις οποίες τα νήματα εκτέλεσης είναι ανεξάρτητα και δεν απαιτούν μεγάλες ποσότητες κοινόχρηστης μνήμης. Τέτοιες εφαρμογές μπορούν να χωριστούν, καθιστώντας τα συμπλέγματα μικρών διακομιστών ιδανικά για την εκτέλεση τους. Ομοίως, ορισμένες εμπορικές εφαρμογές είναι διαμερισμένες και οι οριζόντιοι διακομιστές είναι βέλτιστοι για αυτές, ενώ άλλες δεν μπορούν να χωριστούν και έτσι καλύτερη πλατφόρμα- αυτοί είναι κάθετοι διακομιστές.

Παράγοντες που επηρεάζουν την απόδοση

Όλα τα μεγάλα κέντρα δεδομένων είναι παράλληλοι υπολογιστές. Εδώ, ακόμη και οι συστάδες μπορούν να θεωρηθούν ως ένας ειδικός τύπος παράλληλων συστημάτων. Η υψηλή απόδοση απαιτεί ένα ισορροπημένο σύστημα με ισχυρούς επεξεργαστές, διασυνδέσεις υψηλής ταχύτητας και I/O, ένα επεκτάσιμο λειτουργικό σύστημα, βελτιστοποιημένες εφαρμογές και προηγμένες δυνατότητες RAS.

Επεξεργαστές και διασυνδέσεις συστήματος

Οι επεξεργαστές είναι σίγουρα ένα ουσιαστικό στοιχείο, αλλά καθορίζουν μόνο εν μέρει τη συνολική απόδοση ενός συστήματος. Είναι πιο σημαντικό να διασφαλιστεί ότι οι επεξεργαστές λειτουργούν στη μέγιστη χωρητικότητα. U ισχυρός επεξεργαστής, ο οποίος είναι φορτωμένος μόνο κατά 50%, θα έχει χειρότερη απόδοση από έναν πιο αργό επεξεργαστή που είναι φορτωμένος κατά 80%.

Επιπλέον, καθώς αυξάνεται ο αριθμός των επεξεργαστών σε ένα παράλληλο σύστημα, το σύστημα διασυνδέεται και όχι η ισχύς του επεξεργαστή έρχεται στο προσκήνιο. Είναι υπεύθυνοι για τη μεταφορά δεδομένων από το δίσκο, από τη μνήμη και από το δίκτυο στον επεξεργαστή. Σε ένα σύμπλεγμα, η διασύνδεση είναι μια σύνδεση δικτύου, όπως το Fast Ethernet ή το Gigabit Ethernet. Οι διασυνδέσεις συμπλέγματος μετακινούν δεδομένα μεταξύ κόμβων, ενώ οι διασυνδέσεις συστήματος μετακινούν δεδομένα εντός ξεχωριστό σύστημα. Εάν η διασύνδεση είναι πολύ αργή, ο επεξεργαστής θα είναι σε αδράνεια και περιμένει δεδομένα.

Οι διασυνδέσεις συστήματος χρησιμοποιούνται επίσης για τη μετακίνηση διευθύνσεων δεδομένων, κάτι που είναι απαραίτητο για την υποστήριξη της συνοχής της κρυφής μνήμης. Εάν η διασύνδεση του συστήματος είναι πολύ αργή στη μετάδοση διευθύνσεων δεδομένων, ο επεξεργαστής θα παραμείνει ξανά σε αδράνεια περιμένοντας δεδομένα επειδή πρέπει να γνωρίζει τη διεύθυνσή του για να έχει πρόσβαση σε αυτά. Οι γρήγορες διασυνδέσεις παρέχουν υψηλή απόδοση και χαμηλή καθυστέρηση (χαμηλός χρόνος από τη στιγμή που υποβάλλεται ένα αίτημα δεδομένων έως ότου αρχίσουν να μεταδίδονται τα δεδομένα).

Η κύρια τεχνική διαφορά μεταξύ οριζόντιων και κάθετων συστημάτων είναι η απόδοση και η καθυστέρηση των διασυνδέσεών τους. Για διασυνδέσεις συμπλέγματος, η απόδοση μπορεί να κυμαίνεται από 125 MB/s για Fast Ethernet έως 200 MB/s για SCI και η καθυστέρηση μπορεί να κυμαίνεται από 100 χιλιάδες ns για GBE και έως 10 χιλιάδες ns για SCI. Χρησιμοποιώντας τη διεπαφή InfiniBand, είναι δυνατή η υλοποίηση γρηγορότερων διασυνδέσεων με ταχύτητες αιχμής που κυμαίνονται από περίπου 250 MB/s για την πρώτη έκδοση και έως 3 GB/s για τις επόμενες.

Είσοδος και έξοδος

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

λειτουργικό σύστημα

Ακόμη και καλύτερο εξοπλισμόαποδεικνύεται αναποτελεσματικό εάν το λειτουργικό σύστημα δεν είναι επαρκώς επεκτάσιμο. Για οριζόντια συστήματα, η επεκτασιμότητα του λειτουργικού συστήματος δεν είναι τόσο σημαντική, επειδή δεν εκτελούνται περισσότεροι από τέσσερις επεξεργαστές σε έναν μόνο κόμβο ή με ένα ξεχωριστό αντίγραφο του λειτουργικού συστήματος.

Διαθεσιμότητα συστήματος

Σε γενικές γραμμές, η διαθεσιμότητα του συστήματος εξαρτάται σε μεγάλο βαθμό από τον τύπο της αρχιτεκτονικής. Σε μεγάλα συστήματα SMP, η λειτουργικότητα RAS είναι ενσωματωμένη στο σύστημα και συμπληρώνεται με failover για δύο έως τέσσερις κόμβους. Σε οριζόντια συστήματα, το RAS μεμονωμένων κόμβων είναι χειρότερο, αλλά οι βελτιώσεις σε αυτές τις λειτουργίες επιτυγχάνονται με την πολλαπλή αναπαραγωγή κόμβων.

Βελτιστοποιημένες Εφαρμογές

Οι εφαρμογές πρέπει να βελτιστοποιηθούν για την αρχιτεκτονική υπολογιστικό σύστημα. Είναι πιο εύκολο να γράψετε και να βελτιστοποιήσετε εφαρμογές για συστήματα SMP. Οι μεγάλες εμπορικές εφαρμογές έχουν βελτιστοποιηθεί ειδικά για συστήματα SMP και μάλιστα αναπτύχθηκαν σε αυτά, γι' αυτό και τα SMP κυριαρχούν στην αγορά συστημάτων μεσαίας και προηγμένης κατηγορίας τα τελευταία δέκα χρόνια.

Μέγεθος εφαρμογής

Όπως σημειώθηκε, τα μεγάλα συστήματα SMP χρησιμοποιούν διασυνδέσεις υψηλής ταχύτητας για να παρέχουν επαρκή απόδοση του συστήματος. Τα οριζόντια συστήματα ενδέχεται να αντιμετωπίσουν προβλήματα απόδοσης λόγω χαμηλής απόδοσης και υψηλής καθυστέρησης διασύνδεσης σε περιπτώσεις όπου τα δεδομένα πρέπει να μεταφέρονται συχνά μεταξύ των κόμβων. Ωστόσο, ορισμένες εφαρμογές δεν απαιτούν υψηλές ταχύτητες διασύνδεσης για να επιτύχουν υψηλή απόδοση—συνήθως μικρές εφαρμογές και εφαρμογές που μπορούν να αναπαραχθούν εύκολα (για παράδειγμα, διακομιστές Web, διακομιστές μεσολάβησης, τείχη προστασίας και μικροί διακομιστές εφαρμογών). Σε τέτοια οριζόντια συστήματα, κάθε κόμβος εκτελεί μια μικρή εργασία ανεξάρτητα από την εργασία όλων των άλλων.

Για παράδειγμα, σε μια αρχιτεκτονική οριζόντιας (ή κατανεμημένης μνήμης), τέσσερις κόμβοι επεξεργαστή (ο καθένας με ξεχωριστή μνήμη RAM και αποκλειστικό ή κοινόχρηστο υποσύστημα I/O) μπορούν να χρησιμοποιούν μια διασύνδεση δικτύου όπως το Gigabit Ethernet. Αυτό το υπολογιστικό περιβάλλον εκτελεί τρεις τύπους φόρτου εργασίας. Το μικρότερο φορτίο χωράει σε έναν κόμβο, αλλά καθώς αυξάνεται, απαιτούνται αρκετοί κόμβοι για να ολοκληρωθεί. Σύμφωνα με τους ειδικούς, όταν εκτελείτε μια εργασία σε πολλούς κόμβους, η απόδοση μειώνεται σημαντικά λόγω αργών διασυνδέσεων μεταξύ κόμβων. Οι μικροί φόρτοι εργασίας που δεν χρειάζεται να επικοινωνούν μεταξύ τους λειτουργούν καλά με μια οριζόντια αρχιτεκτονική, αλλά η εκτέλεση φόρτου εργασίας μεγάλης κλίμακας σε αυτήν παρουσιάζει προκλήσεις.

Διαμόρφωση μεγάλο σύστημαΤο SMP μπορεί να περιλαμβάνει, για παράδειγμα, έως 100 επεξεργαστές, 576 GB κοινόχρηστης μνήμης και διασυνδέσεις υψηλής ταχύτητας. Ένα τέτοιο σύστημα μπορεί να χειριστεί όλους τους τύπους φόρτου εργασίας επειδή δεν υπάρχει επικοινωνία μεταξύ των κόμβων και αποτελεσματική επικοινωνία μεταξύ των διεργασιών. Ολα κεντρικές μονάδες επεξεργασίαςμπορεί ταυτόχρονα να έχει πρόσβαση σε όλους τους δίσκους, σε όλες τις συνδέσεις μνήμης και δικτύου - αυτό βασικό χαρακτηριστικόΣυστήματα SMP (ή κάθετα συστήματα).

Συχνά τίθεται το ερώτημα σχετικά με τη σκοπιμότητα της τοποθέτησης μικρών φορτίων σε μεγάλα SMP. Αν και μέσα τεχνικάΑυτό είναι δυνατό· από οικονομική άποψη, αυτή η προσέγγιση δεν δικαιολογείται. Για μεγάλα SMP, το κόστος απόκτησης ανά επεξεργαστή είναι υψηλότερο από ό,τι για μικρά συστήματα. Επομένως, εάν μια εφαρμογή μπορεί να εκτελεστεί σε έναν μικρό κόμβο (ή σε πολλούς μικρούς κόμβους) χωρίς σημαντικά προβλήματα διαχείρισης, η αναβάθμιση είναι καλύτερη επιλογή για ανάπτυξη. Αλλά εάν η εφαρμογή είναι πολύ μεγάλη και δεν μπορεί να εκτελεστεί σε έναν μικρό κόμβο (ή σε πολλούς τέτοιους κόμβους), τότε ένας μεγάλος διακομιστής SMP θα είναι η καλύτερη επιλογή τόσο όσον αφορά την απόδοση όσο και διαχείριση συστήματος.

Απόδοση σε επίπεδο βάσης δεδομένων

Το κύριο ερώτημα εδώ είναι να συγκρίνουμε την απόδοση μεμονωμένων διακομιστών μεσαίου και μεγάλου SMP με ένα σύμπλεγμα μικρών διακομιστών (όχι περισσότερους από τέσσερις επεξεργαστές).

Όταν συζητούν την επεκτασιμότητα, οι κατασκευαστικές εταιρείες χρησιμοποιούν έναν αριθμό τεχνικών όρων. Έτσι, η αύξηση της απόδοσης (Speedup) για το SMP ορίζεται ως ο λόγος των ταχυτήτων εκτέλεσης της εφαρμογής σε πολλούς επεξεργαστές και σε έναν. Η γραμμική επιτάχυνση σημαίνει, για παράδειγμα, ότι σε 40 επεξεργαστές μια εφαρμογή εκτελείται 40 φορές (40x) πιο γρήγορα από ό,τι σε έναν. Η αύξηση της απόδοσης δεν εξαρτάται από τον αριθμό των επεξεργαστών, δηλαδή για μια διαμόρφωση 24 επεξεργαστών θα είναι η ίδια όπως για 48 επεξεργαστές. Η αύξηση της απόδοσης συμπλέγματος (Cluster speedup) διαφέρει μόνο στο ότι κατά τον υπολογισμό της, λαμβάνεται ο αριθμός των κόμβων και όχι ο αριθμός των επεξεργαστών. Όπως και η αύξηση της απόδοσης SMP, η αύξηση της απόδοσης του συμπλέγματος παραμένει σταθερή για διαφορετικούς αριθμούςκόμβους

Η αποδοτικότητα κλιμάκωσης χαρακτηρίζει την ικανότητα των εφαρμογών, ειδικά των ομαδοποιημένων, να κλιμακώνονται σε μεγάλο αριθμό κόμβων. Γενικά πιστεύεται ότι η απόδοση κλιμάκωσης εξαρτάται από τον αριθμό των κόμβων που συμμετέχουν στη μέτρηση. Η αποδοτικότητα κλιμάκωσης SMP είναι η αύξηση της απόδοσης διαιρούμενη με τον αριθμό των επεξεργαστών και η αποτελεσματικότητα συμπλέγματος είναι η αύξηση στην απόδοση του συμπλέγματος διαιρούμενη με τον αριθμό των κόμβων σε αυτό. Πρέπει να καταλάβετε τι σημαίνουν αυτές οι παράμετροι, ώστε να μην έχετε λανθασμένη εικόνα, επειδή η απόδοση κλιμάκωσης 90% σε δύο κόμβους δεν είναι ίδια με την απόδοση κλιμάκωσης 90% σε τέσσερις κόμβους.

Στο Σχ. Το σχήμα 2 δείχνει τρία γραφήματα: ιδανική γραμμική επεκτασιμότητα, επεκτασιμότητα ενός διακομιστή SMP 24 επεξεργαστών στο 95% και επεκτασιμότητα ενός συμπλέγματος δύο διακομιστών με 4 επεξεργαστές στο 90%. Μπορεί να φανεί ότι υπάρχουν ορισμένοι περιορισμοί στην επεκτασιμότητα των βάσεων δεδομένων σε συστάδες (με οριζόντια κλιμάκωση). Η σύνδεση πολλών μικρών διακομιστών μαζί δεν παρέχει την επεκτασιμότητα που απαιτείται για μεσαίες έως μεγάλες εφαρμογές. Ο λόγος για αυτό είναι οι περιορισμοί εύρους ζώνης των ενδοσυστάδων διασυνδέσεων, η πρόσθετη επιβάρυνση του λογισμικού της βάσης δεδομένων που σχετίζεται με τη διαχείριση συστάδων και η δυσκολία εγγραφής εφαρμογών για περιβάλλοντα συμπλέγματος κατανεμημένης μνήμης.

Τα δημοσιευμένα αποτελέσματα συγκριτικής αξιολόγησης δείχνουν, για παράδειγμα, ότι το Oracle9i RAC (Real Application Cluster) έχει κέρδος απόδοσης 1,8 και απόδοση κλιμάκωσης 90%. Αυτή η αποδοτικότητα επεκτασιμότητας μπορεί να φαίνεται αρκετά υψηλή, αλλά στην πραγματικότητα, η επεκτασιμότητα 90% για τέσσερις κόμβους είναι αναποτελεσματική σε σύγκριση με τα αποτελέσματα μεγάλων διακομιστών SMP.

Απόδοση σε επίπεδο εφαρμογής

Το επίπεδο εφαρμογής σε ένα κέντρο δεδομένων τριών επιπέδων είναι πολύ διαφορετικό από το επίπεδο βάσης δεδομένων. Συνήθως, οι εφαρμογές σε αυτό το επίπεδο είναι ανύπαρκτες - με άλλα λόγια, δεν αποθηκεύονται δεδομένα στον ίδιο τον διακομιστή ή αποθηκεύεται μόνο ένα μικρό μέρος τους. Αυτό το επίπεδο περιέχει επιχειρηματικούς κανόνες για υπηρεσίες εφαρμογών. Οι συναλλαγές έρχονται στο επίπεδο εφαρμογής και διεκπεραιώνονται από αυτό. Όταν τα δεδομένα πρέπει να γραφτούν ή να διαβαστούν, οι συναλλαγές μεταβιβάζονται στο επίπεδο της βάσης δεδομένων. Οι διακομιστές εφαρμογών τείνουν να ενοποιούν τις συνδέσεις βάσης δεδομένων, επειδή ο μεγάλος αριθμός συνδέσεων έχει αρνητικό αντίκτυπο στην απόδοση.

Στις περισσότερες περιπτώσεις, το επίπεδο διακομιστή εφαρμογών απαιτεί πολύ περισσότερους επεξεργαστές από το επίπεδο βάσης δεδομένων ανά μεμονωμένη υπηρεσία εφαρμογής. Για παράδειγμα, στην περίπτωση του SAP R/3, αυτή η αναλογία είναι περίπου 10 επεξεργαστές για κάθε επεξεργαστή βάσης δεδομένων, δηλαδή, εάν το SAP R/3 απαιτεί 20 επεξεργαστές για το επίπεδο βάσης δεδομένων, τότε θα πρέπει να υπάρχουν περίπου 200 επεξεργαστές για το επίπεδο εφαρμογής. Το ερώτημα είναι τι είναι πιο κερδοφόρο να αναπτυχθεί - 100 διακομιστές δύο επεξεργαστών ή δέκα διακομιστές 20 επεξεργαστών. Ομοίως, στην Oracle η αναλογία των επεξεργαστών εφαρμογών προς τους επεξεργαστές βάσεων δεδομένων είναι περίπου 5 προς 1.

Πιστεύεται ότι οι διακομιστές εφαρμογών δεν χρειάζεται να διανέμονται σε πολλούς κόμβους. Πολλαπλά αντίγραφα λογισμικού εφαρμογών μπορούν να διανεμηθούν σε διαφορετικούς φυσικούς διακομιστές διαφορετική δύναμηή από δυναμικούς τομείς μεγάλων διακομιστών.

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

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

Το κόστος της διαχείρισης του συστήματος είναι δύσκολο να μετρηθεί. Τυπικά μοντέλα για σύγκριση οριζόντιας και κάθετης ανάπτυξης διακομιστές εφαρμογώνδείχνουν ότι η διαχείριση λιγότερων, πιο ισχυρών διακομιστών (κάθετοι διακομιστές) είναι λιγότερο δαπανηρή από τη διαχείριση πολλών μικρότερων διακομιστών. Γενικά, όταν επιλέγουν τον τύπο της αρχιτεκτονικής για την ανάπτυξη ενός επιπέδου εφαρμογής, οι διαχειριστές IT θα πρέπει να εξετάζουν προσεκτικά το κόστος απόκτησης υλικού.

Επίδραση της αρχιτεκτονικής στη διαθεσιμότητα

Η διαθεσιμότητα είναι κρίσιμη για τα σύγχρονα κέντρα δεδομένων - οι υπηρεσίες εφαρμογών πρέπει να είναι διαθέσιμες 24x7x365 (24 ώρες την ημέρα, 7 ημέρες την εβδομάδα, 365 ημέρες το χρόνο). Ανάλογα με τις ανάγκες ενός συγκεκριμένου κέντρου δεδομένων, χρησιμοποιούνται διαφορετικά σχήματα υψηλής διαθεσιμότητας. Για να επιλέξετε μια συγκεκριμένη λύση, είναι απαραίτητο να προσδιορίσετε τον αποδεκτό χρόνο διακοπής λειτουργίας (προγραμματισμένο και μη). Στο Σχ. Το Σχήμα 3 δείχνει πώς το ποσοστό διαθεσιμότητας επηρεάζει τη διάρκεια του χρόνου διακοπής λειτουργίας.

Καθώς αυξάνονται οι απαιτήσεις διαθεσιμότητας, αυξάνεται και το κόστος της λύσης. Οι διαχειριστές κέντρων δεδομένων πρέπει να καθορίσουν ποιος συνδυασμός κόστους, πολυπλοκότητας και διαθεσιμότητας ο καλύτερος τρόποςπληροί τις απαιτήσεις επιπέδου εξυπηρέτησης. Τα κέντρα δεδομένων που απαιτούν περίπου 99,95% διαθεσιμότητα μπορούν να αναπτύξουν έναν μόνο διακομιστή SMP με δυνατότητες RAS, όπως πλήρης πλεονασμός υλικού και ηλεκτρονική συντήρηση.

Ωστόσο, για να επιτευχθεί διαθεσιμότητα μεγαλύτερη από 99,95%, απαιτείται σύμπλεγμα. Το λογισμικό Sun Cluster με ανακατεύθυνση HA (High Availability) παρέχει 99,975% διαθεσιμότητα. Το HA failover χρησιμοποιεί έναν πρωτεύοντα διακομιστή και μια hot αναμονή. Εάν ο κύριος διακομιστής αποτύχει, ο εφεδρικός διακομιστής αναλαμβάνει το φορτίο του. Ο χρόνος που χρειάζεται για την επανεκκίνηση μιας υπηρεσίας ποικίλλει ανάλογα με την εφαρμογή και μπορεί να διαρκέσει αρκετά λεπτά, ειδικά για εφαρμογές βάσης δεδομένων που απαιτούν μεγάλες επαναλήψεις με μεγάλη ένταση δεδομένων για την επαναφορά των συναλλαγών.

Εάν ο χρόνος διακοπής λίγων λεπτών είναι απαράδεκτος για ένα κέντρο δεδομένων, ένα ενεργό σύστημα μπορεί να είναι μια λύση, όπου η εφαρμογή αναπτύσσεται σε δύο ή περισσότερους κόμβους, έτσι ώστε εάν ένας από αυτούς αποτύχει, οι άλλοι θα συνεχίσουν να εκτελούν την εφαρμογή. Ως αποτέλεσμα, η διακοπή θα είναι πολύ σύντομη (ορισμένοι πελάτες αναφέρουν ότι διαρκεί λιγότερο από 1 λεπτό), μερικές φορές ο χρήστης μπορεί να μην παρατηρήσει καν την αποτυχία του κόμβου.

Οι κάθετοι διακομιστές παρέχουν υψηλή διαθεσιμότητα ενσωματώνοντας πολλές δυνατότητες RAS σε έναν μόνο διακομιστή για την ελαχιστοποίηση του προγραμματισμένου και μη προγραμματισμένου χρόνου διακοπής λειτουργίας. Στους οριζόντιους διακομιστές, οι λειτουργίες που παρέχουν υψηλό επίπεδο RAS υλοποιούνται όχι σε επίπεδο μεμονωμένου διακομιστή, αλλά μέσω αντιγραφής και τοποθέτησης πολλών διακομιστών. Λόγω των διαφορετικών εφαρμογών των δυνατοτήτων και των διασυνδέσεων RAS, οι οριζόντιοι διακομιστές είναι συνήθως φθηνότεροι ανά επεξεργαστή.

Για μια αρχιτεκτονική τριών επιπέδων, ένα καλό παράδειγμα οριζόντιας υψηλής διαθεσιμότητας είναι η ανάπτυξη διακομιστών Ιστού. Μπορείτε να αναπτύξετε πολλούς μικρούς διακομιστές, ο καθένας με ένα ξεχωριστό αντίγραφο του λογισμικού διακομιστή Web εγκατεστημένο. Εάν ένας διακομιστής Web διακοπεί, οι συναλλαγές του ανακατανέμονται στους υπόλοιπους υγιείς διακομιστές. Στην περίπτωση των διακομιστών εφαρμογών, μπορούν να φιλοξενηθούν τόσο σε οριζόντιους όσο και σε κάθετους διακομιστές και η υψηλή διαθεσιμότητα επιτυγχάνεται μέσω πλεονασμού. Είτε αναπτύσσετε μερικούς μεγάλους διακομιστές SMP είτε πολλούς μικρότερους, ο πλεονασμός παραμένει ο πρωταρχικός τρόπος για την επίτευξη υψηλού RAS σε επίπεδο εφαρμογής.

Ωστόσο, σε επίπεδο βάσης δεδομένων η κατάσταση αλλάζει. Οι βάσεις δεδομένων είναι κρατικές και από τη φύση τους απαιτούν, στις περισσότερες περιπτώσεις, τα δεδομένα να διαμερίζονται και να είναι προσβάσιμα από όλους τους επεξεργαστές/κόμβους. Αυτό σημαίνει ότι για υψηλή διαθεσιμότητα με πλεονασμό, πρέπει να χρησιμοποιήσετε λογισμικό ομαδοποίησης όπως το Sun Cluster ή το Oracle9i RAC (για πολύ υψηλή διαθεσιμότητα).

συμπεράσματα

Τόσο οι κάθετες όσο και οι οριζόντιες αρχιτεκτονικές έχουν τη θέση τους στο σημερινό κέντρο δεδομένων. Ενώ η σημερινή εστίαση είναι στις νέες τεχνολογίες, όπως οι αρθρωτοί διακομιστές και οι παράλληλες βάσεις δεδομένων, η αγορά παραμένει σε υψηλή ζήτηση για διακομιστές μεσαίας και υψηλής ποιότητας.

Κάθετα και οριζόντια συστήματα μπορούν να χρησιμοποιούν το ίδιο λογισμικό, λειτουργικό σύστημα, ακόμη και τους ίδιους επεξεργαστές. Η κύρια διαφορά που επηρεάζει την τιμή και την απόδοση είναι οι διασυνδέσεις που χρησιμοποιούνται σε κάθε αρχιτεκτονική. Οι οριζόντιοι διακομιστές χρησιμοποιούν χαλαρά συνδεδεμένες εξωτερικές διασυνδέσεις, ενώ οι κάθετοι διακομιστές χρησιμοποιούν στενά συνδεδεμένες διασυνδέσεις που παρέχουν υψηλότερους ρυθμούς μεταφοράς δεδομένων.

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

Η ικανότητα κλιμάκωσης ενός συστήματος πληροφοριών – τόσο οριζόντια όσο και κάθετα – είναι ένας από τους πιο σημαντικούς παράγοντες που πρέπει να προσέξετε όταν επιλέγετε ένα μέσο αυτοματοποίησης των δραστηριοτήτων οποιουδήποτε οργανισμού. Εάν η επιλεγμένη λύση δεν μπορεί να κλιμακωθεί ή κάθε στάδιο ανάπτυξης της επιχείρησης θα οδηγήσει σε δυσκολίες στη διατήρηση και ανάπτυξη τέτοιων προϊόν λογισμικού, τότε δεν πρέπει καν να αρχίσετε να το χρησιμοποιείτε. Αναπτύξαμε το LETOGRAF EDMS λαμβάνοντας υπόψη τις υψηλές απαιτήσεις κλιμάκωσης.

Η ανάγκη για οριζόντια ή κάθετη κλιμάκωση προκύπτει σε σχέση με τη δημιουργία εταιρικών συστημάτων πληροφορικής υψηλού φορτίου που απασχολούν χιλιάδες ή και δεκάδες χιλιάδες χρήστες. Ωστόσο, δεν μπορούν όλα τα EDMS να υποστηρίξουν την ταυτόχρονη λειτουργία μεγάλου αριθμού χρηστών. Μόνο εάν το EDMS σε αρχιτεκτονικό επίπεδο περιέχει τη δυνατότητα αύξησης του αριθμού των χρηστών χωρίς απώλεια απόδοσης - μόνο σε αυτήν την περίπτωση η κλιμάκωση θα είναι επιτυχής. Το σύστημα LETOGRAF που δημιουργήσαμε σχεδιάστηκε για να είναι ιδανικά επεκτάσιμο τόσο οριζόντια όσο και κάθετα. Αυτό επιτυγχάνεται τόσο μέσω της αρχιτεκτονικής του ίδιου του συστήματος και του κώδικα εφαρμογής που αναπτύξαμε, όσο και μέσω της λειτουργικότητας του InterSystems Caché DBMS, πάνω στο οποίο είναι χτισμένο το EDMS μας.

Το Caché DBMS είναι ένα σύγχρονο σύστημα διαχείρισης βάσεων δεδομένων και περιβάλλον για γρήγορη ανάπτυξη εφαρμογών. Αυτό το DBMS βασίζεται σε τεχνολογία που εξασφαλίζει απόδοση και υψηλή απόδοση, επεκτασιμότητα και αξιοπιστία. Ταυτόχρονα, οι απαιτήσεις υλικού του συστήματος παραμένουν αρκετά μέτριες.

Το Cache DBMS διατηρεί υψηλή απόδοση ακόμη και όταν εργάζεται με τεράστιο όγκο δεδομένων και μεγάλο αριθμό διακομιστών σε κατανεμημένα συστήματα. Σε αυτήν την περίπτωση, η πρόσβαση στα δεδομένα γίνεται μέσω αντικειμένων, ερωτημάτων SQL υψηλής απόδοσης και μέσω άμεσης επεξεργασίας πολυδιάστατων δομών δεδομένων.

Κάθετη κλιμάκωση

Η κατακόρυφη κλιμάκωση περιλαμβάνει την αύξηση της ισχύος του διακομιστή και των δυνατοτήτων του που σχετίζονται με υποσύστημα δίσκου. Το LETOGRAF υποστηρίζει σύγχρονη αρχιτεκτονική επεξεργαστή, η οποία σας επιτρέπει να επεξεργάζεστε μεγάλες ποσότητες δεδομένων σε πολλαπλά νήματα. Ταυτόχρονα, τα ίδια τα δεδομένα στο EDMS είναι οργανωμένα με τέτοιο τρόπο ώστε να μπορούν εύκολα να διανεμηθούν στο σύστημα αποθήκευσης σε διαφορετικούς δίσκους. Αυτή η προσέγγιση σάς επιτρέπει να κατανέμετε ομοιόμορφα το φορτίο στην αποθήκευση δεδομένων και να το ελαχιστοποιείτε κατά την ανάγνωση δεδομένων απευθείας από τη βάση δεδομένων, πράγμα που σημαίνει ότι η πτώση στην απόδοση του συστήματος μπορεί να αποφευχθεί ακόμη και όταν ταυτόχρονη εργασίαμεγάλο αριθμό χρηστών.

Ακόμη και στο στάδιο ανάπτυξης της πλατφόρμας, καταλάβαμε ότι η κάθετη κλιμάκωση είναι ένα από τα βασικές δυνατότητεςσυστήματα, η ανάγκη για τα οποία θα αυξηθεί μόνο με την πάροδο του χρόνου. Αναπτύξαμε το σύστημα με τέτοιο τρόπο ώστε οι διαδικασίες εργασίας κάθε χρήστη να χωρίζονται σε ξεχωριστές διαδικασίες του συστήματος, τα οποία δεν επικαλύπτονται λόγω του γεγονότος ότι οι βάσεις δεδομένων μοιράζονται αποτελεσματικά την πρόσβαση σε πληροφορίες. Ταυτόχρονα, ο αριθμός των κλειδωμάτων δεδομένων στο LETOGRAF EDMS ελαχιστοποιείται και δεν υπάρχει συμφόρηση ούτε κατά την ανάγνωση δεδομένων ούτε κατά τη σύνταξή τους.

Η αρχιτεκτονική του EDMS LETOGRAF σάς επιτρέπει να διανέμετε δεδομένα σε πολλούς φυσικούς ή εικονικούς διακομιστές. Χάρη σε αυτή τη διανομή, κάθε χρήστης εκτελείται σε μια απομονωμένη διαδικασία και τα απαιτούμενα δεδομένα αποθηκεύονται αποτελεσματικά στην κρυφή μνήμη χρησιμοποιώντας τεχνολογίες Cache DBMS. Ο χρόνος κλειδώματος δεδομένων ελαχιστοποιείται: όλες οι συναλλαγές είναι δομημένες με τέτοιο τρόπο ώστε τα δεδομένα να τίθενται σε λειτουργία αποκλειστικής πρόσβασης μόνο για πολύ σύντομο χρονικό διάστημα. Ταυτόχρονα, ακόμη και τέτοια δεδομένα υψηλής φόρτωσης ως προς τον αριθμό των προσβάσεων στο δίσκο, όπως αρχεία καταγραφής, ευρετήρια, δεδομένα αντικειμένων, ροές, αρχεία καταγραφής ενεργειών χρήστη, κατανέμονται με τέτοιο τρόπο ώστε το μέσο φορτίο στο υποσύστημα να παραμένει ομοιόμορφο και δεν οδηγεί σε καθυστερήσεις. Αυτή η προσέγγιση σάς επιτρέπει να κλιμακώνετε αποτελεσματικά κάθετα το σύστημα, κατανέμοντας το φορτίο μεταξύ διακομιστών ή εικονικών δίσκων.

Οριζόντια κλιμάκωση

Η οριζόντια κλιμάκωση είναι η κατανομή των περιόδων σύνδεσης χρήστη κατά μήκος διαφορετικούς διακομιστές(ομοιόμορφη φόρτωση διακομιστών εφαρμογών και δυνατότητα σύνδεσης επιπλέον διακομιστέςεφαρμογές), καθώς και τη διανομή δεδομένων σε διαφορετικούς διακομιστές βάσεων δεδομένων, η οποία εξασφαλίζει υψηλή απόδοση του συστήματος χωρίς να μειώνει την ανοχή σφαλμάτων. Για οριζόντια κλιμάκωση, το σύστημα LETOGRAF παρέχει μια σειρά από δυνατότητες.

Πρώτα απ 'όλα, πρόκειται για κλιμάκωση φορτίου χάρη στο Enterprise Cache Protocol (ECP, πρωτόκολλο κατανεμημένης κρυφής μνήμης), το πρωτόκολλο που χρησιμοποιείται στο InterSystems Cache DBMS. Το πλεονέκτημα του ECP είναι η καινοτόμος προσέγγισή του στην προσωρινή αποθήκευση δεδομένων. Στα πλαίσια του παρόντος πρωτοκόλλουΔιεργασίες χρήστη που εκτελούνται σε διακομιστές εφαρμογών (ή πελάτες ECP) ​​του DBMS και εξυπηρετούν ερωτήματα αποκτούν πρόσβαση σε μια τοπική κρυφή μνήμη πρόσφατα χρησιμοποιημένων δεδομένων. Και μόνο εάν αυτά τα δεδομένα δεν είναι αρκετά, ο πελάτης ECP έχει πρόσβαση στη βάση δεδομένων. Χρησιμοποιώντας το πρωτόκολλο ECP πραγματοποιείται αυτόματο έλεγχοΠροσωρινή μνήμη: Τα δεδομένα με τη συχνότερη πρόσβαση αποθηκεύονται σε μια κρυφή μνήμη και τα δεδομένα που ενημερώνονται συχνά αναπαράγονται περιοδικά, διασφαλίζοντας την ακεραιότητα και την ορθότητα των δεδομένων σε όλους τους πελάτες ECP ανά πάσα στιγμή. Σε αυτήν την περίπτωση, ο εσωτερικός αλγόριθμος InterSystems Caché υποθέτει ότι οι βάσεις δεδομένων συγχρονίζονται μεταξύ του πελάτη ECP και του διακομιστή ECP.

Στην πραγματικότητα, η χρήση των τεχνολογιών Caché DBMS σάς επιτρέπει να κλιμακώνετε εύκολα και γρήγορα το φόρτο σε διακομιστές εφαρμογών, διασφαλίζοντας έτσι τη σύνδεση μεγάλου αριθμού χρηστών σε έναν διακομιστή βάσης δεδομένων μέσω της χρήσης του πρωτοκόλλου ECP.

Δεδομένου ότι οι πληροφορίες που ζητούνται από έναν συγκεκριμένο χρήστη μπορούν να χρησιμοποιηθούν σε πολλούς πελάτες ECP, είναι απαραίτητο να αποκλείσετε τα δεδομένα για σύντομο χρονικό διάστημα, να εκτελέσετε γρήγορα συναλλαγές χωρίς να πραγματοποιήσετε εσωτερικούς υπολογισμούς. Και το εφαρμόσαμε με επιτυχία. Αυτή η τεχνολογίαμας επιτρέπει να κλιμακώνουμε αποτελεσματικά το σύστημα σε μια κατάσταση όπου χρησιμοποιούμε έναν διακομιστή βάσης δεδομένων και πολλούς διακομιστές που εκτελούν διαδικασίες χρήστη. Το τεχνολογικό χαρακτηριστικό του Cache DBMS είναι ότι διατηρεί την ορθότητα των συναλλαγών σε έναν διακομιστή ECP, ανεξάρτητα από τον αριθμό των πελατών ECP που είναι συνδεδεμένοι σε αυτόν. Στην περίπτωση που έχουμε έναν διακομιστή ECP και πολλούς πελάτες ECP, αυτό το πρόβλημα επιλύεται τέλεια, επειδή όλες οι συναλλαγές πραγματοποιούνται σε έναν διακομιστή βάσης δεδομένων.

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

Η EDMS LETOGRAF εφαρμόζει έναν μηχανισμό διαμοιρασμού, χάρη στον οποίο εμείς, σε επίπεδο ρυθμίσεων συστήματος (χωρίς τη χρήση προγραμματισμού), καθιστούμε δυνατή την περιγραφή των κανόνων και των αρχών της διανομής των ίδιων των δεδομένων σε διαφορετικούς διακομιστές βάσεων δεδομένων. Παρά το γεγονός ότι, από την άποψη της δομής της βάσης δεδομένων, οι πληροφορίες που αποθηκεύονται σε κάθε διακομιστή είναι οι ίδιες, οι ίδιες οι πληροφορίες διαφέρουν θεμελιωδώς ανάλογα με τον οργανισμό ή οποιαδήποτε άλλα χαρακτηριστικά είναι σημαντικά για συγκεκριμένο έργο. Χρησιμοποιώντας την τεχνολογία διαμοιρασμού, είναι δυνατό να επιτευχθεί ότι στο 95-99% των περιπτώσεων, οι χρήστες θα εργάζονται μόνο με το "τμήμα των δεδομένων" τους και δεν θα χρειάζεται να έχουν πρόσβαση σε διαφορετικούς διακομιστές βάσης δεδομένων σε μια περίοδο λειτουργίας.

Οι δυνατότητες κλιμάκωσης του LETOGRAF EDMS επηρεάζονται επίσης από το γεγονός ότι τα δεδομένα μπορούν να υποβληθούν σε διαφορετική επεξεργασία. Για παράδειγμα, μπορούν να γίνουν αλλαγές σε έγγραφα (ακόμη και σε αυτά που δημιουργήθηκαν πριν από αρκετά χρόνια), αλλά οι εγγραφές μπορούν να προστεθούν μόνο στο αρχείο καταγραφής δραστηριοτήτων χρήστη (δεν μπορεί να διαγραφεί ή να αλλάξει ούτε μία καταχώρηση). Οι μηχανισμοί που χρησιμοποιούνται στο LETOGRAF EDMS καθιστούν δυνατή την περαιτέρω αύξηση της απόδοσης του συστήματος και τη βελτίωση της κλιμάκωσης διατηρώντας τέτοια αρχεία καταγραφής σε ξεχωριστούς διακομιστές βάσεων δεδομένων - τόσο στην περίπτωση διαμορφώσεων ενός διακομιστή όσο και σε διαμορφώσεις πολλών διακομιστών. Αυτή η προσέγγιση στοχεύει στη μείωση του φορτίου κύριους διακομιστές DB.

Παρόμοια κατάσταση προκύπτει με το περιεχόμενο («πληροφοριακό περιεχόμενο» του EDMS). Δεδομένου ότι το σύστημα LETOGRAF λειτουργεί με μεγάλο όγκο περιεχομένου - terabytes δεδομένων, εκατομμύρια αρχεία και έγγραφα - είναι λογικό να υποθέσουμε ότι το περιεχόμενο που εισέρχεται στο σύστημα δεν θα πρέπει σε καμία περίπτωση να καταστραφεί. Επομένως, μεταφέρουμε επίσης την αποθήκευση αρχείων σε ξεχωριστούς διακομιστές βάσης δεδομένων και έτσι παρέχουμε πρόσθετη οριζόντια κλιμάκωση.

Μπροστινό λογισμικό

Το LETOGRAF EDMS χρησιμοποιεί Apache και HAProxy ως το front-end. Το HAProxy είναι υπεύθυνο για την εξισορρόπηση φορτίου μεταξύ διακομιστών ιστού Apache. Το HAProxy, όπως έχει δείξει η εμπειρία του συστήματος, έχει καθιερωθεί ως το πλέον αποτελεσματική λύση, ικανό να παρέχει υποστήριξη σε μεγάλο αριθμό χρηστών και τον απαραίτητο έλεγχο της ανοχής σφαλμάτων.

Όταν ένας χρήστης ανοίγει ένα πρόγραμμα περιήγησης και συνδέεται στο σύστημα, το HAProxy το «διανέμει» σε έναν από τους διακομιστές εφαρμογών. Επιπλέον, όλα τα αιτήματα που προέρχονται από αυτόν τον χρήστη θα αποστέλλονται στον ίδιο διακομιστή εφαρμογής με την ίδια διαδικασία.

Δοκιμάσαμε διαφορετικά συστήματα και οι δοκιμές έδειξαν ότι το HAProxy είναι το πιο αποτελεσματικό σύστημα εξισορρόπησης φορτίου που παρέχει ομοιόμορφη κατανομήχρήστες σε δωρεάν κουλοχέρηδες διακομιστών εφαρμογών. Το HAProxy διαθέτει όλους τους απαραίτητους μηχανισμούς για να παρακολουθεί την κατάσταση κάθε διακομιστή εφαρμογών και να μην διανέμει νέα κίνηση σε διακομιστή εφαρμογών που έχει αποτύχει για κάποιο λόγο. Επιπλέον, το HAProxy παρέχει επιπλέον έναν αριθμό δυνατοτήτων όσον αφορά την προσωρινή αποθήκευση στατικών (αμετάβλητων κατά την εργασία του χρήστη) δεδομένων - για παράδειγμα, στυλ, εικονίδια και ούτω καθεξής - που σας επιτρέπει να οργανώσετε τη διεπαφή.

Παράδειγμα υλοποίησης έργου

Η αρχιτεκτονική LETOGRAF σας επιτρέπει να επιτύχετε σημαντικά αποτελέσματα στη μείωση του χρόνου απόκρισης και στην αύξηση της απόδοσης του συστήματος. Ως μέρος ενός από τα έργα μας, 23,5 TB δεδομένων αποθηκεύονται στο EDMS. Από αυτά, τα 14,7 TB (63%) είναι ροές ("αρχεία που συνδέονται με κάρτες"), τα 3,5 TB (15%) είναι φόρμες αναφοράς, όπως πίνακες αναφορών που δημιουργούνται σε ασύγχρονη λειτουργία, μπορεί να εκκινηθεί είτε σύμφωνα με ένα χρονοδιάγραμμα είτε κατόπιν αιτήματος του χρήστη και να αντιπροσωπεύει έναν συνοπτικό πίνακα, τυχόν δεδομένα στον οποίο μπορούν να αναλυθούν σε ένα αντικείμενο. Ένα άλλο 1,6 TB (7%) είναι το αρχείο καταγραφής συναλλαγών χρήστη και το υπόλοιπο (16%) είναι δεδομένα κάρτας και ευρετήρια.

Αυτό το σύστημα απασχολεί περισσότερους από 11 χιλιάδες χρήστες, 2 χιλιάδες από αυτούς εργάζονται ταυτόχρονα και τις ημέρες αιχμής ο αριθμός των εργαζομένων που εργάζονται ταυτόχρονα στο EDMS υπερβαίνει τις 3 χιλιάδες. Ο αριθμός των εγγραφών στο ημερολόγιο έχει ήδη ξεπεράσει τα 5,5 δισεκατομμύρια και ο αριθμός των καρτών εγγραφής έχει φτάσει σχεδόν το μισό δισεκατομμύριο.

Ως διακομιστής βάσης δεδομένων στο αυτη η εργασιαέχει εγκατασταθεί ένα σύμπλεγμα ανακατεύθυνσης δύο φυσικούς διακομιστέςμε τρεις εγκαταστάσεις DBMS, καθώς και έναν εφεδρικό διακομιστή. Δέκα διακομιστές εφαρμογών (και ένα αντίγραφο ασφαλείας) επεξεργάζονται συνεδρίες χρήστη και παρέχουν ασύγχρονες αναφορές. 2 Διακομιστές HAProxy λειτουργούν ως εξισορροπητές. Σε περίπτωση προβλημάτων με έναν από τους διακομιστές, εκτελείται αυτόματη μετάδοσητις διευθύνσεις IP του σε άλλο διακομιστή. Υπάρχει επίσης ένας διακομιστής ευρετηρίου αρχείων και ένας διακομιστής αναγνώρισης (παρέχοντας αναγνώριση κειμένου σαρωμένων εγγράφων σε χαρτί κατά την τοποθέτηση ηλεκτρονικών εικόνων στο σύστημα).

Περίληψη

Το EDMS LETOGRAF παρέχει ένας μεγάλος αριθμός απόδιάφορους μηχανισμούς κλιμάκωσης. Προσφέρουμε ένα είδος πίτας, το οποίο βασίζεται σε διακομιστή (φυσικό ή εικονικό) στον οποίο είναι εγκατεστημένο λειτουργικό σύστημα. Στην κορυφή του βρίσκεται το InterSystems Caché DBMS, μέσα στο οποίο βρίσκεται ο κώδικας της πλατφόρμας. Και ήδη από πάνω του βρίσκονται οι ρυθμίσεις του συστήματος LETOGRAF, χάρη στο οποίο έχει διαμορφωθεί πλήρως το EDMS. Και μια τέτοια πίτα τοποθετείται σε κάθε διακομιστή. Οι διακομιστές συνδέονται μεταξύ τους με συγκεκριμένο τρόπο λόγω των επιλεγμένων διαμορφώσεων. Και το τελευταίο επίπεδο είναι το HAProxy, το οποίο διανέμει τα αιτήματα των χρηστών μεταξύ των διακομιστών. Αυτή η αρχιτεκτονική μας επιτρέπει να υποστηρίζουμε την επεκτασιμότητα και να παρέχουμε όλους τους απαραίτητους μηχανισμούς παρακολούθησης. Σαν άποτέλεσμα τελικούς χρήστεςαποκτήστε ένα EDMS που λειτουργεί γρήγορα και οι ειδικοί πληροφορικής αποκτούν ένα εύκολο στη διαχείριση και τη συντήρηση, ενιαίο σύστημα, χωρίς τεράστιο αριθμό εξαρτημάτων, τα οποία στην περίπτωση εφαρμογών υψηλής φόρτωσης πρέπει να παρακολουθούνται και να διαχειρίζονται συνεχώς. Επιπλέον, ανάλογα με τις μεταβαλλόμενες ανάγκες του οργανισμού, το LETOGRAF EDMS μπορεί εύκολα να αναδιαμορφωθεί με την προσθήκη νέων διακομιστών ή δυνατοτήτων δίσκου.


Αυτό το υλικό είναι μια ιδιωτική ανάρτηση από ένα μέλος της κοινότητας Club.CNews.
Οι συντάκτες του CNews δεν ευθύνονται για το περιεχόμενό του.

Μέχρι το τέλος του 2012, πάνω από το 50% των εφαρμογών που εκτελούνται στην πλατφόρμα x86 είχαν εικονικοποιηθεί. Ωστόσο, μόνο το 20% των εφαρμογών που είναι κρίσιμες για τις επιχειρήσεις είναι εικονικοποιημένες.

Μήπως επειδή τα τμήματα πληροφορικής δεν εμπιστεύονται τις πλατφόρμες εικονικοποίησης; Πιστεύουν ότι οι πλατφόρμες εικονικοποίησης δεν είναι αρκετά σταθερές για να υποστηρίξουν εφαρμογές κρίσιμες για την αποστολή;

Τα τελευταία 10 χρόνια, η VMware έχει αποδείξει ότι η εικονικοποίηση είναι μια πραγματικότητα και, στην πραγματικότητα, οι εικονικοποιημένες εφαρμογές είναι συχνά πιο σταθερές όταν εκτελούνται σε υποδομή που διαχειρίζεται το VMware.

Επομένως, εάν η εμπιστοσύνη ή η σταθερότητα δεν είναι πρόβλημα, ποιος είναι ο λόγος για τον οποίο τα τμήματα πληροφορικής δεν έχουν ακόμη εικονικοποιήσει τις υπόλοιπες εφαρμογές;

Κλιμάκωσε
Κλιμάκωση ή οριζόντια κλιμάκωση - προσθήκη νέων πόρων στην υποδομή, για παράδειγμα, διακομιστές σε ένα σύμπλεγμα.

Καθώς οι τιμές συνεχίζουν να πέφτουν και η απόδοση συνεχίζει να αυξάνεται, οι φθηνοί διακομιστές βασικών προϊόντων είναι μια ιδανική λύση για οριζόντια κλιμάκωση και μπορούν να συγκεντρωθούν σε μεγάλα cluster για τη συγκέντρωση πόρων υπολογιστών.

Τα τελευταία επτά χρόνια, οι αρχιτέκτονες υποδομής VMware προσεύχονται για οριζόντια κλιμάκωση. Κάποιοι μπορεί να υποστηρίζουν τη χρήση αυτής της συγκεκριμένης προσέγγισης, αλλά έχει επίσης τις δικές της αποχρώσεις και όλα εξαρτώνται από τις επιχειρηματικές απαιτήσεις. Το πλεονέκτημα της οριζόντιας κλιμάκωσης είναι ότι οι διακομιστές εμπορευμάτων είναι φθηνοί και εάν ο διακομιστής αποτύχει, επηρεάζει έναν μικρό αριθμό εικονικών μηχανών. Το μειονέκτημα είναι το υψηλότερο κόστος των αδειών χρήσης για το vSphere, οι μεγάλες απαιτήσεις για χώρο στο κέντρο δεδομένων και συνήθως τέτοιοι διακομιστές βασικών προϊόντων δεν διαθέτουν μεγάλους υπολογιστικούς πόρους.

Κλιμακωθούν
Η κατακόρυφη κλιμάκωση προσθέτει υπολογιστικούς πόρους σε έναν ήδη χρησιμοποιημένο διακομιστή. Συνήθως πρόκειται για επεξεργαστές ή RAM.

Συνήθως, τέτοιοι διακομιστές είναι αρκετά ισχυροί - με υποστήριξη για 4 επεξεργαστές και 512 GB μνήμης. Επιπλέον, υπάρχουν συστήματα με 8 επεξεργαστές και 1TB μνήμης, ενώ κάποια έχουν την τύχη να δουν ακόμη και διακομιστές 16 επεξεργαστών με 4TB μνήμης. Και όχι, αυτά δεν είναι mainframes ή κάτι παρόμοιο, αυτοί είναι διακομιστές που βασίζονται στην κλασική αρχιτεκτονική x86.

Η μετάβαση στο δεύτερο κύμα εικονικοποίησης, το οποίο παρέχει την ευελιξία που παρέχει αυτή η τεχνολογία για κρίσιμες για επιχειρήσεις εφαρμογές, ασκεί τεράστια πίεση στις υποδομές VMware που χρησιμοποιούνται σήμερα λόγω των ακόλουθων προβλημάτων:

  • Ανεπαρκείς δυνατότητες κλιμάκωσης. Φορτώνει με υψηλές απαιτήσειςως προς την ποσότητα των υπολογιστικών πόρων αποτελούν πρόβλημα λόγω του περιορισμένου όγκου των διαθέσιμων πόρων με φθηνούς διακομιστές βασικών προϊόντων.
  • Ανεπαρκής αξιοπιστία. Ο εξοπλισμός εμπορευμάτων ή το υλικό που χρησιμοποιεί τέτοια εξαρτήματα μπορεί να είναι λιγότερο αξιόπιστο. Το πρόβλημα της αξιοπιστίας μπορεί να λυθεί χρησιμοποιώντας λειτουργίες που θα συζητήσω στα επόμενα άρθρα.
  • Αύξηση της πολυπλοκότητας διαχείρισης και αύξηση του λειτουργικού κόστους. Είναι πιο εύκολο να διαχειριστείτε 100 διακομιστές, όχι 1000, και, ως αποτέλεσμα, η διαχείριση 10 διακομιστών είναι ευκολότερη από 100. Το ίδιο ισχύει και για το λειτουργικό κόστος - 10 διακομιστές είναι πολύ φθηνότεροι στη συντήρηση από 100.
Η κάθετη κλιμάκωση είναι εξαιρετική για κρίσιμες για τις επιχειρήσεις εφαρμογές με τις τεράστιες απαιτήσεις σε πόρους. Γεια σου Monster VM! Όλες αυτές οι κρίσιμες βάσεις δεδομένων, τα τεράστια συστήματα ERP, τα μεγάλα συστήματα ανάλυσης δεδομένων, οι εφαρμογές JAVA και ούτω καθεξής θα επωφεληθούν άμεσα από την κάθετη κλιμάκωση.

Με την κυκλοφορία του vSphere 5, ο αριθμός των διαθέσιμων πόρων σε ένα VM έχει αυξηθεί κατά 4 φορές.

Και με την κυκλοφορία του vSphere 5.1, τα τερατώδη VM μπορούν να γίνουν ακόμα πιο τερατώδη.

Για να μπορέσει το vSphere 5.1 να εκκινήσει ένα Monster VM, ο προγραμματιστής πρέπει να έχει και να προγραμματίσει νήματα για να εκτελούνται σε 64 φυσικούς επεξεργαστές. Δεν υπάρχουν πολλοί διακομιστές που μπορούν να υποστηρίξουν τόσους πολλούς πυρήνες, ενώ υπάρχουν ακόμη λιγότεροι διακομιστές που υποστηρίζουν 16 υποδοχές και 160 πυρήνες.

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

Αρχιτεκτονική χωρίς κόλλα
Αυτή η αρχιτεκτονική αναπτύχθηκε από την Intel και παρουσιάστηκε στο Intel Xeon E7.

Για επικοινωνία μεταξύ συσκευών I/O, διεπαφές δικτύουκαι οι επεξεργαστές χρησιμοποιούν έναν ειδικά σχεδιασμένο δίαυλο QPI.

Σε διακομιστές με 4 επεξεργαστές, όλοι συνδέονται απευθείας μεταξύ τους μέσω αυτού του διαύλου. Ο επεξεργαστής Glueless χρησιμοποιεί ένα από τα κανάλια για τη σύνδεση του επεξεργαστή με τις διεπαφές I/O και τα άλλα τρία για τη σύνδεση με γειτονικούς επεξεργαστές.

Σε έναν διακομιστή 8 επεξεργαστών, κάθε επεξεργαστής συνδέεται απευθείας με τρεις γειτονικούς και μέσω άλλου επεξεργαστή με τους άλλους τέσσερις.

Τα πλεονεκτήματα αυτής της αρχιτεκτονικής:

  • Δεν χρειάζεται ειδική ανάπτυξη ή εξειδίκευση από τον κατασκευαστή του διακομιστή
  • Οποιοσδήποτε κατασκευαστής διακομιστή μπορεί να παράγει διακομιστές 8 επεξεργαστών
  • Το κόστος και των διακομιστών 4 και 8 επεξεργαστών μειώνεται
Ελαττώματα:
  • Το συνολικό κόστος ιδιοκτησίας αυξάνεται καθώς κλιμακώνεστε
  • Η αρχιτεκτονική περιορίζεται σε 8 διακομιστές επεξεργαστών
  • Δύσκολη η διατήρηση της ακεραιότητας της κρυφής μνήμης καθώς αυξάνονται οι υποδοχές
  • Μη γραμμική αύξηση παραγωγικότητας
  • Ο λόγος τιμής προς απόδοση πέφτει
  • Μη βέλτιστη απόδοση κατά τη χρήση μεγάλων εικονικών μηχανών
  • Έως και 65% του εύρους ζώνης του διαύλου δαπανάται για μετάδοση μηνυμάτων chatty πρωτόκολλο QPI
Ποιος είναι ο λόγος για τη φλυαρία του πρωτοκόλλου QPI; Προκειμένου να επιτευχθεί ακεραιότητα της κρυφής μνήμης επεξεργαστή, κάθε λειτουργία ανάγνωσης πρέπει να αναπαραχθεί σε όλους τους επεξεργαστές. Αυτό μπορεί να συγκριθεί με ένα πακέτο μετάδοσης σε δίκτυο IP. Κάθε επεξεργαστής πρέπει να ελέγξει τη γραμμή μνήμης που ζητήθηκε και, εάν χρησιμοποιείται η πιο πρόσφατη έκδοση των δεδομένων, να την παρέχει. Εάν τα τρέχοντα δεδομένα βρίσκονται σε άλλη κρυφή μνήμη, το πρωτόκολλο QPI αντιγράφει αυτήν τη γραμμή μνήμης από την απομακρυσμένη κρυφή μνήμη με ελάχιστες καθυστερήσεις. Έτσι, η αναπαραγωγή κάθε λειτουργίας ανάγνωσης σπαταλά το εύρος ζώνης του διαύλου και τους κύκλους κρυφής μνήμης που θα μπορούσαν να χρησιμοποιηθούν για τη μεταφορά χρήσιμων δεδομένων.

Οι κύριες εφαρμογές των οποίων η απόδοση υποφέρει από τις ελλείψεις του πρωτοκόλλου QPI είναι εφαρμογές Java, μεγάλες βάσεις δεδομένων, εφαρμογές ευαίσθητες σε καθυστέρηση.

Το αποτέλεσμα της κάθετης κλιμάκωσης πρέπει να είναι να μην υπάρχει συμφόρηση, διαφορετικά η αρχιτεκτονική γίνεται χωρίς νόημα. Έτσι, η γραμμικότητα των αυξήσεων παραγωγικότητας πρέπει να αντιστοιχεί στη γραμμικότητα των προσθηκών πόρων.

Κολλημένη αρχιτεκτονική
Για την επίλυση των προβλημάτων που περιγράφονται παραπάνω, οι προγραμματιστές υλικού ανέπτυξαν μια κολλημένη αρχιτεκτονική. Αυτή η αρχιτεκτονική χρησιμοποιεί έναν εξωτερικό ελεγκτή κόμβου για να οργανώσει τη διασύνδεση νησιών QPI - συμπλέγματα επεξεργαστών.


Η Intel QPI προσφέρει μια ειδική επεκτάσιμη λύση - eXternal Node-Controllers (ή XNC), η πρακτική εφαρμογή της οποίας αναπτύσσεται από τρίτες εταιρείες OEM. Ο εξωτερικός ελεγκτής κόμβου, που χρησιμοποιείται ξεκινώντας από τον Intel Xeon E7-4800, με ενσωματωμένο ελεγκτή μνήμης, περιλαμβάνει επίσης το σύστημα Cache Coherent Non-Uniform Memory Access (ccNUMA), καθήκον του οποίου είναι να παρακολουθεί τη συνάφεια των δεδομένων σε κάθε γραμμή της κρυφής μνήμης του επεξεργαστή.

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



Έχετε ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: