littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于 NVM 的动态图处理系统 FTGraph

项目简介

FTGraph 是一个基于非易失性内存(NVM)的动态图处理系统,旨在高效处理大规模图数据。系统支持多种图算法,并提供了灵活的配置选项,以适应不同的数据集和处理需求。

项目的主要特性和功能

  • 多数据集支持:可处理多种类型的图数据集,涵盖无向图(如 Orkut、graph500 - 25、graph500 - 26)和有向图(如 Twitter)。
  • 灵活的配置:通过 apps/config.h 文件,用户能配置数据集路径,还可选择要运行的图算法(如 BFS、SSSP、CC、PR 等)。
  • 高效的编译与运行:采用 CMake 进行构建,支持 NUMA 绑定,可优化多核处理器的性能。
  • 数据随机化:提供 shuffle.py 脚本,可对输入数据进行随机打乱,增强数据处理的随机性和多样性。

安装使用步骤

前提条件

假设用户已经下载了本项目的源码文件。

具体步骤

  1. 下载数据集
    • 按需求下载相应的图数据集,如 Orkut、Twitter、graph500 - 25、graph500 - 26。
    • 解压数据集文件,并确保文件路径正确。
  2. 配置系统
    • 编辑 apps/config.h 文件,配置数据集路径 edge_file_directory
    • 按需取消或添加注释以启用或禁用特定的图算法。
  3. 编译系统
    • 进入 build/ 目录。
    • 执行以下命令进行编译: bash cmake .. make
  4. 运行系统
    • 使用 NUMA 绑定运行图处理程序: bash numactl --cpubind=1 ./graph_benchmark
    • 若 mmap 映射文件在 /mnt/pmem0,则绑定 CPU0: bash numactl --cpubind=0 ./graph_benchmark
  5. 数据随机化(可选):
    • 使用 shuffle.py 脚本对输入数据进行随机打乱: bash python shuffle.py input_file output_file

通过以上步骤,可成功配置、编译并运行 FTGraph 系统,进行高效的图数据处理。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】