一种基于深度学习神经网络的大规模资源调度系统及方法与流程

文档序号:14097984阅读:254来源:国知局

本发明属于资源调度技术领域,涉及一种基于深度学习神经网络的大规模资源调度系统及方法。



背景技术:

随着互联网技术的发展,资源调度技术日渐成熟,现有的资源调度程序一般是根据对资源池资源负载的动态监控合理出发资源调度规则,实现资源池中物理服务器之间重新分布虚拟机。当待分配的资源过大,远远超出了资源调度规则的范围,可能会导致资源调度的不合理,甚至是资源调度的失败。

目前,现在使用的大规模资源调度方法大致有以下几种:

一种是采用集群式的方式对深度神经网络进行分布式训练进而进行分布式资源调度,该资源调度模式缺乏集中管理功能;另一种是利用gpu对神经网络的学习过程进行加速处理,但此类方法对硬件的要求较高且不易扩展,主要应用于中、小规模的资源调度。



技术实现要素:

为了解决上述技术问题,本发明提出了一种基于深度神经网络的大规模资源调度系统及方法,利用深度神经网络的并行特点将训练模型以分布式形式处理数据集,动态执行资源调度,有效地解决了现有大规模资源调度方式缺少分布式并行执行功能的问题。

本发明的系统所采用的技术方案是:一种基于深度学习神经网络的大规模资源调度系统,其特征在于:包括至少一个调度控制模块和至少两个执行模块;所述调度控制模块用于接收用户请求,分配调度资源,并行计算状态反馈;所述执行模块用于接收调度控制模块发送的任务请求,开辟内存空间进行计算。

本发明的方法所采用的技术方案是:一种基于深度学习神经网络的大规模资源调度方法,其特征在于,包括以下步骤:

步骤1:用户配置任务请求;

步骤2:调度控制模块接收到用户任务请求信息,判断任务所调度应用的类型;根据用户的服务请求,利用深度学习神经网络进行预测分析资源的需求量,并判断处理后的可能结果是否符合用户的需求;

如果预测结果不符合用户需求,重新进行资源需求量的分析,并考虑应用性能,物理节点个数的分配,直到得到满足用户需求的预测分析结果;

如果预测结果符合用户需求,将分析结果发布给调度控制模块的调度器;

步骤3:调度器根据预测的结果以及虚拟资源的适用情况,分割用户任务;同时执行模块将本模块的资源情况发送给调度控制模块的回调并行计算模块;调度器综合评估任务及执行模块之间的匹配,当执行模块无法保证该任务的完成质量时,则通过深度神经网络预测出执行模块的处理能力和预判出对该任务的迁移,选择合适的执行器进行计算;

步骤4:回调并行计算模块接收到各个执行模块的任务处理情况以及资源的使用情况,判断出各个执行模块是否过载或低载,并将分析结果提交给调度器,由调度器根据任务调度策略进行任务的迁移。

随着互联网技术的发展,资源调度技术日渐成熟,现有的资源调度程序一般是根据对资源池资源负载的动态监控合理出发资源调度规则,实现资源池中物理服务器之间重新分布虚拟机。当待分配的资源过大,远远超出了资源调度规则的范围,可能会导致资源调度的不合理,甚至是资源调度的失败。

目前,现在使用的大规模资源调度方法大致有以下几种:

一种是采用集群式的方式对深度神经网络进行分布式训练进而进行分布式资源调度,该资源调度模式缺乏集中管理功能;另一种是利用gpu对神经网络的学习过程进行加速处理,但此类方法对硬件的要求较高且不易扩展,主要应用于中、小规模的资源调度。

相对于现有技术,本发明提出了深度神经网络模型在分布式内存中的计算方法,有效地提升了深度神经网络的训练效率,特别是针对大规模任务请求,保证了系统的稳定性,有效的解决了集群式的数据管理模式的种种弊端。本发明在资源调度上采用智能调度算法,通过深度神经网络的分布式内存计算方法,将大规模任务调度分解成适合执行模块计算的中、小规模调度,调度控制模块和执行模块各司其职,提高了系统的稳定性及可扩展性。

附图说明

图1为本发明实施例的系统整体架构示意图;

