当前位置: 首页 > 专利查询>之江实验室专利>正文

一种函数级作业分布式智能分解方法技术

技术编号:34810560 阅读:14 留言:0更新日期:2022-09-03 20:19
本发明专利技术属于计算机操作系统、机器学习建模技术领域,公开了一种函数级作业分布式智能分解方法,通过分析作业源代码,形成基于函数调用关系的有向无环图,结合函数输入输出等特征,预估各函数运行时间后,得出作业最佳分解方案,并在代码中插入修饰符完成分解。分解方案的形成对作业分解领域专家经验没有太多依赖,经该方案分解的作业比未经分解在分布式计算系统中具有更优秀的计算效率,而且分解方法的性能会随着作业分解、运行记录的增多而提升。本发明专利技术实现了大型作业的智能分解、自动调度,加快了计算密集型作业的运算速度、提升了分布式系统算力的使用效率。其实现方法灵活可靠、对作业源码侵入极少,以较低的成本达成较高的运算效率。高的运算效率。高的运算效率。

【技术实现步骤摘要】
一种函数级作业分布式智能分解方法


[0001]本专利技术属于计算机操作系统、机器学习建模
,尤其涉及一种函数级作业分布式智能分解方法。

技术介绍

[0002]随着大数据和人工智能技术的发展,海量数据的存储和使用导致了业界、学界对计算机算力需求的巨大增长,且相关领域对算力需求的增长速度远高于算力本身的发展速度,这使得算力在某种程度上成为了人工智能、尤其是深度学习领域发展的瓶颈之一。在此类需求的驱动下,各类分布式计算技术应运而生,通过接入更多计算设备,为用户带来更多算力:网格计算、志愿计算搭建起了算力共享机制,使组织和个人能够把自有闲置算力分享给需要更多算力的组织,实现了算力资源有效利用;商业化云计算的普及和兴起使消费者能够以经济、便捷的方式租用计算资源,缓解了算力需求与硬件成本带来的压力。
[0003]总体而言,以上分布式技术主要依赖算力在数量上的堆砌,而对于如何通过精细化匹配作业与计算资源从而发挥算力的最大作用、提高计算效率,尚无有效方案。

技术实现思路

