System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种面向serverless函数流应用的并行度自适应调优方法和系统,属于软件维护。
技术介绍
1、近年来,随着云计算的发展,serverless技术(又称服务器无感知计算技术)在企业软件开发领域获得了广泛的应用。作为一种新型的云计算范式,serverless突出了函数作为基本的计算单元的概念,为开发者提供了一个高效而简洁的业务逻辑编写方法。此种方法允许开发者以函数为粒度编写代码,从而集中关注核心的业务逻辑,而将运维、资源分配等后端问题交由云服务提供商自动处理。
2、基于这种模式,serverless函数流应用(serverless function flowapplications)应运而生。这类应用通过组织和连接多个函数,组合多种计算结构,如函数串行(sequential),函数并行(parallel)以及fork-join结构,形成一个函数流图,实现了复杂的分布式数据处理流程,尤其在大数据处理和ai推理场景中展现出强大的能力。例如,serverless函数流可用于构建大数据批处理程序、ai视频分类任务流水线等。
3、与传统的流计算任务不同,serverless上的函数流应用具有无服务器、执行时间短、强伸缩性、按需计费等特点。这些特点为并行度调优问题带来了新的约束条件和优化目标,中心化并行调度装置不再适用,更适合在每个函数上运行分布式调优装置。而调优serverless函数流应用并行度的关键在于优化其内部的fork-join结构。与固定的并行执行节点的parallel结构,fork-joi
4、目前的并行度调优方法主要集中在静态设置并行度和基于线性模型的局部调整上。静态设置并行度在函数流创建时设置一个固定的并行度,缺点在于无法根据输入数据规模动态调整并行度。而基于线性模型的策略试图根据输入数据规模和并行度之间的关系进行调整,但这往往仅仅关注了局部特性,忽视了并行算法可能不完全遵循线性规律,同时也缺乏根据执行时间的实际反馈进行自适应调整的能力。这些方法或缺乏自适应性,或难以实现整体的函数流图结构优化,因此很难达到全局最优。
技术实现思路
1、专利技术目的:本专利技术提供一种针对并行度的自适应调优方法,目的在于解决现有技术在并行度调优的动态性、自适应性以及全局优化方面的不足等问题。本专利技术通过设计函数流图描述api使用代码组织函数流图,对函数流图进行自动性能实验并采集数据,建模函数流图代价模型实现离线的全局优化求解,并对每个fork-join结构实现在线的自适应调整策略,从而实现对函数流应用整体的并行度自适应调优,以在满足函数流执行时间限制的前提下,尽量降低函数计算成本。
2、技术方案:一种面向serverless函数流应用的并行度自适应调优方法,包括以下内容:
3、(1)设计函数流图描述api,描述图上节点函数以及函数与函数之间的连接关系;该api提供函数通信算子用于函数与其他函数进行通信,以及函数流图计算结构算子用于描述函数流图常见计算结构。
4、(2)根据用户指定的测试数据范围,建立数据规模-并行度二元参数网格,并自动地在serverless平台上运行函数流应用。每个函数节点运行时记录执行时间,将这些信息添加到执行上下文中,通过函数通信算子传递给下一个节点。
5、对输入数据规模与并行度两个参数进行网格搜索,运行函数流图,并利用推导出的函数流图拓扑结构,得到各个函数执行时间。
6、(3)支持从执行上下文中推导出函数流图拓扑结构以及执行时间作为的边权。利用函数流图输出节点返回的执行上下文中的函数调用信息,推导出函数流图拓扑结构。利用函数执行时间与通信延迟,计算函数流图边权。
7、(4)根据函数流性能拓扑图,利用约束配置和计算成本,建立全局并行度-时间-计算成本代价模型(简称ptc模型),对并行度向量进行优化求解;
8、利用函数流图性能拓扑结构、节点申请的cpu资源大小和执行时间等信息构建函数流图的全局并行度-时间-计算成本代价模型。利用已有的整数规划求解技术,离线计算出可接受的并行度向量全局优化解。
9、(5)设计基于基础并行度预测以及延迟补偿函数的自适应并行度预测函数,能够实时的调整fork-join计算结构的并行度。
10、利用输入数据规模-并行度向量、输入数据规模-执行时间,使用已有的多项式拟合技术,为每个fork-join结构构建并行度预测函数,并通过补偿函数增强自适应功能。该预测函数将用于在线预测可行的并行度。
11、本专利技术与具体的serverless平台、编程语言、函数流应用场景相独立,不对serverless平台进行修改,具有良好的泛化性。
12、所述(1)中,具体包括:
13、(11)函数通信算子作为中间层,包装了底层serverless平台提供的通信api,如http。由于serverless按需使用的特点,每次调用会创建不同的函数示例,而非像微服务那样能够长时间运行并循环接收、处理请求。所以在serverless上实现流式应用需要对通信api进行一些适配。本专利技术函数通信采取异步方案,即当前函数在向下一个函数发起通信后,若收到通信成功回执,则代表本次通信完成,而不需要等待下一个函数执行完成并返回结果。
14、(12)函数通信算子具备解析输入和传递执行上下文的功能。在通信过程中,将输入和执行上下文打包为同一个json对象。在通信完成后,将json对象解包为函数输入和执行上下文。
15、(13)在函数与函数之间通信时,函数通信算子将记录发起方和接收方,作为函数调用关系信息,添加到执行上下文中,用于后续的函数流图拓扑结构推导。同时函数通信算子将统计通信之间的延迟,并记录到执行上下文中。
16、(14)函数流图计算结构算子用于描述函数流图中三种计算结构,sequential、parallel与fork-join。这些算子统一采用类似于尾递归调用的模式,即在函数结束前,统计函数执行时间并添加到执行上下文中,然后与下一个函数进行通信,当通信完成后,结束自身的执行。sequential只向一个函数发起通信,并结束当前函数。parallel同时向多个函数发起通信,然后结束当前函数。fork-join较为复杂,首先当前函数作为fork函数,根据并行度将输入数据划分为多个子数据,然后与并行度个执行函数executor以及1个join函数发起通信,结束fork函数。之后,joi本文档来自技高网...
【技术保护点】
1.一种面向Serverless函数流应用的并行度自适应调优方法,其特征在于,包括以下内容:
2.根据权利要求1所述的面向Serverless函数流应用的并行度自适应调优方法,其特征在于,所述(1)中,具体包括:
3.根据权利要求1所述的面向Serverless函数流应用的并行度自适应调优方法,其特征在于,所述(2)中,具体包括:
4.根据权利要求1所述的面向Serverless函数流应用的并行度自适应调优方法,其特征在于,所述(3)中,具体包括:
5.根据权利要求1所述的面向Serverless函数流应用的并行度自适应调优方法,其特征在于,所述(4)中,PTC模型优化装置具体包括:
6. 根据权利要求5所述的面向Serverless函数流应用的并行度自适应调优方法,其特征在于,所述PTC 模型具体包括:
7.根据权利要求1所述的面向Serverless函数流应用的并行度自适应调优方法,其特征在于,所述(5)中具体包括:
8. 一种面向Serverless函数流应用的并行度自适应调优系统,其特征在
9.一种计算机设备,其特征在于:该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如权利要求1-7中任一项所述的面向Serverless函数流应用的并行度自适应调优方法。
10.一种计算机可读存储介质,其特征在于:该计算机可读存储介质存储有执行如权利要求1-7中任一项所述的面向Serverless函数流应用的并行度自适应调优方法的计算机程序。
...【技术特征摘要】
1.一种面向serverless函数流应用的并行度自适应调优方法,其特征在于,包括以下内容:
2.根据权利要求1所述的面向serverless函数流应用的并行度自适应调优方法,其特征在于,所述(1)中,具体包括:
3.根据权利要求1所述的面向serverless函数流应用的并行度自适应调优方法,其特征在于,所述(2)中,具体包括:
4.根据权利要求1所述的面向serverless函数流应用的并行度自适应调优方法,其特征在于,所述(3)中,具体包括:
5.根据权利要求1所述的面向serverless函数流应用的并行度自适应调优方法,其特征在于,所述(4)中,ptc模型优化装置具体包括:
6. 根据权利要求5所述的面向serverless函数流应用的并行度自适应调优方法,其特征在于,所述ptc 模型具体包括:
7....
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。