Der Memristor: Die neue Hardware-Revolution im Big Data Sektor

(Last Updated On: 3. Juli 2017)

Gerade ist man vielerorts dabei, in-Memory Datenbanken wie SAP HANA einzuführen. Unmengen an Arbeitsspeicher und CPU-Power ist dafür notwendig. In-Memory Datenbanken versprechen das Vorhalten eines hohen Datenvolumens in einem Bruchteil des dazu notwendigen Arbeitsspeichers. Diese Daten können dann blitzschnell für analytische Zwecke abfragt werden. Verfügt die in-Memory Datenbank desweiteren über einen Row Store (wie SAP HANA es tut), werden damit nicht nur analytische Spaltenselektionen, sondern auch SELECT * Statements beschleunigt.

Dieser Entwicklung haben wir vor allen Dingen diesen Tatsachen zu verdanken:

  • hochperformante und günstige Mehrkernprozessoren, welche für die Kodierungsberechnungen der Daten im Arbeitsspeicher benötigt werden
  • günstigen und performanten Arbeitsspeicher mit hoher Kapazität, der die entsprechend komprimierten Daten vorhalten kann
  • schmerzfreie Skalierung auf mehrere Cluster-Knoten

Durch professionelle Dienstleister ist es möglich, Daten im Petabyte Bereich bei verhältnismäßig niedrigen Kosten für Live-Datenanalysen vorzuhalten. Immer mehr Enterprises machen davon Gebrauch, denn die hinzugewonnene Leistung verspricht einen wertvollen zietnahen Einblick in die Entwicklung von Ressourcen- und Marktwerten.

Wir stehen also an der Pforte einer Datenrevolution, die wir zu einem Großteil einem Kosten-/Leistungsdurchbruch in der Hardwareindustrie zu verdanken haben. Und gerade während wir dabei sind, diese Technik zu verarbeiten und zu nutzen, steht die nächste Hardware-Revolution schon vor der Tür. Wir sprechen heute über die Memristor-Technologie.

Damit wir in dieses Thema eintauchen können, gehen wir mal kurz die Entwicklung einer umfangreichen, hochvoluminösen Datenbankabfrage durch.

memristor

Früher, in typischen Datenbankmanagementsystemen, mussten die meisten Daten immer und immer wieder von der Festplatte (Storage) gelesen werden, wenn diese abgefragt wurden. Grund hierfür war, dass Arbeitsspeicher teuer und klein war und die CPUs noch nicht performant genug um die Daten entsprechend rasch zu komprimieren. Dies führte dazu, dass nur wenige Daten im Arbeitsspeicher vorgehalten werden konnten. War der Arbeitsspeicher ausgelastet und wurden neue Daten angefragt, die sich noch nicht im RAM befanden, mussten andere Daten aus dem RAM verdrängt werden, um Platz für die neuen Daten zu schaffen. Dadurch war der Flaschenhals bei der Übertragung von Daten zu einem großen Teil die Geschwindigkeit der Storage-Platten sowie deren Anbindung an die CPU.

Heute ist Arbeitsspeicher billig – und CPUs sind dazu in der Lage, bei günstiger Datenpartitionierung teilweise 5 TB an Daten in 1 TB Arbeitsspeicher unterzubringen – und diese Daten im Falle einer Abfrage blitzschnell vom komprimierten in den unkomprimierten Zustand zu bringen, damit diese lesbar werden. Deswegen halten wir heute bei in-Memory Datenbanken einen Großteil der Daten im Arbeitsspeicher von vornherein fest, so dass das Storage-System nur noch bei der Persistierung (Ablage) von Daten oder beim sogenannten Lazy Loading, also bei der allerersten Abfrage einer Datenmenge, bemüht werden müssen. Wurden die Daten einmal geladen, können diese theoretisch so lange im RAM verbleiben, bis die physikalische Hardware vom Strom genommen wird. Dies führt zu wesentlich schnelleren Abfragezeiten.

