Freeflow 项目使用教程

Freeflow 项目使用教程

Freeflow High performance container overlay networks on Linux. Enabling RDMA (on both InfiniBand and RoCE) and accelerating TCP to bare metal performance. Freeflow requires zero modification on application code/binary. 项目地址: https://gitcode.com/gh_mirrors/fre/Freeflow

1. 项目介绍

Freeflow 是由微软开发的高性能容器覆盖网络项目,旨在为 Linux 系统上的容器提供 RDMA(InfiniBand 和 RoCE)通信支持,并加速 TCP 套接字性能至接近裸金属网络的水平。Freeflow 不需要对应用程序代码或二进制文件进行任何修改,即可实现这些功能。它工作在流行的覆盖网络解决方案(如 Flannel、Weave 等)之上,为容器提供独立的虚拟网络接口和 IP 地址,而无需直接访问硬件 NIC 接口。

Freeflow 的核心功能包括:

  • RDMA 支持:在 InfiniBand 和 RoCE 网络上实现高性能的 RDMA 通信。
  • TCP 加速:将 TCP 套接字性能提升至与主机网络相当。
  • 零代码修改:无需修改应用程序代码或二进制文件。

2. 项目快速启动

2.1 启动 Freeflow 路由器(每台服务器一个实例)

sudo docker run --name router1 --net host -e "FFR_NAME=router1" -e "LD_LIBRARY_PATH=/usr/lib/:/usr/local/lib/:/usr/lib64/" -v /sys/class/:/sys/class/ -v /freeflow:/freeflow -v /dev/:/dev/ --privileged -it -d ubuntu:14.04 /bin/bash

2.2 进入路由器容器并安装 RDMA 库

sudo docker exec -it router1 bash

下载并安装 RDMA 库和驱动程序(例如 MLNX_OFED_LINUX-4.0-2.0.0.1-ubuntu14.04-x86_64.tgz),然后使用 build-router.sh 脚本构建代码。

2.3 启动 Freeflow 路由器

ffrouter/ 目录下,运行以下命令启动路由器:

./router router1

2.4 在其他主机上重复上述步骤

2.5 启动应用程序容器

sudo docker run --name node1 --net weave -e "FFR_NAME=router1" -e "FFR_ID=10" -e "LD_LIBRARY_PATH=/usr/lib" -e --ipc=container:router1 -v /sys/class/:/sys/class/ -v /freeflow:/freeflow -v /dev/:/dev/ --privileged --device=/dev/infiniband/uverbs0 --device=/dev/infiniband/rdma_cm -it -d ubuntu /bin/bash

2.6 在更多主机上重复上述步骤

3. 应用案例和最佳实践

3.1 RDMA 应用案例

Freeflow 已成功应用于以下 RDMA 相关项目:

  • Spark:基于 RDMA 的 Spark 实现。
  • HERD:高效的数据共享库。
  • Tensorflow:启用了 RDMA 的 Tensorflow。
  • rsocket:基于 RDMA 的套接字实现。

3.2 TCP 应用案例

Freeflow 也适用于以下 TCP 相关项目:

  • DLWorkspace:深度学习工作空间。
  • Horovod:分布式深度学习训练框架。
  • Memcached:高性能内存对象缓存系统。
  • Nginx:高性能 Web 服务器。
  • PostgreSQL:关系型数据库管理系统。
  • Kafka:分布式流处理平台。

4. 典型生态项目

Freeflow 通常与其他覆盖网络解决方案(如 Flannel、Weave 等)结合使用,以提供更全面的容器网络解决方案。此外,Freeflow 还与 Linux RDMA 项目紧密集成,以实现高性能的 RDMA 通信。

通过这些生态项目的结合,Freeflow 能够为容器化应用提供高性能、低延迟的网络通信,适用于各种高性能计算和分布式系统场景。

Freeflow High performance container overlay networks on Linux. Enabling RDMA (on both InfiniBand and RoCE) and accelerating TCP to bare metal performance. Freeflow requires zero modification on application code/binary. 项目地址: https://gitcode.com/gh_mirrors/fre/Freeflow

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郦岚彬Steward

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值