CN112422651A - 一种基于强化学习的云资源调度性能瓶颈预测方法 - Google Patents

一种基于强化学习的云资源调度性能瓶颈预测方法 Download PDF

Info

Publication number
CN112422651A
CN112422651A CN202011229156.9A CN202011229156A CN112422651A CN 112422651 A CN112422651 A CN 112422651A CN 202011229156 A CN202011229156 A CN 202011229156A CN 112422651 A CN112422651 A CN 112422651A
Authority
CN
China
Prior art keywords
resource scheduling
reinforcement learning
load
performance
bottleneck
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
Application number
CN202011229156.9A
Other languages
English (en)
Inventor
田文洪
许凌霄
梅宝泰
杨锦涛
舒展
陈鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202011229156.9A priority Critical patent/CN112422651A/zh
Publication of CN112422651A publication Critical patent/CN112422651A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

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)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实现了一种基于强化学习的云资源调度性能瓶颈预测方法,通过实现输入控制,队列调度,Container,VM等资源调度,完成对来自不同资源需求的任务流进行CPU,内存,带宽上的资源调度,从而输出一系列性能指标包括CPU利用率,内存利用率,带宽利用率,平均响应时间,QPS(Queries Per Second)。并且在仿真的基础上实现了对该种硬件配置下性能瓶颈的预测,从而可以较好地确定各种硬件配置的瓶颈情况,因而对配置进行灵活调整。在此基础上,我们在本发明中基于马尔科夫过程实现了一种自动调参算法,可以帮助减少使用人工干预。

Description