图2为本发明实施例的深度学习神经网络模型体系结构示意图;

图3为本发明实施例的方法流程图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

请见图1和图2,本发明提供的一种深度神经网络大规模资源调度系统,包括至少一个调度控制模块和至少两个执行模块。调度控制模块是整个分布式资源调度的核心,它的任务:接收用户请求,分配调度资源,并行计算状态反馈;执行模块是任务计算的运行体,它的任务:接收调度控制模块发送的任务请求,开辟内存空间进行计算。

本实施例的用户请求由用户输入信息,包括:任务组,任务描述,计划完成时间,工作处理程序,报警信息,任务负责人以及计划完成预期结果。

调度控制模块中,接收用户请求即将用户输入的请求信息收集整理。包括:调度池,调度器,调度任务模块,回调并行计算模块以及调度日志模块;调度池用于存储线程资源;调度器用于分配调度资源即根据用户的输入请求,将任务分割成若干个子任务,根据请求中获取的信息选择任务调度机制,完成分布式资源调度。调度任务模块用于记录任务的执行状态及结果;回调并行计算模块负责各执行模块之间建立通讯,实时接收执行模块的运行状态,包括:资源占有率,任务执行程度;调度日志模块用于保存调度日志及执行日志,并可以查看和修改。

调度执行模块包括任务请求模块和并行计算模块。执行模块的处理中心会根据调度控制模块发送的分布调度资源请求信息安排执行任务。并行计算模块进行任务计算并返回计算结果,同时会分时间段向调度控制模块发送任务计算反馈信息,包括任务运行速度,开启任务节点数。

深度神经网络模型采用分布式数据集。将神经网络模型复制多个副本,分别在各执行模块的数据集中进行并行训练,提高模型的训练速度。同时将训练结果参数值传送给模型参数数据集。

图1展示了分布式资源调度系统的整体架构。用户输入请求后提交,交由调度模块执行资源分布式调度,将用户提交的任务数根据用户请求,合理调度到各个执行模块进行并行计算,然后将计算得到的结果交由调度模块整合输出给用户。

图2展示了深度学习神经网络模型的体系结构。用户提交的任务被分割成若干个子任务,并通过调度模块中的资源调度方法分配到多台计算机内存上。同时深度神经网络训练模型创建多个副本分别对每个计算机上的子任务模块进行训练,训练结束之后,将结果异步传输给调度模块。

本实施例的用户界面为用户提供可视化用户请求信息输入,该界面上可以具有供用户输请求信息的接口。本发明中涉及到的请求信息具有可以包括:任务组,任务描述,计划完成时间,工作处理程序,报警信息,任务负责人以及计划完成预期结果。其中任务组是必填项,其余可以选填,如果没有填写计划完成时间和计划完成预期结果,调度模块即采用默认任务完成效率最高的资源调度方式。

其中,在使用本发明提供的任务调度系统配置新建任务时,用户首先需要登录深度神经网络大规模资源调度系统,用户登录成功后,方可在用户界面进行请求信息的设置。

资源调度中心用于接收来自用户提交的任务,并根据请求执行相应的逻辑业务操作。本模块还可用于接收外部输入的任务资源查询指令,包括:提交用户、用户名称、用户单号、负责人姓名、任务创建时间和任务结束时间。用户可以输入指定的指令,以实现对任务的执行、暂停以及对日志的编辑、修改、删除等功能。

需要说明的是,本发明中的调度模块仅负责接收用户请求信息,执行资源调度等操作,所有任务的调度参数,调度日志都保持在调度模块,该模块不负责业务逻辑,所有的资源调度执行则由执行模块负责管理。这样可以将“调度”和“执行”分为两部分,分别进行操作,有利于提高整个系统的稳定性及可扩展性。

请见图3,本发明提供的一种基于深度学习神经网络的大规模资源调度方法,包括以下步骤:

步骤1:登录用户任务调度中心,用户通过页面配置任务请求。

