CN117421126A - 一种多租户无服务器平台资源管理方法 - Google Patents

一种多租户无服务器平台资源管理方法 Download PDF

Info

Publication number
CN117421126A
CN117421126A CN202311517433.XA CN202311517433A CN117421126A CN 117421126 A CN117421126 A CN 117421126A CN 202311517433 A CN202311517433 A CN 202311517433A CN 117421126 A CN117421126 A CN 117421126A
Authority
CN
China
Prior art keywords
output result
resource management
performance data
tenant server
sample
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
Application number
CN202311517433.XA
Other languages
English (en)
Inventor
彭放
纪鑫
张乐
李君婷
陈屹婷
安然
吴文峻
张奎
陈睿博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Big Data Center Of State Grid Corp Of China
Original Assignee
Big Data Center Of State Grid Corp Of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Big Data Center Of State Grid Corp Of China filed Critical Big Data Center Of State Grid Corp Of China
Priority to CN202311517433.XA priority Critical patent/CN117421126A/zh
Publication of CN117421126A publication Critical patent/CN117421126A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种多租户无服务器平台资源管理方法。该方法包括:获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果;将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型,得到所述目标模型对应的资源管理决策输出结果;根据所述目标模型对应的资源管理决策输出结果确定所述多租户无服务器平台的当前资源管理行为。通过本发明的技术方案,能够将应用程序开发人员从资源提供和扩展等基础设施管理任务中解放出来,不完全依赖于人工根据经验设置的阈值,可以实现性能更好、资源利用率更高的多租户无服务器FaaS平台资源智能化管理。

Description

一种多租户无服务器平台资源管理方法
技术领域
本发明实施例涉及微服务资源管理技术领域,尤其涉及一种多租户无服务器平台资源管理方法。
背景技术
无服务器函数即服务FaaS(Function as a Service,功能服务化)是一种云计算服务,它允许客户无需管理功能的资源分配,例如容器数量的扩展和资源限制的调整,以及功能的服务器调度。相反,这些性能和资源利用率的权衡问题被交给云提供商来处理。资源管理问题,以实现性能和利用率目标,是一个复杂的NP(Nondeterministic Polynomiallyproblem,非确定性多项式难题)难题。尽管通常通过巧妙设计的启发式方法和专业领域专家的经验来解决这些问题,但最近的研究越来越集中在基于学习的方法上,如RL(Reinforcement Learning,强化学习)。
作为生成人工启发式的有效替代方案,RL使代理能够直接从与环境互动中学习最佳策略。由于资源管理问题的决策过程通常是顺序性的,RL非常适用于此类情景。研究已经证明,深度神经网络在这种系统应用环境中能够表达复杂的动态和决策策略。由于为每个无服务器功能生成资源管理决策是高度重复的,因此可以轻松生成大量数据,以用于训练RL算法。通过持续学习,RL代理可以针对特定工作负载进行优化,并适应不断变化的条件。
尽管最近的研究取得了一些进展,但现有的基于RL的解决方案都是S-RL(Single-Reinforcement Learning,单代理RL),即每个RL代理负责控制一个功能。然而,与此不同的是,无服务器FaaS平台是多租户的,多种不同的功能来自不同客户在同一个集群中共享资源。从每个代理的视角来看,多租户环境使得环境变得不稳定,因为它会受到其他代理行为的影响,这违背了支持S-RL算法的标准假设。因为奖励和状态转移取决于所有智能体的协同行动,而这些智能体的决策策略在学习过程中不断变化,所以每个智能体可能会陷入不断适应其他智能体的无限循环中。
现存的这种服务器平台中资源管理算法,存在如下问题:1、隔离性能差;多租户环境中的代理性能应与单租户场景中的单个RL代理性能相当。2、可扩展性不强;无服务器FaaS平台是多租户的,来自不同客户的新功能可以越来越多地注册,现存的管理算法无法精确动态的扩展资源。3、启发式算法的代价高,现存的管理算法一般多是启发式,其根据不同的项目,不同的环境都要设计出一套规则,导致其代价很高。
发明内容
本发明实施例提供一种多租户无服务器平台资源管理方法,以实现能够将应用程序开发人员从资源提供和扩展等基础设施管理任务中解放出来,不完全依赖于人工根据经验设置的阈值,可以实现性能更好、资源利用率更高的多租户无服务器FaaS平台资源智能化管理。
根据本发明的一方面,提供了一种多租户无服务器平台资源管理方法,包括:
获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果;
将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型,得到所述目标模型对应的资源管理决策输出结果;
根据所述目标模型对应的资源管理决策输出结果确定所述多租户无服务器平台的当前资源管理行为。
在本发明的一些实施例中,所述目标模型通过训练样本集迭代训练初始模型得到,所述训练样本集包括:性能数据样本、至少一个其他输出结果样本以及所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果。
在本发明的一些实施例中,通过训练样本集迭代训练初始模型,包括:
建立初始模型;
将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果;
根据所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果,和所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果形成的目标函数训练所述初始模型的参数;
返回执行将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果的操作,直至得到目标模型。
在本发明的一些实施例中,根据所述目标模型对应的资源管理决策输出结果确定所述多租户无服务器平台的当前资源管理行为,包括:
将所述目标模型对应的资源管理决策输出结果输入水平缩放器和垂直缩放器,以使得所述水平缩放器和所述垂直缩放器输出纵向资源扩展行为决策和横向资源扩展行为决策;
将所述纵向资源扩展行为决策和所述横向资源扩展行为决策输入所述多租户无服务器平台,得到所述多租户无服务器平台的当前资源管理行为。
在本发明的一些实施例中,所述多租户无服务器平台的当前资源管理行为包括:水平扩容、垂直扩容或者维持不变。
在本发明的一些实施例中,多租户无服务器平台的当前性能数据包括:功能级性能统计数据和系统级资源利用率统计数据,其中,所述功能级性能统计数据包括:执行时间的尾部延迟、等待时间以及服务功能请求的冷启动时间中的至少一种,所述系统级资源利用率统计数据包括:功能容器的中央处理器利用率。
在本发明的一些实施例中,在将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型之前,还包括:
将所述多租户无服务器平台的当前性能数据进行预处理,以使所述多租户无服务器平台的所有当前性能数据的格式均为预设格式。
根据本发明的另一方面,提供了一种多租户无服务器平台资源管理装置,该装置包括:
获取模块,用于获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果;
输入模块,用于将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型,得到所述目标模型对应的资源管理决策输出结果;
确定模块,用于根据所述目标模型对应的资源管理决策输出结果确定所述多租户无服务器平台的当前资源管理行为。
在本发明的一些实施例中,所述目标模型通过训练样本集迭代训练初始模型得到,所述训练样本集包括:性能数据样本、至少一个其他输出结果样本以及所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果。
在本发明的一些实施例中,所述输入模块包括:
建立单元,用于建立初始模型;
第一输入单元,用于将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果;
训练单元,用于根据所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果,和所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果形成的目标函数训练所述初始模型的参数;
执行单元,用于返回执行将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果的操作,直至得到目标模型。
在本发明的一些实施例中,所述确定模块包括:
第二输入单元,用于将所述目标模型对应的资源管理决策输出结果输入水平缩放器和垂直缩放器,以使得所述水平缩放器和所述垂直缩放器输出纵向资源扩展行为决策和横向资源扩展行为决策;
第三输入单元,用于将所述纵向资源扩展行为决策和所述横向资源扩展行为决策输入所述多租户无服务器平台,得到所述多租户无服务器平台的当前资源管理行为。
在本发明的一些实施例中,所述多租户无服务器平台的当前资源管理行为包括:水平扩容、垂直扩容或者维持不变。
在本发明的一些实施例中,多租户无服务器平台的当前性能数据包括:功能级性能统计数据和系统级资源利用率统计数据,其中,所述功能级性能统计数据包括:执行时间的尾部延迟、等待时间以及服务功能请求的冷启动时间中的至少一种,所述系统级资源利用率统计数据包括:功能容器的中央处理器利用率。
在本发明的一些实施例中,还包括:
预处理模块,用于在将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型之前,将所述多租户无服务器平台的当前性能数据进行预处理,以使所述多租户无服务器平台的所有当前性能数据的格式均为预设格式。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的多租户无服务器平台资源管理方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的多租户无服务器平台资源管理方法。
本发明实施例通过获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果,将多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果输入目标模型,得到目标模型对应的资源管理决策输出结果,根据目标模型对应的资源管理决策输出结果确定多租户无服务器平台的当前资源管理行为。通过本发明的技术方案,能够将应用程序开发人员从资源提供和扩展等基础设施管理任务中解放出来,不完全依赖于人工根据经验设置的阈值,可以实现性能更好、资源利用率更高的多租户无服务器FaaS平台资源智能化管理。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例中的一种多租户无服务器平台资源管理方法的流程图;
图2是本发明实施例中的一种多租户无服务器平台资源管理方法的示意图;
图3是本发明实施例中的另一种多租户无服务器平台资源管理方法的示意图;
图4是本发明实施例中的一种多租户无服务器平台资源管理装置的结构示意图;
图5是实现本发明实施例的多租户无服务器平台资源管理方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是本发明实施例中的一种多租户无服务器平台资源管理方法的流程图,本实施例可适用于多租户无服务器平台资源管理的情况,该方法可以由本发明实施例中的多租户无服务器平台资源管理装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:
S101、获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果。
可以知道的是,多租户技术或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。多租户简单来说是指一个单独的实例可以为多个组织服务。
本发明实施例设计了一种基于在线学习算法如RL(Reinforcement Learning,强化学习)的多智能体RL算法,MA-PPO算法(Multi-Agent Proximal Policy Optimization,一个多智能体强化学习算法)来管理多租户无服务器FaaS(Function as a Service,功能服务化)平台(在本实施例中也可称为多租户无服务器平台)的资源,以实现资源利用率更高的智能化管理。
首先,RL代理(在本实施例中也可称为代理)监视来自OpenWhisk数据存储和Linuxcgroups的系统和应用程序条件,其中,OpenWhisk数据存储和Linux cgroups均存在于多租户无服务器平台中。
接下来,对多租户无服务器平台的性能数据进行测量。在本实施例中,当前性能数据可以是多租户无服务器平台当前状态下的性能数据,例如可以包括多租户无服务器平台的一些硬件性能数据以及一些软件行能数据。
在实际操作过程中,每个代理将其他代理视为环境的一部分,每个代理控制一个特定功能的资源管理,并在马尔可夫博弈环境中运作,其通过读取辅助全局信息Gt(其中,Gt表示辅助全局状态空间,包括:聚合资源限制、聚合垂直动作、聚合横向动作、平均服务等级项目保存率、平均资源利用率),其包含了其他代理的状态动作值的聚合和平均信息,这些信息包括其他代理在当前状态下采取的行动(动作值)以及其他代理在当前状态下获得的奖励。这些值的聚合和平均可以为代理提供有关环境中其他代理行为和性能的统计信息,一旦代理获取了其他代理的聚合和平均状态动作值信息,它可以将这些信息用于自己的决策制定和行为选择,从而更具可扩展性和更快地进行训练。
在本实施例中,其他模型可以是指其他代理,其他模型的资源管理决策输出结果包括:其他模型的状态动作值的聚合信息和平均信息。
需要说明的是,每个代理控制一个特定功能的资源管理,即每个代理会输出一个关于多租户无服务器平台的资源管理决策输出结果。
在实现过程中,获取多租户无服务器平台当前的性能数据,判断出多租户无服务器平台当前的运行状态,根据系统和应用程序条件以及多租户无服务器平台当前的运行状态对多租户无服务器平台的资源进行管理。
具体的,获取多租户无服务器平台的当前性能数据,获取环境中存在的所有其他模型的资源管理决策输出结果。
S102、将多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果输入目标模型,得到目标模型对应的资源管理决策输出结果。
其中,目标模型可以是训练好的MA-PPO算法模型。
具体的,将获取到的多租户无服务器平台的当前性能数据和环境中存在的所有其他模型的资源管理决策输出结果输入训练好的MA-PPO算法模型中,得到当前训练好的MA-PPO算法模型输入的多租户无服务器平台中特定功能的资源管理决策输出结果。
S103、根据目标模型对应的资源管理决策输出结果确定多租户无服务器平台的当前资源管理行为。
其中,当前资源管理行为可以是多租户无服务器平台在当前状态下需要进行的扩缩容动作。
具体的,根据目标模型对应的资源管理决策输出结果来确定多租户无服务器平台的当前资源管理行为。
本发明实施例通过获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果,将多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果输入目标模型,得到目标模型对应的资源管理决策输出结果,根据目标模型对应的资源管理决策输出结果确定多租户无服务器平台的当前资源管理行为。通过本发明的技术方案,能够将应用程序开发人员从资源提供和扩展等基础设施管理任务中解放出来,不完全依赖于人工根据经验设置的阈值,可以实现性能更好、资源利用率更高的多租户无服务器FaaS平台资源智能化管理。
可选的,目标模型通过训练样本集迭代训练初始模型得到,训练样本集包括:性能数据样本、至少一个其他输出结果样本以及性能数据样本和至少一个其他输出结果样本对应的目标输出结果。
在本实施例中,训练样本集可以是用于训练初始模型的样本集,初始模型可以是未经训练的MA-PPO算法模型。其中,性能数据样本可以是收集的多租户无服务器平台的若干历史性能数据,输出结果样本可以是其他代理针对多租户无服务器平台输出的历史资源管理决策输出结果,目标输出结果可以是预计的将性能数据样本和至少一个其他输出结果样本输入初始模型后会得到的资源管理决策输出结果。
在实际操作过程中,训练样本集中包括若干组数据,每组数据可以由一个时刻下多租户无服务器平台的性能数据样本、此时刻下至少一个其他代理输出的其他输出结果样本以及此时刻下将上述两者输入初始模型之后预计得到的目标输出结果组成。
可选的,通过训练样本集迭代训练初始模型,包括:
建立初始模型。
具体的,建立初始的未经训练的MA-PPO算法模型。
将训练样本集中的性能数据样本和至少一个其他输出结果样本输入初始模型中得到性能数据样本和至少一个其他输出结果样本对应的预测输出结果。
其中,预测输出结果可以是初始模型根据训练样本集中的性能数据样本和至少一个其他输出结果样本得到的资源管理决策输出结果。
根据性能数据样本和至少一个其他输出结果样本对应的预测输出结果,和性能数据样本和至少一个其他输出结果样本对应的目标输出结果形成的目标函数训练初始模型的参数。
在本实施例中,目标函数可以是损失函数,参数可以是权重。
返回执行将训练样本集中的性能数据样本和至少一个其他输出结果样本输入初始模型中得到性能数据样本和至少一个其他输出结果样本对应的预测输出结果的操作,直至得到目标模型。
在实际操作过程中,通过训练样本集迭代训练初始模型可以表示为:随机初始化网络参数θ0 i中的所有参数i,从K=0开始迭代循环一直循环到K=M,对于每一个智能体执行以下动作:对于每一个时间步t执行策略/>计算价值函数Vt i,在每一个时间步t下,评估优势函数At i,执行完上述小循环后,对每个智能体执行动作:优化目标函数判断是否满足t≤Step,如果是,返回执行从K=0开始迭代循环一直循环到K=M;否则,令t=0,返回执行从K=0开始迭代循环一直循环到K=M,直至M次episode循环完成,得到最终的权重θ,将当前工作负载的状态输入最终权重θ对应的动作价值函数Q中,得到调节pod实施扩缩容的动作。
其中,i表示第i个智能体,θ0 i表示第i个智能体的参数,M表示循环的次数,表示第i个智能体的第k次策略,Vt i表示当前第t个时间步的第i个智能体的价值函数,At i表示t时刻下第i个智能体优势函数,/>表示总的Loss函数(目标函数),δ和β两者为权重,JCLIP(θ)表示Clip的代理目标函数,/>表示PPO的目标函数,H(πθ)表示策略πθ的熵,Step表示每次t结束的标志。
可选的,根据目标模型对应的资源管理决策输出结果确定多租户无服务器平台的当前资源管理行为,包括:
将目标模型对应的资源管理决策输出结果输入水平缩放器和垂直缩放器,以使得水平缩放器和垂直缩放器输出纵向资源扩展行为决策和横向资源扩展行为决策。
在本实施例中,水平缩放器和垂直缩放器可以是用于对多租户无服务器平台进行纵向和横向的资源扩展的工具。
其中,纵向资源扩展行为决策可以是使多租户无服务器平台进行纵向资源扩展行为的决策,横向资源扩展行为决策可以是使多租户无服务器平台进行横向资源扩展行为的决策。
具体的,本实施例同时考虑了多租户无服务器平台纵向和横向的资源扩展行为,将目标模型对应的资源管理决策输出结果输入水平缩放器和垂直缩放器,水平缩放器和垂直缩放器输出纵向资源扩展行为决策和横向资源扩展行为决策。
在本实施例中,考虑纵向的资源扩展行为:具体而言,OpenWhisk中的垂直缩放操作涉及向上或向下调整CPU共享或函数容器的内存限制;考虑横向的资源扩展行为:OpenWhisk中的水平缩放操作涉及向外或在函数容器中进行缩放,即更改函数创建的容器数量。
将纵向资源扩展行为决策和横向资源扩展行为决策输入多租户无服务器平台,得到多租户无服务器平台的当前资源管理行为。
具体的,将水平缩放器和垂直缩放器输出的纵向资源扩展行为决策和横向资源扩展行为决策输入多租户无服务器平台的FaaS控制器,得到多租户无服务器平台的当前资源管理行为,多租户无服务器平台执行当前资源管理行为,最终导致系统状态和功能性能的改变。
可选的,多租户无服务器平台的当前资源管理行为包括:水平扩容、垂直扩容或者维持不变。
在实际操作过程中,多租户无服务器平台的当前资源管理行为可以是水平扩容,水平扩容例如可以是向内或向外缩放容器数量;多租户无服务器平台的当前资源管理行为还可以是垂直扩容,垂直扩容例如可以是向上或向下调整容器数量;多租户无服务器平台的当前资源管理行为也可以是维持不变。
可选的,多租户无服务器平台的当前性能数据包括:功能级性能统计数据和系统级资源利用率统计数据,其中,功能级性能统计数据包括:执行时间的尾部延迟、等待时间以及服务功能请求的冷启动时间中的至少一种,系统级资源利用率统计数据包括:功能容器的中央处理器利用率。
在本实施例中,上述这些性能数据提供了代理在制定资源管理决策时的重要参考信息。
可选的,在将多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果输入目标模型之前,还包括:
将多租户无服务器平台的当前性能数据进行预处理,以使多租户无服务器平台的所有当前性能数据的格式均为预设格式。
示例性的,预处理可以是将多租户无服务器平台的当前性能数据的格式进行统一,统一成预设格式。其中,预设格式可以是由用户预先设置的格式,本发明实施例对此不进行限定。优选的,预设格式例如可以是32字节。
具体的,将多租户无服务器平台的当前性能数据预处理为预设格式,并用于多租户无服务器平台状态的定义。然后,强化学习代理将这些状态映射到资源管理决策。这一步骤是关键的,因为它为代理提供了决策的基础,以优化系统性能和资源利用率。
作为本发明实施例的一个示例性描述,图2是本发明实施例中的一种多租户无服务器平台资源管理方法的示意图。如图2所示,在本实施例中,首先,服务器状态(即多租户无服务器平台的当前性能数据)与其他智能体(即其他模型)的资源管理决策输出结果,作为当前状态和当前奖励输入到智能体(即目标模型)中,智能体(即目标模型)根据策略计算输出资源管理决策输出结果,进而确定多租户无服务器平台的当前资源管理行为(即图2中的动作),如此循环,强化学习是机器学习的范式和方法论之一,描述和解决智能体在与环境交互过程中,通过不断地试错、探索,学习得到最优策略达成奖励最大化或实现特定目标的问题。
作为本发明实施例的一个示例性描述,图3是本发明实施例中的另一种多租户无服务器平台资源管理方法的示意图。如图3所示,强化学习代理在每个时间步长监视系统和应用程序条件,这些条件的监测数据来自OpenWhisk数据存储和Linux cgroups,还有观察Docker集群情况,获取环境变量(图3中的状态和奖励)后,给出动作,其中动作包括对水平或者垂直伸长或者收缩,然后将动作序列传递给水平缩放器和垂直缩放器,然后将动作解析后放到无服务平台Faas中执行,执行动作后,将奖励返回给智能体,这样就形成了闭环。
本发明实施例的技术方案,提出并实现了一种基于近端策略优化的定制多智能体RL算法,即多智能体PPO(MA-PPO)。经实际操作结果表明,本发明实施例的技术方案,在多租户环境中,MA-PPO使每个代理都能够进行训练,直到收敛;在单租户情况下提供与S-RL相当的在线性能,退化率低于10%;在多租户情况下,MA-PPO在S-RL性能(就功能尾部延迟而言)方面提供了4.4倍的改进。
实施例二
图4是本发明实施例中的一种多租户无服务器平台资源管理装置的结构示意图。本实施例可适用于多租户无服务器平台资源管理的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供多租户无服务器平台资源管理的功能的设备中,如图4所示,所述多租户无服务器平台资源管理装置具体包括:获取模块201、输入模块202和确定模块203。
其中,获取模块201,用于获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果;
输入模块202,用于将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型,得到所述目标模型对应的资源管理决策输出结果;
确定模块203,用于根据所述目标模型对应的资源管理决策输出结果确定所述多租户无服务器平台的当前资源管理行为。
可选的,所述目标模型通过训练样本集迭代训练初始模型得到,所述训练样本集包括:性能数据样本、至少一个其他输出结果样本以及所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果。
可选的,所述输入模块202包括:
建立单元,用于建立初始模型;
第一输入单元,用于将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果;
训练单元,用于根据所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果,和所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果形成的目标函数训练所述初始模型的参数;
执行单元,用于返回执行将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果的操作,直至得到目标模型。
可选的,所述确定模块203包括:
第二输入单元,用于将所述目标模型对应的资源管理决策输出结果输入水平缩放器和垂直缩放器,以使得所述水平缩放器和所述垂直缩放器输出纵向资源扩展行为决策和横向资源扩展行为决策;
第三输入单元,用于将所述纵向资源扩展行为决策和所述横向资源扩展行为决策输入所述多租户无服务器平台,得到所述多租户无服务器平台的当前资源管理行为。
可选的,所述多租户无服务器平台的当前资源管理行为包括:水平扩容、垂直扩容或者维持不变。
可选的,多租户无服务器平台的当前性能数据包括:功能级性能统计数据和系统级资源利用率统计数据,其中,所述功能级性能统计数据包括:执行时间的尾部延迟、等待时间以及服务功能请求的冷启动时间中的至少一种,所述系统级资源利用率统计数据包括:功能容器的中央处理器利用率。
可选的,所述装置还包括:
预处理模块,用于在将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型之前,将所述多租户无服务器平台的当前性能数据进行预处理,以使所述多租户无服务器平台的所有当前性能数据的格式均为预设格式。
上述产品可执行本发明任意实施例所提供的多租户无服务器平台资源管理方法,具备执行多租户无服务器平台资源管理方法相应的功能模块和有益效果。
实施例三
图5示出了可以用来实施本发明的实施例的电子设备30的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备30包括至少一个处理器31,以及与至少一个处理器31通信连接的存储器,如只读存储器(ROM)32、随机访问存储器(RAM)33等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器31可以根据存储在只读存储器(ROM)32中的计算机程序或者从存储单元38加载到随机访问存储器(RAM)33中的计算机程序,来执行各种适当的动作和处理。在RAM 33中,还可存储电子设备30操作所需的各种程序和数据。处理器31、ROM 32以及RAM 33通过总线34彼此相连。输入/输出(I/O)接口35也连接至总线34。
电子设备30中的多个部件连接至I/O接口35,包括:输入单元36,例如键盘、鼠标等;输出单元37,例如各种类型的显示器、扬声器等;存储单元38,例如磁盘、光盘等;以及通信单元39,例如网卡、调制解调器、无线通信收发机等。通信单元39允许电子设备30通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器31可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器31的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器31执行上文所描述的各个方法和处理,例如多租户无服务器平台资源管理方法:
获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果;
将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型,得到所述目标模型对应的资源管理决策输出结果;
根据所述目标模型对应的资源管理决策输出结果确定所述多租户无服务器平台的当前资源管理行为。
在一些实施例中,多租户无服务器平台资源管理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元38。在一些实施例中,计算机程序的部分或者全部可以经由ROM 32和/或通信单元39而被载入和/或安装到电子设备30上。当计算机程序加载到RAM 33并由处理器31执行时,可以执行上文描述的多租户无服务器平台资源管理方法的一个或多个步骤。备选地,在其他实施例中,处理器31可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多租户无服务器平台资源管理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (16)

1.一种多租户无服务器平台资源管理方法,其特征在于,包括:
获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果;
将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型,得到所述目标模型对应的资源管理决策输出结果;
根据所述目标模型对应的资源管理决策输出结果确定所述多租户无服务器平台的当前资源管理行为。
2.根据权利要求1所述的方法,其特征在于,所述目标模型通过训练样本集迭代训练初始模型得到,所述训练样本集包括:性能数据样本、至少一个其他输出结果样本以及所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果。
3.根据权利要求2所述的方法,其特征在于,通过训练样本集迭代训练初始模型,包括:
建立初始模型;
将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果;
根据所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果,和所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果形成的目标函数训练所述初始模型的参数;
返回执行将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果的操作,直至得到目标模型。
4.根据权利要求1所述的方法,其特征在于,根据所述目标模型对应的资源管理决策输出结果确定所述多租户无服务器平台的当前资源管理行为,包括:
将所述目标模型对应的资源管理决策输出结果输入水平缩放器和垂直缩放器,以使得所述水平缩放器和所述垂直缩放器输出纵向资源扩展行为决策和横向资源扩展行为决策;
将所述纵向资源扩展行为决策和所述横向资源扩展行为决策输入所述多租户无服务器平台,得到所述多租户无服务器平台的当前资源管理行为。
5.根据权利要求4所述的方法,其特征在于,所述多租户无服务器平台的当前资源管理行为包括:水平扩容、垂直扩容或者维持不变。
6.根据权利要求1所述的方法,其特征在于,多租户无服务器平台的当前性能数据包括:功能级性能统计数据和系统级资源利用率统计数据,其中,所述功能级性能统计数据包括:执行时间的尾部延迟、等待时间以及服务功能请求的冷启动时间中的至少一种,所述系统级资源利用率统计数据包括:功能容器的中央处理器利用率。
7.根据权利要求6所述的方法,其特征在于,在将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型之前,还包括:
将所述多租户无服务器平台的当前性能数据进行预处理,以使所述多租户无服务器平台的所有当前性能数据的格式均为预设格式。
8.一种多租户无服务器平台资源管理装置,其特征在于,包括:
获取模块,用于获取多租户无服务器平台的当前性能数据和至少一个其他模型的资源管理决策输出结果;
输入模块,用于将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型,得到所述目标模型对应的资源管理决策输出结果;
确定模块,用于根据所述目标模型对应的资源管理决策输出结果确定所述多租户无服务器平台的当前资源管理行为。
9.根据权利要求8所述的装置,其特征在于,所述目标模型通过训练样本集迭代训练初始模型得到,所述训练样本集包括:性能数据样本、至少一个其他输出结果样本以及所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果。
10.根据权利要求9所述的装置,其特征在于,所述输入模块包括:
建立单元,用于建立初始模型;
第一输入单元,用于将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果;
训练单元,用于根据所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果,和所述性能数据样本和至少一个所述其他输出结果样本对应的目标输出结果形成的目标函数训练所述初始模型的参数;
执行单元,用于返回执行将所述训练样本集中的性能数据样本和至少一个其他输出结果样本输入所述初始模型中得到所述性能数据样本和至少一个所述其他输出结果样本对应的预测输出结果的操作,直至得到目标模型。
11.根据权利要求8所述的装置,其特征在于,所述确定模块包括:
第二输入单元,用于将所述目标模型对应的资源管理决策输出结果输入水平缩放器和垂直缩放器,以使得所述水平缩放器和所述垂直缩放器输出纵向资源扩展行为决策和横向资源扩展行为决策;
第三输入单元,用于将所述纵向资源扩展行为决策和所述横向资源扩展行为决策输入所述多租户无服务器平台,得到所述多租户无服务器平台的当前资源管理行为。
12.根据权利要求11所述的装置,其特征在于,所述多租户无服务器平台的当前资源管理行为包括:水平扩容、垂直扩容或者维持不变。
13.根据权利要求8所述的装置,其特征在于,多租户无服务器平台的当前性能数据包括:功能级性能统计数据和系统级资源利用率统计数据,其中,所述功能级性能统计数据包括:执行时间的尾部延迟、等待时间以及服务功能请求的冷启动时间中的至少一种,所述系统级资源利用率统计数据包括:功能容器的中央处理器利用率。
14.根据权利要求13所述的装置,其特征在于,还包括:
预处理模块,用于在将所述多租户无服务器平台的当前性能数据和至少一个所述其他模型的资源管理决策输出结果输入目标模型之前,将所述多租户无服务器平台的当前性能数据进行预处理,以使所述多租户无服务器平台的所有当前性能数据的格式均为预设格式。
15.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的多租户无服务器平台资源管理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的多租户无服务器平台资源管理方法。
CN202311517433.XA 2023-11-14 2023-11-14 一种多租户无服务器平台资源管理方法 Pending CN117421126A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311517433.XA CN117421126A (zh) 2023-11-14 2023-11-14 一种多租户无服务器平台资源管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311517433.XA CN117421126A (zh) 2023-11-14 2023-11-14 一种多租户无服务器平台资源管理方法

Publications (1)

Publication Number Publication Date
CN117421126A true CN117421126A (zh) 2024-01-19

Family

ID=89530066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311517433.XA Pending CN117421126A (zh) 2023-11-14 2023-11-14 一种多租户无服务器平台资源管理方法

Country Status (1)

Country Link
CN (1) CN117421126A (zh)

Similar Documents

Publication Publication Date Title
JP7389177B2 (ja) 連合学習方法、装置、機器及び記憶媒体
CN112561078B (zh) 分布式的模型训练方法及相关装置
Han et al. Tailored learning-based scheduling for kubernetes-oriented edge-cloud system
CN113361721B (zh) 模型训练方法、装置、电子设备、存储介质及程序产品
CN116166405B (zh) 异构场景下的神经网络任务调度策略确定方法及装置
CN111209077A (zh) 深度学习框架设计方法
CN115147687A (zh) 学生模型训练方法、装置、设备及存储介质
CN114065864A (zh) 联邦学习方法、联邦学习装置、电子设备以及存储介质
CN112862112A (zh) 联邦学习方法、存储介质、终端、服务器、联邦学习系统
CN112528160A (zh) 智能推荐、模型训练方法、装置、电子设备及存储介质
CN116307546A (zh) 基于机器人社群的任务智慧决策系统
CN115357351A (zh) 算力网络调度方法、装置、系统、设备及介质
CN114818913A (zh) 决策生成方法和装置
CN114490048A (zh) 任务执行方法、装置、电子设备及计算机存储介质
CN116567077A (zh) 裸金属指令发送方法、装置、设备及存储介质
CN117421126A (zh) 一种多租户无服务器平台资源管理方法
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
CN114139605A (zh) 分布式的模型训练方法、系统、设备以及存储介质
CN115965070B (zh) 计算图处理方法、装置、设备、存储介质以及程序产品
CN116933896B (zh) 一种超参数确定及语义转换方法、装置、设备及介质
CN115860055B (zh) 性能确定方法、性能优化方法、装置、电子设备以及介质
CN113360798B (zh) 泛滥数据识别方法、装置、设备和介质
CN117632431A (zh) 云计算任务的调度方法、装置、设备及存储介质
CN116243984A (zh) 数据处理装置、方法、电子设备和存储介质
CN117687993A (zh) 一种数据迁移方法、装置、设备以及存储介质

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