CN108694090A - 一种面向分布式机器学习的云计算资源调度方法 - Google Patents
一种面向分布式机器学习的云计算资源调度方法 Download PDFInfo
- Publication number
- CN108694090A CN108694090A CN201810335555.XA CN201810335555A CN108694090A CN 108694090 A CN108694090 A CN 108694090A CN 201810335555 A CN201810335555 A CN 201810335555A CN 108694090 A CN108694090 A CN 108694090A
- Authority
- CN
- China
- Prior art keywords
- resource
- task
- machine learning
- cloud computing
- loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种面向分布式机器学习的云计算资源调度方法。通过历史数据建立迭代次数与模型质量提升间的模型,在线预测资源分配对模型质量提升的影响,制定资源分配策略,以达到在云计算平台运行的多个并发执行的模型训练任务的整体性能最大化的效果,从而提高资源利用率,快速适应任务和负载的动态变化。
Description
技术领域
本发明涉及一种云计算资源调度方法,尤其涉及一种面向分布式机器学习的云计算资源调度方法,属于软件技术领域。
背景技术
机器学习是当前越来越重要的大规模数据分析技术,广泛应用于在线搜索、市场营销、医疗保健和信息安全等领域。机器学习包括训练和推理等两个阶段,训练阶段从训练数据集构建机器学习模型,推理阶段使用该模型对新输入进行预测。机器学习模型是输入到输出映射的近似函数,模型训练通常需要基于大规模数据集,经过多次迭代计算,直到收敛。模型训练是探索性过程,通过反复训练调整超参数和模型结构,生成最终模型。该过程在开始时生成一个低质量的模型,并通过迭代训练改进模型的质量,随着数据量的增长,更多迭代的完成,训练与优化的成本会不断增加。由于机器学习的训练需要较高的时间和资源开销,机器学习工程师更倾向于在短时间内使用较好的模型来进行初步验证和测试。随着大数据时代的到来,机器学习复杂度和数据量增长速度远远超过硬件发展速度,小规模集群已无法满足机器学习的物理资源需求。云计算平台可以用来为多租户提供共享物理资源,以高效执行多个分布式机器学习模型的训练,云计算资源调度成为提高机器学习执行效率与云计算资源利用率的关键技术。
云计算资源调度方法主要分为以下几类:在大规模机器学习框架方面,MLlib(X.Meng, J. K. Bradley, et al. MLlib: Machine Learning in Apache Spark. CoRR,2015.), TensorFlow(M. Abadi, P. Barham, et al. TensorFlow: A System forLarge-scale Machine Learning. USENIX OSDI, 2016.), MXNet(T. Chen, M. Li, etal. MXNet: A Flexible and Efficient Machine Learning Library forHeterogeneous Distributed Systems. CoRR,2015.),CNTK (F. Seide and A. Agarwal.CNTK: Microsoft’s Open-Source Deep-Learning Toolkit. KDD, 2016.)优化了模型训练过程中多维矩阵操作的计算资源分配,加快了训练过程,减少了任务同步的开销;在机器学习模型优化方面,文献(E. R. Sparks, A. Talwalkar, et al. Automating ModelSearch for Large Scale Machine Learning. ACM SoCC, 2015.)使用规划算法发现超参数,并自动排除错误的测试,以加速模型的搜索过程;在任务执行资源使用和运行时间方面,Ernest (S. Venkataraman, Z. Yang, M. Franklin, et al. Ernest: EfficientPerformance Prediction for Large-Scale Advanced Analytics. USENIX NSDI,2016.)基于大规模数据分析的内部计算和通信结构预测任务执行情况;CherryPick(O.Alipourfard, H. H. Liu, et al. CherryPick: Adaptively Unearthing the BestCloud Configurations for Big Data Analytics. USENIX NSDI, 2017.)使用贝叶斯优化改进云配置选择的过程;在集群资源调度方面,文献(A. Ghodsi, M. Zaharia, et al.Dominant Resource Fairness: Fair Allocation of Multiple Resource Types.USENIX NSDI, 2011.)主要关注资源公平、工作优先级、集群利用率或资源优化;在基于SLA的资源调度方面,Morpheus (S. A. Jyothi, C. Curino, et al. Morpheus: towardsautomated SLOs for enterprise clusters. USENIX OSDI, 2016.)基于完成作业的最后期限调度批处理作业,Jockey(A. D. Ferguson, P. Bodik, et al. Jockey: GuaranteedJob Latency in Data Parallel Clusters. ACM EuroSys, 2012.)将离线预测和动态资源分配结合,以确保批处理查询满足延迟的SLA,同时减少对共享集群的其他工作的影响。
以上方法主要存在以下问题:首先,对任务执行进行离线分析,当用户调试或调整模型时,计算结构很可能经常发生变化,并且会带来巨大的开销;其次,资源调度关注于资源利用率以及单个任务的执行情况,但忽略了模型训练的整体任务完成质量。
发明内容
本发明的目的:面向云计算环境下分布式机器学习模型训练,提出一种云计算资源调度方法,在最大化多个模型的整体质量提升的前提下,提高云计算平台的物理资源利用率。
本发明的原理:机器学习模型训练任务是反复迭代的过程,随着迭代次数增加,模型训练的收益逐渐减小,因此,分配更多的资源给那些可能获得更高收益的任务,可以提高整体的模型训练性能和资源利用率。本发明通过历史数据建立迭代次数与模型质量提升间的关联模型以在线预测资源分配对模型质量提升的影响,进而制定资源分配策略以达到在云计算平台运行的多个并发执行的模型训练任务的整体性能最大化的效果,从而提高资源利用率,快速适应任务和负载的动态变化。
本发明技术解决方案:一种面向分布式机器学习的云计算资源调度方法,其特点在于实现步骤如下:
第一步,在线资源调度策略的制定和实施,每隔T时间执行一次,预测机器学习在将来的T时间内执行迭代次数为:iter=(T×r)/(c×S),其中,c是由算法复杂度所决定的常数,S是每次迭代处理的数据量,r是分配的单位资源;
第二步,每个机器学习任务j在t时刻分配资源a j ,定义收益损失函数为:Loss j (a j ,t)=,其中,k为到t时刻的迭代次数,, b, c为常数,可以通过历史迭代次数以及损失函数值计算求解;
第四步,为每个任务j分配单位资源r,预测资源分配后得到的收益损失值变化为:,将该资源分配给收益损失值变化最大的任务j,更新a j = a j + r;
第五步,在满足条件:,表示任务j分配资源a j 总和不大于资源池中可分配资源的总量C下,重复第四步,从而达到,即在云计算平台并发执行的J个任务在将来T时间内的收益损失减少量最大化。
本发明与现有技术相比具有如下优点:
(1)通过历史数据建立迭代次数与模型质量提升间的关联模型,能够在线预测资源分配对模型质量提升的影响;
(2)能够从整体上考虑在云计算平台运行的多个并发执行的模型训练任务的性能,提高资源利用率,快速适应任务和负载的动态变化。
附图说明
图1为云计算调度框架。
具体实施方式
以下结合具体实施例和附图对本发明进行详细说明,如图1所示,本发明实施例方法流程:
建立资源调度框架如图1所示,调度器用来协调共享云计算资源的多个机器学习模型训练作业的资源分配。作业驱动程序包含迭代训练逻辑,为每个迭代生成任务,并跟踪作业的整体进度。调度器与并发执行作业的驱动程序进行通信,跟踪作业进度并定期更新资源分配。在每个调度阶段的开始阶段,调度器根据作业的工作负载、资源需求和任务进度分配资源。每个作业由一组任务组成,每个任务处理数据集分区上的数据。在机器学习模型训练中,任务根据数据集分区对模型参数进行更新。当任务完成数据处理,所有任务的更新结果聚集并发送回作业驱动程序以更新机器学习模型。调度器也可以从一些作业驱动程序中回收资源单元,并将它们分配给其他作业。
实验环境是由10个阿里云的虚拟机实例构建成的集群,每个资源单元包括2个vCPU,8GB RAM内存,通过10G以太网连接。使用云计算调度框架实现在Apache Spark,及其相应的机器学习库MLib,云计算调度方法实现在Spark作业调度器,训练数据集缓存在集群共享内存中的Spark Dataframes,每次迭代处理所有训练数据。训练常用的机器学习模型,包括分类算法:支持向量机、神经网络、逻辑回归;回归算法:线性回归,GBT回归;无监督学习算法:k均值聚类,LDA。运行80个机器学习模型训练作业,以平均到达时间15 s的泊松分布将作业提交到集群。具体执行步骤如下:
(1)预测机器学习在将来的T时间内执行迭代次数为:f(r)=ar,其中,r是分配给任务的资源数量,a=T/(c×S),S是每次迭代处理的数据量,c根据历史监测数据求解得到;
(2)计算收益损失:Loss(r) =,其中,f(r)为迭代次数,, b, c为常数,可以通过历史迭代次数以及损失函数值计算求解;
(3)预测资源分配后得到的收益损失值变化为:,将单位资源r分配给收益损失值变化最大的任务j,更新a j = a j + r,其中,a j 为任务j分配的资源数量;
(4)在满足条件:,表示任务j分配资源a j 总和不大于资源池中可分配资源的总量C下,重复第四步,从而达到,即在云计算平台并发执行的J个任务在将来T时间内的收益损失减少量最大化;
根据以上计算结果,制定资源调度方案,为每个任务分配资源。
Claims (1)
1.一种面向分布式机器学习的云计算资源调度方法方法,其特征在于实现步骤如下:
第一步,预测机器学习在将来的T时间内执行迭代次数为:f(r)=ar,其中,r是分配给任务的资源数量,a=T/(c×S),S是每次迭代处理的数据量,c根据历史监测数据求解得到的常量,T是资源调整的周期;
第二步,计算收益损失:Loss(r) =,其中,f(r)为迭代次数,, b, c为常数,可以通过历史迭代次数以及损失函数值计算得到;
第三步,预测资源分配后得到的收益损失值变化为:,其中,a j 为任务j分配的资源数量;
第四步,将单位资源r分配给收益损失值变化最大的任务j,更新a j = a j + r,其中,a j 为任务j分配的资源数量;
第五步,在满足条件:,表示任务j分配资源a j 总和不大于资源池中可分配资源的总量C下,重复第四步,从而达到,即在云计算平台并发执行的J个任务在将来T时间内的收益损失减少量最大化;
第六步,根据以上计算结果,为每个任务分配资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810335555.XA CN108694090A (zh) | 2018-04-16 | 2018-04-16 | 一种面向分布式机器学习的云计算资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810335555.XA CN108694090A (zh) | 2018-04-16 | 2018-04-16 | 一种面向分布式机器学习的云计算资源调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108694090A true CN108694090A (zh) | 2018-10-23 |
Family
ID=63845531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810335555.XA Pending CN108694090A (zh) | 2018-04-16 | 2018-04-16 | 一种面向分布式机器学习的云计算资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108694090A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110889510A (zh) * | 2019-12-05 | 2020-03-17 | 武汉大学 | 一种面向分布式机器学习任务的在线调度方法及装置 |
CN110958187A (zh) * | 2019-12-17 | 2020-04-03 | 电子科技大学 | 一种面向分布式机器学习参数同步差异化数据传输方法 |
CN111274036A (zh) * | 2020-01-21 | 2020-06-12 | 南京大学 | 一种基于速度预测的深度学习任务的调度方法 |
RU2729228C1 (ru) * | 2019-12-25 | 2020-08-05 | Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации | Способ управления распределением ресурсов в распределенных информационно-вычислительных средах |
CN111598139A (zh) * | 2020-04-24 | 2020-08-28 | 北京奇艺世纪科技有限公司 | 数据处理方法及系统 |
CN111984398A (zh) * | 2019-05-22 | 2020-11-24 | 富士通株式会社 | 调度操作的方法及计算机可读介质 |
CN112035261A (zh) * | 2020-09-11 | 2020-12-04 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及系统 |
CN112448899A (zh) * | 2019-08-31 | 2021-03-05 | 深圳致星科技有限公司 | 一种基于流量调度的多任务训练集群网络优化方法 |
CN112506652A (zh) * | 2020-12-01 | 2021-03-16 | 中国科学院深圳先进技术研究院 | 一种动态资源分区方法 |
CN112817730A (zh) * | 2021-02-24 | 2021-05-18 | 上海交通大学 | 深度神经网络服务批处理调度方法、系统及gpu |
CN113703980A (zh) * | 2021-08-31 | 2021-11-26 | 西安电子科技大学 | 一种分布式机器学习系统及适用于其的通信调度方法 |
CN113728704A (zh) * | 2019-08-30 | 2021-11-30 | Oppo广东移动通信有限公司 | 信号传输方法、装置及系统 |
WO2022227860A1 (en) * | 2021-04-29 | 2022-11-03 | International Business Machines Corporation | Fair simultaneous comparison of parallel machine learning models |
-
2018
- 2018-04-16 CN CN201810335555.XA patent/CN108694090A/zh active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984398A (zh) * | 2019-05-22 | 2020-11-24 | 富士通株式会社 | 调度操作的方法及计算机可读介质 |
CN113728704A (zh) * | 2019-08-30 | 2021-11-30 | Oppo广东移动通信有限公司 | 信号传输方法、装置及系统 |
CN113728704B (zh) * | 2019-08-30 | 2024-05-31 | Oppo广东移动通信有限公司 | 信号传输方法、装置及系统 |
CN112448899A (zh) * | 2019-08-31 | 2021-03-05 | 深圳致星科技有限公司 | 一种基于流量调度的多任务训练集群网络优化方法 |
CN110889510B (zh) * | 2019-12-05 | 2022-06-07 | 武汉大学 | 一种面向分布式机器学习任务的在线调度方法及装置 |
CN110889510A (zh) * | 2019-12-05 | 2020-03-17 | 武汉大学 | 一种面向分布式机器学习任务的在线调度方法及装置 |
CN110958187B (zh) * | 2019-12-17 | 2021-05-18 | 电子科技大学 | 一种面向分布式机器学习参数同步差异化数据传输方法 |
CN110958187A (zh) * | 2019-12-17 | 2020-04-03 | 电子科技大学 | 一种面向分布式机器学习参数同步差异化数据传输方法 |
RU2729228C1 (ru) * | 2019-12-25 | 2020-08-05 | Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации | Способ управления распределением ресурсов в распределенных информационно-вычислительных средах |
CN111274036A (zh) * | 2020-01-21 | 2020-06-12 | 南京大学 | 一种基于速度预测的深度学习任务的调度方法 |
CN111274036B (zh) * | 2020-01-21 | 2023-11-07 | 南京大学 | 一种基于速度预测的深度学习任务的调度方法 |
CN111598139A (zh) * | 2020-04-24 | 2020-08-28 | 北京奇艺世纪科技有限公司 | 数据处理方法及系统 |
CN112035261A (zh) * | 2020-09-11 | 2020-12-04 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及系统 |
CN112506652A (zh) * | 2020-12-01 | 2021-03-16 | 中国科学院深圳先进技术研究院 | 一种动态资源分区方法 |
CN112506652B (zh) * | 2020-12-01 | 2023-10-20 | 中国科学院深圳先进技术研究院 | 一种动态资源分区方法 |
CN112817730A (zh) * | 2021-02-24 | 2021-05-18 | 上海交通大学 | 深度神经网络服务批处理调度方法、系统及gpu |
CN112817730B (zh) * | 2021-02-24 | 2022-08-16 | 上海交通大学 | 深度神经网络服务批处理调度方法、系统及gpu |
WO2022227860A1 (en) * | 2021-04-29 | 2022-11-03 | International Business Machines Corporation | Fair simultaneous comparison of parallel machine learning models |
GB2620354A (en) * | 2021-04-29 | 2024-01-03 | Ibm | Fair simultaneous comparison of parallel machine learning models |
US12117917B2 (en) | 2021-04-29 | 2024-10-15 | International Business Machines Corporation | Fair simultaneous comparison of parallel machine learning models |
CN113703980A (zh) * | 2021-08-31 | 2021-11-26 | 西安电子科技大学 | 一种分布式机器学习系统及适用于其的通信调度方法 |
CN113703980B (zh) * | 2021-08-31 | 2024-09-06 | 西安电子科技大学 | 一种分布式机器学习系统及适用于其的通信调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108694090A (zh) | 一种面向分布式机器学习的云计算资源调度方法 | |
Cheng et al. | Cost-aware job scheduling for cloud instances using deep reinforcement learning | |
CN107888669B (zh) | 一种基于深度学习神经网络的大规模资源调度系统及方法 | |
Guo et al. | Cloud resource scheduling with deep reinforcement learning and imitation learning | |
Peng et al. | A multi-objective trade-off framework for cloud resource scheduling based on the deep Q-network algorithm | |
CN105956021B (zh) | 一种适用于分布式机器学习的自动化任务并行的方法及其系统 | |
CN109324875B (zh) | 一种基于强化学习的数据中心服务器功耗管理与优化方法 | |
CN110737529A (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
Le et al. | Dynamic resource provisioning and scheduling with deadline constraint in elastic cloud | |
Natesan et al. | Optimal task scheduling in the cloud environment using a mean grey wolf optimization algorithm | |
Ye et al. | SHWS: Stochastic hybrid workflows dynamic scheduling in cloud container services | |
CN114625517A (zh) | 一种dag图计算分布式大数据工作流任务调度平台 | |
Kang et al. | A SLA driven VM auto-scaling method in hybrid cloud environment | |
Akoglu et al. | Putting data science pipelines on the edge | |
Stavrinides et al. | Orchestrating bag-of-tasks applications with dynamically spawned tasks in a distributed environment | |
Ye et al. | Dynamic scheduling stochastic multiworkflows with deadline constraints in clouds | |
Awan et al. | A survey on task scheduling algorithms in cloud computing environment | |
Koneru et al. | Resource allocation method using scheduling methods for parallel data processing in cloud | |
CN117290102A (zh) | 跨域异构资源的调度方法及装置 | |
Li | Research on cloud computing resource scheduling based on machine learning | |
Li et al. | Real-time workflows oriented hybrid scheduling approach with balancing host weighted square frequencies in clouds | |
Filippini et al. | Hierarchical Scheduling in on-demand GPU-as-a-Service Systems | |
Islam et al. | FaCS: Toward a fault-tolerant cloud scheduler leveraging long short-term memory network | |
Zhang et al. | Scheduling mechanisms in the cloud environment: a methodological analysis | |
CN108170532A (zh) | 一种面向大数据应用的云计算资源调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181023 |