项目简介
FTGraph 是一个基于非易失性内存(NVM)的动态图处理系统,旨在高效处理大规模图数据。系统支持多种图算法,并提供了灵活的配置选项,以适应不同的数据集和处理需求。
项目的主要特性和功能
- 多数据集支持:可处理多种类型的图数据集,涵盖无向图(如 Orkut、graph500 - 25、graph500 - 26)和有向图(如 Twitter)。
- 灵活的配置:通过
apps/config.h
文件,用户能配置数据集路径,还可选择要运行的图算法(如 BFS、SSSP、CC、PR 等)。 - 高效的编译与运行:采用 CMake 进行构建,支持 NUMA 绑定,可优化多核处理器的性能。
- 数据随机化:提供
shuffle.py
脚本,可对输入数据进行随机打乱,增强数据处理的随机性和多样性。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件。
具体步骤
- 下载数据集:
- 按需求下载相应的图数据集,如 Orkut、Twitter、graph500 - 25、graph500 - 26。
- 解压数据集文件,并确保文件路径正确。
- 配置系统:
- 编辑
apps/config.h
文件,配置数据集路径edge_file_directory
。 - 按需取消或添加注释以启用或禁用特定的图算法。
- 编辑
- 编译系统:
- 进入
build/
目录。 - 执行以下命令进行编译:
bash cmake .. make
- 进入
- 运行系统:
- 使用 NUMA 绑定运行图处理程序:
bash numactl --cpubind=1 ./graph_benchmark
- 若 mmap 映射文件在
/mnt/pmem0
,则绑定 CPU0:bash numactl --cpubind=0 ./graph_benchmark
- 使用 NUMA 绑定运行图处理程序:
- 数据随机化(可选):
- 使用
shuffle.py
脚本对输入数据进行随机打乱:bash python shuffle.py input_file output_file
- 使用
通过以上步骤,可成功配置、编译并运行 FTGraph 系统,进行高效的图数据处理。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】