吴文假人工智能科学技术奖十周年 庆祝专刊 吴文俊人工智能科技进步奖一等奖 成果名称:面向机器学习的分布式异构并行计算关键技术及应用 获奖人:唐卓、廖清、李肯立、肖国庆、曹嵘晖、谢鲲、蒋洪波、肖正、周旭、胡逸騉、宋柏森、杨建仁 完成单位:湖南大学、哈尔滨工业大学(深圳)、长沙证通云计算有限公司 唐卓 毕业于华中科技大学计算机学院,获工学博士学位。湖南大学信息科学与工程学院 岳麓学者特聘教授,博士生导师,国家超级计算长沙中心总工程师,数据中心与可信云 湖南省工程研究中心主任,湖南大学首届“东华软件学者”、长沙市大数据产业链“工 业科技特派员”,湖南省商用密码示范基地专家委员会委员,OpenStack云计算开源社 区CoreMember。.研究方向为分布式计算与云计算,研究兴趣为大数据并行处理体系 结构,分布式机器学习。专注于资源虚拟化池,OpenStacki私有云体系结构,基于 MapReduce和Spark的机器学习算法的并行化,面向数据特征的Spark和Hadoop任务 调度和体系结构优化等问题的研究。带领团队在OpenStack Q/R/S/T/U多个版本BP 贡献中均取得了全球第九,国内第三的成绩。以第一/通讯作者在IEEE/ACMTIFS、TPDS、TKDE、TCC、TSC TASL、TO1T、1OT等国内外重要刊物和会议上发表论文50余篇,获发明专利授权10余项。研发的云资源管理 软件和大数据并行处理与分析平台,已成功应用于智能制造、医疗、金融等应用领域, 提供数据存储、分析和 挖掘服务,实现科技成果转化逾干万元。 担任多个SC期刊的客座编辑,先后主持科技部国家重点研发计划课题一项,国家自然科学基金重点项目 (1项)、面上项目(2项)、国家自然科学基金应急项目(3项)、青年项目(1项),广东省经信委项目、 产学研合作项目、中国博士后科学基金等国家及其他省部级课题十余项,同时作为任务负责人参与科技部国家 重点研发计划一项。研究成果获国家科技进步二等奖(第三)、吴文俊人工智能科技进步奖一等奖(第一)、 中国产学研合作创新成果一等奖(第一)、湖南省技术发明一等奖(第二),教育部科技进步二等奖及湖南省 自然科学奖,湖南省优秀博士后奖各一项。 918
第16卷第5期 智能系统学报 Vol.16 No.5 2021年9月 CAAI Transactions on Intelligent Systems Sep.2021 D0L:10.11992tis.202108010 面向机器学习的分布式并行计算关键技术及应用 曹嵘晖2,唐卓2,左知微2,张学东2 (1.湖南大学信息科学与工程学院,湖南长沙410082,2.国家超级计算长沙中心,湖南长沙410082) 摘要:当前机器学习等算法的计算、迭代过程日趋复杂,充足的算力是保障人工智能应用落地效果的关键。 本文首先提出一种适应倾斜数据的分布式异构环境下的任务时空调度算法,有效提升机器学习模型训练等任 务的平均效率:其次,提出分布式异构环境下高效的资源管理系统与节能调度算法,实现分布式异构环境下基 于动态预测的跨域计算资源迁移及电压/频率的动态调节,节省了系统的整体能耗:然后构建了适应于机器学 习深度学习算法迭代的分布式异构优化环境,提出了面向机器学习图迭代算法的分布式并行优化基本方法。 最后,本文研发了面向领域应用的智能分析系统,并在制造、交通、教育、医疗等领域推广应用,解决了在高效 数据采集、存储、清洗、融合与智能分析等过程中普遍存在的性能瓶颈问题。 关键词:机器学习;分布式计算;倾斜数据;任务时空调度:资源管理;节能调度:跨域资源迁移:并行优化:图迭 代算法:智能分析系统 中图分类号:TP18文献标志码:A文章编号:1673-4785(2021)05-0919-12 中文引用格式:曹蝾晖,唐卓,左知微,等.面向机器学习的分布式并行计算关键技术及应用.智能系统学报,2021,16(5): 919-930. 英文引用格式:CAO Ronghui,.TANG Zhuo,ZUO Zhiwei,,etal.Key technologies and applications of distributed parallel comput- ing for machine learning J.CAAI transactions on intelligent systems,2021,16(5):919-930 Key technologies and applications of distributed parallel computing for machine learning CAO Ronghui,TANG Zhuo,ZUO Zhiwei,ZHANG Xuedong2 (1.College of Computer Science and Electronic Engineering,Hunan University,Changsha 410082,China;2.National Supercom- puter Center in Changsha,Changsha 410082,China) Abstract:At present,the calculation and iteration process of algorithms such as machine learning is becoming more and more complex.Sufficient computational power is the key to ensure the landing effect of artificial intelligence applica- tion.In view of this,this paper first puts forward a task space-time scheduling algorithm adapted to the distributed het- erogeneous environment of skew data,which effectively improves the average efficiency of tasks such as machine learn- ing model training.Then,the high-efficiency resource management system and energy-saving scheduling algorithm in distributed heterogeneous environment are proposed to realize the dynamic prediction based cross-domain computing re- source migration and voltage/frequency dynamic regulation in distributed heterogeneous environment,which saves the overall energy consumption of the system,and then,the distributed heterogeneous optimization environment adapted to the iteration of machine learning/deep learning algorithm is constructed,and the basic method of distributed parallel op- timization for machine learning/graph iteration algorithm is proposed.Finally,the intelligent analysis system for field- oriented applications is researched and developed,and popularized in manufacturing,transportation,education,medical and other fields,which solves the performance bottleneck problems that are common in the process of high-efficiency data collection,storage,cleaning,fusion and intelligent analysis. Keywords:machine learning;distributed computing;skew data;task space-time scheduling;resource management;en- ergy-saving scheduling;cross-domain resource migration;parallel optimization;graph iteration algorithm;intelligent analysis system 收稿日期:2021-08-11. 以超级计算、云计算为计算基础设施,以大 基金项目:国家重点研发计划项目(2018YFB1701400):国家自 然科学基金项目(92055213,61873090,L1924056, 数据分析、从海量经验数据中产生智能的人工智 62002114):金融及产业数据驱动下的智慧园区云平 台研发及产业化项目(XMHT20190205007):广东省 能2.0时代的浪潮正在袭来2。互联网、人工智 重点领域研发计划项目(XMHT20190205007)深圳 市科技计划项目(JSGG20180507183023239). 能应用的蓬勃发展,在海量数据的处理分析上面 通信作者:唐卓.E-mail:ztang@hnu.edu.cn. 临巨大的挑战:传统数据平台的并行计算能力
DOI: 10.11992/tis.202108010 面向机器学习的分布式并行计算关键技术及应用 曹嵘晖1,2,唐卓1,2,左知微1,2,张学东1,2 (1. 湖南大学 信息科学与工程学院, 湖南 长沙 410082; 2. 国家超级计算长沙中心, 湖南 长沙 410082) 摘 要:当前机器学习等算法的计算、迭代过程日趋复杂, 充足的算力是保障人工智能应用落地效果的关键。 本文首先提出一种适应倾斜数据的分布式异构环境下的任务时空调度算法,有效提升机器学习模型训练等任 务的平均效率;其次,提出分布式异构环境下高效的资源管理系统与节能调度算法,实现分布式异构环境下基 于动态预测的跨域计算资源迁移及电压/频率的动态调节,节省了系统的整体能耗;然后构建了适应于机器学 习/深度学习算法迭代的分布式异构优化环境,提出了面向机器学习/图迭代算法的分布式并行优化基本方法。 最后,本文研发了面向领域应用的智能分析系统,并在制造、交通、教育、医疗等领域推广应用,解决了在高效 数据采集、存储、清洗、融合与智能分析等过程中普遍存在的性能瓶颈问题。 关键词:机器学习;分布式计算;倾斜数据;任务时空调度;资源管理;节能调度;跨域资源迁移;并行优化;图迭 代算法;智能分析系统 中图分类号:TP18 文献标志码:A 文章编号:1673−4785(2021)05−0919−12 中文引用格式:曹嵘晖, 唐卓, 左知微, 等. 面向机器学习的分布式并行计算关键技术及应用 [J]. 智能系统学报, 2021, 16(5): 919–930. 英文引用格式:CAO Ronghui, TANG Zhuo, ZUO Zhiwei, et al. Key technologies and applications of distributed parallel computing for machine learning[J]. CAAI transactions on intelligent systems, 2021, 16(5): 919–930. Key technologies and applications of distributed parallel computing for machine learning CAO Ronghui1,2 ,TANG Zhuo1,2 ,ZUO Zhiwei1,2 ,ZHANG Xuedong1,2 (1. College of Computer Science and Electronic Engineering, Hunan University, Changsha 410082, China; 2. National Supercomputer Center in Changsha, Changsha 410082, China) Abstract: At present, the calculation and iteration process of algorithms such as machine learning is becoming more and more complex. Sufficient computational power is the key to ensure the landing effect of artificial intelligence application. In view of this, this paper first puts forward a task space-time scheduling algorithm adapted to the distributed heterogeneous environment of skew data, which effectively improves the average efficiency of tasks such as machine learning model training. Then, the high-efficiency resource management system and energy-saving scheduling algorithm in distributed heterogeneous environment are proposed to realize the dynamic prediction based cross-domain computing resource migration and voltage/frequency dynamic regulation in distributed heterogeneous environment, which saves the overall energy consumption of the system, and then, the distributed heterogeneous optimization environment adapted to the iteration of machine learning/deep learning algorithm is constructed, and the basic method of distributed parallel optimization for machine learning/graph iteration algorithm is proposed. Finally, the intelligent analysis system for fieldoriented applications is researched and developed, and popularized in manufacturing, transportation, education, medical and other fields, which solves the performance bottleneck problems that are common in the process of high-efficiency data collection, storage, cleaning, fusion and intelligent analysis. Keywords: machine learning; distributed computing; skew data; task space-time scheduling; resource management; energy-saving scheduling; cross-domain resource migration; parallel optimization; graph iteration algorithm; intelligent analysis system 以超级计算、云计算为计算基础设施,以大 数据分析、从海量经验数据中产生智能的人工智 能 2.0 时代的浪潮正在袭来[1-2]。互联网、人工智 能应用的蓬勃发展,在海量数据的处理分析上面 临巨大的挑战:传统数据平台的并行计算能力、 收稿日期:2021−08−11. 基金项目:国家重点研发计划项目(2018YFB1701400);国家自 然科学基金项目(92055213,61873090,L1924056, 62002114);金融及产业数据驱动下的智慧园区云平 台研发及产业化项目(XMHT20190205007);广东省 重点领域研发计划项目(XMHT20190205007)深圳 市科技计划项目(JSGG20180507183023239). 通信作者:唐卓. E-mail: ztang@hnu.edu.cn. 第 16 卷第 5 期 智 能 系 统 学 报 Vol.16 No.5 2021 年 9 月 CAAI Transactions on Intelligent Systems Sep. 2021
·920· 智能系统学报 第16卷 弹性存储能力以及智能化数据分析能力难以满足 行业提供数据存储、分析和挖掘的智能化云服 各行业海量数据在采集、存储和分析上对计算资 务,有效降低传统企业基于超级计算机、云服务 源的迫切需求。数据驱动的人工智能技术飞 集群等来实现大数据智能分析的使用门槛。该系 速发展,给互联网、智能制造、智慧城市等应用领 统有效地突破了数据采集、存储、压缩、分析、挖 域在数据采集、处理和分析框架上带来了巨大的 掘过程中在数据并行处理体系结构、人工智能算 机会。 法、并行编程模型方面存在的技术瓶颈,一方面 与此同时,近年来蓬勃发展的企业应用、互 有效发挥了课题组所依托的国家超级计算长沙中 联网应用在海量数据的处理分析上也面临巨大的 心作为高性能数据处理基础设施的公共服务能 挑战:传统数据平台的并行计算能力、弹性存 力,另一方面将为领域企业提供了行业数据并行 储能力以及智能化数据分析能力难以满足行业海 处理与智能分析的能力,提升了我国相关骨干企 量数据的采集、存储和分析的需求 业的创新能力。 而目前国内人工智能行业、大数据行业发展的 主要矛盾是:大多数企业看得到数据,但对数据 1 研究方案 如何采集)、存储、分析)、提供智能决策等方 本文的研究应用方案如图1所示。 面缺乏成熟有效的平台支撑,技术准入门槛高6m 智能制造智能交通 1)流数据、非结构化数据的处理和分析往往 智慧教育智慧医疗 需要动态可扩展的计算和存储能力,传统的以服 高效能数据并行处理与智能分析系统 务器集群、SQL数据库为主流架构的企业数据中 ◆研究内容四 色 机器学习/图迭代算法的分布式并行优化基本方法 心基础设施无论在硬件和软件容量上都不具备实 ●研究内容(三 时扩展的能力,很难满足企业数据处理应用对资 适应机器学习迭代的分布式异构环境构建 源的弹性需求19。 研究内谷一 2)现有的面向非结构化的数据存储架构基本 分布异构环境面向数据 高效的资源管理系统与 倾斜的任务时空调度 节能调度 上是基于NoSQL分布式文件系统,这给传统的 以SQL数据库编程为主要技能的程序员带来了 图1本文研究总体框架 困扰B2。 Fig.1 General introduction of the research 3)现有的传统企业基于数据库的分析和处理 研究应用方案具体包括: 的应用往往不具备按照数据分块进行并行处理的 1)首先针对大多数云环境中服务器内存资源 能力。而现有主流并行编程框架对于一般的企业开 平均使用率过低问题,提出了基于服务器内存预 发人员来说又难以短时间掌握。这使得以Hadoop/ 测的虚拟机动态预测部署及任务节能调度模型。 Spark、Flink等为代表的大数据并行存储和处理 在此基础上,针对Hadoop/Spark的数据处理过 框架的应用很难得到较大面积的推广和应用22。 程,设计并实现了一种面向倾斜数据Shuffle过程 4)以人工智能经典算法、机器学习模型为核 的任务调度策略:一方面通过Reduce任务放置策 心的数据挖掘框架是目前进行大数据分析的主要 略减少Spark/Hadoop集群的内部通信量,通过 手段。但对于传统企业的开发人员来说,同样面 Reducer放置算法来实现任务本地化,以减少系统 临着人工智能算法门槛太高,难于掌握的困境, 的中间数据传输量。 使得一般的软件公司很难组建面向行业数据分析 2)提出和研发了分布式异构环境下高效的资 处理和挖掘的研发团队s2 源管理系统与节能调度算法,针对各种迁移模型 课题组依托的国家超算长沙中心,作为我国 的场景,适配性能最优的计算资源迁移模型,并 在云计算、大数据及行业应用的重大战略基础设 基于OpenStack云平台实现了面向数据中心集群 施,其核心设备天河一号超级计算机与云服务器 的跨域计算资源迁移基础设施,能兼容多数云平 集群具备PB级的数据存储、并行处理和分析挖 台/数据中心虚拟机迁移算法,并支持目前流行的 掘的能力,能有效解决传统企业在面向海量数据 Ceph、KVM(kernel-based virtual machine)等存储和 处理中所遇到的计算、存储和算法瓶颈。 计算框架,实现了支持计算资源、存储资源调度 面向我国行业领域对大数据并行处理与智能 算法的独立封装和部署的多数据中心资源管理体 分析技术和服务能力提出的迫切需求,本文提出 系结构。在此基础上,针对当前云环境中服务器 了高效能数据并行处理与智能分析系统,为相关 内存资源平均使用率过低问题,提出了一种基于
弹性存储能力以及智能化数据分析能力难以满足 各行业海量数据在采集、存储和分析上对计算资 源的迫切需求[3-6]。数据驱动的人工智能技术飞 速发展,给互联网、智能制造、智慧城市等应用领 域在数据采集、处理和分析框架上带来了巨大的 机会[7-9]。 与此同时,近年来蓬勃发展的企业应用、互 联网应用在海量数据的处理分析上也面临巨大的 挑战:传统数据平台的并行计算能力[10] 、弹性存 储能力以及智能化数据分析能力难以满足行业海 量数据的采集[11] 、存储和分析的需求[12]。 而目前国内人工智能行业、大数据行业发展的 主要矛盾是:大多数企业看得到数据,但对数据 如何采集[13] 、存储[14] 、分析[15] 、提供智能决策等方 面缺乏成熟有效的平台支撑,技术准入门槛高[16-17]。 1)流数据、非结构化数据的处理和分析往往 需要动态可扩展的计算和存储能力,传统的以服 务器集群、SQL 数据库为主流架构的企业数据中 心基础设施无论在硬件和软件容量上都不具备实 时扩展的能力,很难满足企业数据处理应用对资 源的弹性需求[18-19]。 2)现有的面向非结构化的数据存储架构基本 上是基于 NoSQL 分布式文件系统,这给传统的 以 SQL 数据库编程为主要技能的程序员带来了 困扰[20-21]。 3)现有的传统企业基于数据库的分析和处理 的应用往往不具备按照数据分块进行并行处理的 能力。而现有主流并行编程框架对于一般的企业开 发人员来说又难以短时间掌握。这使得以 Hadoop/ Spark、Flink 等为代表的大数据并行存储和处理 框架的应用很难得到较大面积的推广和应用[22-24]。 4)以人工智能经典算法、机器学习模型为核 心的数据挖掘框架是目前进行大数据分析的主要 手段。但对于传统企业的开发人员来说,同样面 临着人工智能算法门槛太高,难于掌握的困境, 使得一般的软件公司很难组建面向行业数据分析 处理和挖掘的研发团队[25-26]。 课题组依托的国家超算长沙中心,作为我国 在云计算、大数据及行业应用的重大战略基础设 施,其核心设备天河一号超级计算机与云服务器 集群具备 PB 级的数据存储、并行处理和分析挖 掘的能力,能有效解决传统企业在面向海量数据 处理中所遇到的计算、存储和算法瓶颈。 面向我国行业领域对大数据并行处理与智能 分析技术和服务能力提出的迫切需求,本文提出 了高效能数据并行处理与智能分析系统,为相关 行业提供数据存储、分析和挖掘的智能化云服 务,有效降低传统企业基于超级计算机、云服务 集群等来实现大数据智能分析的使用门槛。该系 统有效地突破了数据采集、存储、压缩、分析、挖 掘过程中在数据并行处理体系结构、人工智能算 法、并行编程模型方面存在的技术瓶颈,一方面 有效发挥了课题组所依托的国家超级计算长沙中 心作为高性能数据处理基础设施的公共服务能 力,另一方面将为领域企业提供了行业数据并行 处理与智能分析的能力,提升了我国相关骨干企 业的创新能力。 1 研究方案 本文的研究应用方案如图 1 所示。 智能制造 研究内容 (一) 研究内容 (二) 研究内容 (三) 研究内容 (四) 智能交通 高效能数据并行处理与智能分析系统 机器学习/图迭代算法的分布式并行优化基本方法 适应机器学习迭代的分布式异构环境构建 分布异构环境面向数据 倾斜的任务时空调度 高效的资源管理系统与 节能调度 智慧教育 智慧医疗 图 1 本文研究总体框架 Fig. 1 General introduction of the research 研究应用方案具体包括: 1)首先针对大多数云环境中服务器内存资源 平均使用率过低问题,提出了基于服务器内存预 测的虚拟机动态预测部署及任务节能调度模型。 在此基础上,针对 Hadoop/Spark 的数据处理过 程,设计并实现了一种面向倾斜数据 Shuffle 过程 的任务调度策略:一方面通过 Reduce 任务放置策 略减少 Spark/Hadoop 集群的内部通信量,通过 Reducer 放置算法来实现任务本地化,以减少系统 的中间数据传输量。 2)提出和研发了分布式异构环境下高效的资 源管理系统与节能调度算法,针对各种迁移模型 的场景,适配性能最优的计算资源迁移模型,并 基于 OpenStack 云平台实现了面向数据中心集群 的跨域计算资源迁移基础设施,能兼容多数云平 台/数据中心虚拟机迁移算法,并支持目前流行的 Ceph、KVM(kernel-based virtual machine) 等存储和 计算框架,实现了支持计算资源、存储资源调度 算法的独立封装和部署的多数据中心资源管理体 系结构。在此基础上,针对当前云环境中服务器 内存资源平均使用率过低问题,提出了一种基于 ·920· 智 能 系 统 学 报 第 16 卷
第5期 曹嵘晖,等:面向机器学习的分布式并行计算关键技术及应用 ·921· 服务器内存预测的分配机制下的虚拟机动态预测 本文研制了分布异构环境面向数据倾斜的任务时 部署模型VM-DFS(virtual machine dynamic fore- 空调度策略,本地化任务放置算法,以及分布式并 cast scheduling)。同时针对虚拟机动态迁移问题, 行处理框架中的内部数据均匀分片方法。形成了 提出了一种基于动态预测的虚拟机迁移模型VM 面向机器学习训练任务的任务调度理论与方法。 DFM(virtual machine dynamic forecast migration), 2.1基于Spark平台的中间数据负载平衡设计 决了动态迁移过程中,如何从服务器上选择合适的 自然界中数据分布多数在理论上都是倾斜 虚拟机进行动态迁移,从而达到整体节能的目标。 的,导致倾斜的原因复杂且无法避免,因此在处 3)海量数据存储和高并发用户访问需要分布 理数据时,如果没有精心设计数据划分或任务调 式环境,但以异构众核等为主要计算部件的参数 度会极大程度地造成计算资源的浪费和系统整体 训练过程无法适应分布式系统。原生的Spark/ 性能偏差。由此可知,数据偏斜带来的负载均衡 Flink等分布式数据处理框架也无法高效适用于 问题是分布式计算平台中优化的难点和重点B1)。 深度学习的参数训练,GPU等高性能计算单元又 对于集群系统,数据对应任务,数据偏斜带来的 无法应对海量数据的分布存储和计算,且难以支 任务负载均衡问题会导致分布式系统的资源利用 撑高并发的数据访问。因此,本文针对深度学习 率低、计算执行时间长且能耗高。本文基于现有 增量迭代的运算过程,研究迭代过程中的中间共 的分布式计算框架Spark,优化Spark计算框架下 享结果在GPU内存及Cache内的存储和管理以 shuffle执行过程中bucket容器中的数据偏斜导致 及线程间的共享访问机制。针对现有流行的分布 的负载不平衡问题。本文提出了一种面向中间偏 式大数据处理框架,研究其在CPU/GPU异构环境 斜数据块的重新划分和再合并算法,通过两个重 中的体系结构扩展优化模型,突破Spark RDD等 要操作以缓解shuffle操作后reduce任务中的负载 在GPU环境中的数据结构和体系结构的重新设 不平衡问题。图2是SCID系统架构模块,该模 计,研究增量迭代过程中计算结果在GPU线程间 块包含系统中任务执行的流程和shuffle过程。 以及Spark进程间的共享模型,实现其在异构计 在这种分布式集群体系架构中,每一个小块 算环境下的缓存和持久化。 的分片数据是文件的组织单位,该分片在HDFS 4)本文针对DNN(deep neural networks) (hadoop distributed file system)中是默认的固定大 CNN(convolutional neural networks),RNN(recurrent 小。在执行一个map任务时,客户端的初始数据 neural network)等典型深度学习模型训练中的参 首先被加载到分布式文件系统(HDFS)中,每个 数迭代过程进行了深入研究,总结出增量迭代发 文件由多个大小相同的数据块组成,称为输入分 生的模型、数据特征,发现了其训练过程可以实 区。每个输入分区都被映射为一个map任务。 行增量迭代优化的条件和时机,提出了普适性的 在本文中,使用ISK×V来代表m个ma即任务的 深度学习增量迭代优化方法;针对现有Spark/ 中间结果,K和V分别代表键和值的集合。一个 Flink分布式大数据处理框架,提出了其在CPU/ cluster是某一个key值对应的<键,值>对的集合 GPU异构环境中的体系结构扩展优化模型,设计 其一个子集为 并实现了一种在Spark/Flink计算容器与GPU核 Ck=(k,v∈I,k∈K,v∈V (1) 心间的高效通信方式,将传统分布式深度学习框 在图2中使用分区函数Ⅱ决定一个中间元组 架的运行效率提升数倍。在此基础上,提出了分 的分区号: Ⅱ:K→{1,2,…,pl (2) 布式环境中的并行条件随机场模型,将训练效率 因此,shuffle过程中map端输出的中间结果 提升了3.125倍:提出了一种并行维特比算法,减 被划分为P个大小不同的分区,分区号根据元组 少了计算步骤之间存在冗余的磁盘读写开销和多 的键值通过hash计算得到。因此所有key相同的 次资源申请的问题,加速比达到6.5倍。 元组都会被指向相同的分区,因为它们都属于一 分布异构环境面向数据倾斜的任 个cluster。分区是一个包含一个或多个clusters 务时空调度 的容器。因此,定义一个分区为 P()=c(k) (3) 倾斜是自然界与人类社会中数据属性客观存 kEK:(j 在,会造成集群计算节点负载不均衡、排队现象/ 基于以上定义,本文提出了一种新颖的Spark 空等待现象普遍存在,集群内部吞吐率低下,大 作业负载均衡方法,设计了一个负载均衡模块来 幅度降低了系统的实际应用效率270。鉴于此, 重新划分使之实现任务的均衡划分。该模块的执
服务器内存预测的分配机制下的虚拟机动态预测 部署模型 VM-DFS(virtual machine dynamic forecast scheduling)。同时针对虚拟机动态迁移问题, 提出了一种基于动态预测的虚拟机迁移模型 VMDFM(virtual machine dynamic forecast migration),解 决了动态迁移过程中,如何从服务器上选择合适的 虚拟机进行动态迁移,从而达到整体节能的目标。 3)海量数据存储和高并发用户访问需要分布 式环境,但以异构众核等为主要计算部件的参数 训练过程无法适应分布式系统。原生的 Spark/ Flink 等分布式数据处理框架也无法高效适用于 深度学习的参数训练,GPU 等高性能计算单元又 无法应对海量数据的分布存储和计算,且难以支 撑高并发的数据访问。因此,本文针对深度学习 增量迭代的运算过程,研究迭代过程中的中间共 享结果在 GPU 内存及 Cache 内的存储和管理以 及线程间的共享访问机制。针对现有流行的分布 式大数据处理框架,研究其在 CPU/GPU 异构环境 中的体系结构扩展优化模型,突破 Spark RDD 等 在 GPU 环境中的数据结构和体系结构的重新设 计,研究增量迭代过程中计算结果在 GPU 线程间 以及 Spark 进程间的共享模型,实现其在异构计 算环境下的缓存和持久化。 4)本文针对 DNN(deep neural networks)、 CNN(convolutional neural networks)、RNN(recurrent neural network) 等典型深度学习模型训练中的参 数迭代过程进行了深入研究,总结出增量迭代发 生的模型、数据特征,发现了其训练过程可以实 行增量迭代优化的条件和时机,提出了普适性的 深度学习增量迭代优化方法;针对现有 Spark/ Flink 分布式大数据处理框架,提出了其在 CPU/ GPU 异构环境中的体系结构扩展优化模型,设计 并实现了一种在 Spark/Flink 计算容器与 GPU 核 心间的高效通信方式,将传统分布式深度学习框 架的运行效率提升数倍。在此基础上,提出了分 布式环境中的并行条件随机场模型,将训练效率 提升了 3.125 倍;提出了一种并行维特比算法,减 少了计算步骤之间存在冗余的磁盘读写开销和多 次资源申请的问题,加速比达到 6.5 倍。 2 分布异构环境面向数据倾斜的任 务时空调度 倾斜是自然界与人类社会中数据属性客观存 在,会造成集群计算节点负载不均衡、排队现象/ 空等待现象普遍存在,集群内部吞吐率低下,大 幅度降低了系统的实际应用效率[27-30]。鉴于此, 本文研制了分布异构环境面向数据倾斜的任务时 空调度策略,本地化任务放置算法,以及分布式并 行处理框架中的内部数据均匀分片方法。形成了 面向机器学习训练任务的任务调度理论与方法。 2.1 基于 Spark 平台的中间数据负载平衡设计 自然界中数据分布多数在理论上都是倾斜 的,导致倾斜的原因复杂且无法避免,因此在处 理数据时,如果没有精心设计数据划分或任务调 度会极大程度地造成计算资源的浪费和系统整体 性能偏差。由此可知,数据偏斜带来的负载均衡 问题是分布式计算平台中优化的难点和重点[31-33]。 对于集群系统,数据对应任务,数据偏斜带来的 任务负载均衡问题会导致分布式系统的资源利用 率低、计算执行时间长且能耗高。本文基于现有 的分布式计算框架 Spark,优化 Spark 计算框架下 shuffle 执行过程中 bucket 容器中的数据偏斜导致 的负载不平衡问题。本文提出了一种面向中间偏 斜数据块的重新划分和再合并算法,通过两个重 要操作以缓解 shuffle 操作后 reduce 任务中的负载 不平衡问题。图 2 是 SCID 系统架构模块,该模 块包含系统中任务执行的流程和 shuffle 过程。 ⊆ 在这种分布式集群体系架构中,每一个小块 的分片数据是文件的组织单位,该分片在 HDFS (hadoop distributed file system) 中是默认的固定大 小。在执行一个 map 任务时,客户端的初始数据 首先被加载到分布式文件系统 (HDFS) 中,每个 文件由多个大小相同的数据块组成,称为输入分 区。每个输入分区都被映射为一个 map 任务。 在本文中,使用 I K × V 来代表 m 个 map 任务的 中间结果,K 和 V 分别代表键和值的集合。一个 cluster 是某一个 key 值对应的<键,值>对的集合, 其一个子集为 Ck = (k, v) ∈ I, k ∈ K, v ∈ V (1) 在图 2 中使用分区函数 Π 决定一个中间元组 的分区号: Π : K → {1,2,··· , p} (2) 因此,shuffle 过程中 map 端输出的中间结果 被划分为 p 个大小不同的分区,分区号根据元组 的键值通过 hash 计算得到。因此所有 key 相同的 元组都会被指向相同的分区,因为它们都属于一 个 cluster。分区是一个包含一个或多个 clusters 的容器。因此,定义一个分区为 P(j) = ∪ k∈K:Π(k)=j C(k) (3) 基于以上定义,本文提出了一种新颖的 Spark 作业负载均衡方法,设计了一个负载均衡模块来 重新划分使之实现任务的均衡划分。该模块的执 第 5 期 曹嵘晖,等:面向机器学习的分布式并行计算关键技术及应用 ·921·
·922· 智能系统学报 第16卷 行流程如下:在Spak提交作业后,负载均衡器启 负载均衡模块在Spark基础上设计,主要包括两 动并分析作业特点给出均衡分区策略。该策略在 个重要过程,分别为数据的采样和cluster的分割 Spark作业shuffle阶段指导系统对中间结果数据 组合,其中在数据抽样阶段,重点的是对clusters 进行分割和重组,重组结果clusters到一个或多 大小的进行预测。图3代表了一种改进的工作流的 个buckers之中,从而实现均衡分区。本文提出的 Spark作业,其中的一个核心组件是负载均衡模块。 片段2 片段3 HDFS 分割T 分割3.分割n map cluster 1 cluster 2 cluster 3 cluster 4 cluster 5 cluster6 cluster 7 cluster 1 cluster4 cluster 2 cluster 3 cluster 7 cluster 5 cluster 6 分区1 分区2 分区3 bucket I bucket 2 bucket 3 图2 Spark中shuffle数据分布过程 Fig.2 Process of shuffle data distribution in Spark 数据分 抽样 split0 布策略 split 1 cluster bucket cluster split2 map-out cluster cluster bucket split 3 segement cluster split4 map-out 。。 cluster sege -ment cluster bucket splitn nap-out 分区 输入文件 图3架构与负载均衡 Fig.3 Architecture and load balancing 在cluster分割重组的过程中,第一要义是分 et大小的数据块,方便重组填充的过程。众所周 割以bucket的大小作为目标进行分割,特别是对 知,现有的分布式大数据处理平台如Hadoop/Spark 于一些超大的clusters应该尽量分成多个buck- 体系架构中在数据处理阶段缺乏对计算数据的真
行流程如下:在 Spark 提交作业后,负载均衡器启 动并分析作业特点给出均衡分区策略。该策略在 Spark 作业 shuffle 阶段指导系统对中间结果数据 进行分割和重组,重组结果 clusters 到一个或多 个 buckers 之中,从而实现均衡分区。本文提出的 负载均衡模块在 Spark 基础上设计,主要包括两 个重要过程,分别为数据的采样和 cluster 的分割 组合,其中在数据抽样阶段,重点的是对 clusters 大小的进行预测。图 3 代表了一种改进的工作流的 Spark 作业,其中的一个核心组件是负载均衡模块。 片段 1 分割 1 片段 2 片段 3 分区 1 分区 2 分区 3 分割 3 片段 n 分割 n HDFS ··· ··· map cluster 1 cluster 1 bucket 1 bucket 2 bucket 3 cluster 2 cluster 2 cluster 3 cluster 3 cluster 4 cluster 4 cluster 5 cluster 5 cluster 6 cluster 6 cluster 7 cluster 7 图 2 Spark 中 shuffle 数据分布过程 Fig. 2 Process of shuffle data distribution in Spark split 0 split 1 split 2 split 3 split 4 split n 输入文件 抽样 分区 数据分 布策略 bucket bucket bucket map-out map-out map-out cluster cluster cluster cluster cluster cluster cluster segement sege ··· -ment ··· ··· ··· 图 3 架构与负载均衡 Fig. 3 Architecture and load balancing 在 cluster 分割重组的过程中,第一要义是分 割以 bucket 的大小作为目标进行分割,特别是对 于一些超大的 clusters 应该尽量分成多个 bucket 大小的数据块,方便重组填充的过程。众所周 知,现有的分布式大数据处理平台如 Hadoop/Spark 体系架构中在数据处理阶段缺乏对计算数据的真 ·922· 智 能 系 统 学 报 第 16 卷