正在加载图片...
第5期 曹嵘晖,等:面向机器学习的分布式并行计算关键技术及应用 ·925· 过对各个虚拟机历史内存消耗数据的统计分析, Flink计算容器与GPU核心间的高效通信方式, 使用基于时间序列的自回归二阶模型进行内存动 在兼具各个节点GPU/MIC众核计算能力的同时, 态预测。在满足各个虚拟机对内存SLA(service 利用分布式组件间的通信协议完成了各个服务器 level agreement)要求的前提下减少服务器的启动 节点的协同运算。 数量。并对每个服务器的内存分配设置一个阈值 4.2分布式异构CPU/GPU集群体系结构的优化 Lm,设置平衡因子r作为超过阈值的过载比例。 设计方法 实验结果显示,VM-DFS算法能够在满足SLA要 考虑到目前Spark分布式框架无法有效利用 求的前提下,提高服务器内存资源使用率。 计算节点上的多GPU,本文提出了MGSpark系 在此基础上,为确保云环境中内存资源的Q0s 统:一个CPU-GPU分布式异构环境下多GPU工 要求,当物理服务器内存消耗值时,需要进行虚 作负载均衡的计算框架。MGSpark系统能有效地 拟机的动态迁移。鉴于此,本文提出一种新型虚 将GPUs融入到Spark框架中,充分挖掘计算节点 拟机动态迁移模型(virtual machine dynamic fore- 上的多GPU的计算能力,使集群中的GPUs工作 cast migration,VM-DFM),该算法解决了在虚拟 负载达到均衡,如图6所示。 机的动态迁移过程中,如何从“热点”服务器上待 Worker 0 迁移虚拟机列表中选择合适的虚拟机进行动态 Excutor 迁移。 Cache Client Task Task 4适应于机器学习/深度学习算法迭 MGSpark application MGScheduler ased on the HRDD 代的分布式异构环境构建 CPUs CPUs Master Shuffle parkContext 针对机器学习/深度学习算法迭代过程中的 Worker 0 GScbeduler Excutor 算力、架构瓶颈及计算效率低等问题24。提出 Cache 了普适性的深度学习增量迭代优化方法;针对现 Task Task 有Spark/Flink分布式大数据处理框架,在此基础 GScheduler 上提出了其在CPU/GPU异构环境中的体系结构 CPUs CPUs 扩展优化模型,设计并实现了一种在Spark/Flink 图6 MGSpark系统架构 计算容器与GPU核心间的高效通信方式,解决了 Fig.6 System architecture of MGSpark 分布式异构环境中的计算效率问题。 本文建立了与原有Spark RDD(resilient distrib- 4.1 机器学习/深度学习增量迭代优化方法 uted datasets)编程模型相兼容的GPU加速的编程 众所周知,算力一直以来是人工智能发展的 模型,使编程人员创建GPUs加速的Spark应用程 最大瓶颈。以异构众核等高性能处理器为主要计 序更加简便。为了优化主机端和设备端的数据通 算部件的机器学习/深度学习参数训练过程并不 信,MGSpark提出了一个多GPU环境下的异步 适用于分布式系统,传统的机器学习算法因其无 JVM-GPU数据传输方案。 法保证数据分片分开训练是否能与整体集中训练 MGSpark架构与Spark运行时相兼。因此 结果保持一致,需要在分布环境下进行并行优化 Spark的任务调度和错误恢复机制被保留下来。 与适应性改进。 Standalone模式下的MGSpark系统框架如图7所 鉴于此,本文针对分布式机器学习体系结构 示,保留着Spark运行时的所有组件(DAGSched- 中的并行优化问题,提出了机器学习/深度学习增 uler、TaskScheduler、excutor)。作者还扩展了RDD 量迭代优化模型及其分布式异构CPU/GPU集群 模型来融合GPU和Spark的计算模型,以方便编 体系结构的优化设计方法。在此基础上,针对DNNW 程人员使用扩展的RDD编程模型来创建MGS- CNN/RNN等典型深度学习模型训练中的参数迭 park应用程序,并使用GPUs进行加速。新增加 代过程,通过总结增量迭代发生的模型、数据特 的系统组件是MGTaskScheduler,.它驻留在每个 征,揭示了其训练过程可以实行增量迭代优化的 Worker节点上。MGTaskScheduler负责将excutor 条件和时机等客观规律,提出了普适性的深度学 上的Tasks卸载到节点上的GPUs上执行,进行 习增量迭代优化方法;提出并实现了一种在Spark/ 多GPUs工作负载均衡调度。过对各个虚拟机历史内存消耗数据的统计分析, 使用基于时间序列的自回归二阶模型进行内存动 态预测。在满足各个虚拟机对内存 SLA (service level agreement) 要求的前提下减少服务器的启动 数量。并对每个服务器的内存分配设置一个阈值 Lm ,设置平衡因子 r 作为超过阈值的过载比例。 实验结果显示,VM-DFS 算法能够在满足 SLA 要 求的前提下,提高服务器内存资源使用率。 在此基础上,为确保云环境中内存资源的 Qos 要求,当物理服务器内存消耗 r 值时,需要进行虚 拟机的动态迁移。鉴于此,本文提出一种新型虚 拟机动态迁移模型 (virtual machine dynamic fore￾cast migration, VM-DFM),该算法解决了在虚拟 机的动态迁移过程中,如何从“热点”服务器上待 迁移虚拟机列表中选择合适的虚拟机进行动态 迁移。 4 适应于机器学习/深度学习算法迭 代的分布式异构环境构建 针对机器学习/深度学习算法迭代过程中的 算力、架构瓶颈及计算效率低等问题[42-43]。提出 了普适性的深度学习增量迭代优化方法;针对现 有 Spark/Flink 分布式大数据处理框架,在此基础 上提出了其在 CPU/GPU 异构环境中的体系结构 扩展优化模型,设计并实现了一种在 Spark/Flink 计算容器与 GPU 核心间的高效通信方式,解决了 分布式异构环境中的计算效率问题。 4.1 机器学习/深度学习增量迭代优化方法 众所周知,算力一直以来是人工智能发展的 最大瓶颈。以异构众核等高性能处理器为主要计 算部件的机器学习/深度学习参数训练过程并不 适用于分布式系统,传统的机器学习算法因其无 法保证数据分片分开训练是否能与整体集中训练 结果保持一致,需要在分布环境下进行并行优化 与适应性改进。 鉴于此,本文针对分布式机器学习体系结构 中的并行优化问题,提出了机器学习/深度学习增 量迭代优化模型及其分布式异构 CPU/GPU 集群 体系结构的优化设计方法。在此基础上,针对 DNN/ CNN/RNN 等典型深度学习模型训练中的参数迭 代过程,通过总结增量迭代发生的模型、数据特 征,揭示了其训练过程可以实行增量迭代优化的 条件和时机等客观规律,提出了普适性的深度学 习增量迭代优化方法;提出并实现了一种在 Spark/ Flink 计算容器与 GPU 核心间的高效通信方式, 在兼具各个节点 GPU/MIC 众核计算能力的同时, 利用分布式组件间的通信协议完成了各个服务器 节点的协同运算。 4.2 分布式异构 CPU/GPU 集群体系结构的优化 设计方法 考虑到目前 Spark 分布式框架无法有效利用 计算节点上的多 GPU[42] ,本文提出了 MGSpark 系 统:一个 CPU-GPU 分布式异构环境下多 GPU 工 作负载均衡的计算框架。MGSpark 系统能有效地 将 GPUs 融入到 Spark 框架中,充分挖掘计算节点 上的多 GPU 的计算能力,使集群中的 GPUs 工作 负载达到均衡,如图 6 所示。 Client Master Worker_0 Excutor Cache Task Task MGScheduler CPUs CPUs Worker_0 Excutor Cache Task Task MGScheduler CPUs CPUs Shuffle MGSpark application based on the HRDD SparkContext DAGScheduler TaskScheduler 图 6 MGSpark 系统架构 Fig. 6 System architecture of MGSpark 本文建立了与原有 Spark RDD(resilient distrib￾uted datasets) 编程模型相兼容的 GPU 加速的编程 模型,使编程人员创建 GPUs加速的 Spark 应用程 序更加简便。为了优化主机端和设备端的数据通 信,MGSpark 提出了一个多 GPU 环境下的异步 JVM-GPU 数据传输方案。 MGSpark 架构与 Spark 运行时相兼。因此 Spark 的任务调度和错误恢复机制被保留下来。 Standalone 模式下的 MGSpark 系统框架如图 7 所 示,保留着 Spark 运行时的所有组件(DAGSched￾uler、TaskScheduler、 excutor)。作者还扩展了 RDD 模型来融合 GPU 和 Spark 的计算模型,以方便编 程人员使用扩展的 RDD 编程模型来创建 MGS￾park 应用程序,并使用 GPUs 进行加速。新增加 的系统组件是 MGTaskScheduler,它驻留在每个 Worker 节点上。MGTaskScheduler 负责将 excutor 上的 Tasks 卸载到节点上的 GPUs 上执行,进行 多 GPUs 工作负载均衡调度。 第 5 期 曹嵘晖,等:面向机器学习的分布式并行计算关键技术及应用 ·925·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有