Die Zukunft hält nun die sogenannte Memristor-Technologie bereit, eine Technologie, die zum ersten mal 2008 von einem Forscherteam von HP nachgewiesen wurde und wie wir jetzt möglichst einfach darstellen wollen. Ein Memristor bietet gegenüber der heute verbreiteten Transistor-Technologie diverse Vorteile. Die beiden wichtigsten sind:

  • der Memristor merkt sich auch nach Entzug eines Stromes, welche Daten in ihm abgelegt wurden, so dass er als Speichermedium genutzt werden kann. (Mem- Komponente im Namen)
  • es können mehr Daten mit weniger Übertragungsvorgängen dargestellt werden als beim Transistor (-ristor Komponente im Namem

Ein Transistor ist ein elektronisches Bauteil, welches wie wir alle Wissen auf elektrischen Spannungen basiert, die bestimmen, wie viel Strom durch eine elektrische Leitung fließen darf. Das Problem: Der Transistor lässt im Endeffekt nur zwei Zustände zu – Strom durch oder Strom (zum größten Teil) aus. Diese beiden Zustände werden durch einen Steuerstrom bestimmt.

Die Tatsache, dass der Transistor nur zwei Zustände kennt, hat dazu geführt, dass wir unsere Daten binär kodieren müssen, was zu der typischen Bit- und Byte-Darstellung führt, wie wir sie heute kennen. Alle Daten sind technisch gesehen nur eine Aneinanderrreihung von 0en und 1en. Um also beispielsweise die Zahl 128 darstellen zu können, was binär ausgedrückt 10000000 heißen würde, muss der anliegende Strom am Transistor also 8 mal abgetastet werden. DAs heißt es müssen 8 Datenübertragungen stattfinden, um diese Zahl 128 identifzieren bzw. darstellen zu können.

Ein Memristor erlaubt wesentlich mehr Zustände. Zwischen dem Minimum an Strom (0) und dem Maximum an Strom (1) können beinahe unendlich viele Zwischenzustände in einer einzigen Datenübertragung abgegriffen werden. Das heißt eine Zahl wie 128 kann in nur einer einzigen Abtastung des aktuellen Übertragungszustandes dargestellt werden.  Und nicht nur das macht den Memristor so attraktiv: Er funktioniert nicht mehr auf Basis von elektronischen Verbindungen, also auf Basis von Kupferleitungen, sondern auf Basis von Photonik, also Lichtübertragung. Dadurch passiert ein „Abgreifen“ auch wesentlich schneller.

Jetzt spinnen wir das ganze einmal weiter. Anstatt nun also 8 mal einen Zustand abzugreifen und anhand der Kombination der abgegriffenen Zustände zu bestimmen, welche Information (in unserem FAll: Welche Zahl) wir erhalten, macht es beim Memristor fast mehr Sinn, stattdessen eine Zahl für jeden der möglichen Zwischenzustände zwischen 0 und 1 zu definieren und diesen Zustand nur noch ein einziges mal abzufreigen. Dies führt dazu, dass es sich lohnt, für verschiedene Zwecke einen bestimmten „satz“ an Zustands-Mappings zu verwenden. So können wir beispielsweise in einem Satz diese Zwischenzustände auf Dezimalzahlen ummünzen lassen, in einem anderen Satz auf Buchstaben und in einem anderen beispielsweise auf Tonfrequenzen. Vorteil: Es muss dann keine „Umrechnung“ mehr von diesen Zustandswerten in die entsprechenden Output-Werte mehr stattfinden, da die entsprechenden Werte bereits im Vorfeld durch dieses Mapping bekannt sind.

Dies bedeutet, dass es sich de fakto lohnen könnte, für verschiedene Zwecke auch verschiedene „Kerne“ zur Verfügung zu stellen, die einen unterschiedlichen Befehls-/Wertesatz vorhalten, wie es schon teilweise heute in CPUs passiert (heutige CPUs enthalten bespielsweise auch häufig eine integrierte APU zur Verarbeitung von Grafik). Das heißt es wird in Zukunft weniger „gleichartige“ CPU-Kerne, dafür mehrere „verschiedene“ Kerne für unterschiedliche Anwendungsgebiete geben (sog. Special Purpose Cores).

Zusätzlich verfügt der Memristor über eine Art „Erinnerungsvermögen“. Das heißt wenn einem Memristor die Stromzufuhr gänzlich entzogen wurde, „speichert“ der Memristor trotzdem noch den Zustand, der zuletzt an ihm angelegen ist. Dies ist dem Memristor deshalb möglich, weil sich sein Widerstand abhängig von seiner Strommenge zwischen Minimum (0) und Maximum (1) stetig ändert. Dieser Widerstand wird vom Material auch dann noch beibehalten, wenn dem Material die Stromzufuhr entzogen wurde. Wird nun die Komponente wieder mit Strom versorgt, kann dieser letzte Widerstand abgegriffen werden, was dazu führt, dass der letzte durch diesen Memristor geflossene Zustand persistent gespeichert werden kann.

Dies würde theoretisch dazu führen, dass der Memristor nicht nur dazu in der Lage ist, CPU und RAM näher miteinander zu verschmelzen, sondern sogar die Storage-Schicht, die wir heutzutage mit SSDs und Magnetfestplatten abbilden, zu einem großen Teil zu ersetzen. Das bedeutet, dass wir die schnelle Datenübertragung der Photonik per Licht gebündelt mit der beinahe sofortigen Übertragung großer Datenmengen nutzen können, ohne dabei auch nur ein einziges Mal eine klassische Festplatte nutzen zu müssen, was zu einem enormen Performancegewinn führt.

Das heißt komplette Datenbanken können, anstelle sie auf Festplatten und SSDs zu speichern, direkt in Memristor-Technologie, also sozusagen „direkt im RAM“ abgelegt werden, und zwar persistent, also standhaft über einen Stromausfall hinweg ohne die Gefahr eines Datenverlustes.

Das klingt ja alles toll, aber wann werden wir so weit sein? Laut HP: Im Jahr 2020. Die nächste große „digitale Revolution“ scheint also vor der Tür zu stehen. Doch sollten Sie nicht den Fehler machen und versuchen, diese Zeit jetzt noch „auszusitzen“. Denn am Anfang werden die Anwendungsszenarien sowie die preisliche Lage dieser Technik noch entsprechend hoch liegen. Wir wissen noch nicht, wie zuverlässig die praktische Umsetzung der Technologie sein wird. Wir erinnern uns an die in-Memory Technologie, die sich erst über eine komplette Dekade entwickeln musste, im breitflächig akzeptiert zu werden.

Fazit ist also: Definitiv eine Technologie, die man im Auge behalten muss, aber kein Grund dafür, sich nicht über das hier und heute Gedanken zu machen.

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren...

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.