SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

Hallo, liebe Leser von Habr. Wir möchten eine äußerst erfreuliche Nachricht teilen. Endlich können wir den echten Serienstart der neuen Generation der russischen Prozessoren Elbrus 8C verkünden. Der offizielle Serienstart hätte bereits 2016 beginnen sollen, aber tatsächlich wurde die Massenproduktion erst 2019 aufgenommen, und bis heute wurden bereits etwa 4000 Prozessoren produziert.

Unmittelbar nach dem Start der Serienproduktion sind diese Prozessoren auch bei uns im Aerodisk erhältlich. Dafür möchten wir der Firma NORSI-TRANS ausdrücklich danken, die uns ihre Hardware-Plattform Yakhont UVM zur Verfügung gestellt hat, die die Elbrus 8C-Prozessoren unterstützt, um die Softwareeinheit des SAN zu portieren. Dies ist eine moderne, allen Anforderungen von MCST entsprechende universelle Plattform. Momentan wird die Plattform von spezialisierten Nutzern und Netzbetreibern verwendet, um die festgelegten Aufgaben bei operativen Ermittlungen durchzuführen.

Momentan ist die Portierung erfolgreich abgeschlossen, und bereits jetzt ist das SAN AERODISK in einer Version mit inländischen Elbrus-Prozessoren verfügbar.

In diesem Artikel werden wir über die Prozessoren selbst, ihre Geschichte, Architektur und natürlich über unsere Implementierung des SAN auf Elbrus berichten.

Geschichte

Die Geschichte der Elbrus-Prozessoren beginnt in der Zeit der Sowjetunion. Im Jahr 1973 begann am Institut für Präzisionsmechanik und Computertechnik benannt nach S.A. Lebedew (namensgebend für denjenigen Sergey Lebedev, der zuvor die Entwicklung des ersten sowjetischen Computers MESM leitete und später BSM) die Entwicklung von multiprozessorischen Rechensystemen mit dem Namen „Elbrus“. Die Entwicklung wurde von Vsevolod Sergeyevich Burtsov geleitet, und Boris Artashesovich Babayan, einer der Stellvertreter des Hauptkonstrukteurs, nahm ebenfalls aktiv an der Entwicklung teil.

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren
Vsevolod Sergeyevich Burtsov

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren
Boris Artashesovich Babayan

Der Hauptauftraggeber des Projekts waren selbstverständlich die Streitkräfte der UdSSR, und diese Computerreihe wurde schließlich erfolgreich zur Erstellung von Kommandorechenzentren und Schießsystemen von Raketenabwehrsystemen sowie anderen Systemen für besondere Zwecke eingesetzt.

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

Der erste Computer „Elbrus“ wurde 1978 fertiggestellt. Er hatte eine modulare Architektur und konnte von 1 bis 10 Prozessoren auf der Basis von integrierten Schaltungen umfassen. Die Leistungsfähigkeit dieser Maschine erreichte 15 Millionen Operationen pro Sekunde. Der gemeinsame Arbeitsspeicher für alle 10 Prozessoren betrug bis zu 2 hoch 20 Maschinenwörter oder 64 MB.

Später stellte sich heraus, dass viele Technologien, die bei der Entwicklung von „Elbrus“ verwendet wurden, zur gleichen Zeit weltweit erforscht wurden und dass die Firma International Business Machine (IBM) an ihnen arbeitete. Im Gegensatz zu den Arbeiten an „Elbrus“ wurden diese Projekte jedoch nicht abgeschlossen und führten letztlich nicht zur Schaffung eines fertigen Produkts.

Laut Wsewolod Burzew bemühten sich sowjetische Ingenieure, die fortschrittlichsten Erfahrungen sowohl nationaler als auch ausländischer Entwickler anzuwenden. Auch die Computer von Burroughs, Entwicklungen von Hewlett-Packard sowie die Erfahrungen der Entwickler von BESM-6 beeinflussten die Architektur der Computer „Elbrus“.

