banner

Nachricht

Jun 11, 2023

Warum gibt es keine Software?

Seit Jahrzehnten verwenden wir Software, um Server mit Virtualisierungs-Hypervisoren zu zerstückeln, um viele kleine Workloads auf einem relativ großen Stück Eisen auszuführen.

Dies war ein Segen für X86-Server während der Großen Rezession, als die Servervirtualisierungstechnologie ausgereift genug war, um in Produktion zu gehen (wenn auch noch nicht perfekt), was eine Serverkonsolidierung und eine höhere Serverauslastung ermöglichte und einigen Unternehmen sogar dabei half, eine oder zwei Generationen zu überspringen Server-Upgrades zu einer Zeit, als sie das Geld für neues Eisen nicht wirklich ausgeben konnten.

Wie kommt es also, dass wir nicht auch Software verwenden, um viele billige Server eng miteinander zu koppeln, um Teile des gemeinsam genutzten Speichers und der damit verbundenen Rechenleistung zu schaffen, um Arbeitslasten auszuführen, die größer sind als eine einzelne Maschine? Es ist viel einfacher, für einen gemeinsam genutzten Speicherraum zu programmieren als für ein lose gekoppeltes verteiltes Computersystem, daher ist dies für uns etwas verwirrend. Hätten Sie nicht gerne eine Maschine mit einer Handvoll Sockets und Tausenden von Threads und eine Low-Level-Software, die die Ressourcenzuteilung verwaltet? Warum sollten Sie Ihre Anwendungen und Datenbanken skalieren, wenn Sie auch faul sein und skalieren könnten?

Die Technologie zur schnellen Erstellung von NUMA-Systemen gibt es schon seit vielen Jahren – erinnern Sie sich an Virtual Iron, RNA Networks und ScaleMP? – und hat möglicherweise seinen Höhepunkt mit TidalScale erreicht, das die Idee mit eigenen Wendungen im Wesentlichen derselben Geschichte erneut aufgreift und im März 2012 von Ike Nassi, Kleoni Ioannidou und Michael Berman gegründet wurde.

Übrigens sind die anderen drei Softwareunternehmen, die virtuelle NUMA-Server aus Standard-X86-Maschinen erstellt haben, alle verschwunden.

Virtual Iron, gegründet 2001, verschwand im Mai 2009 im klaffenden Schlund von Oracle. RNA Networks, gegründet 2006, wurde im Juni 2011 von Dell aufgefressen, und dieser Serverhersteller hat ein bisschen damit herumgespielt, und dann haben wir nie mehr davon gehört wieder. Und ScaleMP, gegründet im Jahr 2003, war mit seinem gleichnamigen NUMA-Hypervisor noch ziemlich stark im HPC-Sektor unterwegs, als The Next Platform im Jahr 2015 gegründet wurde, ScaleMP wurde im Juni 2021 stillschweigend von SAP übernommen. (Eine entsprechende Ankündigung gab es bisher nicht es ist uns bewusst. )

Nassi ist der Schwergewichtler bei TidalScale und immer noch Vorsitzender und Chief Technology Officer.

Nach seinem Bachelor-, Master- und Ph.D.-Abschluss in Informatik an der Stony Brook University in New York war Nassi Ingenieur beim Minicomputer-Innovator Digital Equipment und in den 1980er Jahren Vizepräsident beim Supercomputing-NUMA-Systeminnovator Encore Computer, bevor er zu Apple wechselte, um zu helfen Weiterentwicklung seines MacOS-Betriebssystems und seiner Sprachen. (Nassi ist einer der Schöpfer der Programmiersprache Ada und half bei der Entwicklung der Programmiersprache Dylan für den Apple Newton Handheld.) Er gründete 2001 den Mesh-Networking-Pionier Firetide und wurde anschließend Chefwissenschaftler der SAP-Forschungsabteilung des ERP-Softwareriese, tätig von 2005 bis 2011.

Nassi ist außerdem langjähriger außerordentlicher Professor für Informatik an der University of California Santa Cruz.

TidalScale hat in zwei Risikofinanzierungsrunden 43 Millionen US-Dollar eingesammelt und 2016 Gary Smerdon als Chief Executive Officer engagiert. Smerdon ist ein langjähriger Halbleitermanager von AMD, der anschließend bei Marvell, Greenfield Networks (übernommen von Cisco Systems), Tarari (übernommen von LSI Logic, wo er sechs Jahre lang verschiedene Führungspositionen innehatte), Fusion-io und Pavalion Data Systems tätig war .

