SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

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

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

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

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

Ιστορία

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

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C
Vsevolod Sergeevich Burtsev

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C
Μπόρις Αρτασέσοβιτς Μπαμπαγιάν

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

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

Ο πρώτος υπολογιστής 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 στο MCC, στο σύστημα πυραυλικής άμυνας A-135, καθώς και σε άλλες στρατιωτικές εγκαταστάσεις.

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

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

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

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

«Το 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 for SPARK-Technologies). Και στις αρχές της δεκαετίας του '90, ξεκίνησε η ενεργός συνεργασία μεταξύ της MCST και της Sun Microsystems, όπου η ομάδα MCST συμμετείχε στην ανάπτυξη του μικροεπεξεργαστή UltraSPARC.

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

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

Αρχιτεκτονική E2K

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

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

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

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

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

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

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

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

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

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

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

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

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

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

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

Εξομοίωση x86

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

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

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

Μία από τις πιο ενδιαφέρουσες ιδέες που κληρονομήθηκαν από τις αρχιτεκτονικές 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-), ZombieLoad (CVE-12127-2019) και τα παρόμοια.

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

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

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

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

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

SHD 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) που συνήθως χρησιμοποιούμε, αλλά στο εγγύς μέλλον θα είναι επίσης διαθέσιμο. Το κύριο πράγμα εδώ είναι ότι λειτουργεί καλά, αλλά θα σκεφτούμε τα "τόξα" αργότερα.

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

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

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

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

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

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

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

Bright Future

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

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

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

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

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

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

SHD AERODISK σε οικιακούς επεξεργαστές Elbrus 8C

Η κατάρρευση της ΕΣΣΔ κάποτε εμπόδισε την ομάδα των δημιουργών του 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" για τη δημιουργία ενός υπερυπολογιστή με απόδοση exascale:
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

Προσθέστε ένα σχόλιο