Dokument: Transparent high-speed networking for low latency data center Java applications

Titel:Transparent high-speed networking for low latency data center Java applications
URL für Lesezeichen:https://docserv.uni-duesseldorf.de/servlets/DocumentServlet?id=65686
URN (NBN):urn:nbn:de:hbz:061-20240503-105454-1
Kollektion:Dissertationen
Sprache:Englisch
Dokumententyp:Wissenschaftliche Abschlussarbeiten » Dissertation
Medientyp:Text
Autor: Ruhland, Fabian [Autor]
Dateien:
[Dateien anzeigen]Adobe PDF
[Details]9,05 MB in einer Datei
[ZIP-Datei erzeugen]
Dateien vom 30.04.2024 / geändert 30.04.2024
Beitragende:Prof. Dr. Schöttner, Michael [Gutachter]
Prof. Dr. Conrad, Stefan [Gutachter]
Stichwörter:High-speed Networks, Cloud Computing, Ethernet, InfiniBand, OpenUCX, Java
Dewey Dezimal-Klassifikation:000 Informatik, Informationswissenschaft, allgemeine Werke » 004 Datenverarbeitung; Informatik
Beschreibung:Many big-data frameworks are written in Java, ranging from disk-based processing systems like Hadoop MapReduce to in-memory solutions like Apache Spark. The scalability of any distributed cloud system is limited by the network speed. As a result, high-speed networks, like InfiniBand, have become dominant in data centers, providing throughput rates of up to 400 GBit/s and round-trip latency of less than 2 microseconds.

While it is possible to use InfiniBand and High-Speed Ethernet over traditional Java sockets, this approach is not very efficient. Several projects addressed this problem in the past with either transparent or non-transparent solutions for Java applications. Transparent network acceleration libraries redirect data sent via traditional sockets over high-speed networks, while non-transparent libraries offer an alternative, but more direct programming interface to the network hardware. Naturally, the best performance can be achieved by directly programming the hardware, but there are many pitfalls and often performance may suffer from poor programming. Furthermore existing applications need to adapt their (often complex) network code in order to integrate non-transparent libraries.

This thesis proposes hadroNIO, a novel transparent approach, accelerating Java NIO sockets by replacing the Java NIO library. The architecture of hadroNIO is designed for highly concurrent applications using asynchronous communication. On the lower level, hadroNIO relies on the Unified Communication X (UCX) framework, which provides a unified networking API and supports several transports (e.g. InfiniBand or Ethernet), making hadroNIO network agnostic.

hadroNIO has been evaluated using microbenchmarks and real-world applications on different hardware setups with 100 GBit/s high-speed networks and compared with libvma, a highly efficient socket acceleration library developed by Mellanox, as well as traditional Java sockets. First evaluations have shown, that the minimum achievable latency using blocking NIO communication is around 3 microseconds, imposing only half a microsecond of overhead compared to directly working with UCX in Java. Since then, hadroNIO has been heavily optimized, leading to even less overhead.

Later measurement results with real-world frameworks and applications show, that full end-to-end round-trip times of 5 microseconds can be achieved using asynchronous communication with the popular event-driven networking framework netty (used by many big-data frameworks). Experiments with gRPC show a throughput increase of more than 50% over classic sockets, while request latencies for Apache ZooKeeper have been reduced by 50%. Connection scalability experiments show, that hadroNIO can efficiently handle hundreds of connections. A microbenchmark based on netty demonstrates, that it is able to provide average round-trip times of less than 10 microseconds with 80 connections all sending/receiving messages in parallel. hadroNIO outperforms libvma in each benchmark and works reliably in scenarios where libvma shows stability issues and fails to finish benchmark runs.
Lizenz:Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung 4.0 International Lizenz
Fachbereich / Einrichtung:Mathematisch- Naturwissenschaftliche Fakultät » WE Informatik » Betriebssysteme
Dokument erstellt am:03.05.2024
Dateien geändert am:03.05.2024
Promotionsantrag am:30.01.2024
Datum der Promotion:18.04.2024
english
Benutzer
Status: Gast
Aktionen