一种基于深度信念网络的云数据中心请求流调度方法转让专利
申请号 : CN201711434894.5
文献号 : CN108170531B
文献日 : 2021-07-02
发明人 : 毕敬 , 李琛 , 乔俊飞
申请人 : 北京工业大学
摘要 :
权利要求 :
1.一种基于深度信念网络的云数据中心请求流调度方法,其特征在于,包括如下步骤:S1、根据建立的利润计算模型对历史数据进行计算,从而得到该数据条件下,所能获得的利润,并使用所计算得到的利润作为评判标准给历史数据添加标签;
S2、将添加了标签的历史数据分为训练集和测试集,并将训练集的数据进行归一化处理,使用处理之后的训练集对DBN网络进行训练;而后使用分类器和其输出对DBN网络的权值w和偏差值b进行调整;
S3、使用测试集对训练完毕的DBN进行测试,并根据测试结果对DBN的超参数进行调整;
S4、使用当前时刻的请求流数据和已经调整好的DBN获取最优的调度树配置方案并对调度树进行调整,其后根据节点效率图对请求流进行调度,以使调度当前请求流的获利最大,同时根据实际调度情况对节点效率图实时进行修改,为下一次调度做准备;
所述利润计算模型的结果为Profit,所描述的利润计算模型为:Profit=Revenue‑Cost其中,Revenue表示处理在时间间隔t内到来的任务请求所能带来的收益;Cost表示在时间间隔t内,集群处理请求所消耗的能量成本与人力使用成本之和; 表示在时间间隔t内第k类请求的个数;gm表示在时间间隔t内第k类请求的平均资源申请量;tk表示在时间间隔t内每一个请求的实际执行时间;R表示集群资源的总量; 是代表调度延迟的变量,n表示延迟调度的时间,如果在时间间隔t内该请求进行了调度,则 否则qt代表在时间间隔t内调度该请求,并在一段时间完成之用户可能拥有的满意度,i代表超时调度的折损率;l表示请求的个数; 表示在时间间隔t内实际处理完成第k类请求的个数;zt表示在时间间隔t内该节点能耗与使用效率间的关系系数;pmax和pmin表示每个集群资源的最大和最小使用率; 表示在时间间隔t内单位能耗所需要花费的价格;
所述利润计算模型的约束包括:在时间间隔t内,总CPU和内存需求均不能超过限定所给出的最大配置,总需求不能超过计算集群原本的容量限制:dtCPUt≤CPUl;
dtMemoryt≤Memoryl;
其中,CPUt表示在时间间隔t内每个请求所需要的CPU的平均个数;Memoryt表示在时间间隔t内每个请求所需要的内存的平均大小;CPUl表示系统对单个请求所能申请的CPU资源数量的限制;Memoryl表示系统对单个请求所能申请的内存资源数量的限制;CPUR表示计算集群的CPU的容量限制;MemoryR表示计算集群的内存的容量限制;
非线性约束优化模型的约束还包括:如果该请求可以在t时间内完成,即或 如果未在t时间内完成,则 或
具体约束为:
步骤2中使用的DBN网络由2层RBM和1层BP网络构成,权值w和偏差值b用来对DBN网络层与层之间关系以及激活概率p进行计算,使用对比散度算法(CD‑k)来对每层RBM进行无监督贪婪训练;通过将输入值赋值给显层,计算出隐层中每个神经元被激活的概率,从计算得到的概率中采用Gibbs抽样抽出样本,计算显层中每个神经元被激活的概率,若干次计算之后,隐层可以精准的显示显层的特征;训练完毕后的每层RBM只能保证在自身层内权值w和偏差值b达到最优,所以使用BP网络根据其输出结果和给定对应的历史数据的标签进行判断,将错误信息自顶向下传播至每一层RBM,微调整个DBN网络,使整个DBN网络中的权值w和偏差值b达到最优;
步骤3中需要调整的超参数包含:影响DBN网络学习速度的学习率η、对网络出现过拟合情况进行调整的正则化参数λ、影响分类正确率的学习的回合数Epoch和每个隐层中神经元的个数j;通过使用Spark运行DBN网络同时通过反复迭代S2、S3,根据以往的经验和测试结果的图表规律对这些超参数进行方差分析、拟合优度检验,而后根据结果对其进行调整,直至其测试出现最优结果;
建立调度树配置计算模型,其参数为根据数据请求所计算出的调度算法的配置方案,和当前调度树的配置参数,具体为:
其中,fold为调度树目前同种类请求子节点下可以存储的非叶子节点的最大数量,fnew为根据作业请求的数量、平均资源申请量和fold所计算的同种类请求子节点下可以存储的非叶子节点的最大数量;lold为调度树中叶子节点可以存放的待调度请求的最大数量,lnew为根据请求数据和lold所计算的叶子节点可以存放的待调度请求的最大数量。
说明书 :
一种基于深度信念网络的云数据中心请求流调度方法
技术领域
背景技术
利用自身的数据解读出中国的消费趋势,对数据进行分析根据用户的喜好推荐类别相同的
产品,以扩大销售额。交管局可以根据实时的交通信息,对交通红绿灯进行管控,来动态调
节道路车流量减少拥堵,提高出行效率。
其应用部署在云数据中心中。但是不管是企业自身,还是云服务提供商的数据中心,都面临
着相同的问题—计算框架以及计算需求的多样化。这些不同的需求使得对计算资源的调度
更加复杂。不管是对于企业或是云服务服务提供商,不同种类或是不同提出者所提交的计
算请求,往往会带来不同的计算收益。企业的一些耗费资源巨大的计算带来的收益可能却
是极少,但是这种计算往往又是必需的。云平台等计算服务提供者,通常是通过为用户提供
计算服务来按需收费,但是不同级别的用户所能带来的收益也不尽相同。所以根据每种计
算请求价值的不同来对资源进行分配,以获取最大利益具有重要意义。
负载配置服务器资源会造成体验服务等级目标(Service Level Objective,SLO)的违背,
所以用户请求的运行时间为影响获利的另外一个重要因素。同时,因为计算集群的种种物
理原因,会拥有不同计算瓶颈,带来的计算效率也会有很大差别。当海量不同种类型的请求
来临时,在不拖慢集群运行效率的情况下,充分利用集群资源,以缩短请求的平均处理时
间,对以最大获利为目标的调度策略具有重要意义。
使用,减少任务的平均响应时间)。目前已知的调度算法,根据其算法本身的特性和解决调
度问题思路的不同,可以分为实时调度算法和启发式调度算法两类。实时调度算法以快速
实时为中心思想,作业一旦到来就对其进行快速处理,进而在极短的时间内为其进行调度,
完成资源的合理分配。调度作业所需的时间短,不需要耗费额外的计算资源,但其因为无法
更加细致的对集群中各个节点的负载进行考虑,可能会使集群各个节点出现负载不均衡的
情况。启发式调度算法,将需要多维资源的作业调度当成一个类多维背包问题,将集群中的
各类资源视为背包,作业对各类资源的需求作为物品,将任务完成时间或集群利用率作为
参数,通过使用蚁群、粒子群、遗传、模拟退火、人工神经网络等启发式算法求解,根据其求
出的全局近似最优解来进行调度。虽然可以将集群中资源利用率最大化,一定程度上减少
任务完成所需要的时间,并对集群负载的均衡进行了充分的考虑,但是其计算过为复杂,需
要消耗额外的计算资源,当集群中的节点和任务过多时,将会带来巨大的计算开销。鉴于这
两者的优缺点,本发明将二者有机结合,提出以获利最大为目标的树形层级调度策略。
们对于信息的认知也越发细腻,对信息处理的要求逐渐提高,单一的离线计算框架已经不
能满足研究人员的计算需求,可以进行用于迭代计算的实时计算框架Spark、针对流数据的
计算框架Storm等各种计算框架应运而生。Hadoop为了将这些计算框架进行统合,提出了资
源管理系统YARN。
发明内容
型调度算法与启发式调度算法的优缺点,提出自适应的树形层级调度策略,从而达到获取
最大收益的目标。
收益,此时集群的总资源,每种请求所申请的资源(CPU和内存),请求处理完成所需的时间,
作为参数进行建模,进而最终得到处理一段时间内所有请求所能获取的最大利益的计算模
型。同时通过根据节点资源使用率和在该使用率下平均任务完成时间建立节点效率图,作
为对节点资源调度的约束,以保证在不减慢任务运行速度的情况下,最大化的利用节点资
源。
用特点进行调整。使用树形层级的调度模型,以缩短调度时间并提高调度效率。其中,此调
度模型的参数如下:
存),将要使用的三种调度算法,叶子节点所存储的请求的最大数量,中间子节点所存储的
叶子节点的最大数量,所设定的收益标记结果,对DBN(深度信念神经网络)进行训练。然后
根据其输出结果选取最优的调度策略,根据当前节点的使用情况和已经得知的节点效率图
进行任务分配。
型,并对DBN进行训练,以根据下一批数据的特点来对调度算法做出决定,使得集群计算获
得的利润最大化。
的权值w和偏差值b进行调整;
利最大,同时根据实际调度情况对节点效率图实时进行修改,为下一次调度做准备。
隔t内第k类请求的个数;gm表示在时间间隔t内第k类请求的平均资源申请量;tk表示在时间
间隔t内每一个请求的实际执行时间;R表示集群资源的总量; 是代表调度延迟的
变量,n表示延迟调度的时间,如果在时间间隔t内该请求进行了调度,则 否
则 qt代表在时间间隔t内调度该请求,并在一段时间完成之用户可能拥
有的满意度,i代表超时调度的折损率;l表示请求的个数; 表示在时间间隔t内实际处理
完成第k类请求的个数; 表示在时间间隔t内该节点能耗与使用效率间的关系系数;pmax
和pmin表示每个集群资源的最大和最小使用率; 表示在时间间隔t内单位能耗所需要花费
的价格。
资源数量的限制;Memoryl表示系统对单个请求所能申请的内存资源数量的限制;CPUR表示
计算集群的CPU的容量限制;MemoryR表示计算集群的内存的容量限制。
具体约束为:
RBM进行无监督贪婪训练;通过将输入值赋值给显层,计算出隐层中每个神经元被激活的概
率,从计算得到的概率中采用Gibbs抽样抽出样本,计算显层中每个神经元被激活的概率,
若干次计算之后,隐层可以精准的显示显层的特征;训练完毕后的每层RBM只能保证在自身
层内权值w和偏差值b达到最优,所以使用BP网络根据其输出结果和给定对应的历史数据的
标签进行判断,将错误信息自顶向下传播至每一层RBM,微调整个DBN网络,使整个DBN网络
中的权值w和偏差值b达到最优。
个隐层中神经元的个数j;通过使用Spark运行DBN网络同时通过反复迭代S2、S3,根据以往
的经验和测试结果的图表规律对这些超参数进行方差分析、拟合优度检验,而后根据结果
对其进行调整,直至其测试出现最优结果。
的非叶子节点的最大数量;lold为调度树中叶子节点可以存放的待调度请求的最大数量,
lnew为根据请求数据和lold所计算的叶子节点可以存放的待调度请求的最大数量。
YARN智能的根据处理请求所能带来的利益和计算集群自身的条件约束,使用DBN网络对调
度策略进行选择,同时使用树形层级调度方法,减少对请求进行调度时所额外花费的计算
资源。且本发明所述技术方案综合考虑了计算集群的单位时间使用成本、节点资源使用情
况与其计算效率之间的关系,能够在不减少节点计算效率的情况下最大程度的使用节点资
源,从而能够最大化处理请求所能带来的利润并提高资源利用率减少能耗。
附图说明
具体实施方式
描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
理的时候会带来负面影响,在用户期待的时间内结束会增进用户对于云平台的好感,而在
超出用户预期的超短时间内完成,则会给用户带来惊喜。而使用企业自身所拥有的计算集
群也是同样如此,请求带来的价值不同,申请资源不同,运行周期不同。在不同等的时间内
处理请求会带来不同的价值。在大规模请求来临之时,这一情况更为明显。根据此,提出以
请求的种类,请求的处理周期类型,以及处理时间等参数提出利润计算模型,并根据计算结
果对历史数据进行标记而后存储以备使用。
变低。本发明为所有节点建立了CPU最佳使用率的图谱,以节点名为标签,节点最佳使用率
为内容的关系图。通过CPU和内存的使用率计算出节点的能耗,从而得出计算集群在t时间
内所消耗的资源和收益。
间隔t内第k类请求的个数;gm表示在时间间隔t内第k类请求的平均资源申请量;tk表示在时
间间隔t内每一个请求的实际执行时间;R表示集群资源的总量; 是代表调度延迟
的变量,n表示延迟调度的时间,如果在时间间隔t内该请求进行了调度,则 否
则 qt代表在时间间隔t内调度该请求,并在一段时间完成之用户可能拥
有的满意度,i代表超时调度的折损率;l表示请求的个数; 表示在时间间隔t内实际处理
完成第k类请求的个数;zt表示在时间间隔t内该节点能耗与使用效率间的关系系数;pmax和
pmin表示每个集群资源的最大和最小使用率; 表示在时间间隔t内单位能耗所需要花费的
价格。
资源数量的限制;Memoryl表示系统对单个请求所能申请的内存资源数量的限制;CPUR表示
计算集群的CPU的容量限制;MemoryR表示计算集群的内存的容量限制。
的权值w和偏差值b进行调整。
无监督贪婪训练,以加快其学习效率。通过将输入值赋值给显层,计算出隐层中每个神经元
被激活的概率,从计算得到的概率中采用Gibbs抽样抽出样本,计算显层中每个神经元被激
活的概率,若干次计算之后,隐层可以较为精准的显示显层的特征。训练完毕后的每层RBM
只能保证在自身层内权值w和偏差值b达到最优,所以使用BP网络根据其输出结果和给定对
应的历史数据的标签进行判断,将错误信息自顶向下传播至每一层RBM,微调整个DBN网络,
使整个DBN网络中的权值w和偏差值b达到最优。同时为了不影响调度树的运行效率,将用以
决策的DBN网络作为整个调度器的外部插件,以方便对DBN网络的超参数进行调整,同时降
低调度器的计算负载。
的个数j。主要通过使用Spark运行DBN网络同时通过反复迭代S2、S3,根据以往的经验和测
试结果的图表规律对这些超参数进行方差分析、拟合优度检验,而后根据结果对其进行调
整,直至其测试出现最优结果。
利最大,同时根据实际调度情况对节点效率图实时进行修改,为下一次调度做准备。
树配置计算模型其参数为:根据数据请求所计算出的出调度算法的配置方案fnew、lnew,和当
前调度树的配置参数fold、lold,具体为:
储的非叶子节点的最大数量;lold调度树目前为叶子节点可以存放的待调度请求的最大数
量,lnew为根据请求数据和lold所计算的叶子节点所能存储的最大数量。其树形层级结构如
图2所示。
主资源,根据所决定的主资源的比值进行递增排序,主资源比值相同以次一级资源比值为
依据,若次一级资源比值依旧相等,则以名字为依据,从而决定调度顺序。
优先级为排序依据,同优先级则根据名字进行排序。
名字进行排序。
请求,若同需求则以名称为排序依据,从而决定调度顺序。
求正在被处理。DRF在保证请求调度公平性的同时有效的提高集群资源的利用率,Fair的公
平性计算比DRF更简单,耗时更短。Priority First在兼顾高优先级请求可以优先完成的同
时,也对低优先级请求进行了照顾,在一定程度上保证了调度的公平性。FIFO则考虑了请求
在子节点中的等待时间,优先调度等待时间长的请求,避免因请求长时间等待,而使用户的
体验性变差。因为其先来先服务的性质,若将其应用于子节点之间的调度,将会对调度的公
平性造成巨大的影响,所以不将其应用于子节点间的调度。Shortest First则优先解决资
源请求较少的子节点,通常情况下资源请求代表了执行的时间,所以也可以将其理解成优
先解决执行时间最短的请求或子节点,以快速增加处理完成的请求数量,减少请求的平均
等待数量,进而减少等待请求处理完毕的用户的数量。
本发明为集群中所有节点建立了节点效率关系图,其key值为节点名,value为节点的最佳
使用效率,在调度的过程中。调度器根据节点的最佳使用效率为该节点分配任务,以加快请
求的处理速度,减少节点的能耗,从而使该次调度所获得的利益最大化。
可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本
发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。