Ibdxnet: Leveraging InfiniBand in Highly Concurrent Java Applications
In this report, we describe the design and implementation of Ibdxnet, a low-latency and high-throughput transport providing the benefits of InfiniBand networks to Java applications. Ibdxnet is part of the Java-based DXNet library, a highly concurrent and simple to use messaging stack with transparen...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | In this report, we describe the design and implementation of Ibdxnet, a
low-latency and high-throughput transport providing the benefits of InfiniBand
networks to Java applications. Ibdxnet is part of the Java-based DXNet library,
a highly concurrent and simple to use messaging stack with transparent
serialization of messaging objects and focus on very small messages (< 64
bytes). Ibdxnet implements the transport interface of DXNet in Java and a
custom C++ library in native space using JNI. Several optimizations in both
spaces minimize context switching overhead between Java and C++ and are not
burdening message latency or throughput. Communication is implemented using the
messaging verbs of the ibverbs library complemented by an automatic connection
management in the native library. We compared DXNet with the Ibdxnet transport
to the MPI implementations FastMPJ and MVAPICH2. For small messages up to 64
bytes using multiple threads, DXNet with the Ibdxnet transport achieves a
bi-directional message rate of 10 million messages per second and surpasses
FastMPJ by a factor of 4 and MVAPICH by a factor of 2. Furthermore, DXNet
scales well on a high load all-to-all communication with up to 8 nodes
achieving a total aggregated message rate of 43.4 million messages per second
for small messages and a throughput saturation of 33.6 GB/s with only 2 kb
message size. |
---|---|
DOI: | 10.48550/arxiv.1812.01963 |