X1: Skalierbare Analyse großer Datenmengen mit modernen programmierbaren Netzwerken

Daten zählen derzeit zu den wichtigsten Vermögenswerten in Wissenschaft und Industrie. Schätzungen zufolge können Unternehmen, die Big-Data-Analysen einsetzen, ihre Produktivität um 10 % mehr steigern als Unternehmen, die dies nicht tun, und Big-Data-Verfahren könnten in Europa zwischen 2014 und 2020 das BIP um 1,9 % erhöhen. In den letzten Jahren wurden viele verschiedene Big-Data-Analysesysteme wie MapReduce, Spark oder neuerdings TensorFlow eingesetzt, um große Datenmengen zu verarbeiten. Ein Grundbedürfnis all dieser Systeme besteht darin, dass Rechenzentrumsnetze einen hohen Durchsatz für große parallele Datenströme bieten, wie z. B. den massiven Shuffle-Verkehr in einer MapReduce-Anwendung oder zur Unterstützung von Arbeitslasten, die sich aus der Verwendung eines zentralen Parameterservers ergeben, der die trainierten Modellparameter in verteilten maschinellen Lernsystemen wie TensorFlow speichert. Darüber hinaus werden diese Systeme heutzutage immer häufiger in mehreren Rechenzentren und auch an den Rändern des Netzes eingesetzt, um Szenarien zu unterstützen, in denen die Daten in der Nähe der Datenquellen vorverarbeitet werden müssen und sogar mobile Endgeräte einbezogen werden können.

Während Kommunikationssysteme eine wichtige Rolle bei der Gewährleistung der Skalierbarkeit und Effizienz datenintensiver Systeme spielen, wurde bisher nicht viel an der gemeinsamen Entwicklung datenintensiver Systeme mit den von modernen Kommunikationsnetzen bereitgestellten Funktionen gearbeitet. Das Aufkommen neuer flexibler Netzwerkhardware und ausdrucksstarker Programmiersprachen für die Datenebene durch Software-definierte Netzwerke (SDN) hat jedoch neue Möglichkeiten eröffnet, diese beiden Welten besser aufeinander abzustimmen. Eine Hauptherausforderung dabei ist, dass Systeme wie Spark und TensorFlow eine Vielzahl von verteilten Arbeitslasten ermöglichen, die von klassischen SQL-basierten Analysen über Graphenalgorithmen bis hin zu Stream-Processing und neueren Deep-Learning-Algorithmen mit unterschiedlichen Kommunikationseigenschaften reichen. Um all diese unterschiedlichen Arbeitslasten in idealer Weise zu unterstützen, muss das Netzwerk in der Lage sein, sich automatisch an diese Arbeitslasten anzupassen, indem es die optimalen Kommunikationsmechanismen und Übergänge zwischen diesen Mechanismen anwendet, wie in MAKI vorgeschlagen.

Ziel und Herausforderungen

Das Hauptziel dieses Projekts ist es, die Möglichkeiten und Herausforderungen des Co-Designs von datenintensiven Systemen wie Spark oder TensorFlow mit der Netzwerkschicht zu analysieren. Die Herausforderungen, die im Besonderen adressiert werden sollen, sind:

(1) In-Network-Verarbeitung für Big Data Analytik

In diesem Teil planen wir, Übergänge des Datenflussgraphen zu entwickeln, um eine optimale datenparallele Ausführung besser zu unterstützen.

(2) Arbeitslastabhängige Pfadauswahl

Das übergeordnete Ziel dieses Teils ist die Verwendung von Kostenmodellen und Statistiken von Big-Data-Engines zur Anwendung optimaler Übergänge für die Pfadauswahl.

(3) Hardware-Unterstützung

Wir untersuchen die Verwendung von FPGAs zur Implementierung spezialisierter Verarbeitungselemente für diese Funktionen.

Teilprojektleitende X1:

  Name Kontakt
Prof. Dr. rer. nat. Carsten Binnig
Data Management (DM)
+49 6151 16-25601
S2|02 D106