本技术涉及云计算,尤其涉及一种服务器无感知资源配置的系统及方法。
背景技术:
1、服务器无感知计算可以自动部署用户代码、根据用户需求进行资源扩缩容和计费,这给云应用的开发者提供了极大的便利和较低的成本。也吸引开发者将他们的云应用迁移到服务器无感知计算的平台上。开发者通常会将他们的云应用组织成服务器无感知工作流,工作流的每一个节点对应一个服务器无感知函数,工作流中节点的连边表示两个函数之间的数据依赖,通过这种定义,云应用可以部署到服务器无感知计算平台上,按需计费按量扩缩容。
2、当开发云应用程序时,开发者通常寻求在关键性能指标上达到一定标准,如端到端的延迟(也就是工作流的运行时间)和运行成本。这些应用程序在运行时,延迟和成本之间存在一种天然的权衡关系。分配更多资源可以减少延迟,但这会相应增加成本;而资源分配较少则可能导致延迟增加,但能降低成本。用户通常会设定特定的延迟或成本界限,并期望服务器的无感知计算平台能够提供足够的计算资源,以满足这些设定的延迟和成本界限。目前主流的系统要么不支持自动配置工作流不同节点函数的资源,要么在拟合函数的性能-资源关系时不够准确,上述缺陷导致现有的系统无法提供最优的资源配置,导致用户指定的性能界限无法满足,或者导致提供的资源无法被充分利用造成成本的浪费。
技术实现思路
1、有鉴于此,本技术提供一种服务器无感知资源配置的系统。旨在使得对服务器无感知计算的资源配置在满足用户要求的延迟(或成本)界限的同时,达到成本(或延迟)的最优化。
2、在本技术实施例的第一方面,提供了一种服务器无感知资源配置的系统,所述系统包括:编排器、函数运行模块;所述编排器包括任务分析模块和资源配置自动生成模块;
3、所述任务分析模块,用于对用户提交的任务的历史运行信息进行分析,确定所述任务中各个阶段各自对应的运行时间模型和成本模型;
4、所述资源配置自动生成模块,用于根据所述运行时间模型、所述成本模型、用户指定的性能界限和所述任务,生成所述任务对应的最优资源配置策略;
5、所述函数运行模块,用于基于所述最优资源配置策略,对所述任务进行执行。
6、可选的,所述任务分析模块,包括:
7、运行时间模型构建模块,用于根据所述历史运行信息,对所述任务中各个阶段各自的运行时间函数进行拟合,获得所述任务中各个阶段各自对应的运行时间模型;
8、成本模型构建模块,用于将所述任务中各个阶段各自对应的运行时间模型分别与计费因子相乘,获得所述任务中各个阶段各自对应的成本模型。
9、可选的,所述运行时间模型构建模块,包括:
10、第一构建模块,用于根据所述历史运行信息,对所述任务中各个阶段各自的初始化运行时间函数中的随机变量进行拟合,获得所述任务中各个阶段各自对应的第一运行时间模型;
11、第二构建模块,用于根据所述历史运行信息,对所述任务中各个阶段各自的数据读写运行时间函数中的随机变量进行拟合,获得所述任务中各个阶段各自对应的第二运行时间模型;
12、第三构建模块,用于根据所述历史运行信息,对所述任务中各个阶段各自的计算运行时间函数中的随机变量进行拟合,获得所述任务中各个阶段各自对应的第三运行时间模型;
13、运行时间模型构建子模块,用于基于所述任务中各个阶段各自对应的第一运行时间模型、第二运行时间模型、第三运行时间模型,确定所述任务中各个阶段各自对应的运行时间模型。
14、可选的,所述资源配置自动生成模块,包括:
15、数学模型构建模块,用于根据所述运行时间模型、所述成本模型、用户指定的性能界限和所述任务,构建所述任务的数学模型,所述数学模型包括目标函数和约束条件;
16、采样模块,用于在拟合获得的所述数学模型中的各个随机变量各自的拟合范围内,对所述各个随机变量进行采样,获得第一目标函数和第一约束条件;
17、求解模块,用于基于所述第一目标函数和所述第一约束条件,确定所述任务的最优资源配置策略。
18、可选的,所述采样模块,包括:
19、第一采样模块,用于在拟合获得的所述数学模型的约束条件中的各个随机变量各自的拟合范围内,对所述各个随机变量进行预设次数采样,获得所述第一约束条件;
20、第二采样模块,用于在拟合获得的所述数学模型的目标函数中的各个随机变量各自的拟合范围内,对所述各个随机变量进行均值采样,获得第一目标函数。
21、可选的,所述第一采样模块,还包括:
22、采样次数确定模块,用于通过预设算法确定所述预设次数的取值。
23、可选的,所述第一采样模块,包括:
24、第一采样子模块,用于在拟合获得的所述数学模型的约束条件中的各个随机变量各自的拟合范围内,对所述各个随机变量进行预设次数采样,获得对应的预设个数的初始约束条件;
25、约束条件剪枝模块,用于根据预设规则,对所述预设个数的初始约束条件进行冗余剪枝,获得冗余剪枝后剩余的初始约束条件,所述剩余的初始约束条件构成所述第一约束条件。
26、可选的,所述求解模块,包括:
27、局部最优资源配置确定模块,用于基于所述第一目标函数和所述第一约束条件,通过梯度下降算法,确定局部最优资源配置;
28、最优资源配置策略确定模块,用于基于确定的所述局部最优资源配置,在所述局部最优资源位置周围确定可行的最优资源配置策略。
29、可选的,所述编排器还包括函数日志模块;
30、所述函数日志模块,用于记录各个任务进行执行后获得的运行信息,以形成所述各个任务各自的历史运行信息。
31、本技术第二方面提供一种服务器无感知资源配置的方法,所述方法包括:
32、对用户提交的任务的历史运行信息进行分析,确定所述任务中各个阶段各自对应的运行时间模型和成本模型;
33、根据所述运行时间模型、所述成本模型、用户指定的性能界限和所述任务,生成所述任务对应的最优资源配置策略;
34、基于所述最优资源配置策略,对所述任务进行执行。
35、针对在先技术,本技术具备如下优点:
36、本技术实施例提供的一种服务器无感知资源配置的系统,该系统包括:编排器、函数运行模块;编排器包括任务分析模块和资源配置自动生成模块;任务分析模块,用于对用户提交的任务的历史运行信息进行分析,确定任务中各个阶段各自对应的运行时间模型和成本模型;资源配置自动生成模块,用于根据运行时间模型、成本模型、用户指定的性能界限和任务,生成任务对应的最优资源配置策略;函数运行模块,用于基于最优资源配置策略,对任务进行执行。由此,在确定最优资源配置策略时,进行考虑任务的性能界限的同时考虑任务的运行时间模型和成本模型来确定最优资源配置策略,从而使得对服务器无感知计算的资源配置在满足用户要求的延迟(或成本)界限的同时,达到成本(或延迟)的最优化。
37、上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。