Dennoch waren viele Entwicklungen originell. Das Interessanteste an „Elbrus-1“ war genau seine Architektur.

Der geschaffene Supercomputer war der erste in der UdSSR, der eine superskalare Architektur verwendete. Der Massenanwendung von superskalaren Prozessoren im Ausland begann erst in den 90er Jahren des letzten Jahrhunderts mit dem Erscheinen von erschwinglichen Intel Pentium-Prozessoren auf dem Markt.

Darüber hinaus konnten spezielle Eingabe-/Ausgabeprozessoren verwendet werden, um den Datenfluss zwischen Peripheriegeräten und Arbeitsspeicher im Computer zu organisieren. In einem System konnten bis zu vier solcher Prozessoren eingebaut sein, die parallel zum zentralen Prozessor arbeiteten und über ihren eigenen, dedizierten Speicher verfügten.

Elbrus-2

1985 erhielt „Elbrus“ seine logische Fortsetzung, als der Computer „Elbrus-2“ entworfen und in Serienproduktion geschickt wurde. In Bezug auf die Architektur unterschied er sich kaum von seinem Vorgänger, verwendete jedoch eine neue Bauelementebasis, was es ermöglichte, die Gesamtleistung nahezu zehnmal zu steigern – von 15 Millionen Operationen pro Sekunde auf 125 Millionen. Der Arbeitsspeicher des Computers wurde auf 16 Millionen 72-Bit-Wörter oder 144 MB erhöht. Die maximale Bandbreite der Ein- und Ausgabekanäle von „Elbrus-2“ betrug 120 MB/s.

Der «Elbrus-2» wurde aktiv in den nuklearen Forschungszentren in Tscheljabinsk-70 und in Arsamas-16 im Zentrums für Raumfahrtkontrolle, im ABM-System A-135 sowie an anderen militärischen Standorten eingesetzt.

Die Schaffung des «Elbrus» wurde von den Führungspersönlichkeiten der Sowjetunion gebührend gewürdigt. Viele Ingenieure wurden mit Orden und Medaillen ausgezeichnet. Der Generaldesigner Wsewold Burchzew und mehrere andere Spezialisten erhielten staatliche Preise. Boris Babajan wurde mit dem Orden der Oktoberrevolution ausgezeichnet.

Diese Auszeichnungen sind mehr als verdient, Boris Babajan sagte später:

„Im Jahr 1978 haben wir die erste superskalare Maschine, den Elbrus-1, gebaut. Heutzutage werden im Westen superskalare Architekturen nur dieser Art hergestellt. Der erste superskalare Prozessor im Westen erschien 1992, unser 1978. Zudem ist die Version des Superskalars, die wir gebaut haben, vergleichbar mit dem Pentium Pro, das Intel 1995 entwickelte.“

Diese Worte über die historische Vorreiterrolle bestätigen auch in den USA, Kit Diefendorff, der Entwickler des Motorola 88110, eines der ersten westlichen superskalaren Prozessoren, schrieb:

„Im Jahr 1978, fast 15 Jahre bevor die ersten westlichen superskalaren Prozessoren erschienen, wurde im Elbrus-1 ein Prozessor verwendet, der zwei Befehle pro Taktzyklus ausgibt, die Reihenfolge der Befehlsausführung ändert, Register umbenennt und Vorhersage für die Ausführung nutzt.“

Elbrus-3

Das Jahr war 1986, und kurz nach der Fertigstellung der Arbeiten am zweiten «Elbrus» begann das ITMiVT mit der Entwicklung eines neuen Systems, „Elbrus-3“, unter Verwendung einer grundlegend neuen Prozessorarchitektur. Dieser Ansatz wurde von Boris Babajan als „post-superskalare Architektur“ bezeichnet. Diese Architektur, die später VLIW/EPIC genannt wurde, wurde in Zukunft (in den 90er Jahren) von Intel Itanium-Prozessoren verwendet (und diese Entwicklungen in der UdSSR begannen 1986 und endeten 1991).

