iX 5/2017
S. 120
Wissen
Serverarchitektur
Aufmacherbild

Schneller Speicher im Mittelpunkt der Rechner

Ein und dasselbe

Es sieht so aus, als ob im Zeitalter von Big Data und Cloud-Computing die Ideen des John von Neumann für den Rechnerbau an ihre Grenzen stoßen – zumindest in der Server-Welt. Stand bisher das Rechenwerk im Vordergrund, das sich des Speichers und der Ein-/Ausgabemechanismen bediente, rückt jetzt mehr und mehr Memory ins Zentrum des Designs, denn der schnelle Zugriff sehr vieler Prozessoren auf einen riesigen Massenspeicher wird wichtiger denn je.

Nicht mehr allzu lange gilt das mooresche Gesetz, sind sich die Experten einig. Die Chipfertigung stößt aufgrund der permanenten Miniaturisierung an physikalische Grenzen. Damit wird es immer unwahrscheinlicher, dass sich die Komplexität integrierter Schaltkreise – wie von Intel-Mitbegründer Gordon Moore prognostiziert – ohne große Mehrkosten regelmäßig verdoppelt.

Das heißt: Die IT-Branche braucht zukünftig einen neuen Motor – speziell die Serverhersteller, die bisher alle drei bis vier Jahre eine neue Rechnergeneration auf den Markt bringen. Um der Nachfrage nach immer mehr Performance gerecht zu werden, konnten sie bisher jede Generation mit wesentlich leistungsfähigeren Prozessoren und deutlich mehr Hauptspeicher ausstatten, ohne allzu stark an der Preisschraube drehen zu müssen.

Weil aber das mooresche Gesetz nicht über Nacht, sondern mit Ansage seine Gültigkeit verliert, arbeiten die Hersteller schon seit Jahren an leistungsfördernden Alternativen bei der Serverarchitektur.

Ein Mittel zum Zweck sind völlig neue Chiptechnologien wie Quantengatter, Optoelektronik, Bio-Computing oder neuronale Schaltkreise. Teilweise bedeutet das sogar die Abkehr von der bisher üblichen Digitaltechnik – etwa mit ternären Computern und einer dreiwertigen Logik statt der klassisch binären Logik mit zwei möglichen Werten pro Ziffer.

Andere Forschungen behalten zwar die bewährte Halbleitertechnik im Prinzip bei, erweitern aber die bisher zweidimensionalen, flachen Chipstrukturen in die dritte Dimension, um die Packungsdichte der Schaltkreise zu erhöhen.

Ebenso gibt es weiterhin Fortschritte in der Miniaturisierung. Heute gibt es erste elektronische Bauteile, deren Größe in einem Bereich von 100 Nanometern liegt. Einer weiteren Verkleinerung steht allerdings bald die Physik im Weg: zu hohe Wärmeverluste oder unerwünschte Quanteneffekte.

In-Memory-Computing en vogue

Eine Ebene über dem Chipdesign steht die Serverarchitektur an sich, die im Prinzip seit über 70 Jahren John von Neumanns Ideen gehorcht, jetzt aber ebenfalls einen Wandel erfährt. Immer mehr Unternehmen preisen inzwischen ihr In-Memory-Computing an, bei dem Anwendungen die Daten von Anfang bis Ende im Hauptspeicher belassen und dort verarbeiten, statt sie zwischendurch auf Festplatte oder Flash-Speicher abzulegen und von dort wieder zu laden.

Das bringt enorme Performancevorteile. Allerdings ist Hauptspeicher flüchtig. Daher erfordert In-Memory-Computing begleitende Verfahren, um die Persistenz der Daten sicherzustellen. Diese Aufgabe erfüllen bisher klassische langsame Speicher mit ihren Nachteilen: Im Zeitalter von Big Data kann dadurch der Start der Anwendung wegen des anfänglichen Ladens der Daten von der Festplatte so lange dauern, dass das Warten auf das erste Abfrageergebnis die Vorteile des In-Memory-Computing zunichtemacht.

Neue Architekturen brauchen neue Anwendungen

Will man komplett auf In-Memory-Computing umschalten, hat das weitreichende Konsequenzen – vor allem für die Anwendungssoftware. Denn wenn der Server speicherzentriert arbeitet, benötigt er Anwendungen, die mit dieser Architektur arbeiten – und letztlich eine neue Laufzeitumgebung. In der Folge sind drei Wege denkbar, mit denen sich die Server-Workloads auf die neuartigen Plattformen verlagern lassen:

1. Anpassen bewährter APIs an die neue Plattform: Dieser Weg ist naheliegend und geradlinig, bringt er doch bewährte Software mit minimalen Codeänderungen auf das Zielsystem. Das reduziert die Funktionstests auf die Frage, ob die Software nach den Änderungen auch auf der neuen Plattform läuft. Allerdings bringt dieser Weg keine neuen Funktionen – und in der Regel kaum mehr Tempo.

2. Recodierung vorhandener Programme: Um so die möglichen Performancegewinne zu realisieren, sind sowohl genaue Kenntnisse der neuen Architektur als auch tief greifende Optimierungen kritischer Bereiche einer Anwendung notwendig. Im Softwareengineering ist das gleichzusetzen mit einer grundlegenden Überarbeitung der Programme, die wiederum umfangreiche Funktionstests der neuen Programmteile erforderlich macht. In diesem Fall wird die Performance der Anwendung deutlich besser sein, als wenn nur die Schnittstellen an die neue Plattform angepasst werden.

3. Entwurf völlig neuer Algorithmen: Nur mit diesem Ansatz lässt sich die mögliche Performance der Plattform wirklich nutzen, etwa für Realtime-Reaktionen auf aktuelle Ereignisse oder für die Handhabung des massenhaften Aufkommens an Echtzeitdaten im Internet of Things.

Der eigentliche Mehrwert neuer Serverarchitekturen liegt in den innovativen Funktionen, die sie ermöglichen. Vorhandene Anwendungen können zwar auch ohne Modifikation auf den neuen In-Memory-Plattformen funktionieren, bringen aber erst durch entsprechende Änderungen und Erweiterungen echten Zusatznutzen. Die Ergebnisse des maschinellen Lernens beispielsweise können fast ad hoc genutzt werden, denn das entsprechende Training umfassender neuronaler Netze dauert nur noch Minuten statt mehrerer Wochen. Zur Entscheidungsunterstützung lassen sich beliebig viele Was-wäre-wenn-Szenarien und komplexe Simulationsmodelle spontan durchspielen.