5 Star 30 Fork 4

anolis / Fuyao

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.52 KB
一键复制 编辑 原始数据 按行查看 历史
jxb2018 提交于 2023-04-05 20:38 . add fuyao_logo

介绍

扶摇/Fuyao 是一个开源的服务器无感知计算框架,结合新型硬件DPU(Data Processing Unit),提供了一套适用于节点内外的亚毫秒级中间数据传输方案。

扶摇 继承了Nightcore的IPC方案,并且还实现了另外三种函数间数据传输方案,详见下表:

数据传输方式 适用范围 延迟 对数据大小的限制 说明
IPC 节点内 亚毫秒级 利用数据局部性
DRC_OVER_IPC 节点内 亚毫秒级(极速) 基于函数间动态创建的RDMA直连通道
Fabric 节点间 毫秒级 利用DPU实现节点间无CPU开销数据传递
DRC_OVER_Fabric 节点间 亚毫秒级(极速) 基于函数间动态创建的RDMA直连通道

软件架构

img

项目结构


Fuyao
|---asserts
|---deps
|---examples
    |---00
    |---01
|---lib
    |---base
    |---common
    |---ipc
    |---rdma
    |---runtime
    |---server
    |---utils
|---src
    |---dpu
        |---agent
        |---gateway
    |---host
        |---engine
        |---launcher
        |---worker
            |---cpp
            |---python

安装教程

  1. (推荐)安装要求:
    1. 硬件要求: 安装Nvidia BlueField-2 DPU的服务器集群
    2. 系统要求: ubuntu 20.04
  2. 安装依赖
# 安装verbs依赖库,可能还有一些其他依赖需求,按需安装
sudo apt update
sudo apt install libibverbs-dev
  1. 编译项目
    1. (推荐)使用Jetbrains Clion远程部署到安装有DPU的集群进行编译
    2. 在服务器上,使用终端编译
    git clone --recursive  https://gitee.com/anolis/fuyao.git
    
    cd fuyao/
    
    # 创建目录
    mkdir /tmp/fuyao
    
    /usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -B /tmp/fuyao
    
    # 与框架相关
    /usr/bin/cmake --build /tmp/fuyao --target gateway engine agent launcher worker_cpp -- -j 8
    
    # 与实验一相关
    /usr/bin/cmake --build /tmp/fuyao --target exp01_fn_a exp01_fn_b exp01_fn_c exp01_fn_d exp01_fn_e exp01_fn_f -- -j 8

使用说明

examples/ 目录下,提供一个测试用例,参考

C++
1
https://gitee.com/anolis/fuyao.git
git@gitee.com:anolis/fuyao.git
anolis
fuyao
Fuyao
master

搜索帮助