[0004]本专利技术目的在于提供一种函数级作业分布式智能分解方法,以解决上述的技术问题。
[0005]为解决上述技术问题,本专利技术的一种函数级作业分布式智能分解方法的具体技术方案如下:一种函数级作业分布式智能分解方法,包括以下步骤:步骤1:用户选用系统中已有的预测模型,或提前基于沙箱实验数据和机器学习回归算法以离线训练方式得到作业运行时间预测模型,用于后续步骤;步骤2:用户提交作业源码至作业分解系统;步骤3:作业分解系统分析作业源码中的函数调用关系和作业各阶段的数据来源,形成调用关系图;步骤4:基于各节点的特征信息和用户在步骤1中生成或选用的模型,预测出步骤3中每个节点的预计运行时间,作为调用关系图中每条边的权重;步骤5:用图算法算出调用关系图中从开始到结束的关键路径;步骤6:基于步骤4的计算结果,把位于连接关键路径节点的路径上、但不在关键路径上的函数各归为一组,每一组内的函数将被调度到同一计算节点运行,由此形成函数级分解方案;步骤7:在代码相应位置插入Ray修饰符,完成分解。
[0006]进一步地,所述步骤1在系统中已有函数运行时间预测模型时,用户可以直接选择现有模型用于后续步骤,步骤1由此结束。
[0007]进一步地,所述步骤1在没有现成模型可选,或用户希望自行训练模型时,通过以
下步骤训练获得模型:步骤1.1:模型训练数据准备:当系统和用户没有任何作业运行的真实历史数据时,系统依靠沙箱实验获得一些函数输入、输出、代码量、代码结构和对应的运行时间记录,解决冷启动问题;当系统中已有作业运行记录时,系统使用这些信息进行模型的重新训练,在已有的模型的基础上开发出预测精度更高的模型;步骤1.2:选择回归算法并训练:从机器学习回归算法中任选择一种多种进行训练,具体方法是使用步骤1.1中的训练数据,对选定算法在一组或多组超参数下进行拟合、验证,得出表现最佳的算法、参数组合,作为最终选定的预测模型。
[0008]进一步地,所述步骤3中的调用关系图中每个节点表示一个函数或一个输入数据集,节点之间用有向边连接,代表节点运行的顺序关系;与此同时,系统收集每一个节点的输入、输出、代码量、代码结构信息、函数运行时间并存档。
[0009]进一步地,所述步骤4具体包括如下步骤:步骤4.1:系统在实际运行过程中抓取当前作业中函数的输入、输出、代码量、代码结构、函数运行时间信息,用于数据按一定规范处理后实时预测各函数节点的运行时间和存档用于模型的离线重新训练;步骤4.2:系统实时对步骤4.1中收集到的数据进行处理变换,直至数据格式与步骤1中用于模型训练的输入格式完全一致,把经过充分处理的数据输入步骤1选定或训练的模型中,获得模型输出的相应节点的运行时间预测值;步骤4.3:用户手动或系统自动定期基于步骤4.1中存档的数据,使用原有算法或新的回归算法,重新训练函数运行时间预测模型,在反复迭代中持续提升函数运行时间预测模型的准确度。
[0010]进一步地,所述步骤5包括如下具体步骤:步骤5.1:如果待分解的调用关系图中只有一个结束节点,直接算出从开始节点到结束节点的关键路径;步骤5.2:如果待分解的调用关系图中有多个结束节点,把调用关系图按结束节点分段,每一段包括一个结束节点及其所有前序节点,不同段可以有相同的重复节点,用步骤5.1中方法算出每一段的关键路径,整合后作为整个调用关系图的关键路径。
[0011]本专利技术的一种函数级作业分布式智能分解方法具有以下优点:本专利技术的分解方案的形成对作业分解领域专家经验没有太多依赖,经该方案分解的作业比未经分解在分布式计算系统中具有更优秀的计算效率,而且分解方法的性能会随着作业分解、运行记录的增多而提升。本专利技术使用开源软件Ray,实现了大型作业的智能分解、自动调度,加快了计算密集型作业的运算速度、提升了分布式系统算力的使用效率。其实现方法灵活可靠、对作业源码侵入极少,以较低的成本达成较高的运算效率。
附图说明
[0012]图1为本专利技术的函数级作业分布式智能分解方法流程图;图2为本专利技术的函数调用关系图分解示例图;图3为本专利技术的预测算法、模型原理图。
具体实施方式
[0013]为了更好地了解本专利技术的目的、结构及功能,下面结合附图,对本专利技术一种函数级作业分布式智能分解方法做进一步详细的描述。
[0014]如图1所示,本专利技术的一种函数级作业分布式智能分解方法,包括以下步骤:步骤一:用户选用系统中已有的预测模型,或提前基于沙箱实验数据和机器学习回归算法以离线训练方式得到作业运行时间预测模型,用于后续步骤;1.1:在系统中已有函数运行时间预测模型时,用户可以直接选择现有模型用于后续步骤,步骤一由此结束;在没有现成模型可选,或用户希望自行训练模型时,通过以下步骤训练获得模型;1.2:模型训练数据准备:当系统和用户没有任何作业运行的真实历史数据时,系统可以依靠沙箱实验获得一些函数输入、输出、代码量、代码结构和对应的运行时间记录,解决冷启动问题;当系统中已有作业运行记录时,系统可以使用这些信息进行模型的重新训练,在已有的模型的基础上开发出预测精度更高的模型;1.3:选择回归算法并训练:回归算法的核心特点是其预测目标为连续型变量,因此从线性回归、LASSO、随机森林回归、XGBoost回归或其他机器学习回归算法中任意选择一种或多种,均可训练得到函数运行时间预测模型,根据不同的难度、工作量投入、产出模型精度等,采用以下三种不同的训练方法进行训练:(1)基于上述所选的其中一个机器学习回归算法进行简单的训练;(2)基于同样的数据、针对选定算法调试各种超参数后选择最佳超参数后进行训练;(3)选择多个算法、超参数组合后选出最佳算法+超参数进行组合训练。训练后选择最佳模型用于后续步骤,步骤一由此结束。
[0015]步骤二:用户提交作业源码至作业分解系统;步骤三:作业分解系统分析作业源码中的函数调用关系和作业各阶段的数据来源,形成调用关系图,如图2所示,其中每个节点表示一个函数或一个输入数据集,节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种函数级作业分布式智能分解方法,其特征在于,包括以下步骤:步骤1:用户选用系统中已有的预测模型,或提前基于沙箱实验数据和机器学习回归算法以离线训练方式得到作业运行时间预测模型,用于后续步骤;步骤2:用户提交作业源码至作业分解系统;步骤3:作业分解系统分析作业源码中的函数调用关系和作业各阶段的数据来源,形成调用关系图;步骤4:基于各节点的特征信息和用户在步骤1中生成或选用的模型,预测出步骤3中每个节点的预计运行时间,作为调用关系图中每条边的权重;步骤5:用图算法算出调用关系图中从开始到结束的关键路径;步骤6:基于步骤4的计算结果,把位于连接关键路径节点的路径上、但不在关键路径上的函数各归为一组,每一组内的函数将被调度到同一计算节点运行,由此形成函数级分解方案;步骤7:在代码相应位置插入Ray修饰符,完成分解。2.根据权利要求1所述的函数级作业分布式智能分解方法,其特征在于,所述步骤1在系统中已有函数运行时间预测模型时,用户可以直接选择现有模型用于后续步骤,步骤1由此结束。3.根据权利要求1所述的函数级作业分布式智能分解方法,其特征在于,所述步骤1在没有现成模型可选,或用户希望自行训练模型时,通过以下步骤训练获得模型:步骤1.1:模型训练数据准备:当系统和用户没有任何作业运行的真实历史数据时,系统依靠沙箱实验获得一些函数输入、输出、代码量、代码结构和对应的运行时间记录,解决冷启动问题;当系统中已有作业运行记录时,系统使用这些信息进行模型的重新训练,在已有的模型的基础上开发出预测精度更高的模型;步骤1.2:选择回归算法并训练:从机器学习回归算法中任选择一种多种进行训练,具体方法是使用步骤1.1中的训练数据,对选定算法...

【专利技术属性】
技术研发人员:沈筠霏
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1