Wir haben mit Smerdon gesprochen, als TidalScale 3.0 auf den Markt kam, als wir auf dem Höhepunkt der Coronavirus-Pandemie Next Platform TV machten. Und zu unserem Leidwesen haben wir dem Unternehmen letztes Jahr keine angemessene Berichterstattung über die Veröffentlichung von TidalScale 4.0 gegeben. Aber wir tun dies während der TidalScale 4.1-Version, die gerade herausgekommen ist.

Das Unternehmen brachte seinen ersten HyperKernel und den dazugehörigen Systemverwaltungs-Stack für virtuelle NUMA-Server im Jahr 2016 auf den Markt und veröffentlichte 2017 die Version 2.0. Mit dem Produkt TidalScale 3.0 im September 2019 wurde jedoch die Skalierbarkeit der NUMA-Maschinen verbessert, mit denen zusammengestellt werden konnte HyperKernel mit maximal 64 TB Speicher auf einem softwaredefinierten NUMA-Server, maximal 12 TB in jedem Knoten im NUMA-Cluster, bis zu dem Punkt, an dem 128 TB adressierbar sind. Dies ist eine Grenze in der Xeon SP-Serverarchitektur von Intel, die derzeit die einzige CPU ist, die TidalScale unterstützt.

Theoretisch hindert TidalScale nichts daran, AMD Epyc-, IBM Power- oder Arm-Server-CPU-Architekturen mit seinem HyperKernel zu unterstützen. Aber in der Praxis muss sich ein Startup konzentrieren, und trotz aller Konkurrenz, mit der Intel konfrontiert ist, ist die Xeon SP-Architektur immer noch die dominierende Architektur im Rechenzentrum.

In einem TidalScale NUMA-Cluster müssen die Serverknoten hinsichtlich Rechenleistung oder Speicher nicht die gleiche Konfiguration haben. Mit TidalScale 3.0 waren im NUMA-Cluster maximal 128 Sockets zulässig. Offensichtlich können Sie mit diesen Höchstwerten NUMA-Cluster mit einer Vielzahl von Serverknoten auf asymmetrische Weise erstellen oder sie wie NUMA-Hardware-basierte Clusterverkäufer wie HPE, IBM und andere erstellen, wobei jeder Knoten im Cluster derselbe ist Dasselbe.

Mit der Version TidalScale 4.0 wurden alle diese Kapazitäten verdoppelt. Sie könnten also maximal 24 TB für jeden einzelnen Knoten, bis zu 256 Sockets und bis zu 128 TB Gesamtspeicher in einem softwaredefinierten NUMA-Cluster haben.

In gewisser Weise drängt TidalScale ein wenig gegen den Hardware-Strom. Und aus mehreren anderen Gründen gab es noch nie einen besseren Zeitpunkt für einen „Ubervisor“ oder einen „Hyperkernel“ oder wie auch immer Sie die Art von Hypervisor nennen wollen, die Virtual Iron, RNA Networks, ScaleMP und TidalScale alle haben individuell erstellt.

Darüber hinaus machen einige der Innovationen im HyperKernel von TidalScale ihn im Vergleich zu seinen Vorgängern einzigartig, und solange nicht jemand das Unternehmen kauft und sich darauf einlässt, besteht die Möglichkeit, dass diese softwarebasierte NUMA-Clustering-Technologie allgegenwärtiger wird – insbesondere bei PCI-Express-, Ethernet- und InfiniBand-Netzwerken, die eine hohe Bandbreite und geringe Latenz bieten.

Lassen Sie uns zunächst über die Art der Rechenleistung und des NUMA-Clusterings im heutigen Rechenzentrum sprechen und darüber, wie es in vielen Fällen den Bedarf an NUMA verringert.

Zum einen haben die wenigen CPU-Designer, die es noch auf dem Rechenzentrumsmarkt gibt, im Laufe der Jahrzehnte immer bessere NUMA-Hardwaredesigns implementiert, und dies erforderte tatsächlich das Hinzufügen von mehr und schnelleren kohärenten Verbindungen, da kleinere Transistoren es ermöglichten, mehr Dinge auf dem Chip unterzubringen. Zu diesem Zeitpunkt gibt es in einem NUMA-System mit zwei Sockeln kaum noch Overhead, und die Betriebssysteme, die auf X86-Eisen laufen – Linux und Windows Server – sind längst darauf abgestimmt, die Vorteile von NUMA zu nutzen. Intel unterstützt Vier-Sockel- und Acht-Sockel-Systeme leimlos – also ohne zusätzlichen externen Chipsatz.