In diesem Rechenkomplex wurden erstmals die Ideen einer expliziten Steuerung der Parallelität von Operationen mit Hilfe des Compilers in die Praxis umgesetzt.

Im Jahr 1991 wurde der erste und leider einzige Computer „Elbrus-3“ veröffentlicht, der nicht bis zum Ende funktionsfähig gemacht werden konnte, und nach dem Zusammenbruch der Sowjetunion wurde er niemandem mehr benötigt, und die Entwicklungen und Pläne blieben auf dem Papier.

Voraussetzungen für die neue Architektur

Das Team, das im ITMiVT an der Schaffung der sowjetischen Supercomputer gearbeitet hat, hat sich nicht aufgelöst, sondern arbeitet weiter als eigenständiges Unternehmen unter dem Namen MCST (Moskauer Zentrum für SPARC-Technologien). Zu Beginn der 90er Jahre begann eine aktive Zusammenarbeit von MCST mit Sun Microsystems, bei der das MCST-Team an der Entwicklung des Mikroprozessor UltraSPARC beteiligt war.

Gerade in dieser Zeit entstand das E2K-Architekturprojekt, das ursprünglich von der Firma Sun finanziert wurde. Später wurde das Projekt vollständig unabhängig, und das gesamte geistige Eigentum blieb im Besitz des MCST-Teams.

„Wenn wir weiterhin mit Sun in diesem Bereich gearbeitet hätten, dann würde alles Sun gehören. Obwohl 90 % der Arbeit bereits vor dem Auftreten von Sun geleistet wurden.“ (Boris Babayan)

E2K-Architektur

Wenn wir über die Prozessorarchitektur „Elbrus“ sprechen, hören wir sehr oft von unseren Kollegen aus der IT-Branche folgende Aussagen:

„Elbrus ist doch eine RISC-Architektur“
„Elbrus ist doch eine EPIC-Architektur“
„Elbrus ist doch eine SPARC-Architektur“

In Wirklichkeit ist keine dieser Aussagen vollständig korrekt, und wenn sie es ist, dann nur teilweise.

Die E2K-Architektur ist eine eigenständige, originale Prozessorarchitektur. Die Hauptmerkmale von E2K sind Energieeffizienz und hervorragende Skalierbarkeit, die durch die Festlegung von explizitem Parallelismus von Operationen erreicht werden. Die E2K-Architektur wurde vom MCST-Team entwickelt und basiert auf einer post-super-skalaren Architektur (ähnlich wie EPIC) mit einem gewissen Einfluss der SPARC-Architektur (mit RISC-Vergangenheit). Dabei hat MCST aktiv an der Schaffung von drei der vier grundlegenden Architekturen (Super-Skalar, Post-Super-Skalar und SPARC) mitgewirkt. Die Welt ist wirklich klein.

Um in Zukunft Verwirrung zu vermeiden, haben wir ein einfaches Schema gezeichnet, das, obwohl vereinfacht, sehr klar die Wurzeln der E2K-Architektur zeigt.

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

Jetzt noch ein wenig über den Namen der Architektur, zu dem es ebenfalls Missverständnisse gibt.

In verschiedenen Quellen können folgende Bezeichnungen für diese Architektur gefunden werden: „E2K“, „Elbrus“, „Elbrus 2000“, ELBRUS („ExpLicit Basic Resources Utilization Scheduling“, d.h. explizite Planung der Nutzung grundlegender Ressourcen). All diese Bezeichnungen beziehen sich auf dasselbe – die Architektur, in der offiziellen technischen Dokumentation sowie in technischen Foren wird jedoch der Begriff E2K verwendet. Daher verwenden wir im Folgenden den Begriff „E2K“, wenn wir über die Prozessorarchitektur sprechen, und den Namen „Elbrus“, wenn es um den spezifischen Prozessor geht.

Technische Merkmale der E2K-Architektur

