Toward Solving the Buffer Sizing Question
- Forschungsthema:Staukontrolle, QoS, Future Internet
- Typ:Bachelor-/Masterarbeit
- Datum:ab sofort
- Betreuung:
-
Beschreibung
In dieser Arbeit sollen grundlegende Untersuchungen zur Dimensionierung von Paket-Puffern in Routern und Switches durchgeführt werden. Bereits in der Vergangenheit wurde die Frage nach der Größe der Puffer heftig und kontrovers diskutiert. Die grundlegende Funktion eines Paket-Puffers besteht in der Verbesserung der Auslastung durch Auffangen von Paketen in kurrzeitigen Überlastsituationen. Die bisherige Daumenregel wurde jedoch aus dem Verhalten der klassischen TCP-Staukontrollverfahren abgeleitet. Es gibt allerdings neue Verfahren, die sich anders verhalten sowie gestiegene Anforderungen an geringere Latenzen, die jedoch durch zu große Puffer erhöht werden. Insofern ist eine erneute Diskussion um die richtige Dimensionierung von Puffern erforderlich (s.a. https://buffer-workshop.stanford.edu/). Es ist davon auszugehen, dass diese auch von der Lokation des Routers/Switches abhängt, d.h. für einen Internet-Core-Router werden ggf. andere Regeln gelten als für einen Router im Data Center oder einen DSL-Router zu Hause.
Aufgabenstellung
Im Rahmen der Arbeit sollen verschiedene Untersuchungen zur Dimensionierung von Puffern durchgeführt werden. Hierbei kommt es im Wesentlichen auf die Charakteristik der ankommenden Datenpakete (z.B. Ankunftsprozess, also mittlere Ankunftsrate, Paketgrößen sowie Varianzen bzw. Schwallartigkeit der Ankünfte) und die Konfiguration (z.B. Anzahl der Eingänge) an. Ein Teil der Untersuchungen kann/soll simulativ (z.B. mittels der Simulatoren OMNeT++ oder ns-3) durchgeführt werden (mit verschiedenen Verteilungsfunktionen), ein anderer Teil kann sowohl durch mathematische Modellierung (z.B. Warteschlangentheorie) als auch durch reale Implementierung (z.B. unter Linux) erfolgen. Während im Rahmen einer Masterarbeit ein Vergleich der Ergebnisse angestrebt wird, können im Rahmen einer Bachelorarbeit auch ggf. nur Teilaspekte untersucht werden.
Voraussetzungen
Grundlegende Programmierkenntnisse, Python/C++-Kenntnisse sind vorteilhaft