CN114997417A - 一种函数级作业分布式智能分解方法 - Google Patents
一种函数级作业分布式智能分解方法 Download PDFInfo
- Publication number
- CN114997417A CN114997417A CN202210620107.0A CN202210620107A CN114997417A CN 114997417 A CN114997417 A CN 114997417A CN 202210620107 A CN202210620107 A CN 202210620107A CN 114997417 A CN114997417 A CN 114997417A
- Authority
- CN
- China
- Prior art keywords
- function
- model
- decomposition
- node
- data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于计算机操作系统、机器学习建模技术领域,公开了一种函数级作业分布式智能分解方法,通过分析作业源代码,形成基于函数调用关系的有向无环图,结合函数输入输出等特征,预估各函数运行时间后,得出作业最佳分解方案,并在代码中插入修饰符完成分解。分解方案的形成对作业分解领域专家经验没有太多依赖,经该方案分解的作业比未经分解在分布式计算系统中具有更优秀的计算效率,而且分解方法的性能会随着作业分解、运行记录的增多而提升。本发明实现了大型作业的智能分解、自动调度,加快了计算密集型作业的运算速度、提升了分布式系统算力的使用效率。其实现方法灵活可靠、对作业源码侵入极少,以较低的成本达成较高的运算效率。
Description
技术领域
本发明属于计算机操作系统、机器学习建模技术领域,尤其涉及一种函数级作业分布式智能分解方法。
背景技术
随着大数据和人工智能技术的发展,海量数据的存储和使用导致了业界、学界对计算机算力需求的巨大增长,且相关领域对算力需求的增长速度远高于算力本身的发展速度,这使得算力在某种程度上成为了人工智能、尤其是深度学习领域发展的瓶颈之一。在此类需求的驱动下,各类分布式计算技术应运而生,通过接入更多计算设备,为用户带来更多算力:网格计算、志愿计算搭建起了算力共享机制,使组织和个人能够把自有闲置算力分享给需要更多算力的组织,实现了算力资源有效利用;商业化云计算的普及和兴起使消费者能够以经济、便捷的方式租用计算资源,缓解了算力需求与硬件成本带来的压力。
总体而言,以上分布式技术主要依赖算力在数量上的堆砌,而对于如何通过精细化匹配作业与计算资源从而发挥算力的最大作用、提高计算效率,尚无有效方案。
发明内容
本发明目的在于提供一种函数级作业分布式智能分解方法,以解决上述的技术问题。
为解决上述技术问题,本发明的一种函数级作业分布式智能分解方法的具体技术方案如下:
一种函数级作业分布式智能分解方法,包括以下步骤:
步骤1:用户选用系统中已有的预测模型,或提前基于沙箱实验数据和机器学习回归算法以离线训练方式得到作业运行时间预测模型,用于后续步骤;
步骤2:用户提交作业源码至作业分解系统;
步骤3:作业分解系统分析作业源码中的函数调用关系和作业各阶段的数据来源,形成调用关系图;
步骤4:基于各节点的特征信息和用户在步骤1中生成或选用的模型,预测出步骤3中每个节点的预计运行时间,作为调用关系图中每条边的权重;
步骤5:用图算法算出调用关系图中从开始到结束的关键路径;
步骤6:基于步骤4的计算结果,把位于连接关键路径节点的路径上、但不在关键路径上的函数各归为一组,每一组内的函数将被调度到同一计算节点运行,由此形成函数级分解方案;
步骤7:在代码相应位置插入Ray修饰符,完成分解。
进一步地,所述步骤1在系统中已有函数运行时间预测模型时,用户可以直接选择现有模型用于后续步骤,步骤1由此结束。
进一步地,所述步骤1在没有现成模型可选,或用户希望自行训练模型时,通过以下步骤训练获得模型:
步骤1.1:模型训练数据准备:当系统和用户没有任何作业运行的真实历史数据时,系统依靠沙箱实验获得一些函数输入、输出、代码量、代码结构和对应的运行时间记录,解决冷启动问题;当系统中已有作业运行记录时,系统使用这些信息进行模型的重新训练,在已有的模型的基础上开发出预测精度更高的模型;
步骤1.2:选择回归算法并训练:从机器学习回归算法中任选择一种多种进行训练,具体方法是使用步骤1.1中的训练数据,对选定算法在一组或多组超参数下进行拟合、验证,得出表现最佳的算法、参数组合,作为最终选定的预测模型。
进一步地,所述步骤3中的调用关系图中每个节点表示一个函数或一个输入数据集,节点之间用有向边连接,代表节点运行的顺序关系;与此同时,系统收集每一个节点的输入、输出、代码量、代码结构信息、函数运行时间并存档。
进一步地,所述步骤4具体包括如下步骤:
步骤4.1:系统在实际运行过程中抓取当前作业中函数的输入、输出、代码量、代码结构、函数运行时间信息,用于数据按一定规范处理后实时预测各函数节点的运行时间和存档用于模型的离线重新训练;
步骤4.2:系统实时对步骤4.1中收集到的数据进行处理变换,直至数据格式与步骤1中用于模型训练的输入格式完全一致,把经过充分处理的数据输入步骤1选定或训练的模型中,获得模型输出的相应节点的运行时间预测值;
步骤4.3:用户手动或系统自动定期基于步骤4.1中存档的数据,使用原有算法或新的回归算法,重新训练函数运行时间预测模型,在反复迭代中持续提升函数运行时间预测模型的准确度。
进一步地,所述步骤5包括如下具体步骤:
步骤5.1:如果待分解的调用关系图中只有一个结束节点,直接算出从开始节点到结束节点的关键路径;
步骤5.2:如果待分解的调用关系图中有多个结束节点,把调用关系图按结束节点分段,每一段包括一个结束节点及其所有前序节点,不同段可以有相同的重复节点,用步骤5.1中方法算出每一段的关键路径,整合后作为整个调用关系图的关键路径。
本发明的一种函数级作业分布式智能分解方法具有以下优点:本发明的分解方案的形成对作业分解领域专家经验没有太多依赖,经该方案分解的作业比未经分解在分布式计算系统中具有更优秀的计算效率,而且分解方法的性能会随着作业分解、运行记录的增多而提升。本发明使用开源软件Ray,实现了大型作业的智能分解、自动调度,加快了计算密集型作业的运算速度、提升了分布式系统算力的使用效率。其实现方法灵活可靠、对作业源码侵入极少,以较低的成本达成较高的运算效率。
附图说明
图1为本发明的函数级作业分布式智能分解方法流程图;
图2为本发明的函数调用关系图分解示例图;
图3为本发明的预测算法、模型原理图。
具体实施方式
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种函数级作业分布式智能分解方法做进一步详细的描述。
如图1所示,本发明的一种函数级作业分布式智能分解方法,包括以下步骤:
步骤一:用户选用系统中已有的预测模型,或提前基于沙箱实验数据和机器学习回归算法以离线训练方式得到作业运行时间预测模型,用于后续步骤;
1.1 :在系统中已有函数运行时间预测模型时,用户可以直接选择现有模型用于后续步骤,步骤一由此结束;在没有现成模型可选,或用户希望自行训练模型时,通过以下步骤训练获得模型;
1.2 :模型训练数据准备:当系统和用户没有任何作业运行的真实历史数据时,系统可以依靠沙箱实验获得一些函数输入、输出、代码量、代码结构和对应的运行时间记录,解决冷启动问题;当系统中已有作业运行记录时,系统可以使用这些信息进行模型的重新训练,在已有的模型的基础上开发出预测精度更高的模型;
1.3 :选择回归算法并训练:回归算法的核心特点是其预测目标为连续型变量,因此从线性回归、LASSO、随机森林回归、XGBoost回归或其他机器学习回归算法中任意选择一种或多种,均可训练得到函数运行时间预测模型,根据不同的难度、工作量投入、产出模型精度等,采用以下三种不同的训练方法进行训练:(1)基于上述所选的其中一个机器学习回归算法进行简单的训练;(2)基于同样的数据、针对选定算法调试各种超参数后选择最佳超参数后进行训练;(3)选择多个算法、超参数组合后选出最佳算法+超参数进行组合训练。训练后选择最佳模型用于后续步骤,步骤一由此结束。
步骤二:用户提交作业源码至作业分解系统;
步骤三:作业分解系统分析作业源码中的函数调用关系和作业各阶段的数据来源,形成调用关系图,如图2所示,其中每个节点表示一个函数或一个输入数据集,节点之间用有向边连接,代表节点运行的顺序关系;与此同时,系统收集每一个节点的输入、输出、代码量、代码结构信息、函数运行时间并存档;
步骤四:基于各节点的特征信息和用户在步骤一中生成或选用的模型,预测出步骤三中每个节点的预计运行时间,作为调用关系图中每条边的权重;注意一个函数通常只被定义一次,但可以被调用多次,因此一个函数在调用关系图中可能作为节点出现多次,且带有不同权重的边;
4.1:系统在实际运行过程中抓取当前作业中函数的输入、输出、代码量、代码结构、函数运行时间信息,出于两个目的:1.用于数据按一定规范处理后实时预测各函数节点的运行时间,2. 存档用于模型的离线重新训练;
4.2:如图3所示,系统实时对4.1中收集到的数据进行处理变换,直至数据格式与步骤一中用于模型训练的输入格式完全一致,把经过充分处理的数据输入步骤一选定或训练的模型中,即可获得模型输出的相应节点的运行时间预测值;
4.3:用户手动或系统自动定期基于4.1中存档的数据,使用原有算法或新的回归算法,重新训练函数运行时间预测模型,在反复迭代中持续提升函数运行时间预测模型的准确度,从而提升作业分解系统的整体性能。
步骤五:用图算法算出调用关系图中从开始到结束的关键路径;
5.1:如果待分解的调用关系图中只有一个结束节点,直接算出从开始节点到结束节点的关键路径;
5.2:如果待分解的调用关系图中有多个结束节点,把调用关系图按结束节点分段,每一段包括一个结束节点及其所有前序节点(不同段可以有相同的重复节点),用步骤5.1中方法算出每一段的关键路径,整合后作为整个调用关系图的关键路径。
步骤六:基于步骤四的计算结果,把位于连接关键路径节点的路径上、但不在关键路径上的函数各归为一组,每一组内的函数将被调度到同一计算节点运行,由此形成函数级分解方案;
步骤七:在代码相应位置插入Ray修饰符,完成分解。
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。
Claims (6)
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中的训练数据,对选定算法在一组或多组超参数下进行拟合、验证,得出表现最佳的算法、参数组合,作为最终选定的预测模型。
4.根据权利要求1所述的函数级作业分布式智能分解方法,其特征在于,所述步骤3中的调用关系图中每个节点表示一个函数或一个输入数据集,节点之间用有向边连接,代表节点运行的顺序关系;与此同时,系统收集每一个节点的输入、输出、代码量、代码结构信息、函数运行时间并存档。
5.根据权利要求1所述的函数级作业分布式智能分解方法,其特征在于,所述步骤4具体包括如下步骤:
步骤4.1:系统在实际运行过程中抓取当前作业中函数的输入、输出、代码量、代码结构、函数运行时间信息,用于数据按一定规范处理后实时预测各函数节点的运行时间和存档用于模型的离线重新训练;
步骤4.2:系统实时对步骤4.1中收集到的数据进行处理变换,直至数据格式与步骤1中用于模型训练的输入格式完全一致,把经过充分处理的数据输入步骤1选定或训练的模型中,获得模型输出的相应节点的运行时间预测值;
步骤4.3:用户手动或系统自动定期基于步骤4.1中存档的数据,使用原有算法或新的回归算法,重新训练函数运行时间预测模型,在反复迭代中持续提升函数运行时间预测模型的准确度。
6.根据权利要求1所述的函数级作业分布式智能分解方法,其特征在于,所述步骤5包括如下具体步骤:
步骤5.1:如果待分解的调用关系图中只有一个结束节点,直接算出从开始节点到结束节点的关键路径;
步骤5.2:如果待分解的调用关系图中有多个结束节点,把调用关系图按结束节点分段,每一段包括一个结束节点及其所有前序节点,不同段可以有相同的重复节点,用步骤5.1中方法算出每一段的关键路径,整合后作为整个调用关系图的关键路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210620107.0A CN114997417A (zh) | 2022-06-02 | 2022-06-02 | 一种函数级作业分布式智能分解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210620107.0A CN114997417A (zh) | 2022-06-02 | 2022-06-02 | 一种函数级作业分布式智能分解方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114997417A true CN114997417A (zh) | 2022-09-02 |
Family
ID=83030834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210620107.0A Pending CN114997417A (zh) | 2022-06-02 | 2022-06-02 | 一种函数级作业分布式智能分解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114997417A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991563A (zh) * | 2023-09-28 | 2023-11-03 | 之江实验室 | 一种支持快速构建沙箱的队列生成方法及装置 |
-
2022
- 2022-06-02 CN CN202210620107.0A patent/CN114997417A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991563A (zh) * | 2023-09-28 | 2023-11-03 | 之江实验室 | 一种支持快速构建沙箱的队列生成方法及装置 |
CN116991563B (zh) * | 2023-09-28 | 2023-12-22 | 之江实验室 | 一种支持快速构建沙箱的队列生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106096727B (zh) | 一种基于机器学习的网络模型构造方法及装置 | |
CN109993299A (zh) | 数据训练方法及装置、存储介质、电子装置 | |
CN109933306A (zh) | 混合计算框架生成、数据处理方法、装置及混合计算框架 | |
CN106547882A (zh) | 一种智能电网中营销大数据的实时处理方法及系统 | |
CN107609141A (zh) | 一种对大规模可再生能源数据进行快速概率建模方法 | |
CN114997417A (zh) | 一种函数级作业分布式智能分解方法 | |
CN116245019A (zh) | 一种基于Bagging抽样及改进随机森林算法的负荷预测方法、系统、装置及存储介质 | |
Han et al. | Accelerating deep learning systems via critical set identification and model compression | |
CN116843083A (zh) | 基于混合神经网络模型的碳排放预测系统及方法 | |
CN113869332A (zh) | 一种特征选择方法、装置、存储介质和设备 | |
CN113762514A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN117149410A (zh) | 一种基于ai智能模型训练调度指挥监控系统 | |
CN115310209B (zh) | 基于vae的气动形状迁移优化方法及相关装置 | |
CN109889366B (zh) | 网络流量增量统计、分析方法及系统 | |
CN112149826B (zh) | 深度神经网络推理计算中一种基于Profile图的优化方法 | |
CN112817560B (zh) | 一种基于表函数的计算任务处理方法、系统及计算机可读存储介质 | |
CN116956994A (zh) | 业务平台扩容预测方法及装置 | |
CN113806077A (zh) | 基于人工智能的数据中心服务器调控方法及装置 | |
CN115525927A (zh) | 基于人工智能的科技成果转化数据智能监测方法及系统 | |
Du et al. | OctopusKing: A TCT-aware task scheduling on spark platform | |
CN109145518B (zh) | 一种大型复杂装备可靠性决策图模型构造方法 | |
Franceschini et al. | Decentralized approach for efficient Simulation of DEVS models | |
Vallabhajosyula et al. | Establishing a Generalizable Framework for Generating Cost-Aware Training Data and Building Unique Context-Aware Walltime Prediction Regression Models | |
Syrotkina et al. | Graphical and analytical methods for processing “Big Data” based on the analysis of their properties | |
CN112650770B (zh) | 基于query workload分析的MySQL参数推荐方法 |
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 |