ADD file via upload
异构感知的图神经网络负载均衡训练系统双RTX 2080 Ti,支持2-8节点扩展
GNNBALANCER_V2/ ├── baseline/ # 基线实现(7个文件) ├── improved/ # 改进实现(8个文件) ├── run_server_training.py # 服务器主入口 ├── server_config.py # 服务器配置 ├── data/ # 数据集 ├── logs/ # 日志 ├── results/ # 结果 └── baseline_metrics/ # 指标
# 克隆项目 git clone <repository-url> cd GNNBALANCER_V2 # 环境检查 python run_server_training.py --mode check # 基线训练 (推荐先运行) python run_server_training.py --mode baseline --epochs 50 # 优化训练 python run_server_training.py --mode multi_node --epochs 50 # 完整实验流程 python run_server_training.py --mode experiment --epochs 50
# 基线对比实验 (50 epochs × 5 runs) python improved/baseline_comparison_experiment.py # 消融实验 (11种配置组合) python improved/ablation_study.py # 性能分析和可视化 python improved/performance_analysis.py # 扩展性测试 python improved/test_3_4_node_scaling.py # 容错机制测试 python improved/test_fault_tolerance.py
# 创建Python虚拟环境 (推荐) conda create -n gnnbalancer python=3.9 conda activate gnnbalancer # 或使用venv python -m venv gnnbalancer source gnnbalancer/bin/activate # Linux
# 安装PyTorch (CUDA版本) pip install torch==2.1.1+cu121 torchvision==0.16.1+cu121 torchaudio==2.1.1+cu121 --index-url https://download.pytorch.org/whl/cu121 # 安装DGL pip install dgl==2.1.0+cu121 -f https://data.dgl.ai/wheels/cu121/repo.html # 安装其他依赖 pip install -r requirements.txt
# 运行环境检查 python run_server_training.py --mode check # 或使用配置脚本 python server_config.py
环境检查
python run_server_training.py --mode check
基线训练
# 标准50轮训练 python run_server_training.py --mode baseline # 自定义轮数 python run_server_training.py --mode baseline --epochs 10
多节点优化训练
python run_server_training.py --mode multi_node --epochs 50
完整实验流程
# 一键运行:环境检查→基线训练→优化训练→对比实验 python run_server_training.py --mode experiment --epochs 50
# 基线对比实验 (METIS vs 异构优化) python improved/baseline_comparison_experiment.py # 消融实验 (组件效果分析) python improved/ablation_study.py # 3-4节点扩展测试 python improved/test_3_4_node_scaling.py # 容错机制测试 python improved/test_fault_tolerance.py # 性能分析和报告生成 python improved/performance_analysis.py
# 测试异构图划分 python improved/heterogeneous_partitioner.py # 测试自适应调度器 python improved/adaptive_scheduler.py # 测试多节点训练器 python improved/multi_node_trainer.py # 基线训练器测试 python baseline/run_real_hardware.py --test
目标: 对比传统METIS均分策略与异构感知优化策略
python improved/baseline_comparison_experiment.py
实验设计:
目标: 分析各个组件的独立贡献和协同效应
python improved/ablation_study.py
实验配置:
目标: 验证多节点扩展能力和竞赛加分
python improved/test_3_4_node_scaling.py
测试范围:
目标: 验证系统可靠性和故障恢复能力
python improved/test_fault_tolerance.py
GNNBALANCER_V2/ ├── baseline/ # 基线实现组件 │ ├── run_real_hardware.py # 主入口脚本 │ ├── real_hardware_trainer.py # 核心训练器 │ ├── data_loader.py # 数据加载 │ ├── model.py # GraphSAGE模型 │ ├── graph_partition.py # METIS图划分 │ ├── hardware_config.py # 硬件配置 │ └── performance_metrics.py # 性能指标 ├── improved/ # 创新优化组件 │ ├── heterogeneous_partitioner.py # 异构感知划分 │ ├── adaptive_scheduler.py # 自适应调度 │ ├── multi_node_trainer.py # 多节点训练 │ ├── baseline_comparison_experiment.py # 基线对比 │ ├── ablation_study.py # 消融实验 │ ├── performance_analysis.py # 性能分析 │ ├── test_3_4_node_scaling.py # 扩展测试 │ └── test_fault_tolerance.py # 容错测试 ├── run_server_training.py # 服务器优化入口 ├── server_config.py # 服务器配置 ├── data/ # 数据集存储 ├── logs/ # 训练日志 ├── results/ # 实验结果 └── baseline_metrics/ # 性能指标
双重架构设计:
baseline/
improved/
关键创新技术:
异构感知图划分
自适应调度
通信优化
容错机制
# Fork并克隆项目 git clone https://github.com/your-username/gnnbalancer.git cd gnnbalancer # 创建开发分支 git checkout -b feature/your-feature-name # 安装开发依赖 pip install -r requirements.txt
# 运行测试 python -m pytest tests/ # 如果有测试 # 提交更改 git add . git commit -m "feat: add new feature description" git push origin feature/your-feature-name
感谢以下开源项目的支持:
GNNBalancer - 让异构GNN训练更高效!
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
GNNBalancer - 异构GNN负载均衡训练系统
GNNBALANCER_V2/ ├── baseline/ # 基线实现(7个文件) ├── improved/ # 改进实现(8个文件)
├── run_server_training.py # 服务器主入口 ├── server_config.py # 服务器配置 ├── data/ # 数据集 ├── logs/ # 日志 ├── results/ # 结果 └── baseline_metrics/ # 指标
服务器环境一键启动
独立实验脚本
💻 环境要求
硬件要求
软件要求
已验证环境
📦 安装指南
1. 环境准备
2. 安装依赖
3. 验证安装
🎮 使用方法
服务器专用脚本 (推荐)
环境检查
基线训练
多节点优化训练
完整实验流程
实验验证脚本
单组件测试
🧪 实验验证
基线对比实验
目标: 对比传统METIS均分策略与异构感知优化策略
实验设计:
消融实验
目标: 分析各个组件的独立贡献和协同效应
实验配置:
扩展性测试
目标: 验证多节点扩展能力和竞赛加分
测试范围:
容错机制测试
目标: 验证系统可靠性和故障恢复能力
核心指标 (基于RTX 2080 Ti双卡)
竞赛评分
扩展性能
🏗️ 系统架构
目录结构
核心组件
双重架构设计:
baseline/):传统METIS图划分 + 标准训练流程improved/):异构感知优化 + 智能调度 + 容错机制关键创新技术:
关键算法
异构感知图划分
自适应调度
通信优化
容错机制
贡献指南
开发环境设置
代码规范
提交指南
致谢
感谢以下开源项目的支持:
GNNBalancer - 让异构GNN训练更高效!