DISS.ETH NO. 23474 Rethinking host network stack architecture using a dataflow modeling approach A thesis submitted to attain the degree of DOCTOR OF SCIENCES of ETH ZURICH (Dr. sc. ETH Zurich) presented by Pravin Shinde Master of Science, Vrije Universiteit, Amsterdam born on 15.10.1982 citizen of Republic of India accepted on the recommendation of Prof. Dr. Timothy Roscoe, examiner Prof. Dr. Gustavo Alonso, co-examiner Dr. Kornilios Kourtis, co-examiner Dr. Andrew Moore, co-examiner 2016 Abstract As the gap between the speed of networks and processor cores increases, the software alone will not be able to handle all incoming data without additional assistance from the hardware. The network interface controllers (NICs) evolve and add supporting features which could help the system increase its scalability with respect to incoming packets, provide Quality of Service (QoS) guarantees and reduce the CPU load. However, modern operating systems are ill suited to both efficiently exploit and effectively manage the hardware resources of state-of-the-art NICs. The main problem is the layered architecture of the network stack and the rigid interfaces. This dissertation argues that in order to effectively use the diverse and complex NIC hardware features, we need (i) a hardware agnostic representation of the packet processing capabilities of the NICs, and (ii) a flexible interface to share this information with different layers of the network stack. This work presents the Dataflow graph based model to capture both the hardware capabilities for packet processing of the NIC and the state of the network stack, in order to enable automated reasoning about the NIC features in a hardware-agnostic way. It also describes the implementation of the Dragonet network stack which uses the dataflow model to support the diversity and complexity in the NICs. Dragonet enables effective use of the available hardware features in a portable way by using the dataflow model to share the packet processing capabilities of a particular NIC configuration with the runtime system, which can then automatically specialize the network stack based on this information. Furthermore, the dataflow model enables systematic exploration of the hardware configuration space and allows reasoning about the hardware capabilities in the context of application requirements. Thus, allowing policy-based management of the NIC’s resources. The dissertation shows the effectiveness of the dataflow model by implementing several high-level policies for managing different hardware resources on two separate NICs. Kurzfassung Mit der wachsenden Diskrepanz zwischen der Geschwindigkeit des Netzwerks und der CPU-Leistung ist Software nicht mehr in der Lage alle eingehenden Daten ohne jegliche Hilfe von der Hardware zu bewältigen. Netzwerk Interface Controller (NIC) entwickeln sich daher ständig weiter und können mittlerweile den Systemen helfen, höhere Skalierbarkeit bezüglich eingehender Pakete zu erreichen, Qualityof-Service (QoS) Garantien bereitzustellen oder die CPU-Last zu reduzieren. Modernen Betriebssystemen fehlt allerdings die Unterstützung um diese Erweiterungen moderner NICs effizient auszunutzen und verwalten zu können. Das Hauptproblem in diesem Zusammenhang ist die Architektur des Netzwerkstapels in Schichten sowie zu inflexible Schnittstellen. Diese Dissertation argumentiert, dass für die effektive Nutzung vielfältiger und komplexer NIC-Hardware sowohl eine Repräsentation der Paketverarbeitung existieren muss, die unabhängig von der verwendeten Hardware ist, als auch eine flexible Schnittstelle um diese Information in allen Schichten des Netzwerkstapels verfügbar zu machen. Diese Arbeit präsentiert ein auf einem Dataflow-Graph basierende Modell, welches sowohl die Fähigkeiten der Hardware im Bezug auf die Paketverarbeitung eines NIC als auch den Status des Netzwerkstapels darstellt. Dies erlaubt die automatische, hardware-unabhängige Auswahl der verfügbaren Fähigkeiten der NIC-Hardware. Des Weiteren beschreibt die Arbeit die Implementierung des Dragonet Netzwerkstapels, welcher das Dataflow-Modell benutzt um die Vielfalt und Komplexität der NICs optimal zu unterstützen. Dragonet erlaubt mit Hilfe des Dataflow-Modells, die Fähigkeiten der Hardware plattformunabhängig und effektiv einzusetzen um die Paketverarbeitung zwischen der Laufzeitumgebung und des NIC aufzuteilen. Die Laufzeitumgebung kann dann automatisch den Netzwerkstapel aufgrund dieser Informationen spezialisieren. Des Weiteren erlaubt das Dataflow-Modell die systematische Erschließung aller möglichen Hardware-Konfigurationen und erlaubt es zu beurteilen, wie die verschiedenen Hardware-Fähigkeiten im Kontext von verschiedenen Anwendungen eingesetzt werden können. Diese Dissertation zeigt die Effektivität des Dataflow-Modells durch die Implementierung von mehreren abstrakten Strategien zur Verwaltung von unterschiedlichen Hardware-Ressourcen mit zwei unterschiedlichen NICs.
© Copyright 2024 ExpyDoc