Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

Γεια σας, αναγνώστες του Habr. Θα θέλαμε να μοιραστούμε μερικά εξαιρετικά καλά νέα. Περιμέναμε επιτέλους την πραγματική σειριακή κυκλοφορία της νέας γενιάς ρωσικών επεξεργαστών Elbrus 8C. Επίσημα, η σειριακή παραγωγή έπρεπε να ξεκινήσει το 2016, αλλά, στην πραγματικότητα, η μαζική παραγωγή ξεκίνησε μόλις το 2019 και, μέχρι σήμερα, έχουν ήδη παραχθεί περίπου 4000 επεξεργαστές.

Σχεδόν αμέσως μετά την έναρξη της σειριακής παραγωγής, αυτοί οι επεξεργαστές εμφανίστηκαν στην Aerodisk, για την οποία θα θέλαμε να ευχαριστήσουμε ξεχωριστά την εταιρεία NORSI-TRANS, η οποία μας παρείχε ευγενικά την πλατφόρμα υλικού Yakhont UVM, η οποία υποστηρίζει επεξεργαστές Elbrus 8S, για τη μεταφορά του τμήματος λογισμικού του συστήματος αποθήκευσης. Πρόκειται για μια σύγχρονη καθολική πλατφόρμα που πληροί όλες τις απαιτήσεις του MCST. Αυτή τη στιγμή, η πλατφόρμα χρησιμοποιείται από ειδικούς καταναλωτές και τηλεπικοινωνιακούς φορείς για να διασφαλιστεί η υλοποίηση των καθιερωμένων ενεργειών κατά τη διάρκεια επιχειρησιακών ερευνητικών δραστηριοτήτων.

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

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

Ιστορία

Η ιστορία των επεξεργαστών Elbrus χρονολογείται από την εποχή της Σοβιετικής Ένωσης. Το 1973, στο Ινστιτούτο Μηχανικής Ακριβείας και Μηχανικής Υπολογιστών που πήρε το όνομά του από τον S.A. Lebedev (που πήρε το όνομά του από τον ίδιο Sergei Lebedev που προηγουμένως ηγήθηκε της ανάπτυξης του πρώτου σοβιετικού υπολογιστή MESM, και αργότερα του BESM) άρχισε να αναπτύσσει υπολογιστικά συστήματα πολλαπλών επεξεργαστών που ονομάζονταν "Elbrus". Επικεφαλής της ανάπτυξης ήταν ο Vsevolod Sergeevich Burtsev και ο Boris Artashesovich Babayan, ο οποίος ήταν ένας από τους αναπληρωτές επικεφαλής σχεδιαστές, συμμετείχε επίσης ενεργά στην ανάπτυξη.

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S
Vsevolod Sergeevich Burtsev

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S
Μπόρις Αρτασέσοβιτς Μπαμπαγιάν

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

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

Ο πρώτος υπολογιστής Elbrus ολοκληρώθηκε το 1978. Είχε αρθρωτή αρχιτεκτονική και μπορούσε να περιλαμβάνει από 1 έως 10 επεξεργαστές βασισμένους σε μεσαία κυκλώματα ολοκλήρωσης. Η ταχύτητα αυτού του μηχανήματος έφτασε τα 15 εκατομμύρια λειτουργίες ανά δευτερόλεπτο. Η ποσότητα της μνήμης RAM, την οποία μοιράζονταν και οι 10 επεξεργαστές, ήταν μέχρι 2 έως 20 λέξεων μηχανής ισχύος, ή 64 MB.

Αργότερα αποδείχθηκε ότι πολλές από τις τεχνολογίες που χρησιμοποιήθηκαν για την ανάπτυξη του Elbrus ερευνούνταν ταυτόχρονα σε όλο τον κόσμο και δουλεύονταν από την εταιρεία International Business Machine (IBM), αλλά η εργασία σε αυτά τα έργα, σε αντίθεση με την εργασία στο Elbrus, δεν ολοκληρώθηκε ποτέ και δεν οδήγησε τελικά στη δημιουργία ενός τελικού προϊόντος.