一种基于强化学习的云资源调度性能瓶颈预测方法
技术领域
本发明涉及计算机技术领域,特别涉及一种基于强化学习的云资源调度性能瓶颈预测方法的实现。
背景技术
云计算作为一种新型的资源交互模式,它的发展目前还处于起步阶段,但是因为其自身独特的商业特性,使得它从诞生到目前一直备受国内外科研工作者以及各大网络服务商的关注。从作为世界最大的搜索引擎谷歌公司到华人用户数最多的中文搜索引擎百度公司,从美国最大的电子商务企业亚马逊到国内快速崛起的电商物流企业阿里巴巴都在积极的探索云计算。并先后提出了自己的云计算解决方案及建立起了自己的云计算服务平台。
对于云计算核心问题——资源调度算法研究,目前的云计算任务调度及资源分配算法主要分为两大类,一类是根据任务调度过程中需要分配到的虚拟资源供给量以及需求量之间的关系,针对具体调度问题制定特定的调度策略。首先,利用穷尽服务原理构建排队模型;其次,基于稳态下的忙期和忙循环,分析了任务逗留的期望、异构云计算系统中计算节点的时间和能量消耗。随后,提出一种基于相似任务的任务调度算法,以降低能耗。该类算法最突出的优点是效率高且算法专用性强,针对要求解的物理量能给出精确的计算公式,但是该类算法也存在明显的缺点,如:通用性差,若增加一个求解量就得从全局更改算法。
另一类是启发式算法,在这个类型的算法中比较有代表性的是:粒子群优化算法、遗传算法以及从这些算法中衍生出来的一系列改进算法。此类算法相对于第一类算法有着自身不可替代的优越性,如:算法通用性强且能够很好的满足服务质量,在算法编码之后针对不同的调度模型只需要在目标函数求解部分作出部分更改而不用进行全局修改,简单易操作。但是该类算法中的每一种也都存在着自身固有缺陷,如:粒子群算法能否跳出局部最优寻找到全局最优解就与其参数的设置息息相关,而遗传算法却会因为编码方式的不同会导致求解的结果大相径庭。
为了方便解决上述问题,我们设计了一种基于强化学习的云资源调度性能瓶颈预测方法,实现在不同系统环境的不同运行状态下,根据作业队列情况对仿真系统进行自动调参。
发明内容
该专利旨在实现一种基于强化学习的云资源调度性能瓶颈预测方法,从而可以根据输入的一些具体的计算机性能指标,来对该指标下的性能瓶颈以及一些非瓶颈期的预测。具体如下:
输入控制模块:该部分主要创新点在于输入参数可定制化,包括了任务流中每个负载的基本特性,通过控制每个负载所需要的资源信息来控制输入流的特征改变,从而达到可定制化输入的效果。
排队队列模块:改部分主要创新点在于通过两个队列机制,实现类似负载均衡器的效果,通过该队列实现对整个系统中正在运行的负载个数的控制,通过不断监控每秒中系统中的负载信息,不断调整输入控制器中产生并且到达的负载,达到了一种类似负反馈的效果实现,同时,通过队列实现了一种缓存机制,然后根据轮询调度算法不断分配给具体的负载调度单元,从而实现负载均衡的效果。
资源调度模块:基本单元是Container,但同时也包括了其他的资源处理组件,包括了VM,Datacenter等,Container,VM,Datacenter这些资源的性能指标由具体的参数输入给出,并经过实际情况向仿真情况的倍数转化从而得到。上一个模块中将负载分配给了具体的Container,Container根据负载所需要的资源实现具体的任务处理,对CPU主要根据每个负载所需处理的指令长度,以及每个Container的mips性能得到,对内存主要是根据每个负载所需占用的内存大小得到,对带宽主要是根据每个负载的包大小以及每个端口的上行速率和下行速率实现,最终通过一个小型的监控模块,获得每秒中每个Container,VM,Datacenter的使用情况,并且实时反馈给队列处理模块,更好地实现了负载均衡的效果。
自动调参模块:该部分主要创新点在于在强化学习的基础上提出了一种自动调参算法。本系统由于是仿真环境,与真实环境肯定有所不同,在其中也设置了一些需要调整的参数,例如真实环境的CPU性能映射到仿真环境的CPU性能倍数,这些参数需要根据给出的一些数据进行参数拟合,手动调参,最终达到比较好的预测瓶颈效果,考虑到这种情况的麻烦性,我们在此基础上实现一种自动调参方法,该自动调参方法主要基于马尔科夫过程以及强化学习中policy gradient思想,将调参过程看成一系列状态,通过随机化初始参数,之后根据前一个状态,不断对参数进行调参,根据每个状态下的调参结果的反馈对参数微调,从而实现自动调参的效果。公式如下:
Figure BDA0002764586540000041
其中Θ是指被调参数,A(t)表示在t时刻采取的动作A(t),S(t)表示在t时刻的状态,A(t)|S(t)是指状态S(t)下采取的动作A(t)。
同时本专利在此基础上实现了可扩展的情况实现。主要包括了当需要在多个节点需要对负载进行处理的情况,在此情况下,如果多个节点中有一个节点首先出现瓶颈,则会影响其他的节点的性能。
通过上述模块,本专利可以在仿真真实场景下,通过改变负载数量来获得当前硬件配置下的性能瓶颈情况,从而可以实现瓶颈预测的功能。
附图说明
图1是本发明具体实施的流程图。
图2是本发明具体实施的队列处理机制示意图。
图3是本发明具体实施例的资源调度过程示意图。
图4是本发明具体实施例的基于强化学习的算法实现示意图。
具体实施方式
本发明的实施分为模型的训练和模型的使用两个部分。下面根据附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明具体实施的流程图。
通过收集数据,获得具体负载中的平均特性,从而对任务流进行可定制化输入,之后根据具体的硬件配置,输入到系统中,并将在该硬件配置下的一些性能表现图同样作为输入输入到系统中,由仿真系统完成关键点的截取已经参数的训练工作,经过多次迭代运算之后,获得调参的参数,将调好的参数输入到配置文件中,并在配置文件中将系统调至测试状态,并运行系统,从而验证系统的准确性,或者对一些情况下的性能指标进行预测。
图2是本发明具体实施的队列处理机制示意图。
通过一个延迟队列和一个处理队列来实现具体的流程控制,每次有新的输入就放入到延迟队列中,每经过单位时间就根据系统中的负载情况进行一次出队列的操作,获得调度的负载进入到处理队列进行处理。
图3是本发明具体实施例的资源调度过程示意图。
通过输入控制模块控制资源调度模块的输入部分,通过队列处理模块控制到达该节点的模块的任务处理操作,通过自动调参模块控制资源调度模块中的一些参数调整。
图4是本发明具体实施例的基于强化学习的算法实现示意图。具体算法实现如图所示。首先根据硬件配置估算可调参数,并将其输入到配置文件中,将系统调整成训练模式,开始训练,在算法实现中,将每个可调参数作为状态S(t),行为A(t),表示每个可调参数增加或减小0-1范围的数,R(t)表示该组可调参数放入到系统环境中得到的一些关键性的性能指标,包括了关键点的CPU,带宽等等,将这些性能指标和真实值进行偏差运算,得到R(t),这是一次迭代,根据R(t)的大小,更新下一个状态的A(t+1),并更新到S(t+1)上,并在此基础上从系统环境中得到R(t+1),最终达到收敛的效果,这样在强化学习的思想上对参数进行训练,得到最终结果,并进行测试,就完成了整个算法流程。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (5)