步骤2:调度控制模块接收到用户的任务请求信息,判断任务所调度应用的类型;根据用户的服务请求,利用深度学习神经网络进行预测分析资源的需求量(将系统接收的用户任务请求数据进行分片,然后分布到执行模块的内存空间上。训练数据用随机采样的方式分别在不同的执行模块中分区进行,模型训练的过程中直接从采样数据中提取数据,不用每次通过调度控制模块读取数据。采样数据集以固定的时间间隔从调度控制模块刷新采样样板集。同时,执行模块将数据分片计算的过程信息反馈到调度控制模块),并判断处理后(将历史用户请求数据随机选取80%为测试数据,20%为验证数据;当训练满足误差性能指标时,停止训练。然后将当前用户任务请求数据导入深度学习神经网络,计算出预测输出结果)的可能结果是否符合用户的需求;

如果预测结果不符合用户需求,重新进行资源需求量的分析,并考虑应用性能,物理节点个数的分配(根据执行模块的反馈资源信息,结合预测分析结果中用户任务完成结果的偏移量,调节资源调度策略中的初始参数,包括资源的计算性能参数,资源的执行参数),直到得到满足用户需求的预测分析结果;

如果预测结果符合用户需求,将分析结果发布给调度控制模块的调度器;

本实施例的深度神经网络预测学习方法如下:

步骤2.1:用户在任务请求管理界面输入任务组、任务描述、计划完成时间、工作处理程序、报警信息、任务负责人以及计划完成预期结果。将此任务提交给调度控制模块。

步骤2.2调度控制模块中的调度器接收到任务请求信息后,开始启动深度神经网络预测功能。

步骤2.3根据用户输入的信息参数,构建成一个分布式的数据集。采用自适应学习速率方法进行自动调整学习速率。学习速率公式如下所示:

其中,εi,k为第i个结点在第k次迭代时的学习速率。δ为第i个结点的常数,ωi为第i个结点的自适应学习效率梯度值;

步骤2.4深度神经网络自适应模拟训练。每次有任务信息输入时,网络采样一个随机结构。

步骤2.5调度器根据学习预测分析结果的资源配置情况,向调度池请求线程资源。同时利用深度神经网络的自学习状态模拟任务请求的执行度,从而得出该资源的配置是否能满足用户的请求。如果不能达到用户的预期值,返回步骤2.4,重新调整参数配置进行模拟,直至达到用户满意的结果;如果达到用户的预期值,进入到步骤2.6。

步骤2.6经过深度神经网络的学习模拟预测,初步判定符合用户的预期满意值,准备执行任务资源调度。

步骤2.7调度任务模块接收来自执行模块的资源使用情况,包括应用性能指标、计算性能指标、资源利用率等。由调度任务模块中的任务调度策略分割任务,并统筹执行任务资源调度。

步骤2.8通过线程资源向执行模块发起调度请求。执行模块根据调度请求进行对应的业务逻辑计算,并在计算过程中向调度控制模块的调度任务模块反馈任务执行状态及过程结果。同时通过回调并行计算模块完成各个执行模块之间的通讯。

步骤2.9回调并行计算模块接收到各个执行模块当前的任务处理状态,以及执行模块发送的任务迁移请求,向调度任务模块发出反馈信息。调度任务模块,判断出各个执行模块是否过载或低载,并将分析结果提交给调度器,由调度器根据任务调度策略进行任务的迁移。

步骤2.10系统采用创建多个执行模块并行化进行数据处理,且每个执行模块由多个数据分片组成,提高了运行效率。各执行模块计算后,将数据处理结果传递给调度任务模块数据集,并向调度任务模块申请新的执行任务。

步骤3:调度器根据预测的结果以及虚拟资源的适用情况,分割用户任务。同时执行模块也会将本模块的资源情况,包括应用性能指标、计算性能指标等发送给调度控制模块的回调并行计算模块。调度器综合评估任务及执行模块之间的匹配,当执行模块无法保证该任务的完成质量时,可以通过深度神经网络预测出执行模块的处理能力和预判出对该任务的迁移,选择合适的执行器进行计算。这里的合适指的是执行器的利用率,内存情况,执行效率适合任务的计算要求。

步骤4:回调并行计算模块接收到各个执行模块的任务处理情况以及资源的使用情况,判断出各个执行模块是否过载或低载,并将分析结果提交给调度器,由调度器根据任务调度策略进行任务的迁移。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1