In traditionellen Architekturen vom Typ RISC oder CISC (x86, PowerPC, SPARC, MIPS, ARM) wird dem Prozessor ein Strom von Befehlen zugeführt, die auf sequenzielle Ausführung ausgelegt sind. Der Prozessor kann unabhängige Operationen erkennen und parallel ausführen (Superskalariät) und sogar deren Reihenfolge ändern (out-of-order Execution). Dennoch hat die dynamische Analyse von Abhängigkeiten und die Unterstützung von out-of-order Execution ihre Grenzen in der Anzahl der Befehle, die in einem Takt gestartet und analysiert werden können. Darüber hinaus verbrauchen die entsprechenden Blöcke innerhalb des Prozessors eine erhebliche Menge an Energie, und die komplexeste Implementierung kann manchmal zu Stabilitäts- oder Sicherheitsproblemen führen.

In der E2K-Architektur übernimmt der Compiler den Hauptteil der Analyse von Abhängigkeiten und der Optimierung der Reihenfolge der Operationen. Dem Prozessor werden sogenannte breite Befehle zugeführt, in denen die Anweisungen für alle Ausführungseinheiten des Prozessors codiert sind, die in diesem Takt ausgeführt werden sollen. Der Prozessor muss keine Abhängigkeiten zwischen Operanden analysieren oder Operationen zwischen breiten Befehlen umsortieren: all dies erledigt der Compiler basierend auf der Analyse des Quellcodes und der Planung der Ressourcen des Prozessors. Dadurch kann die Hardware des Prozessors einfacher und effizienter gestaltet werden.

Der Compiler ist in der Lage, den Quellcode viel gründlicher zu analysieren als die RISC/CISC-Hardware des Prozessors und mehr unabhängige Operationen zu finden. Daher gibt es in der E2K-Architektur mehr parallel arbeitende Ausführungseinheiten als in traditionellen Architekturen.

Aktuelle Möglichkeiten der E2K-Architektur:

  • 6 Kanäle für arithmetisch-logische Einheiten (ALU), die parallel arbeiten.
  • Registerdatei mit 256 84-Bit-Registern.
  • Hardwareunterstützung für Schleifen, einschließlich mit Pipeline. Erhöht die Effizienz der Nutzung der Prozessorressourcen.
  • Programmierbares asynchrones Vorausladungsgerät mit separaten Lesekanälen. Ermöglicht es, Verzögerungen beim Zugriff auf den Speicher zu verbergen und die ALU besser zu nutzen.
  • Unterstützung für spekulative Berechnungen und einbitte Prädikate. Reduziert die Anzahl der Sprünge und ermöglicht die gleichzeitige Ausführung mehrerer Programmzweige.
  • Breites Befehlsspektrum, das bei maximaler Auslastung bis zu 23 Operationen in einem Takt ausführen kann (über 33 Operationen bei der Verpackung von Operanden in Vektorbefehlen).

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

Emulation x86

Bereits in der Entwurfsphase der Architektur war den Entwicklern die Bedeutung der Unterstützung von Software, die für die Intel x86-Architektur geschrieben wurde, bewusst. Zu diesem Zweck wurde ein System zur dynamischen (d.h. während der Programmausführung oder "on the fly") Übersetzung von x86-Binärcodes in die Codes der E2K-Architektur entwickelt. Dieses System kann sowohl im Anwendungsmodus (ähnlich wie WINE) als auch im Modus, der einem Hypervisor ähnlich ist, betrieben werden (dabei kann ein ganzes Gastbetriebssystem für die x86-Architektur gestartet werden).

Durch mehrere Optimierungsstufen wird eine hohe Ausführungsgeschwindigkeit des übersetzten Codes erreicht. Die Qualität der x86-Emulation wird durch den erfolgreichen Betrieb von über 20 Betriebssystemen (darunter mehrere Windows-Versionen) und Hunderten von Anwendungen auf den Rechensystemen "Elbrus" bestätigt.

Geschützter Modus für die Ausführung von Programmen