1.一种基于强化学习的云资源调度性能瓶颈预测方法,根据输入的计算机性能指标,对指标下的性能瓶颈和非瓶颈预测,包括下述关键步骤:
a.产生具体的输入流,其中包含每个负载的基本特征;
b.根据轮询调度算法分配队列中的负载,以实现负载均衡的效果;系统可工作于仿真环境,从真实环境中映射到仿真环境的参数,通过进行参数拟合、参数调整来达到较好的瓶颈预测效果,系统实现了一种自动调参方法,以减少人工消耗,其主要方法是将调参过程看成一系列状态,通过随机化初始参数,之后根据前一个状态,不断对参数进行调参,根据每个状态下的调参结果的反馈对参数微调,从而实现自动调参的效果。
2.如权利要求1所述方法步骤,系统利用队列的缓存机制,以控制系统中的负载个数,同时根据系统的排队队列中负载的监测指标,调整输入控制器的的负载,从而形成一种负反馈机制。
3.如权利要求1所述,本发明提出的自动调参算法是基于马尔科夫过程以及强化学习的policy gradient思想自行设计的调参算法,公式如下:
Figure FDA0002764586530000011
其中Θ是指被调参数,A(t)表示在t时刻采取的动作A(t),S(t)表示在t时刻的状态,A(t)|S(t)是指状态S(t)下采取的动作A(t)。
4.本发明所述的资源调度系统具有对不同负载均衡场景和节点个数变化等场景的可扩展性,系统需要适配其他场景时,只需要继承对应的类并实现对应方法即可扩展出适用的场景。
5.如权利要求2、3、4所述,本发明专利设计实现的基于强化学习的云资源调度性能瓶颈预测方法可以在不同场景下可扩展的、自动化的进行参数调整、拟合、并达到较好的瓶颈预测效果。
CN202011229156.9A 2020-11-06 2020-11-06 一种基于强化学习的云资源调度性能瓶颈预测方法 Pending CN112422651A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011229156.9A CN112422651A (zh) 2020-11-06 2020-11-06 一种基于强化学习的云资源调度性能瓶颈预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011229156.9A CN112422651A (zh) 2020-11-06 2020-11-06 一种基于强化学习的云资源调度性能瓶颈预测方法

Publications (1)

Publication Number Publication Date
CN112422651A true CN112422651A (zh) 2021-02-26

Family

ID=74780511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011229156.9A Pending CN112422651A (zh) 2020-11-06 2020-11-06 一种基于强化学习的云资源调度性能瓶颈预测方法

Country Status (1)

