Freeflow provides a high-performance container overlay network that enables RDMA communication between containers. It accelerates TCP performance to match the host network, resolving bottlenecks in traditional container networking. Freeflow leverages a lightweight library within containers and a router process outside containers to intercept and accelerate RDMA and TCP socket APIs. It builds upon the Linux RDMA project and is released under the MIT license.
Freeflow offers substantial performance gains by accelerating RDMA and TCP communication. It requires no code modification in applications, facilitating quick integration. The project supports multiple operating modes, allowing adaptability to various environments. Its lightweight design minimizes CPU overhead, and it's well-tested with popular frameworks like Spark and TensorFlow.
- RDMA Acceleration: Enables high-speed RDMA communication between containers.
- TCP Acceleration: Accelerates TCP socket performance to near-native speeds.
- Overlay Network Support: Works with existing container overlay networks like Flannel and Weave.
- Multi-Mode Operation: Supports fully-isolated RDMA, semi-isolated RDMA, and TCP modes.
- Minimal Code Changes: Requires no modification to application code.
- Cross-Platform Compatibility: Tested with Spark, TensorFlow, Horovod, and other frameworks.
- Performance Validation: Demonstrates significant performance improvements with benchmark tools like
ib_send_bw.
Freeflow is a research prototype demonstrating feasibility with promising results. It has a clear architecture and functioning components. The project is actively developed and tested, with ongoing efforts to improve stability and usability. Documentation is currently limited, and the code is not production-ready.
Freeflow benefits users requiring high-performance container networking, particularly in environments leveraging RDMA. It’s ideal for data-intensive applications like machine learning, big data analytics, and high-performance computing. Freeflow provides a valuable alternative to traditional container networking approaches by significantly improving communication speeds and reducing latency.