Σύμφωνα με τον Vsevolod Burtsev, οι Σοβιετικοί μηχανικοί προσπάθησαν να εφαρμόσουν την πιο προηγμένη εμπειρία τόσο εγχώριων όσο και ξένων προγραμματιστών. Η αρχιτεκτονική των υπολογιστών Elbrus επηρεάστηκε επίσης από υπολογιστές της εταιρείας Burroughs, εξελίξεις από τη Hewlett-Packard και την εμπειρία των προγραμματιστών BESM-6.

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

Ο υπερυπολογιστής που δημιουργήθηκε έγινε ο πρώτος υπολογιστής στην ΕΣΣΔ που χρησιμοποίησε υπερκλιμακωτή αρχιτεκτονική. Η μαζική χρήση υπερβαθμωτών επεξεργαστών στο εξωτερικό ξεκίνησε μόλις τη δεκαετία του '90 του περασμένου αιώνα με την εμφάνιση στην αγορά προσιτών επεξεργαστών Intel Pentium.

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

Elbrus-2

Το 1985, ο Elbrus έλαβε τη λογική του συνέχεια: ο υπολογιστής Elbrus-2 δημιουργήθηκε και εστάλη σε σειριακή παραγωγή. Όσον αφορά την αρχιτεκτονική, διέφερε ελάχιστα από τον προκάτοχό του, αλλά χρησιμοποίησε μια νέα βάση στοιχείων, η οποία επέτρεψε σχεδόν 10πλάσια αύξηση της συνολικής απόδοσης – από 15 εκατομμύρια λειτουργίες ανά δευτερόλεπτο σε 125 εκατομμύρια. Η χωρητικότητα RAM του υπολογιστή αυξήθηκε σε 16 εκατομμύρια λέξεις 72-bit ή 144 MB. Η μέγιστη απόδοση των καναλιών εισόδου/εξόδου Elbrus-2 ήταν 120 MB/s.

Το "Elbrus-2" χρησιμοποιήθηκε ενεργά σε πυρηνικά ερευνητικά κέντρα στο Chelyabinsk-70 και στο Arzamas-16 στο Κέντρο Ελέγχου Αποστολών, στο σύστημα πυραυλικής άμυνας A-135, καθώς και σε άλλες στρατιωτικές εγκαταστάσεις.

Η δημιουργία του Elbrus εκτιμήθηκε ιδιαίτερα από τους ηγέτες της Σοβιετικής Ένωσης. Πολλοί μηχανικοί βραβεύτηκαν με παραγγελίες και μετάλλια. Ο γενικός σχεδιαστής Vsevolod Burtsev και ορισμένοι άλλοι ειδικοί έλαβαν ένα κρατικό βραβείο. Και ο Μπόρις Μπαμπαγιάν τιμήθηκε με το Τάγμα της Οκτωβριανής Επανάστασης.

Αυτά τα βραβεία ήταν κάτι παραπάνω από άξια, είπε αργότερα ο Boris Babayan:

"Το 1978 κατασκευάσαμε το πρώτο υπερκλιμακωτό μηχάνημα, το Elbrus-1. Επί του παρόντος, στη Δύση κατασκευάζονται μόνο υπερβαθμίδες αυτής της αρχιτεκτονικής. Ο πρώτος υπερκλιμάκτης στη Δύση εμφανίστηκε το 92, ο δικός μας το 78. Επιπλέον, η έκδοση του υπερκλιμακωτή που κατασκευάσαμε είναι παρόμοια με το Pentium Pro που κατασκεύασε η Intel."95

Αυτά τα λόγια για την ιστορική υπεροχή επιβεβαιώνονται και στις ΗΠΑ, έγραψε ο Keith Diefendorff, ο κατασκευαστής του Motorola 88110, ενός από τους πρώτους δυτικούς υπερβαθμωτούς επεξεργαστές:

"Το 1978, σχεδόν 15 χρόνια πριν εμφανιστούν οι πρώτοι δυτικοί υπερβαθμωτοί επεξεργαστές, ο Elbrus-1 χρησιμοποίησε έναν επεξεργαστή που εξέδιδε δύο εντολές ανά κύκλο ρολογιού, άλλαξε τη σειρά εκτέλεσης εντολών, μετονόμασε καταχωρητές και εκτελούσε υπό παραδοχή."