Country Link
CN (1) CN112422651A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117614956A (zh) * 2024-01-24 2024-02-27 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种分布式存储的网内缓存方法、系统以及储存介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108139930A (zh) * 2016-05-24 2018-06-08 华为技术有限公司 基于q学习的资源调度方法和装置
CN109086134A (zh) * 2018-07-19 2018-12-25 郑州云海信息技术有限公司 一种深度学习作业的运行方法和装置
CN109308246A (zh) * 2017-07-27 2019-02-05 阿里巴巴集团控股有限公司 系统参数的优化方法、装置及设备、可读介质
CN109947567A (zh) * 2019-03-14 2019-06-28 深圳先进技术研究院 一种多智能体强化学习调度方法、系统及电子设备
CN111752708A (zh) * 2020-06-16 2020-10-09 杭州电子科技大学 一种基于深度学习的存储系统自适应参数调优方法
CN111831415A (zh) * 2020-07-10 2020-10-27 广东石油化工学院 一种多队列多集群的任务调度方法及系统
US20200374339A1 (en) * 2019-05-20 2020-11-26 Samsung Electronics Co., Ltd. Apparatus and method for adjusting resources in cloud system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108139930A (zh) * 2016-05-24 2018-06-08 华为技术有限公司 基于q学习的资源调度方法和装置
CN109308246A (zh) * 2017-07-27 2019-02-05 阿里巴巴集团控股有限公司 系统参数的优化方法、装置及设备、可读介质
CN109086134A (zh) * 2018-07-19 2018-12-25 郑州云海信息技术有限公司 一种深度学习作业的运行方法和装置
CN109947567A (zh) * 2019-03-14 2019-06-28 深圳先进技术研究院 一种多智能体强化学习调度方法、系统及电子设备
US20200374339A1 (en) * 2019-05-20 2020-11-26 Samsung Electronics Co., Ltd. Apparatus and method for adjusting resources in cloud system
CN111752708A (zh) * 2020-06-16 2020-10-09 杭州电子科技大学 一种基于深度学习的存储系统自适应参数调优方法
CN111831415A (zh) * 2020-07-10 2020-10-27 广东石油化工学院 一种多队列多集群的任务调度方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邓志龙,张琦玮,曹皓,谷志阳: "一种基于深度强化学习的调度优化方法", 《西北工业大学学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117614956A (zh) * 2024-01-24 2024-02-27 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种分布式存储的网内缓存方法、系统以及储存介质
CN117614956B (zh) * 2024-01-24 2024-03-29 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种分布式存储的网内缓存方法、系统以及储存介质

Similar Documents

Publication Publication Date Title
Liu et al. Adaptive asynchronous federated learning in resource-constrained edge computing
Li et al. SSLB: self-similarity-based load balancing for large-scale fog computing
Mapetu et al. A dynamic VM consolidation approach based on load balancing using Pearson correlation in cloud computing
Han et al. Tailored learning-based scheduling for kubernetes-oriented edge-cloud system
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
CN111314123B (zh) 一种面向时延和能耗的电力物联网工作负载分配方法
Che et al. A deep reinforcement learning approach to the optimization of data center task scheduling
Chen et al. Deep learning research and development platform: Characterizing and scheduling with qos guarantees on gpu clusters
CN104657221A (zh) 一种云计算中基于任务分类的多队列错峰调度模型及方法
CN113032120A (zh) 一种基于边缘计算的工业现场大数据任务协调度方法
Tong et al. DDQN-TS: A novel bi-objective intelligent scheduling algorithm in the cloud environment
Liu et al. Workload forecasting based elastic resource management in edge cloud
CN113033800A (zh) 分布式深度学习方法、装置、参数服务器及主工作节点
CN113806018A (zh) 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法
CN114610474A (zh) 一种异构超算环境下多策略的作业调度方法及系统
Li et al. Endpoint-flexible coflow scheduling across geo-distributed datacenters
CN116680062A (zh) 一种基于大数据集群的应用调度部署方法及存储介质
Chalack et al. Resource allocation in cloud environment using approaches based particle swarm optimization
Hu et al. Dynamic task offloading in MEC-enabled IoT networks: A hybrid DDPG-D3QN approach
Sun et al. Dynamic deployment and scheduling strategy for dual-service pooling-based hierarchical cloud service system in intelligent buildings
CN112422651A (zh) 一种基于强化学习的云资源调度性能瓶颈预测方法
CN113535387A (zh) 一种异构感知的gpu资源分配与调度方法及系统
CN108304253A (zh) 基于缓存感知和数据本地性的map任务调度方法
Chen et al. Deep learning workloads scheduling with reinforcement learning on GPU clusters
Ma et al. SE-PSO: resource scheduling strategy for multimedia cloud platform based on security enhanced virtual migration

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210226