Bei den kommenden „Sapphire Rapids“ Xeon SPs erwarten wir mindestens 60 nutzbare Kerne pro Sockel und acht DDR5-Speichercontroller, die bei 256-GB-Speichersticks vielleicht 4 TB pro Sockel, bei 512 GB Speicher möglicherweise 8 TB pro Sockel unterstützen können Stöcke. Im Vergleich zu den vorherigen Generationen von Xeon SPs handelt es sich um einen sehr dichten Sockel. Und Intel wird 8-Wege-NUMA leimlos unterstützen, was bedeuten sollte, bis zu 480 Kerne, 960 Threads und 64 TB leimlos zu unterstützen. Das ist nach modernen Maßstäben ein ziemlich fetter Knoten.

Mit seinem „Denali“ Power10-basierten Power E1080-Server kann IBM 240 Kerne unterstützen, die etwa das Zweifache der Arbeit eines X86-Kerns mit 1.920 Threads leisten (IBM verfügt auf dem Power10 über achtfach simultanes Multithreading, wie es auch bei Power8 und Power9 der Fall war Chips), über 16 Sockel und bis zu 64 TB physischen Speicher über diese Sockel. IBM verfügt über bis zu 2 PB virtuelle Adressierung auf der Power10-Architektur, kann also jederzeit mehr Speicher bereitstellen, und soweit wir wissen, hat es keine Lust und wird keine 512-GB-Differential-DIMMs herstellen basierend auf DDR4-Speicher; Derzeit sind 256 GB DDIMMs das Maximum.

Diese hardwarebasierten NUMA-Server sind nicht billig, weshalb HPE und IBM sie immer noch herstellen – häufig zur Unterstützung von Datenbanken unter riesigen, auf relationalen Datenbanken basierenden Back-Office-Unternehmensanwendungs-Stacks. Die In-Memory-Datenbank SAP HANA treibt heutzutage viele NUMA-Eisenverkäufe voran.

Aber die Kosten und die starre Konfiguration von Hardware-NUMA-Clustern stellen eine Chance für TidalScale dar, auch wenn jeder Sockel leistungsfähiger wird und eine gewisse Menge an NUMA in die Chips integriert ist. Und das gilt auch für eine Erfindung im Herzen des TidalScale HyperKernel, die sogenannte wandernde virtuelle CPU.

In hardwarebasierten NUMA-Architekturen, die einen gemeinsam genutzten Speicherraum bereitstellen und von einem Servervirtualisierungs-Hypervisor aufgeteilt werden, werden virtuelle Maschinen mit Rechenleistung, Speicher und E/A konfiguriert und an diese Ressourcen gebunden. Alle Daten außerhalb dieser VM-Konfiguration müssen in diese VM ausgelagert werden, was zu Latenz führt.

Mit dem HyperKernel haben Nassi und sein Team eine neue Art virtueller CPU geschaffen, bei der es sich nicht um ein Programm handelt, das auf einem aufgeschlüsselten Hypervisor läuft, sondern um eine rechnerische Abstraktion auf niedriger Ebene, der eine Reihe von Registern und Zeigern zugewiesen sind. Dies ist eine sehr kleine Abstraktion – eine oder zwei Seiten Speicher, die in ein Ethernet-Paket passen. Es werden Millionen dieser virtuellen CPUs erstellt, während Anwendungen ausgeführt werden, und anstatt Daten auf große virtuelle Maschinen zu verschieben, huschen diese virtuellen CPUs um die Serverknoten und über die mit dem Netzwerk verbundenen Knoten im softwaredefinierten NUMA-Cluster herum und bewegen sich dorthin, wo die Daten sind, dass sie den nächsten Vorgang in einer Anwendung ausführen müssen.

Diese wandernde vCPU-Architektur wird in diesem Whitepaper ausführlich beschrieben, aber hier liegt der Knackpunkt: „Jede vCPU in einem TidalScale-System bewegt sich dorthin, wo sie auf die benötigten Daten zugreifen kann, wo immer sich diese Daten physisch befinden. Je größer das TidalScale-System, Je mehr physische CPUs und RAM für seine Wanderungen zur Verfügung stehen und desto effizienter wird die wandernde vCPU im Vergleich zu den anderen Optionen zur Verarbeitung großer Datenmengen.“

