Wie alle Datennetzwerke verfügen auch große private Netzwerke über Steuerungsalgorithmen zur Bewältigung von Netzwerküberlastungen. Da die Router, die den Datenverkehr in einem Serverpark steuern, extrem schnell sein müssen, sind diese Algorithmen fest in die Router-Schaltkreise integriert. Das bedeutet, dass Netzwerkbetreiber bei der Entwicklung eines besseren Algorithmus auf eine neue Hardwaregeneration warten müssen, bevor sie eine solche Verbesserung implementieren können.
Forscher des Computer Science and Artificial Intelligence Laboratory (CSAIL) am MIT und fünf weiterer Organisationen hoffen, dies mit programmierbaren Routern zu ändern, die mit den rasanten Geschwindigkeiten moderner Datennetzwerke mithalten können.
„Diese Arbeit zeigt, dass sich viele Ziele des flexiblen Verkehrsmanagement erreichen lassen, ohne die hohe Leistungsfähigkeit herkömmlicher Router zu beeinträchtigen“, sagt Hari Balakrishnan, Fujitsu-Professor am Department für Elektrotechnik und Informatik des MIT. „Programmierbarkeit war zwar schon möglich, wurde aber in der Praxis nicht eingesetzt, da sie um den Faktor 10 oder sogar 100 langsamer war.“
„Man braucht die Fähigkeit von Forschern und Ingenieuren, Tausende von Ideen zu testen“, fügt er hinzu. „Mit dieser Plattform wird man nicht durch Hardware- oder technologische Beschränkungen, sondern durch die eigene Kreativität eingeschränkt. Innovationen lassen sich deutlich schneller entwickeln.“
Erstautor der Studie ist Anirudh Sivaraman, Doktorand der Elektrotechnik und Gerätewissenschaft am MIT. Betreut wird er von Balakrishnan und Mohammad Alizadeh, TIBCO-Assistenzprofessor für Karriereentwicklung in Elektrotechnik und Informatik am MIT, die ebenfalls an der Studie mitgewirkt haben. Zu ihnen gesellen sich Kooperationspartner vom MIT, der University of Washington, Barefoot Networks, Microsoft Research, der Stanford University und Cisco Systems.
Unterschiedliche Auswirkungen:
Das Verkehrsmanagement kann aufgrund der verschiedenen Datentypen, die über ein Netzwerk übertragen werden, und der unterschiedlichen Leistungsgarantien verschiedener Dienste komplex sein. Bei Internettelefonaten sind Verzögerungen beispielsweise ärgerlich, gelegentliche Datenpaketverluste (die etwa ein fehlendes Wort in einem Satz bedeuten könnten) hingegen tolerierbar. Bei einer großen Datendatei hingegen ist eine leichte Verzögerung akzeptabel, Datenverluste jedoch nicht.
Ebenso kann ein Netzwerk eine gleichmäßige Bandbreitenverteilung unter seinen Nutzern gewährleisten. Jeder Router in einem Datennetzwerk verfügt über einen eigenen Speicher, den sogenannten Puffer, in dem Pakete zwischengespeichert werden können. Wenn ein Nutzer den Puffer eines Routers mit Paketen eines einzelnen HD-Videos gefüllt hat und ein anderer versucht, ein vergleichsweise kleines Textdokument herunterzuladen, kann das Netzwerk einige der Videopakete zugunsten des Texts verwerfen, um den Nutzern eine Mindestdatenrate zu garantieren.
Ein Router kann ein Paket auch modifizieren, um Informationen über den Netzwerkzustand zu übermitteln, beispielsweise ob, wo und wie lange eine Überlastung aufgetreten ist; er kann den Absendern sogar neue Übertragungsgeschwindigkeiten vorschlagen.
Informatiker haben Hunderte von Verkehrsmanagement-Verfahren mit komplexen Regeln vorgeschlagen, die festlegen, welche Pakete ein Router annehmen und welche er verwerfen soll, in welcher Reihenfolge sie in die Warteschlange gestellt werden und welche zusätzlichen Informationen hinzugefügt werden sollen – und das alles unter verschiedenen Bedingungen. Simulationen vieler dieser Verfahren versprechen zwar eine verbesserte Netzwerkleistung, einige konnten jedoch aufgrund von Hardwarebeschränkungen in Routern nicht implementiert werden.
Forscher des MIT und ihre Kooperationspartner machten sich daran, einfache Rechenelemente zu finden, mit denen sich verschiedene Verkehrsmanagement-Verfahren implementieren lassen, ohne die Betriebsgeschwindigkeit heutiger Top-Router zu beeinträchtigen und ohne zu viel Platz auf dem Chip zu beanspruchen.
Um ihre Entwürfe zu testen, entwickelten sie einen Compiler – ein Programm, das Programmbefehle höherer Ebene in Hardwarebefehle niedrigerer Ebene übersetzt – mit dem sie sieben experimentelle Verkehrsmanagement-Algorithmen in die vorgeschlagenen Schaltungselemente kompilierten. Falls ein Algorithmus nicht kompiliert werden konnte oder eine unpraktisch hohe Anzahl an Schaltungen erforderte, ergänzten sie ihn um neue, komplexere Schaltungselemente.
Veröffentlichungen
beschreiben die Forscher Spezifikationen für sieben Schaltungstypen, die jeweils etwas komplexer sind als der vorherige. Einige einfache Algorithmen zur Verkehrssteuerung benötigen nur einen Schaltungstyp, während andere komplexere Typen erfordern. Selbst eine Anordnung der komplexesten Schaltungen würde jedoch nur 4 Prozent der Chipfläche eines Routers belegen; eine Anordnung der weniger komplexen Typen sogar nur 0,16 Prozent.
Neben den sieben Algorithmen, die zur Entwicklung ihrer Schaltungselemente verwendet wurden, testeten die Forscher weitere Algorithmen mit ihrem Compiler und stellten fest, dass diese in Kombinationen ihrer einfachen Schaltungselemente kompiliert werden konnten.
„Wir gehen davon aus, dass sich diese auf viele weitere Algorithmen verallgemeinern lassen“, sagt Sivaraman. „Beispielsweise ermöglicht eine der Schaltungen dem Programmierer, eine laufende Summe zu verwalten, was von vielen Algorithmen genutzt wird.“
In der zweiten Veröffentlichung beschreiben sie den Entwurf ihres Schedulers, eines Schaltungselements, das Pakete in der Router-Warteschlange sortiert und zur Weiterleitung auswählt. Zusätzlich zur Priorisierung der Pakete kann der Scheduler diese auch mit spezifischen Übertragungszeiten versehen und entsprechend weiterleiten. Manchmal kann es beispielsweise sinnvoll sein, wenn ein Router seine Übertragungsrate drosselt, um Netzwerkengpässe an anderer Stelle zu vermeiden oder eine gerechte Bandbreitenverteilung zu gewährleisten.
Die Forscher entwickelten die Spezifikationen ihrer Schaltungen in Verilog, der Programmiersprache, die Elektrotechniker häufig für die Entwicklung kommerzieller Chips verwenden. Das in die Analysetools integrierte Verilog bestätigte, dass ein Router mit den Schaltungen der Forscher schnell genug wäre, um die in heutigen Hochgeschwindigkeitsnetzen üblichen Paketraten zu unterstützen – die Übertragung eines Datenpakets pro Nanosekunde.
###
Verfasst von Larry Hardesty, MIT