Eine der interessantesten Ideen, die von den Architekturen Elbrus-1 und Elbrus-2 übernommen wurden, ist die sogenannte sichere Ausführung von Programmen. Ihr Kern besteht darin, sicherzustellen, dass ein Programm nur mit initialisierten Daten arbeitet, alle Speicherzugriffe auf ihre Zugehörigkeit zu einem zulässigen Adressbereich überprüft und den intermodularen Schutz gewährleistet (zum Beispiel, um das aufrufende Programm vor Fehlern in der Bibliothek zu schützen). All diese Überprüfungen werden hardwareseitig durchgeführt. Für den geschützten Modus gibt es einen vollwertigen Compiler und eine Runtime-Support-Bibliothek. Dabei muss man verstehen, dass die auferlegten Einschränkungen zur Unmöglichkeit führen, beispielsweise C++-Code auszuführen.

Selbst im normalen, "ungenügenden" Betriebsmodus der Elbrus-Prozessoren gibt es Merkmale, die die Zuverlässigkeit des Systems erhöhen. So ist der Stack mit verbindenden Informationen (Kette der Rückgabepunkte bei prozeduralen Aufrufen) vom Stack benutzter Daten getrennt und für Attacken, die in Viren eingesetzt werden, wie die Manipulation von Rückgabepunkten, unzugänglich.

Die über die Jahre entwickelten Lösungen ermöglichen es nicht nur, mit konkurrierenden Architekturen hinsichtlich Leistung und Skalierbarkeit Schritt zu halten, sondern sie bieten auch Schutz vor Fehlern, unter denen x86/amd64 leidet. Sicherheitsanfälligkeiten wie Meltdown (CVE-2017-5754), Spectre (CVE-2017-5753, CVE-2017-5715), RIDL (CVE-2018-12126, CVE-2018-12130), Fallout (CVE-2018-12127), ZombieLoad (CVE-2019-11091) und ähnliche.

Der moderne Schutz gegen die in der Architektur x86/amd64 gefundenen Schwachstellen basiert auf Patches auf Betriebssystemebene. Daher ist der Leistungsabfall bei aktuellen und früheren Generationen von Prozessoren dieser Architektur so deutlich und beträgt zwischen 30% und 80%. Wir als aktive Nutzer von x86-Prozessoren wissen das, leiden darunter und müssen weiterhin "Kaktus essen". Das Bestehen einer Lösung für diese Probleme ist für uns (und letztendlich für unsere Kunden) ein unbestreitbarer Vorteil, zumal es sich um eine russische Lösung handelt.

Technische Spezifikationen

Im Folgenden sind die offiziellen technischen Spezifikationen der Prozessoren "Elbrus" der vergangenen (4C), aktuellen (8C), neuen (8CV) und zukünftigen (16C) Generationen im Vergleich zu ähnlichen Intel x86-Prozessoren aufgeführt.

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

Bereits ein flüchtiger Blick auf diese Tabelle zeigt (und das freut uns sehr), dass der technologische Rückstand der heimischen Prozessoren, der vor 10 Jahren unüberwindbar schien, inzwischen kaum noch nennenswert ist, und im Jahr 2021 mit der Einführung des "Elbrus-16S" (der zudem Virtualisierung unterstützen wird) auf ein Minimum reduziert wird.

AERODISK-Speichersysteme auf Elbrus 8S-Prozessoren

Von der Theorie kommen wir zur Praxis. Im Rahmen der strategischen Allianz der Unternehmen MCST, AERODISK, Basalt SPU (ehemals Alt Linux) und NORSI-TRANS wurde ein Speichersystem entwickelt und betriebsbereit gemacht, das derzeit in Bezug auf Sicherheit, Funktionalität, Kosten und Leistung, wenn nicht das Beste, dann doch aus unserer Sicht ein unbestritten würdiges Angebot ist, das ein angemessenes Maß an technologischer Unabhängigkeit für unser Vaterland gewährleisten kann.
Jetzt zu den Details…

Hardware

