Update README.md
随着图神经网络(GNN)在社交网络、推荐系统等领域的广泛应用,分布式训练已成为处理大规模图数据的必要手段。然而,分布式异构环境中节点性能差异显著,传统负载均衡算法难以有效适应异构算力下GNN计算特性,导致计算资源浪费和效率低下。本赛题要求基于Linux系统,结合PyTorch与图计算框架(PyG/DGL),设计并实现一种面向GNN任务的负载均衡调度优化方法,通过评估各节点的系统性能指标(如计算能力、内存、网络带宽等),解决异构环境下GNN任务分配与资源动态适配的难题,提升整体计算效率,为智能时代的高效分布式计算提供技术支持。
操作系统:基于Linux内核,可选择openKylin、openEuler、Ubuntu等发行版。 硬件约束:分布式环境由算力异构设备组成。 软件依赖:使用PyTorch 2.0+,PyG 2.4+或DGL 1.0+。 GNN模型:GraphSAGE。 数据集:ogbn-products。 集群规模:要求集群规模至少为两个节点,且存在算力异构,算力异构差值不低于40%(异构差值以执行基线标准计算,增加节点加分,见评分标准6)。 异构算力平台:CPU、GPU均可,使用国产硬件平台加分(见评分标准6)。
针对分布式GNN异构算力节点负载不均衡的问题,提出一种解决方案,以优化GNN在分布式环境下负载均衡水平,提高计算效率。 基线标准:2节点(节点之间异构算力差距明显)+ 模型GraphSAGE(2层采样,两层邻居采样数设置为“10,10”) + 数据集ogbn-products + 图划分算法使用METIS,节点子图采用均分+运行50个epoch所取的每个节点时间和全局时间的平均值。 泛化性:支持多节点集群规模拓展,模拟环境或真实集群上进行实验,验证所设计算法的性能和效果,并提供实验数据和分析报告。
评分将从以下五个维度进行综合评估:
具体评分标准为: 0%≤节点间负载标准差<5%:负载极为均衡,各节点工作负载分配几乎完全一致,集群效能达到最优状态,得25分; 5%≤节点间负载标准差<15%:负载较为均衡,各节点工作负载分配基本均匀,集群效能良好,得20分; 15%≤节点间负载标准差<25%:负载有一定差异,但整体仍处于可接受范围内,集群效能中等,得15分; 25%≤节点间负载标准差<35%:负载差异较为明显,部分节点可能面临一定压力,集群效能稍受影响,得10分。 节点间负载标准差≥35%:负载极不均衡,部分节点过载而其他节点闲置,严重影响集群效能和系统稳定性,得0分。
具体标准为: 整体计算效率提升≥40%:计算效率大幅提升,优化效果显著。通过优化资源调度策略、合理分配计算、存储和网络资源,任务执行时间大幅缩短,系统整体效益显著提高,得25分; 30%≤整体计算效率提升<40%:计算效率提升较高,优化效果良好。资源调度较为合理,任务执行时间明显缩短,系统整体效益有较大提升,得20分; 20%≤整体计算效率提升<30%:计算效率有一定提升,优化有一定效果。资源调度基本合理,任务执行时间有所缩短,系统整体效益有所改善,得15分; 10%≤整体计算效率提升<20%:计算效率有少量提升,优化效果一般。资源调度存在改进空间,任务执行时间略有缩短,系统整体效益略有改善,得10分; 整体计算效率提升<10%:计算效率提升不明显,优化效果不显著。资源调度策略改进有限,任务执行时间缩短不明显,系统整体效益提升不明显,得0分。
具体评分标准为: 在PyG 或 DGL中集成图划分算法调用接口,可以将设计的图划分算法集成于PyG 或 DG中,通过简单的接口调用,即可灵活选择和应用多种图划分策略,显著提升了系统的可扩展性和易用性,得15分; 支持图划分算法调用接口,但不完整,功能有限,虽然有一定的可扩展性,但在灵活性和易用性上不如完全集成的情况,得10分; 不支持图划分算法调用接口,需自行实现:系统未集成任何图划分算法调用接口,用户需要自行实现图划分算法或手动集成外部库,系统的可扩展性较差,开发和维护成本较高,得0分。
使用国产硬件算力平台加3分; 最低2个节点,每增加1个节点加1分,最多不超过5分。
赵欣 zhaoxin10@nudt.edu.cn
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
赛题题目:面向Linux的分布式异构GNN负载均衡优化
赛题说明:
随着图神经网络(GNN)在社交网络、推荐系统等领域的广泛应用,分布式训练已成为处理大规模图数据的必要手段。然而,分布式异构环境中节点性能差异显著,传统负载均衡算法难以有效适应异构算力下GNN计算特性,导致计算资源浪费和效率低下。本赛题要求基于Linux系统,结合PyTorch与图计算框架(PyG/DGL),设计并实现一种面向GNN任务的负载均衡调度优化方法,通过评估各节点的系统性能指标(如计算能力、内存、网络带宽等),解决异构环境下GNN任务分配与资源动态适配的难题,提升整体计算效率,为智能时代的高效分布式计算提供技术支持。
赛题要求:
1. 开发环境
操作系统:基于Linux内核,可选择openKylin、openEuler、Ubuntu等发行版。 硬件约束:分布式环境由算力异构设备组成。 软件依赖:使用PyTorch 2.0+,PyG 2.4+或DGL 1.0+。 GNN模型:GraphSAGE。 数据集:ogbn-products。 集群规模:要求集群规模至少为两个节点,且存在算力异构,算力异构差值不低于40%(异构差值以执行基线标准计算,增加节点加分,见评分标准6)。 异构算力平台:CPU、GPU均可,使用国产硬件平台加分(见评分标准6)。
2. 功能要求
针对分布式GNN异构算力节点负载不均衡的问题,提出一种解决方案,以优化GNN在分布式环境下负载均衡水平,提高计算效率。 基线标准:2节点(节点之间异构算力差距明显)+ 模型GraphSAGE(2层采样,两层邻居采样数设置为“10,10”) + 数据集ogbn-products + 图划分算法使用METIS,节点子图采用均分+运行50个epoch所取的每个节点时间和全局时间的平均值。 泛化性:支持多节点集群规模拓展,模拟环境或真实集群上进行实验,验证所设计算法的性能和效果,并提供实验数据和分析报告。
评分标准:
评分将从以下五个维度进行综合评估:
1. 功能完整性(25%):评估参赛队伍开发的系统是否达成本赛题的基本功能要求。系统应具备全面的功能模块,涵盖核心功能与辅助工具,以确保在实际应用中能够高效、准确地完成任务。此外,还应包含必要的错误处理和日志记录功能,以保障系统的稳定性和可维护性。
2. 负载均衡效果(25%):此标准旨在确保集群中各节点的工作负载均匀分布,避免部分节点过载而其他节点闲置,从而提高整体运行效率与响应速度,保障系统稳定运行,提升用户体验。(与所数据集节点数平均分配相比)
具体评分标准为: 0%≤节点间负载标准差<5%:负载极为均衡,各节点工作负载分配几乎完全一致,集群效能达到最优状态,得25分; 5%≤节点间负载标准差<15%:负载较为均衡,各节点工作负载分配基本均匀,集群效能良好,得20分; 15%≤节点间负载标准差<25%:负载有一定差异,但整体仍处于可接受范围内,集群效能中等,得15分; 25%≤节点间负载标准差<35%:负载差异较为明显,部分节点可能面临一定压力,集群效能稍受影响,得10分。 节点间负载标准差≥35%:负载极不均衡,部分节点过载而其他节点闲置,严重影响集群效能和系统稳定性,得0分。
3. 计算效率提升(25%):要求集群平均资源利用率相较于原始状态有显著改善,通过优化资源调度策略、合理分配计算、存储和网络资源,减少资源浪费,确保资源能被充分利用,同时满足不同任务的需求,提升系统的整体效益。(与所数据集节点数平均分配相比)
具体标准为: 整体计算效率提升≥40%:计算效率大幅提升,优化效果显著。通过优化资源调度策略、合理分配计算、存储和网络资源,任务执行时间大幅缩短,系统整体效益显著提高,得25分; 30%≤整体计算效率提升<40%:计算效率提升较高,优化效果良好。资源调度较为合理,任务执行时间明显缩短,系统整体效益有较大提升,得20分; 20%≤整体计算效率提升<30%:计算效率有一定提升,优化有一定效果。资源调度基本合理,任务执行时间有所缩短,系统整体效益有所改善,得15分; 10%≤整体计算效率提升<20%:计算效率有少量提升,优化效果一般。资源调度存在改进空间,任务执行时间略有缩短,系统整体效益略有改善,得10分; 整体计算效率提升<10%:计算效率提升不明显,优化效果不显著。资源调度策略改进有限,任务执行时间缩短不明显,系统整体效益提升不明显,得0分。
4. 可扩展性(15%):评估系统架构的灵活性与适应性,强大的可扩展性使系统能适应功能增长与变化。系统需支持接入多种图划分策略,以便根据实际需求灵活调整图的划分方式,优化数据分布与处理流程,从而提高系统在处理大规模数据和复杂任务时的性能与效率。
具体评分标准为: 在PyG 或 DGL中集成图划分算法调用接口,可以将设计的图划分算法集成于PyG 或 DG中,通过简单的接口调用,即可灵活选择和应用多种图划分策略,显著提升了系统的可扩展性和易用性,得15分; 支持图划分算法调用接口,但不完整,功能有限,虽然有一定的可扩展性,但在灵活性和易用性上不如完全集成的情况,得10分; 不支持图划分算法调用接口,需自行实现:系统未集成任何图划分算法调用接口,用户需要自行实现图划分算法或手动集成外部库,系统的可扩展性较差,开发和维护成本较高,得0分。
5. 代码与文档质量(10%):代码的规范性和可读性是项目长期维护与迭代的关键,良好的文档则有助于用户理解和使用系统。代码应遵循开源社区的代码风格要求,结构清晰、注释详尽,便于后续的维护与功能扩展。文档需包含系统架构图,直观展示系统各组件的结构与交互关系;使用说明应详细准确,指导用户顺利安装、配置和操作系统的各项功能。
6. 加分项:
使用国产硬件算力平台加3分; 最低2个节点,每增加1个节点加1分,最多不超过5分。
赛题联系人:
赵欣 zhaoxin10@nudt.edu.cn
参考文献:
参赛资源支持:无