Die Effizienz wird teilweise durch maschinelle Lernalgorithmen gesteigert, die Berechnungs- und Datenzugriffsmuster bei laufenden Anwendungen und Datenbanken untersuchen, und vCPUs können aggregiert und an Daten weitergeleitet werden, ähnlich wie eine Vektormathematikeinheit Daten bündeln und parallel verarbeiten kann.

Der Vorteil dabei ist, dass Kunden, die einen gemeinsam genutzten Speicherbereich eines großen NUMA-Servers benötigen, um beispielsweise ein umfangreiches Datenbankverwaltungssystem oder In-Memory-Analysen auszuführen, einen aus normalen Xeon SP-Servern und Ethernet-Switching erstellen können Sparen Sie Geld gegenüber hardwarebasierten NUMA-Systemen.

„Kunden haben uns gesagt, dass wir ihre Gesamtkosten um rund 50 Prozent senken“, sagt Smerdon gegenüber The Next Platform. „Und im Vergleich zu IBM Power Systems glaube ich, dass die Gesamteinsparungen viel höher sind – wahrscheinlich in der Größenordnung von 60 bis 75 Prozent niedrigeren Gesamtkosten.“

Wir können uns andere Anwendungsfälle vorstellen, wie die, die ScaleMP vor einem Jahrzehnt verfolgte. In vielen HPC-Clustern gibt es Hunderte oder Tausende von X86-Knoten mit zwei Sockeln und dann Dutzende von X86-Knoten mit fettem Speicher, die auf stärkerem NUMA-Eisen basieren, für diejenigen Teile der Arbeitslast, die mehr Speicherkapazität benötigen, um gut zu laufen.

Stellen Sie sich vor, diese Fat Nodes könnten im Handumdrehen nach Bedarf von handelsüblichen Servern mit zwei Sockeln konfiguriert werden? Besser noch, Sie könnten einen Cluster nur aus wirklich dicken Speicherknoten oder je nach Bedarf eine Mischung aus dünnen und dicken Speicherknoten erstellen. Wenn sich die Arbeitslast ändert, kann sich die NUMA-Clusterkonfiguration ändern.

Was ist der unzuverlässigste Teil eines Servers? Es ist Prozessor? Es ist Systemsoftware? Es ist Netzwerk? Nein. Es ist der Hauptspeicher. Und da dieser Hauptspeicher immer dichter wird, wird es für eine kosmische Strahlung oder ein Alphateilchen immer einfacher, Bits umzudrehen und allerlei Chaos anzurichten.

DRAM werde immer unzuverlässiger, sagt Smerdon, da die Kapazität auf einem DRAM-Chip zunimmt, und nennt eine um das 5,5-fache geringere Zuverlässigkeit aus einer AMD-Studie aus dem Jahr 2017. Gleichzeitig sei die Menge an Hauptspeicher im Server gesunken um den Faktor 10 erhöht, und seltsamerweise, da Intel die Speichercontroller optimieren musste, um den Optane 3D höhere Rate nicht korrigierbarer Laufzeitfehler im Speicher für die Xeon SP-Chips. Wenn man das alles multipliziert, sagt Smerdon, ist die Ausfallrate des Arbeitsspeichers in einem Xeon SP-Server etwa 100-mal höher als vor einem Jahrzehnt.

Und dazu gibt es allerlei Horrorgeschichten, die sich nicht einfach mit der Aussage abmildern lassen, dass diese Fehler durch die Fehlertoleranzmechanismen moderner verteilter Computerplattformen abgedeckt werden können. Ohne Namen zu nennen, sagt Smerdon, dass ein Hyperscaler aufgrund hoher Ausfallraten 6.000 Server mit über 40 PB Hauptspeicher ersetzen musste. (Kein Wunder also, dass die AMD Epyc-Architektur Marktanteile unter den Hyperscalern und Cloud-Buildern verschlingt.)

Die gute Nachricht ist, dass korrigierbare DRAM-Fehler, Netzteil- und Lüfterausfälle sowie Netzwerk- und Speicherverbindungsverluste und Geräteausfälle alle mit hoher Wahrscheinlichkeit auftreten und alle eine Art Warnung über die Systemtelemetrie ausgeben, dass ein Absturz bevorsteht . Und auf einem virtuellen NUMA-Cluster mit vielen Knoten haben Sie beim Auftreten einer solchen Warnung daher die Möglichkeit, Arbeitslasten und Daten von diesem Server auf einen benachbarten Computer zu verschieben, bevor es zu diesem Absturz kommt. Sie reparieren den Server oder tauschen ihn aus, schließen ihn an, lassen den HyperKernel übernehmen und schon sind Sie wieder einsatzbereit.