Die Hardware des Speichersystems basiert auf der universellen Plattform Yakhont UVM von NORSI-TRANS. Die Yakhont UVM-Plattform erhielt den Status von Telekommunikationsausrüstung russischer Herkunft und ist im einheitlichen Register der russischen radioelektronischen Produkte enthalten. Das System besteht aus zwei separaten Speicherkontrollern (jeweils 2U), die über ein 1G oder 10G Ethernet-Interconnect miteinander verbunden sind sowie mit gemeinsamen Festplattenschränken unter Verwendung einer SAS-Verbindung.

Natürlich sieht das nicht so schön aus wie das Format "Cluster in a box" (bei dem die Controller und Festplatten in einem gemeinsamen 2U-Gehäuse installiert sind), das wir normalerweise verwenden, aber schon bald wird es auch verfügbar sein. Wichtig ist, dass es gut funktioniert; über die "Schleifen" denken wir später nach.

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

Jeder Controller hat unter der Haube ein Motherboard mit einem Prozessor, das über vier Steckplätze für den Arbeitsspeicher (DDR3 für den 8S-Prozessor) verfügt. Jeder Controller hat außerdem vier 1G Ethernet-Ports (von denen zwei von der AERODISK ENGINE-Software als Dienstports genutzt werden) und drei PCIe-Steckplätze für Back-end (SAS) und Front-end (Ethernet oder FibreChannel)-Adapter.

Als Bootlaufwerke kommen russische SATA-SSD-Laufwerke des Unternehmens GS Nanotech zum Einsatz, die wir mehrfach getestet und in Projekten verwendet haben.

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

Bei unserer ersten Begegnung mit der Plattform haben wir sie sorgfältig untersucht. An der Qualität der Montage und Lötung gab es keine Fragen, alles wurde ordentlich und zuverlässig durchgeführt.

Das Betriebssystem

Als Betriebssystem wird die Version ALT OS 8SP für die Zertifizierung verwendet. In naher Zukunft planen wir die Erstellung eines anschlussfähigen und ständig aktualisierten Repositories für ALT OS mit der Software AERODISK.

Diese Version der Distribution basiert auf der aktuellen stabilen Version des Linux-Kernels 4.9 für E2K (der Long-Term-Support-Zweig wurde von Spezialisten von MCST portiert), ergänzt durch Patches für Funktionalität und Sicherheit. Alle Pakete im ALT OS wurden direkt auf "Elbrus" mit dem originalen transaktionalen Build-System des Projekts ALT Linux Team erstellt, was es ermöglichte, den Aufwand für den Transfer zu reduzieren und mehr Augenmerk auf die Qualität des Produkts zu legen.

Jede Veröffentlichung von ALT OS für Elbrus kann erheblich in ihrer Funktionalität erweitert werden, indem das verfügbare Repository genutzt wird (von etwa 6.000 Quellpaketen für die achte Version bis zu etwa 12.000 für die neunte).

Die Entscheidung fiel auch deshalb, weil das Unternehmen Basalt SPO, der Entwickler von ALT OS, aktiv mit anderen Entwicklern von Software und Geräten auf verschiedenen Plattformen zusammenarbeitet und nahtlose Interaktion im Rahmen von hardware-software Komplexen gewährleistet.

Software für Datenspeichersysteme

Bei der Portierung haben wir sofort von der Idee abgesehen, die in E2K unterstützte x86-Emulation zu verwenden, und begannen direkt mit den Prozessoren zu arbeiten (glücklicherweise verfügt ALT bereits über die notwendigen Mittel dafür).

Unter anderem bietet der native Ausführungsmodus bessere Sicherheit (die besagten drei Hardware-Stacks anstelle von einem) und erhöhte Leistung (es ist nicht notwendig, ein oder zwei Kerne von acht für den Betrieb des binären Translators zu reservieren, und der Compiler erledigt seine Arbeit besser als JIT).

Tatsächlich unterstützt die Implementierung der AERODISK ENGINE auf E2K den Großteil der bestehenden Funktionalität des Datenspeichers, die in x86 vorhanden ist. Als Software für das Datenspeichersystem wird die derzeit aktuelle Version der AERODISK ENGINE (A-CORE Version 2.30) verwendet.

