Mess- und modellbasierte Leistungsbewertung und Kommunikationsbeschleunigung von Multiprozessor-PC-Systemen in Hochgeschwindigkeitsnetzen
Zusammenfassung der Projektergebnisse
Im Laufe des MEMPHIS-Projekts wurden viele Optimierungen für die Paketverarbeitung auf Multi-Core-Systemen vorgeschlagen. Es wurde ein neuer, universeller Modellierungsansatz für die Leistungsanalyse und Optimierung der Datenverarbeitung in ressourcenbeschränkten Rechnersystemen erarbeitet, welcher für die Erweiterung vieler Simulatoren verwendbar ist. Exemplarisch wurde der Modellierungsansatz für den in der Forschungsgemeinschaft weitverbreiteten Netzwerksimulator ns-3 implementiert. Dazu wurde das ns-3-Erweiterungsmodul resource-management entwickelt, welches als Open Source Software unter der Lizenz GNU GPLv2 frei für Forschung und Entwicklung zur Verfügung gestellt wurde. Außerdem wurden verschiedenste Fallstudien zur Leistungsbewertung und Optimierung von Software-Routern durchgeführt. Beispielsweise wurde die Skalierbarkeit der Paketverarbeitung auf aktuellen Multi-Core-Architekturen untersucht. Auf Basis eines dafür entworfenen und validierten Software-Router-Modells konnte gezeigt werden, dass der Maximaldurchsatz mit der Anzahl der verfügbaren CPU-Kerne näherungsweise linear skaliert. Damit wurde demonstriert, dass die Paketverarbeitung mit Standard-Hardware basierend auf Multi-Core-Architekturen sehr gut parallelisierbar und somit für den Einsatz als Software-Router geeignet ist. Durch die Messung und Modellierung der einzelnen Paketverarbeitungsschritte eines Linux-Routers wurde ein vertieftes Verständnis des Ressourcenverbrauchs einzelner Komponenten erlangt. Ergänzend dazu wurden auch erweiterte Funktionalitäten wie Paketfilter, Network Address Translation (NAT) und IPv6-Routing sowie spezielle Frameworks zur effizienten Paketverarbeitung evaluiert. Des Weiteren wurde ein neues QoS-Konzept für die eingehende Netzwerkschnittstelle vorgeschlagen (Ingress QoS), um die Paketverarbeitung insbesondere für latenz-sensitive Netzapplikationen zu verbessern. Dadurch wird QoS-sensitiver Verkehr bereits auf der eingehenden Netzwerkschnittstelle klassifiziert und entsprechend einer Scheduling-Strategie bevorzugt durch die CPU bedient. Das vorgeschlagene QoS-Konzept stellt eine Verbesserung zum Stand der Technik dar, weil eine QoS-differenzierte Paketbehandlung bereits vor der eigentlichen Paketverarbeitung durch die CPU erfolgt. Schließlich wurde das QoS-Konzept im Form eines Patches für den Netzwerkkartentreiber ixgbe implementiert und evaluiert. Die Testbed-Messungen zeigen, analog zum Simulationsmodell, dass die Paketlatenz für QoS-sensitive Netzapplikationen deutlich reduziert wird. Somit konnte eine Optimierung des Linux-Betriebssystems erzielt werden, welche als Softwarelösung kostengünstig implementierbar ist. Erwähnenswert ist zudem die Entwicklung des Lastgenerators MoonGen, welcher exakte Latenzmessungen ohne teure Spezialhardware ermöglicht. Wir haben sowohl aus der wissenschaftlichen Community (z.B. IETF) und von zahlreichen Firmen positive Rückmeldungen auf die Veröffentlichung von MoonGen erhalten, so dass der Lastgenerator auch nach dem Ende des MEMPHIS-Projekts weiterentwickelt werden soll.
Projektbezogene Publikationen (Auswahl)
-
Low Latency Packet Processing in Software Routers. In International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS), July 2014. Best Paper Award
Torsten Meyer, Daniel Raumer, Florian Wohlfart, Bernd E. Wolfinger, and Georg Carle
-
Performance Characteristics of Virtual Switching. In IEEE International Conference on Cloud Networking (CloudNet’14), Luxembourg, October 2014.
Paul Emmerich, Daniel Raumer, Florian Wohlfart, and Georg Carle
-
Validated Model-Based Performance Prediction of Multi-Core Software Routers. Praxis der Informationsverarbeitung und Kommunikation (PIK), 37(2):93–107, 2014
Torsten Meyer, Florian Wohlfart, Daniel Raumer, Bernd E. Wolfinger, and Georg Carle
-
A Modeling Approach for Resource Management in Resource-Constrained Nodes. Journal of Networks, 10(01):39– 50, 2015
Torsten M. Runge, Bernd E. Wolfinger, Stefan Heckmüller, and Alireza Abdollahpouri
-
A Study of Networking Software Induced Latency. In International Conference on Networked Systems (NetSys), March 2015
Alexander Beifuß, Daniel Raumer, Paul Emmerich, Torsten M. Runge, Florian Wohlfart, Bernd E. Wolfinger, and Georg Carle
-
Assessing Soft- and Hardware Bottlenecks in PC-based Packet Forwarding Systems. ICN 2015, 2015. Best Paper Award
Paul Emmerich, Daniel Raumer, Florian Wohlfart, and Georg Carle
-
Comparison of Frameworks for High-Performance Packet IO. In ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS 2015), 2015
Sebastian Gallenmüller, Paul Emmerich, Florian Wohlfart, Daniel Raumer, and Georg Carle
-
Low Latency Network Traffic Processing with Commodity Hardware. In International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS), July 2015
Torsten M. Runge, Alexander Beifuß, and Bernd E. Wolfinger
-
MoonGen: A Scriptable High-Speed Packet Generator. In Internet Measurement Conference (IMC) 2015, October 2015
Paul Emmerich, Sebastian Gallenmüller, Daniel Raumer, Florian Wohlfart, and Georg Carle
-
Optimizing Latency and CPU Load in Packet Processing Systems. In International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS), 2015
Paul Emmerich, Daniel Raumer, Alexander Beifuß, Lukas Erlacher, Florian Wohlfart, Torsten M. Runge, Sebastian Gallenmüller, and Georg Carle