Elbrus-3

Ήταν το 1986 και σχεδόν αμέσως μετά την ολοκλήρωση των εργασιών στο δεύτερο Elbrus, η ITMiVT άρχισε να αναπτύσσει ένα νέο σύστημα, το Elbrus-3, χρησιμοποιώντας μια θεμελιωδώς νέα αρχιτεκτονική επεξεργαστή. Ο Μπόρις Μπαμπαγιάν αποκάλεσε αυτή την προσέγγιση «μετα-υπερκλιμακωτή». Αυτή η αρχιτεκτονική, που αργότερα ονομάστηκε VLIW/EPIC, ήταν που στο μέλλον (στα μέσα της δεκαετίας του '90) άρχισε να χρησιμοποιείται από επεξεργαστές Intel Itanium (και στην ΕΣΣΔ αυτές οι εξελίξεις ξεκίνησαν το 1986 και ολοκληρώθηκαν το 1991).

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

Το 1991 κυκλοφόρησε ο πρώτος και, δυστυχώς, ο μοναδικός υπολογιστής "Elbrus-3", ο οποίος δεν μπορούσε να προσαρμοστεί πλήρως και μετά την κατάρρευση της Σοβιετικής Ένωσης δεν τον χρειάστηκε κανείς και οι εξελίξεις και τα σχέδια έμειναν στα χαρτιά.

Προϋποθέσεις για μια νέα αρχιτεκτονική

Η ομάδα που εργάστηκε στο ITMiVT για τη δημιουργία σοβιετικών υπερυπολογιστών δεν διαλύθηκε, αλλά συνέχισε να εργάζεται ως ξεχωριστή εταιρεία με το όνομα MCST (Moscow Center of SPARK Technologies). Και στις αρχές της δεκαετίας του '90, ξεκίνησε η ενεργός συνεργασία μεταξύ της MCST και της Sun Microsystems, όπου η ομάδα MCST συμμετείχε στην ανάπτυξη του μικροεπεξεργαστή UltraSPARC.

Ήταν κατά τη διάρκεια αυτής της περιόδου που εμφανίστηκε το έργο αρχιτεκτονικής E2K, αρχικά χρηματοδοτούμενο από τη Sun. Αργότερα, το έργο έγινε εντελώς ανεξάρτητο και όλη η πνευματική ιδιοκτησία παρέμεινε στην ομάδα του MCST.

"Αν είχαμε συνεχίσει να εργαζόμαστε με τη Sun σε αυτόν τον τομέα, τότε όλα θα ανήκαν στη Sun. Αν και το 90% της δουλειάς είχε γίνει πριν εμφανιστεί η Sun." (Μπορίς Μπαμπαγιάν)

E2K Architecture

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

"Το Elbrus είναι μια αρχιτεκτονική RISC"
"Το Έλμπρους είναι επική αρχιτεκτονική"
"Το Elbrus είναι μια αρχιτεκτονική SPARC"

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

Η αρχιτεκτονική E2K είναι μια ξεχωριστή πρωτότυπη αρχιτεκτονική επεξεργαστή, τα κύρια χαρακτηριστικά του E2K είναι η ενεργειακή απόδοση και η εξαιρετική επεκτασιμότητα, που επιτυγχάνονται με τη ρύθμιση σαφούς παραλληλισμού λειτουργιών. Η αρχιτεκτονική E2K αναπτύχθηκε από την ομάδα MCST και βασίζεται σε μια μετα-υπερκλιμακωτή αρχιτεκτονική (a la EPIC) με κάποια επιρροή από την αρχιτεκτονική SPARC (με παρελθόν RISC). Παράλληλα, το MCST συμμετείχε άμεσα στη δημιουργία τριών από τις τέσσερις βασικές αρχιτεκτονικές (superscalars, post-superscalars και SPARC). Ο κόσμος είναι πραγματικά ένα μικρό μέρος.

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

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

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

Σε διάφορες πηγές μπορείτε να βρείτε τα ακόλουθα ονόματα για αυτήν την αρχιτεκτονική: «E2K», «Elbrus», «Elbrus 2000», ELBRUS («Προγραμματισμός χρήσης βασικών πόρων ExpLicit»). Όλα αυτά τα ονόματα σημαίνουν το ίδιο πράγμα - την αρχιτεκτονική, αλλά στην επίσημη τεχνική τεκμηρίωση, καθώς και σε τεχνικά φόρουμ, το όνομα E2K χρησιμοποιείται για να υποδηλώσει την αρχιτεκτονική, έτσι στο μέλλον, εάν μιλάμε για την αρχιτεκτονική του επεξεργαστή, θα χρησιμοποιούμε τον όρο "E2K" και εάν για έναν συγκεκριμένο επεξεργαστή, χρησιμοποιούμε το όνομα "Elbrus".

Τεχνικά χαρακτηριστικά της αρχιτεκτονικής E2K

Σε παραδοσιακές αρχιτεκτονικές όπως το RISC ή το CISC (x86, PowerPC, SPARC, MIPS, ARM), μια ροή εντολών που έχουν σχεδιαστεί για διαδοχική εκτέλεση τροφοδοτούνται στην είσοδο του επεξεργαστή. Ο επεξεργαστής μπορεί να ανιχνεύσει ανεξάρτητες λειτουργίες και να τις εκτελέσει παράλληλα (υπερκλιμακότητα) και ακόμη και να αλλάξει τη σειρά τους (εκτέλεση εκτός σειράς). Ωστόσο, η δυναμική ανάλυση εξάρτησης και η υποστήριξη εκτέλεσης εκτός σειράς έχουν τους περιορισμούς τους στον αριθμό των εντολών που μπορούν να εκκινηθούν και να αναλυθούν ανά κύκλο ρολογιού. Επιπλέον, τα αντίστοιχα μπλοκ μέσα στον επεξεργαστή καταναλώνουν σημαντική ποσότητα ενέργειας και η πολύπλοκη εφαρμογή τους μερικές φορές οδηγεί σε προβλήματα σταθερότητας ή ασφάλειας.

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

Ο μεταγλωττιστής είναι σε θέση να αναλύσει τον πηγαίο κώδικα πολύ πιο διεξοδικά από το υλικό του επεξεργαστή RISC/CISC και να βρει πιο ανεξάρτητες λειτουργίες. Επομένως, η αρχιτεκτονική E2K έχει περισσότερες μονάδες εκτέλεσης που εκτελούνται παράλληλα από τις παραδοσιακές αρχιτεκτονικές.

Τρέχουσες δυνατότητες της αρχιτεκτονικής E2K:

  • 6 κανάλια αριθμητικών λογικών μονάδων (ALU) που λειτουργούν παράλληλα.
  • Ένα αρχείο μητρώου 256 καταχωρητών 84-bit.
  • Υποστήριξη υλικού για βρόχους, συμπεριλαμβανομένης της διοχέτευσης. Βελτιώνει την αποτελεσματικότητα της χρήσης των πόρων του επεξεργαστή.
  • Προγραμματιζόμενος ασύγχρονος προ-συλλέκτης δεδομένων με ξεχωριστά κανάλια ανάγνωσης. Επιτρέπει την απόκρυψη καθυστερήσεων πρόσβασης στη μνήμη και την καλύτερη χρήση της ALU.
  • Υποστήριξη για κερδοσκοπικούς υπολογισμούς και κατηγορήματα ενός bit. Σας επιτρέπει να μειώσετε τον αριθμό των μεταβάσεων και να εκτελέσετε πολλές διακλαδώσεις προγράμματος παράλληλα.
  • Μια ευρεία εντολή, ικανή να καθορίσει έως και 23 λειτουργίες σε έναν κύκλο στο μέγιστο γέμισμα (περισσότερες από 33 λειτουργίες κατά τη συσκευασία τελεστών σε διανυσματικές εντολές).

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

εξομοίωση x86

Ακόμη και στο στάδιο του αρχιτεκτονικού σχεδιασμού, οι προγραμματιστές κατάλαβαν τη σημασία της υποστήριξης λογισμικού γραμμένου για την αρχιτεκτονική Intel x86. Για το σκοπό αυτό, εφαρμόστηκε ένα σύστημα δυναμικής (δηλαδή κατά την εκτέλεση του προγράμματος, ή «on the fly») μετάφρασης δυαδικών κωδίκων x86 σε κώδικες επεξεργαστή αρχιτεκτονικής E2K. Αυτό το σύστημα μπορεί να λειτουργήσει τόσο σε λειτουργία εφαρμογής (όπως WINE) όσο και σε λειτουργία τύπου hypervisor (τότε είναι δυνατό να τρέξει ένα πλήρες λειτουργικό σύστημα επισκέπτη για την αρχιτεκτονική x86).

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

Προστατευμένος τρόπος εκτέλεσης προγράμματος

Μία από τις πιο ενδιαφέρουσες ιδέες που κληρονομήθηκαν από τις αρχιτεκτονικές Elbrus-1 και Elbrus-2 είναι η λεγόμενη προστατευμένη εκτέλεση προγραμμάτων. Η ουσία του είναι να εγγυάται ότι το πρόγραμμα λειτουργεί μόνο με αρχικοποιημένα δεδομένα, να ελέγχει όλες τις προσβάσεις στη μνήμη για να ανήκουν στο επιτρεπόμενο εύρος διευθύνσεων, να παρέχει προστασία μεταξύ των μονάδων (για παράδειγμα, να προστατεύει το πρόγραμμα κλήσης από σφάλμα στη βιβλιοθήκη). Όλοι αυτοί οι έλεγχοι πραγματοποιούνται από υλικό. Για προστατευμένη λειτουργία υπάρχει μια πλήρης βιβλιοθήκη υποστήριξης μεταγλωττιστή και χρόνου εκτέλεσης. Είναι σημαντικό να κατανοήσουμε ότι οι επιβαλλόμενοι περιορισμοί καθιστούν αδύνατη την οργάνωση της εκτέλεσης, για παράδειγμα, κώδικα γραμμένου σε C++.

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

Οι εξελίξεις που δημιουργήθηκαν όλα αυτά τα χρόνια μας επιτρέπουν όχι μόνο να καλύψουμε τη διαφορά και στο μέλλον να ξεπεράσουμε τις ανταγωνιστικές αρχιτεκτονικές όσον αφορά την απόδοση και την επεκτασιμότητα, αλλά και να παρέχουμε προστασία από τα σφάλματα που μαστίζουν το x86/amd64. Σελιδοδείκτες όπως Meltdown (CVE-2017-5754), Spectre (CVE-2017-5753, CVE-2017-5715), RIDL (CVE-2018-12126, CVE-2018-12130), Fallout (CVE-2018), (CVE-12127-2019) και παρόμοια.

Η σύγχρονη προστασία από τρωτά σημεία που εντοπίζονται στην αρχιτεκτονική x86/amd64 βασίζεται σε ενημερώσεις κώδικα σε επίπεδο λειτουργικού συστήματος. Αυτός είναι ο λόγος για τον οποίο η πτώση απόδοσης σε τρέχουσες και προηγούμενες γενιές επεξεργαστών αυτών των αρχιτεκτονικών είναι τόσο αισθητή και κυμαίνεται από 30% έως 80%. Εμείς, ως ενεργοί χρήστες των επεξεργαστών x86, το γνωρίζουμε αυτό, υποφέρουμε και συνεχίζουμε να "τρώμε έναν κάκτο", αλλά η παρουσία μιας λύσης σε αυτά τα προβλήματα στη ρίζα για εμάς (και τελικά για τους πελάτες μας) είναι ένα αναμφισβήτητο όφελος, ειδικά αν η λύση είναι ρωσική.

Технические характеристики

Ακολουθούν οι επίσημες τεχνικές προδιαγραφές των επεξεργαστών Elbrus της προηγούμενης (4C), της τρέχουσας (8C), της νέας (8CB) και της μελλοντικής (16C) γενεών σε σύγκριση με παρόμοιους επεξεργαστές Intel x86.

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

Ακόμη και μια γρήγορη ματιά σε αυτόν τον πίνακα δείχνει (και αυτό είναι πολύ ενθαρρυντικό) ότι η τεχνολογική υστέρηση των εγχώριων επεξεργαστών, που φαινόταν ανυπέρβλητη πριν από 10 χρόνια, φαίνεται ήδη αρκετά μικρή και το 2021 με την κυκλοφορία του Elbrus-16S (το οποίο, μεταξύ άλλων, θα υποστηρίζει εικονικοποίηση) θα μειωθεί σε ελάχιστες αποστάσεις.

Σύστημα αποθήκευσης AERODISK σε επεξεργαστές Elbrus 8C

Ας περάσουμε από τη θεωρία στην πράξη. Στο πλαίσιο της στρατηγικής συμμαχίας των εταιρειών MCST, Aerodisk, Basalt SPO (πρώην Alt Linux) και NORSI-TRANS, αναπτύχθηκε και ετοιμάστηκε για λειτουργία ένα σύστημα αποθήκευσης δεδομένων, το οποίο επί του παρόντος, όσον αφορά την ασφάλεια, τη λειτουργικότητα, το κόστος και την απόδοση, είναι, αν όχι η καλύτερη, τότε, κατά τη γνώμη μας, μια αναμφισβήτητα αξιόλογη τεχνολογική λύση ανεξαρτησίας της χώρας μας.
Τώρα οι λεπτομέρειες...

Υλικό

Το τμήμα υλικού του συστήματος αποθήκευσης δεδομένων υλοποιείται με βάση την καθολική πλατφόρμα Yakhont UVM της NORSI-TRANS. Η πλατφόρμα Yakhont UVM έχει λάβει το καθεστώς του τηλεπικοινωνιακού εξοπλισμού ρωσικής προέλευσης και έχει συμπεριληφθεί στο ενιαίο μητρώο ρωσικών ραδιοηλεκτρονικών προϊόντων. Το σύστημα αποτελείται από δύο ξεχωριστούς ελεγκτές αποθήκευσης (2U ο καθένας) που συνδέονται μεταξύ τους μέσω διασύνδεσης Ethernet 1G ή 10G, καθώς και σε κοινόχρηστα ράφια δίσκων χρησιμοποιώντας σύνδεση SAS.

Φυσικά, δεν είναι τόσο όμορφο όσο η μορφή "Cluster in a box" (όταν ελεγκτές και δίσκοι με κοινό backplane είναι εγκατεστημένοι σε ένα πλαίσιο 2U), το οποίο συνήθως χρησιμοποιούμε, αλλά στο εγγύς μέλλον θα είναι επίσης διαθέσιμο. Το κύριο πράγμα εδώ είναι ότι λειτουργεί καλά και θα σκεφτούμε τα "τόξα" αργότερα.

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

Κάτω από την κουκούλα, κάθε χειριστήριο έχει μια μητρική πλακέτα ενός επεξεργαστή με τέσσερις υποδοχές για RAM (DDR3 για τον επεξεργαστή 8C). Επίσης, σε κάθε ελεγκτή υπάρχουν 4 θύρες Ethernet 1G (δύο από τις οποίες χρησιμοποιούνται από το λογισμικό AERODISK ENGINE ως θύρες σέρβις) και τρεις υποδοχές PCIe για προσαρμογείς Back-end (SAS) και Front-end (Ethernet ή FibreChannel).

Ως δίσκοι εκκίνησης χρησιμοποιούμε ρωσικούς δίσκους SATA SSD της GS Nanotech, τους οποίους έχουμε επανειλημμένα δοκιμάσει και χρησιμοποιήσει σε έργα.

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

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

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

Η έκδοση του λειτουργικού συστήματος που χρησιμοποιείται είναι Alt 8SP για πιστοποίηση. Στο εγγύς μέλλον σχεδιάζουμε να δημιουργήσουμε ένα αποθετήριο με δυνατότητα σύνδεσης και συνεχώς ενημερωμένο για το Alt OS με το λογισμικό αποθήκευσης Aerodisk.

Αυτή η έκδοση της διανομής βασίζεται στην τρέχουσα σταθερή έκδοση του πυρήνα. Linux 4.9 για το E2K (ο κλάδος μακροπρόθεσμης υποστήριξης που μεταφέρεται από ειδικούς του MCST), συμπληρωμένο με λειτουργικότητα και ενημερώσεις ασφαλείας. Όλα τα πακέτα λειτουργικού συστήματος Alt κατασκευάζονται απευθείας σε συσκευές Elbrus χρησιμοποιώντας το αρχικό σύστημα συναλλακτικής κατασκευής του έργου ALT. Linux Ομάδα, η οποία μας επέτρεψε να μειώσουμε το κόστος εργασίας για την ίδια τη μεταφορά και να επικεντρωθούμε περισσότερο στην ποιότητα του προϊόντος.

Οποιαδήποτε έκδοση του Alt OS για Elbrus μπορεί να επεκταθεί σημαντικά ως προς τη λειτουργικότητα χρησιμοποιώντας το διαθέσιμο αποθετήριο (από περίπου 6 χιλιάδες πακέτα πηγών για την όγδοη έκδοση σε περίπου 12 για την ένατη).

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

Συστήματα αποθήκευσης δεδομένων λογισμικού

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

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

Στην πραγματικότητα, η υλοποίηση AERODISK ENGINE στο E2K υποστηρίζει τις περισσότερες από τις υπάρχουσες λειτουργίες αποθήκευσης που είναι διαθέσιμες σε x86. Το λογισμικό του συστήματος αποθήκευσης χρησιμοποιεί την τρέχουσα έκδοση του AERODISK ENGINE (έκδοση A-CORE 2.30)

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

  • Ανοχή σφαλμάτων για έως δύο ελεγκτές και I/O πολλαπλών διαδρομών (mpio)
  • Αποκλεισμός και πρόσβαση σε αρχεία με λεπτούς τόμους (ομάδες RDG, DDP, πρωτόκολλα FC, iSCSI, NFS, SMB, συμπεριλαμβανομένης της ενοποίησης με την υπηρεσία καταλόγου Active Directory)
  • Διάφορα επίπεδα RAID έως και τριπλή ισοτιμία (συμπεριλαμβανομένης της δυνατότητας χρήσης ενός κατασκευαστή RAID)
  • Υβριδική αποθήκευση (συνδυασμός SSD και HDD σε ένα pool, δηλαδή cache και tearing)
  • Επιλογές εξοικονόμησης χώρου με αντιγραφή και συμπίεση
  • Στιγμιότυπα ROW, κλώνοι και διαφορετικές επιλογές αναπαραγωγής
  • Και άλλες μικρές αλλά χρήσιμες λειτουργίες όπως QoS, παγκόσμιο hotspare, VLAN, BOND κ.λπ.

Στην πραγματικότητα, στο E2K καταφέραμε να εφαρμόσουμε όλη τη λειτουργικότητά μας, εκτός από τον multi-controller (περισσότεροι από δύο) και έναν χρονοπρογραμματιστή εισόδου/εξόδου πολλαπλών νημάτων, που επιτρέπει την αύξηση της απόδοσης των pools all-flash κατά 20-30%.

Αλλά φυσικά θα προσθέσουμε και αυτές τις χρήσιμες λειτουργίες, είναι απλώς θέμα χρόνου.

Λίγα λόγια για την απόδοση

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

Για παράδειγμα, σε ένα σύστημα αποθήκευσης με διπλό ελεγκτή (2xCPU E8C 1.3 Ghz, 32 GB RAM + 4 SAS SSD 800GB 3DWD), στο οποίο η προσωρινή μνήμη RAM ήταν απενεργοποιημένη, δημιουργήσαμε δύο ομάδες DDP με το κύριο επίπεδο RAID-10 και δύο LUN 500G και συνδέσαμε αυτά τα LUN μέσω iSCSI (10G Ethernet) σε Linux-στον κεντρικό υπολογιστή. Και πραγματοποιήσαμε μία από τις βασικές δοκιμές διάρκειας μιας ώρας σε μικρά μπλοκ διαδοχικού φορτίου χρησιμοποιώντας το πρόγραμμα FIO.

Τα πρώτα αποτελέσματα ήταν αρκετά θετικά.

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

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

Ναι, αυτό απέχει πολύ από το υψηλό φορτίο και σαφώς δεν είναι αρκετό για DBMS υψηλής απόδοσης ορισμένων χρεώσεων, αλλά, όπως δείχνει η πρακτική μας, αυτά τα χαρακτηριστικά επαρκούν για το 80% των κοινών εργασιών για τις οποίες χρησιμοποιούνται συστήματα αποθήκευσης.

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

Bright Future

Όπως γράψαμε παραπάνω, η μαζική παραγωγή του Elbrus 8C ξεκίνησε στην πραγματικότητα μόλις πρόσφατα – στις αρχές του 2019, και μέχρι τον Δεκέμβριο είχαν ήδη παραχθεί περίπου 4000 επεξεργαστές. Για σύγκριση, μόνο 4 επεξεργαστές Elbrus 5000C της προηγούμενης γενιάς παρήχθησαν σε όλη την περίοδο παραγωγής τους, οπότε η πρόοδος είναι εμφανής.

Είναι ξεκάθαρο ότι πρόκειται για σταγόνα στον ωκεανό, ακόμη και για τη ρωσική αγορά, αλλά ο δρόμος είναι κύριος από αυτόν που τον περπατά.
Η κυκλοφορία πολλών δεκάδων χιλιάδων επεξεργαστών Elbrus 2020C έχει προγραμματιστεί για το 8 και αυτό είναι ήδη ένα σοβαρό νούμερο. Επιπλέον, κατά τη διάρκεια του 2020, ο επεξεργαστής Elbrus-8SV θα πρέπει να τεθεί σε σειριακή παραγωγή από την ομάδα MCST.

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

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

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

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

Σύστημα αποθήκευσης AERODISK σε οικιακούς επεξεργαστές Elbrus 8S

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

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

Επίσης, εκ μέρους ολόκληρης της εταιρείας Aerodisk, θα ήθελα να συγχαρώ ολόκληρη τη ρωσική κοινότητα πληροφορικής για την επερχόμενη Πρωτοχρονιά και τα Χριστούγεννα, να ευχηθώ 100% χρόνο λειτουργίας - και να μην χρειάζεται κανείς αντίγραφα ασφαλείας το νέο έτος))).