Ohne größere Probleme wurden auf E2K die folgenden Funktionen eingerichtet und für den produktiven Einsatz getestet:

  • Fehlertoleranz bis zu zwei Controllern und Multichannel I/O (mpio)
  • Block- und Dateizugriff mit dünnen Volumes (RDG-Pools, DDP; Protokolle FC, iSCSI, NFS, SMB einschließlich Integration mit Active Directory)
  • Verschiedene RAID-Level bis zur dreifachen Parität (einschließlich der Möglichkeit, einen RAID-Builder zu verwenden)
  • Hybride Speicherung (Kombination von SSD und HDD innerhalb eines Pools, d.h. Caching und Tiering)
  • Platzersparnis durch Deduplizierung und Kompression
  • ROW-Snapshots, Klone und verschiedene Replikationsoptionen
  • Und andere kleine, aber nützliche Funktionen wie QoS, globales Hotspare, VLAN, BOND usw.

Tatsächlich konnten wir auf E2K unsere gesamte Funktionalität integrieren, außer der Mehrkontrollerfähigkeit (mehr als zwei) und dem Scheduler für Multi-Threaded-I/O, der die Leistung von All-Flash-Pools um 20-30 % steigert.

Diese nützlichen Funktionen werden wir natürlich ebenfalls hinzufügen, es ist nur eine Frage der Zeit.

Ein wenig zur Leistung

Nach dem erfolgreichen Abschluss der Tests der Grundfunktionen des SAN haben wir selbstverständlich Lasttests durchgeführt.

Beispielsweise haben wir auf einem Dual-Controller-SAN (2xCPU E8C 1,3 GHz, 32 GB RAM + 4 SAS SSD 800GB 3DWD), bei dem der RAM-Cache deaktiviert war, zwei DDP-Pools mit einer grundlegenden RAID-10-Ebene erstellt und zwei LUNs von je 500 GB konfiguriert und diese LUNs über iSCSI (10G Ethernet) mit einem Linux-Host verbunden. Dann haben wir einen der grundlegenden stündlichen Tests mit kleinen Blöcken sequentieller Last mit dem Programm FIO durchgeführt.

Die ersten Ergebnisse waren ganz positiv.

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

Die Auslastung der Prozessoren lag im Durchschnitt bei 60 %, d.h. das ist das grundlegende Niveau, auf dem das SAN problemlos arbeiten kann.

Ja, das ist weit entfernt von Highload, und für hochleistungsfähige DBMSs eines Abrechnungssystems wird das eindeutig nicht ausreichen, aber wie unsere Erfahrungen zeigen, sind diese Eigenschaften für 80 % der allgemeinen Aufgaben, für die SANs verwendet werden, ausreichend.

Später planen wir, mit einem detaillierten Bericht über die Lasttests von Elbrus als SAN-Plattform zurückzukehren.

Eine strahlende Zukunft

Wie bereits erwähnt, hat die Massenproduktion des Elbrus 8C tatsächlich erst kürzlich begonnen – Anfang 2019, und bis Dezember wurden bereits etwa 4000 Prozessoren produziert. Zum Vergleich, von den Prozessoren der vorherigen Generation Elbrus 4C wurden in der gesamten Produktionszeit nur 5000 hergestellt, sodass der Fortschritt offensichtlich ist.

Es ist klar, dass dies ein Tropfen auf den heißen Stein ist, selbst für den russischen Markt, aber der Weg wird von dem Gehen bestimmt.
Für das Jahr 2020 ist die Herstellung mehrerer zehntausend Elbrus 8C-Prozessoren geplant, was bereits eine bedeutende Zahl darstellt. Darüber hinaus soll der Elbrus-8SV-Prozessor im Laufe des Jahres 2020 von dem Team von MCS bis zur Serienproduktion weiterentwickelt werden.

Solche Produktionspläne sind eine Ansage für einen sehr bedeutenden Anteil des gesamten nationalen Marktes für Serverprozessoren.