Das ist, kurz gesagt, die Funktion der TidalGuard-Funktion von TidalScale 4.1, die gerade veröffentlicht wurde. Ausfallzeiten sind teuer, daher ist es wichtig, sie zu vermeiden. Smerdon sagt, dass 85 Prozent der Unternehmen eine Verfügbarkeit von mindestens „vier Neunen“ für ihre geschäftskritischen Systeme benötigen, und das bedeutet, dass sie über redundante und replizierte Systeme verfügen müssen. Das ist teuer, aber es lohnt sich, wenn man bedenkt, dass ein Drittel der von TidalScale befragten Unternehmen sagen, dass eine Stunde Ausfallzeit 1 Million US-Dollar oder mehr kostet, und sogar kleinere Unternehmen sagen, dass sie mindestens 100.000 US-Dollar pro Stunde verlieren, wenn ihre Systeme offline sind.

Durch die Verwendung von TidalGuard auf dem HyperKernel beträgt die durchschnittliche Reparaturzeit eines Systems etwa zehn Minuten, was einer zehn- bis tausendfachen Verbesserung gegenüber anderen Methoden entspricht, und Kunden können ihrer Infrastruktur weitere „zwei Neunen“ an Verfügbarkeit hinzufügen.

Und TidalGuard kann auch ein Problem lösen, über das wir nicht viel gesprochen haben, nämlich den Server-Verschleißausgleich im Rechenzentrum.

„Sie wissen, dass Sie Ihre Reifen drehen müssen, und wir alle wissen, dass der Flash-Speicher das Wear Leveling ausgleichen muss, sonst funktioniert es nicht“, erklärt Smerdon. „Jetzt verschleißen Server – eigentlich ihr Hauptspeicher – immer schneller, aber das wurde nicht überwacht. Aber wir können dies in unseren Clustern überwachen und basierend auf dem Nutzungszustand eine Schätzung abgeben.“ Wählen Sie in einem Pool aus, welche Server die meiste verbleibende Lebensdauer haben, und priorisieren Sie deren Nutzung zuerst.

Und mit dieser Funktion können Sie vorhersagen, wann Sie eine neue Flotte benötigen und wie lange diese halten wird.

Interessanterweise sind Zuverlässigkeit, Betriebszeit und Agilität die Hauptgründe, warum Unternehmen heute TidalScale einsetzen, während Skalierbarkeit und Kosteneinsparungen zweitrangig sind.

Wenn sich das softwaredefinierte NUMA-Clustering endlich durchsetzt – und wir glauben, dass es ein wichtiges Werkzeug im Werkzeugkasten der zusammensetzbaren Infrastruktur sein könnte –, könnte TidalScale ein Akquisitionsziel werden. Und wenn man bedenkt, wie lange das Unternehmen bereits in diesem Bereich tätig ist und wir noch nichts von einer weit verbreiteten Einführung seiner Technologie gehört haben, würden wir wetten, dass TidalScale gerne von einem viel größeren IT-Anbieter übernommen würde, um die Einführung auf breiterer Basis voranzutreiben.

Wenn Intel mit den Sapphire Rapids Aber das würde bedeuten, zuzugeben, dass es überhaupt ein Problem geschaffen hat, was unwahrscheinlich erscheint.

Angesichts der Tatsache, dass AMD auf Maschinen mit einem und zwei Sockeln beschränkt ist, könnte dies von Interesse sein. Das Arm-Kollektiv könnte auch virtuelle NUMA-Server nutzen, ebenso wie einer der Cloud-Anbieter, der für seine Flotten keine unterschiedlichen Server mit vier und acht Sockeln kaufen möchte. (Amazon Web Services hat intern mit TidalScale herumgespielt, und zweifellos auch andere Hyperscaler und Cloud-Builder.) VMware, das nach einem neuen Blickwinkel auf die Servervirtualisierung sucht, könnte interessiert sein, und das Gleiche gilt für Serverhersteller wie HPE, Dell, und Lenovo.

Mit Highlights, Analysen und Geschichten der Woche direkt von uns in Ihren Posteingang, ohne dass etwas dazwischen liegt. Jetzt abonnieren

AKTIE