论文部分内容阅读
数据中心网络是支撑大数据与云计算平台的重要基础设施,被广泛用于数据密集型与大规模并行计算任务。由于此类任务对计算负载、通信带宽有着较高的要求,通常需要依托分布式处理的方式来运行。近年来,随着人工智能技术的迅速发展与各类应用场景的落地,机器学习任务在数据中心内部的占比显著增加。传统的分布式大数据处理系统,例如Hadoop、Spark等,在架构设计之初并未针对机器学习任务进行专门优化,在保障训练收敛效率、提升迭代计算速度、改善模型质量、缩短推理延迟、节约系统资源开销等指标层面表现欠佳。因此,有必要针对机器学习应用这类新兴场景设计专门的分布式系统架构,并进行相关功能的模块构建与性能分析,从而适应现实应用场景的需求。分布式机器学习系统的架构设计通常与业界的软硬件发展状况有着紧密的联系,现有的系统在部署时虽然能够借助数据中心的庞大算力与海量数据资源,但研究表明其实际性能仍旧面临着网络拓扑兼容能力不足、有限带宽影响数据交互性能、异构环境降低集群协同效率、掉队节点拖慢任务处理速度、模型训练消耗大量资源等严峻挑战。而以往的研究往往针对单个性能指标进行改进,未能从整个系统的层面进行综合优化。基于上述现状分析,本文旨在解决制约分布式系统处理机器学习任务时的效率瓶颈问题,设计并实现一个面向数据中心异构环境的高性能分布式机器学习系统,为大规模机器学习应用提供良好的系统性支持。通过对标底层网络拓扑、中间层通信模式与分布式计算、上层应用管理,本文自底而上地对整个系统进行了软硬件综合设计与优化,并将整个系统解耦为四个核心模块,分别对应如下研究目标与优化理念。(1)针对机器学习任务在底层数据中心网络部署过程中,难以有效兼容多接口拓扑的问题。重点研究了去中心化协同场景下的梯度通信特征与网络拓扑适配机制,以提升分布式梯度同步与模型收敛效率。为此,设计了“基于梯度交换与集合式通信的集群拓扑驱动器”模块,其核心目标是使分布式系统适应各类底层网络拓扑。通过设计去中心化的梯度交换算法与集合式通信框架,能够充分发挥多接口网络的并行传输能力,从而提升执行机器学习任务的模型同步效率。实际部署表明,在去中心化的分布式模型训练场景下,集群拓扑驱动器能够节省56.28%的通信时间开销,并提高2.84倍的模型收敛速度。(2)针对机器学习任务在中间层通信过程中,面临有限带宽影响数据交互性能的问题。重点研究了数据中心网络的流量调度、带宽分配与动态压缩机制,以最小化数据传输时间与通信开销。为此,设计了“基于数据中心网络与智能压缩策略的联合流调度器”模块,其核心为共同优化联合流调度与流量压缩策略。提出了面向联合流调度的最快容量消除优先算法,并在群集框架内引入流量压缩技术来减少传输消耗,有效缓解了带宽不足对数据交互性能的制约。为数据传输提供网络层支撑,提升计算密集型任务的通信效率。实际部署表明,在采用Hi Bench的基准测试场景下,联合流调度器模块能够降低1.47倍的平均联合流完成时间,并减少48.41%的通信流量。(3)针对机器学习任务在中间层分布式计算过程中,掉队节点降低异构环境下的集群协同效率的问题。重点研究了适应异构环境的参数同步算法与掉队问题解决方法,以提升集群的算力资源利用率与任务处理速度。为此,设计了“基于掉队投影与并行度控制的异构参数服务器”模块,其核心为感知分布式机器学习任务的应用特征。通过控制各节点训练并行度的方式,消除了节点间的算力异构性。同时采用基于容器粒度的任务迁移方法,平衡集群内的任务负载,进而提升各节点的资源利用率,最终解决异构环境下的掉队问题。实际部署表明,在GPU与CPU组成的异构集群环境下,参数服务器模块能够减少86.16%的掉队延迟时间,并提高3.19倍的训练迭代速度。(4)针对机器学习任务在上层模型训练过程中,受制于大量算力与能量开销的问题。重点研究了资源受限条件下部署绿色机器学习应用的负载分配与资源调度方法,以最小化任务执行时间与能量开销。为此,设计了“基于模型切分与计算图分配的分布式训练管理器”模块,其核心是针对模型训练速度与任务处理的能量开销进行联合优化。通过采用面向模型切分的多层级混合同步机制,并依托计算图分配的方式来协调节点间的任务负载,有效保障了分布式训练的参数同步效率。同时,改善了异构环境下集群的资源利用率,提升了任务处理速度与能量开销两个层面的性能,从而满足了构建绿色分布式机器学习应用的需求指标。实际部署表明,在云边协同的图像分类任务场景下,分布式训练管理器模块能够提高4.67倍的任务处理速度,并减少68.92%的能量开销。上述四个模块共同构成了面向数据中心网络的分布式机器学习系统,能够在分布式训练的效率、任务处理速度与节省能量开销等层面,取得有效的性能提升。本文的研究工作将能够为分布式机器学习系统的后续研究提供理论支撑与方向指导,有利于解决高性能计算在数据容错性、集群可扩展性、资源利用效率和快速响应方面的性能瓶颈问题。同时,本文开源的系统模块也能够方便研究与开发人员对机器学习应用的部署,对相关产业的发展也有一定推动作用。