Zunehmend wird jede dieser Komponenten von einem separaten Programm verarbeitet, das auf einem anderen Server im Rechenzentrum der Website läuft. Dies reduziert zwar die Verarbeitungszeit, verschärft aber ein anderes Problem: die gerechte Verteilung der Netzwerkbandbreite auf die Programme.

Viele Websites aggregieren alle Komponenten einer Seite, bevor sie diese an den Nutzer senden. Wird einem einzelnen Programm im Rechenzentrumsnetzwerk zu wenig Bandbreite zugewiesen, kann es passieren, dass der Rest der Seite und damit auch der Nutzer auf seine Komponente warten müssen.
Auf dem Usenix Symposium on Networked Systems Design and Implementation präsentieren Forscher des Computer Science and Artificial Intelligence Laboratory (CSAIL) des MIT ein neues System zur Bandbreitenverteilung in Rechenzentrumsnetzwerken. In Tests erreichte das System den gleichen Gesamtdatendurchsatz bzw. Netzwerkdurchsatz wie die aktuell verwendeten Systeme, verteilte die Bandbreite jedoch deutlich gerechter und schloss den Download aller Seitenkomponenten bis zu viermal schneller ab.

„Es gibt einfache Wege, die Leistung zu maximieren, indem man die Ressourcen sehr ungleichmäßig verteilt“, sagt Hari Balakrishnan, Professor für Elektrotechnik und Informatik an der Fujitsu University und einer der beiden Hauptautoren der Studie, die das neue System beschreibt. „Wir haben einen Weg aufgezeigt, wie man sehr schnell zu einer guten Ressourcenverteilung gelangt.“.

Die meisten Netzwerke regulieren den Datenverkehr mithilfe einer Version des Transmission Control Protocol (TCP). Bei zu hohem Datenaufkommen erreichen einige Datenpakete ihr Ziel nicht. Sobald ein Sender feststellt, dass seine Pakete nicht empfangen werden, reduziert er bei TCP seine Übertragungsrate und erhöht sie dann langsam wieder. Mit genügend Zeit stellt sich ein Gleichgewicht ein, in dem die Netzwerkbandbreite optimal auf die Sender verteilt ist.
In den Rechenzentren großer Websites reicht diese Zeit jedoch oft nicht aus. „Die Vorgänge im Netzwerk ändern sich so schnell, dass dies nicht ausreicht“, erklärt Perry. „Oft dauert es so lange, dass sich die Übertragungsraten nie angleichen – dann ist es aussichtslos.“
TCP überträgt die gesamte Verantwortung für die Verkehrsregulierung den Endnutzern, da es für das öffentliche Internet entwickelt wurde, das Tausende kleinerer, unabhängig betriebener Netzwerke verbindet. Die zentrale Steuerung eines so riesigen Netzwerks schien sowohl politisch als auch technisch unmöglich.
Doch in einem Rechenzentrum, das von einem einzigen Betreiber kontrolliert wird, und angesichts der gestiegenen Datenverbindungsgeschwindigkeiten und Prozessorleistung im letzten Jahrzehnt ist eine zentrale Regulierung praktikabel geworden.
Es heißt Flowtune und nutzt im Wesentlichen eine marktorientierte Lösung für die Bandbreitenzuweisung. Die Betreiber gewichten Erhöhungen der Übertragungsraten von Daten, die von verschiedenen Programmen gesendet werden, unterschiedlich. Beispielsweise könnte die Verdopplung der Übertragungsrate des zentralen Bildes einer Webseite 50 Punkte wert sein, während die Verdopplung der Übertragungsrate von Analysedaten, die nur ein- oder zweimal täglich abgerufen werden, lediglich 5 Punkte wert sein könnte.

Angebot und Nachfrage:
Wie in jedem funktionierenden Markt bestimmt jede Verbindung im Netzwerk einen „Preis“ entsprechend der „Nachfrage“ – also der Datenmenge, die die Sender insgesamt übertragen möchten. Für jedes Paar aus sendendem und empfangendem Computer berechnet Flowtune die Übertragungsrate, die den „Gesamtgewinn“ maximiert. Dieser ergibt sich aus der Differenz zwischen dem Wert der erhöhten Übertragungsraten (50 Punkte für das Bild gegenüber 5 für die Analysedaten) und dem Preis der benötigten Bandbreite über alle Zwischenverbindungen.
Da die Gewinnmaximierung jedoch die Nachfrage über die Verbindungen verändert, berechnet Flowtune die Preise kontinuierlich neu und ermittelt darauf basierend die maximalen Gewinne. Die resultierenden Übertragungsraten werden dann den Servern zugewiesen, die Daten im Netzwerk senden.
Die Studie beschreibt außerdem ein neues Verfahren, das die Forscher entwickelt haben, um die Berechnungen von Flowtune auf die Kerne eines Mehrkernrechners zu verteilen und so die Effizienz zu steigern. In den Experimenten verglichen die Forscher Flowtune mit einer weit verbreiteten TCP-Variante anhand realer Rechenzentrumsdaten.
Je nach Datensatz erledigte Flowtune die langsamsten 1 Prozent der Datenanfragen neun- bis elfmal schneller als das bestehende System.

Von Larry Hardsty, MIT-Pressestelle

Weitere Informationen