Letztendlich haben wir hier und jetzt einen guten und modernen russischen Prozessor mit einer verständlichen und unserer Meinung nach richtigen Entwicklungsstrategie, auf dessen Basis es ein maximal geschütztes und zertifiziertes Datenspeichersystem russischer Herstellung gibt (und in Zukunft auch ein Virtualisierungssystem auf Elbrus-16C). Das System ist so russisch, wie es derzeit physisch unter den modernen Bedingungen möglich ist.

Wir beobachten oft in den Nachrichten die очередные epischen провалы von Unternehmen, die sich stolz als russische Hersteller darstellen, aber in Wirklichkeit lediglich Etiketten umkleben, ohne dem Produkt des ausländischen Herstellers irgendeinen eigenen Wert hinzuzufügen, außer ihrer eigenen Marge. Leider werfen solche Unternehmen einen Schatten auf alle echten russischen Entwickler und Hersteller.

Mit diesem Artikel wollen wir anschaulich zeigen, dass es in unserem Land Unternehmen gibt, die tatsächlich und qualitativ moderne komplexe IT-Systeme entwickeln und aktiv wachsen, und dass die Importsubstitution im IT-Bereich keine Scheinheiligkeit, sondern Realität ist, in der wir alle leben. Man kann diese Realität nicht mögen, man kann sie kritisieren oder man kann daran arbeiten und sie besser machen.

SAS AERODISK auf einheimischen Elbrus 8C Prozessoren

Der Zusammenbruch der UdSSR hat damals das Team der Elbrus-Ersteller daran gehindert, ein bedeutender Spieler in der Welt der Prozessoren zu werden, und zwang das Team, die Finanzierung ihrer Entwicklungen im Ausland zu suchen. Diese wurde gefunden, die Arbeit wurde geleistet und das geistige Eigentum wurde bewahrt. Dafür möchten wir diesen Menschen unseren herzlichen Dank aussprechen!

Das wäre es vorerst, bitte schreiben Sie Ihre Kommentare, Fragen und natürlich Ihre Kritik. Wir sind immer dankbar.

Auch im Namen des gesamten Unternehmens Aerodisk möchte ich die gesamte russische IT-Community herzlich zum kommenden Neujahr und Weihnachten gratulieren und 100% uptime wünschen – und dass Backups im neuen Jahr niemandem nützlich sein werden))).

Verwendete Materialien

Artikel mit allgemeiner Beschreibung von Technologien, Architekturen und Persönlichkeiten:
https://www.ixbt.com/cpu/e2k-spec.html

Eine kurze Geschichte der Computer mit dem Namen „Elbrus“:
https://topwar.ru/34409-istoriya-kompyuterov-elbrus.html

Allgemeiner Artikel über die Architektur e2k:
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81_2000

Artikel über die 4. Generation (Elbrus-8C) und die 5. Generation (Elbrus-8CV, 2020):
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-8%D0%A1

Spezifikationen der nächsten 6. Generation von Prozessoren (Elbrus-16CV, 2021):
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-16%D0%A1

Offizielle Beschreibung der Elbrus-Architektur:
http://www.elbrus.ru/elbrus_arch

Entwicklerpläne für die Hardware-Software-Plattform „Elbrus“ zum Aufbau eines Exaflop-Supercomputers:
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

Russische Technologien „Elbrus“ für Personal Computer, Server und Supercomputer:
http://www.mcst.ru/files/5472ef/770cd8/50ea05/000001/rossiyskietehnologiielbrus-it-edu9-201410l.pdf

Ein alter Artikel von Boris Babayan, aber immer noch relevant:
http://www.mcst.ru/e2k_arch.shtml

Ein alter Artikel von Michail Kuzminsky:
https://www.osp.ru/os/1999/05-06/179819

Präsentation von MCS, allgemeine Informationen:
https://yadi.sk/i/HDj7d31jTDlDgA

Informationen über das Betriebssystem Alt für die Elbrus-Plattform:
https://altlinux.org/эльбрус

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

Quelle: habr.com

60GB SSD 8Gb DDR4