Υλικά που χρησιμοποιούνται

Ένα άρθρο με μια γενική περιγραφή τεχνολογιών, αρχιτεκτονικών και προσωπικοτήτων:
https://www.ixbt.com/cpu/e2k-spec.html

Μια σύντομη ιστορία των υπολογιστών με το όνομα "Elbrus":
https://topwar.ru/34409-istoriya-kompyuterov-elbrus.html

Γενικό άρθρο για την αρχιτεκτονική e2k:
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81_2000

Το άρθρο αφορά συγκεκριμένα την 4η γενιά (Elbrus-8S) και την 5η γενιά (Elbrus-8SV, 2020):
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-8%D0%A1

Προδιαγραφές της επόμενης 6ης γενιάς επεξεργαστών (Elbrus-16SV, 2021):
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-16%D0%A1

Επίσημη περιγραφή της αρχιτεκτονικής του Elbrus:
http://www.elbrus.ru/elbrus_arch

Σχέδια των προγραμματιστών της πλατφόρμας υλικού και λογισμικού Elbrus για τη δημιουργία ενός υπερυπολογιστή με απόδοση exaflop:
http://www.mcst.ru/files/5a9eb2/a10cd8/501810/000003/kim_a._k._perekatov_v._i._feldman_v._m._na_puti_k_rossiyskoy_ekzasisteme_plany_razrabotchikov.pdf

Ρωσικές τεχνολογίες "Elbrus" για προσωπικούς υπολογιστές, διακομιστές και υπερυπολογιστές:
http://www.mcst.ru/files/5472ef/770cd8/50ea05/000001/rossiyskietehnologiielbrus-it-edu9-201410l.pdf

Ένα παλιό άρθρο του Boris Babayan, αλλά ακόμα επίκαιρο:
http://www.mcst.ru/e2k_arch.shtml

Παλιό άρθρο του Mikhail Kuzminsky:
https://www.osp.ru/os/1999/05-06/179819

Παρουσίαση MCST, γενικές πληροφορίες:
https://yadi.sk/i/HDj7d31jTDlDgA

Πληροφορίες σχετικά με το Alt OS για την πλατφόρμα Elbrus:
https://altlinux.org/эльбрус

https://sdelanounas.ru/blog/shigorin/

Πηγή: www.habr.com

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster