CN114564298A - 一种基于组合优化的混合容器云环境下Serverless服务调度系统 - Google Patents

一种基于组合优化的混合容器云环境下Serverless服务调度系统 Download PDF

Info

Publication number
CN114564298A
CN114564298A CN202210268044.7A CN202210268044A CN114564298A CN 114564298 A CN114564298 A CN 114564298A CN 202210268044 A CN202210268044 A CN 202210268044A CN 114564298 A CN114564298 A CN 114564298A
Authority
CN
China
Prior art keywords
task
tasks
host
execution
condition
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.)
Withdrawn
Application number
CN202210268044.7A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202210268044.7A priority Critical patent/CN114564298A/zh
Publication of CN114564298A publication Critical patent/CN114564298A/zh
Priority to CN202211318993.8A priority patent/CN115827183A/zh
Withdrawn legal-status Critical Current

Links

Images

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5038Allocation 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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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
    • 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/505Allocation 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 the load
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种基于组合优化的混合容器云环境下Serverless服务调度系统,包括接口、任务队列、任务调度器、联网硬件资源、规则检查器和通知器,所述接口用于接收用户的信息,所述任务队列用于将需要执行的任务进行排序,所述任务调度器用于将任务分配给联网硬件资源中的主机,所述联网硬件资源为能够执行任务的若干主机,所述规则检查器用于对任务的触发条件进行检查,所述通知器用于向用户发送任务执行的结果信息;本系统能够将混合容器云中用户提供的任务分配到合适的主机执行,使任务的执行时间最短。

Description

一种基于组合优化的混合容器云环境下Serverless服务调度 系统
技术领域
本公开大体上涉及任务调度领域,且更明确地说涉及一种基于组合优化的混合容器云环境下Serverless服务调度系统。
背景技术
Serverless为无服务器架构,允许你自动扩展、按执行付费、将事件驱动的功能部署到任何云,与有服务器架构相比,Serverless最大的特点是按需使用服务,降低了维护应用程序的总成本,能够更快地构建更多逻辑,被广泛地应用于混合容器云中,在该架构中,需要为大量的用户任务进行调度,为使任务更快更好地被执行,需要一种调度系统为任务匹配合适的执行主机;
现在已经开发出了很多调度系统,经过我们大量的检索与参考,发现现有的授权系统有如公开号为KR101557351B1,KR101221320B1、CN112019475B和KR102258936B1所公开的系统,针对serverless架构中的多租户场景,在租户部署的服务集群中增加资源管控节点,该资源管控节点与serverless架构中的主控节点相互配合,基于服务集群的私有资源域标识为服务集群确定具有访问权限的共享资源,在保证服务集群成功访问相应共享资源的基础上,可在不同租户之间实现对共享资源访问的安全隔离性。但是该系统是用于用户更好的访问资源,而不是更好的调度用户任务,不能满足现有的需求。
发明内容
本发明的目的在于,针对所存在的不足,提出了一种基于组合优化的混合容器云环境下Serverless服务调度系统,
本发明采用如下技术方案:
一种基于组合优化的混合容器云环境下Serverless服务调度系统,包括接口、任务队列、任务调度器、联网硬件资源、规则检查器和通知器,所述接口用于接收用户的信息,所述任务队列用于将需要执行的任务进行排序,所述任务调度器用于将任务分配给联网硬件资源中的主机,所述联网硬件资源为能够执行任务的若干主机或它们构成的网络,所述规则检查器用于对任务的触发条件进行检查,所述通知器用于向用户发送任务执行的结果信息;
所述任务调度器在分配任务时包括初始放置和补充放置;
所述任务调度器通过组合优化的方式来实现或者进行初始放置,令X为放置矩阵,其中元素xi,j∈{0,1}表示是否将第j个任务放置在第i个主机中,问题的目标是选择最合适的放置矩阵Xopt使在无服务器计算任务中执行功能所需的总执行时间最小;
主机i上所有支持的加速功能的任务执行时间为:
Figure BDA0003553173430000021
其中,
Figure BDA0003553173430000022
Figure BDA0003553173430000023
分别表示主机提供的加速功能集和无服务器计算任务所需的加速功能集,k为
Figure BDA0003553173430000024
Figure BDA0003553173430000025
的交集,
Figure BDA0003553173430000026
为使用FPGA加速功能集k在指定主机上的执行时间,
Figure BDA0003553173430000027
表示在主机i上等待FPGA加速处理执行的估计负载,
Figure BDA0003553173430000028
k表示从无服务器计算任务j到集合k的数据输入的预测大小;
主机i上所有不支持加速功能的执行时间通过以下方式计算:
Figure BDA0003553173430000029
其中,
Figure BDA00035531734300000210
为估计加速功能集k在指定主机上使用CPU的执行时间,
Figure BDA00035531734300000211
表示在主机i上等待CPU处理执行的估计负载;
组合优化的目标函数为:
Figure BDA00035531734300000212
受限条件为:
Figure BDA00035531734300000213
其中,M是可用主机的总数,N是要放置的任务总数;
进一步的,在主机i上运行的任务j,补充放置的目标是选择最合适的主机lopt来执行任务j中的需要FPGA加速功能的动作,从而最大限度的减少其执行时间;
目标函数如下:
Figure BDA00035531734300000214
其中,G()函数为估计的网络通信成本,ci,l表示主机i和主机l之间的网络延迟成本;
进一步的,所述接口接收用户的信息包括但不限于无服务器计算任务、规则和通知定义,所述无服务器计算任务放置到所述任务队列中,所述规则放置到所述规则检查器中,所述通知定义放置到所述通知器中;
进一步的,所述无服务器计算任务包括任务标识符、执行代码和任务链信息,其他数据结构通过所述任务标识符引用该无服务器计算任务或者说所述任务标识符用于触发引用该无服务器计算任务,所述执行代码包括一个或多个功能,所述任务链信息中包括用于触发后续任务执行的规则的标识符以及用于此类后续任务的标识符;
进一步的,所述规则包括规则标识符、条件字段、真条件执行字段和假条件执行字段,其他数据结构通过规则标识符引用该规则,所述条件字段中记录了一条或多条条件信息用于说明触发任务的条件,所述真条件执行字段内包括条件为真时需要执行的任务或者动作,所述假条件执行字段包括条件为假时需要执行的任务或动作。
本发明所取得的有益效果是:
本系统采用了初始放置和补充放置两个调度策略来进行任务的调度,在初始放置中,使用了组合优化的方式,为任务分配最合适的主机,对于任务中的某些动作在该主机中无对应的FPGA加速功能时,采用补充放置将该动作匹配合适的另一台主机来运行,使一个任务能以最快的方式被执行;在本系统中,还通过设置规则来运行任务链,使得在触发条件时自动地运行对应的任务,更具智能化。
为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,然而所提供的附图仅用于提供参考与说明,并非用来对本发明加以限制。
附图说明
图1为本发明整体结构框架示意图;
图2为本发明无服务器计算任务构成示意图;
图3为本发明规则构成示意图;
图4为本发明两个无服务器计算任务的内容示意图;
图5为本发明两个主机执行两个无无服务器计算任务的流程示意图。
具体实施方式
以下是通过特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本发明的精神下进行各种修饰与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。
实施例一。
本实施例提供了一种基于组合优化的混合容器云环境下Serverless服务调度系统,结合图1,包括接口、任务队列、任务调度器、联网硬件资源、规则检查器和通知器,所述接口用于接收用户的信息,所述任务队列用于将需要执行的任务进行排序,所述任务调度器用于将任务分配给联网硬件资源中的主机,所述联网硬件资源为能够执行任务的若干主机或它们构成的网络,所述规则检查器用于对任务的触发条件进行检查,所述通知器用于向用户发送任务执行的结果信息;
所述任务调度器在分配任务时包括初始放置和补充放置;
所述任务调度器通过组合优化的方式来优化初始放置,令X为放置矩阵,其中元素xi,j∈{0,1}表示是否将第j个任务放置在第i个主机中,问题的目标是选择最合适的放置矩阵Xopt使在无服务器计算任务中执行功能所需的总执行时间最小;
主机i上所有支持的加速功能的执行时间为:
Figure BDA0003553173430000041
其中,
Figure BDA0003553173430000042
Figure BDA0003553173430000043
分别表示主机提供的加速功能集和无服务器计算任务所需的加速功能集,k为
Figure BDA0003553173430000044
Figure BDA0003553173430000045
的交集,
Figure BDA0003553173430000046
为使用FPGA加速功能集k在指定主机上的执行时间,
Figure BDA0003553173430000047
表示在主机i上等待FPGA加速处理执行的估计负载,
Figure BDA0003553173430000048
k表示从无服务器计算任务j到集合k的数据输入的预测大小;
主机i上所有不支持加速功能的执行时间通过以下方式计算:
Figure BDA0003553173430000049
其中,
Figure BDA00035531734300000410
为估计加速功能集k在指定主机上使用CPU的执行时间,
Figure BDA00035531734300000411
表示在主机i上等待CPU处理执行的估计负载(例如使用CPU执行的一些函数);
组合优化的目标函数为:
Figure BDA0003553173430000051
受限条件为:
Figure BDA0003553173430000052
其中,M是可用主机的总数,N是要放置的任务总数;
在主机i上运行的任务j,补充放置的目标是选择最合适的主机lopt来执行任务j中的需要FPGA加速功能的动作,从而最大限度的减少其执行时间;
目标函数如下:
Figure BDA0003553173430000053
其中,G()函数为估计的网络通信成本,ci,l表示主机i和主机l之间的网络延迟成本;
所述接口接收用户的信息包括但不限于无服务器计算任务、规则和通知定义,所述无服务器计算任务放置到所述任务队列中,所述规则放置到所述规则检查器中,所述通知定义放置到所述通知器中;
所述无服务器计算任务包括任务标识符、执行代码和任务链信息,其他数据结构通过所述任务标识符引用该无服务器计算任务或者说所述任务标识符用于触发引用该无服务器计算任务,所述执行代码包括一个或多个功能,所述任务链信息中包括用于触发后续任务执行的规则的标识符以及用于此类后续任务的标识符;
所述规则包括规则标识符、条件字段、真条件执行字段和假条件执行字段,其他数据结构通过规则标识符引用该规则,所述条件字段中记录了一条或多条条件信息用于说明触发任务的条件,所述真条件执行字段内包括条件为真时需要执行的任务或者动作,所述假条件执行字段包括条件为假时需要执行的任务或动作。
实施例二。
本实施例包含了实施例一的全部内容,提供了一种基于组合优化的混合容器云环境下Serverless服务调度系统,包括接口、任务队列、任务调度器、联网硬件资源、规则检查器和通知器,所述接口用于接收用户的信息,所述任务队列用于将需要执行的任务进行排序,所述任务调度器用于将任务分配给联网硬件资源中的主机,所述联网硬件资源为能够执行任务的若干主机或它们构成的网络,所述规则检查器用于对任务的触发条件进行检查,所述通知器用于向用户发送任务执行的结果信息;
所述接口允许用户通过应用编程接口与本系统进行交互,所述接口接收用户的信息包括但不限于无服务器计算任务和规则;
结合图2,所述无服务器计算任务包括任务标识符、执行代码和任务链信息,其他数据结构通过所述任务标识符引用该无服务器计算任务或者说所述任务标识符用于触发引用该无服务器计算任务,所述执行代码包括一个或多个功能,涉及处理输入数据和生成输出数据,所述执行代码中含有输入数据和输出数据的存储指针,所述任务链信息中包括用于触发后续任务执行的规则的标识符以及用于此类后续任务的标识符,下一个任务能够包括多个后续任务和可选的关联规则,用于触发后续任务的执行;
结合图3,所述规则包括规则标识符、条件字段、真条件执行字段和假条件执行字段,其他数据结构通过规则标识符引用该规则,所述条件字段中记录了一条或多条条件信息用于说明触发任务的条件,所述真条件执行字段内包括条件为真时需要执行的任务或者动作,所述假条件执行字段包括条件为假时需要执行的任务或动作;
所述接口将无服务器计算任务排队到任务队列,任务队列包括一个或多个数据结构,用于存储本系统需要执行的任务,存储在任务队列中的任务有多个来源,包括来源于接口、规则检查器或者联网硬件资源;
任务队列中的任务被认为是一个执行单元或一个动作,包括一端可执行代码或者一个shell脚本;
所述联网硬件资源包括若干个主机,所述主机能够从所述任务队列中获取并执行任务,在执行时,所述规则检查器能够检查输出以确定是否满足条件,规则检查器能够触发其他任务被添加到任务队列中;
规则检查器还能够触发通知器向用户发送通知,所述接口能够接收通知定义,所述通知定义请求通知器基于来自主机的一个或多个输出来向用户发送一个或多个通知;
所述任务调度器用于调度并决定如何执行任务队列中的任务,将任务在联网硬件资源的主机中进行分配,所述联网硬件资源中的不同主机拥有不同的FPGA加速功能,不同的FPGA加速功能在处理对应的任务时具有较高的效率,所述任务调度器在所述联网硬件资源中找到最合适的主机与人去进行匹配;
所述任务调度器包括一个垫片层,所述垫片层包括库和函数注册表,所述垫片层允许用户直接在无服务器计算任务的代码中调用FPGA加速功能,所述库能够为用户提供对FPGA加速功能的访问,也能够直接连接到后端的FPGA进程,所述函数注册表允许管理员管理用于FPGA加速的功能;
所述任务调度器将任务进行分配的调度机制包括初始放置和补充放置两个部分,所述初始放置指将任务从任务队列中直接分配给主机,补充放置指将主机中待执行的任务分配给另一个主机;
对于初始放置,令X为放置矩阵,其中元素xi,j∈{0,1}表示是否将第j个任务放置在第i个主机中,问题的主要目标是选择最合适的放置矩阵Xopt使在无服务器计算任务中执行功能所需的总执行时间最小;
对于主机i和无服务器计算任务j,令
Figure BDA0003553173430000071
Figure BDA0003553173430000072
分别表示主机提供的加速功能集和无服务器计算任务所需的加速功能集;
对于一个加速功能集
Figure BDA0003553173430000073
Figure BDA0003553173430000074
k表示从无服务器计算任务j到集合k的数据输入的预测大小,数据输入的预测大小可以使用历史统计来确定;
那么主机i上所有支持的加速功能的执行时间可以估计为:
Figure BDA0003553173430000075
其中,
Figure BDA0003553173430000076
为使用FPGA加速功能集k在指定主机上的执行时间,
Figure BDA0003553173430000077
表示在主机i上等待处理的FPGA函数执行的估计负载;
主机i上所有不支持加速功能的执行时间可以通过以下方式计算:
Figure BDA0003553173430000078
其中,
Figure BDA0003553173430000079
为估计加速功能集k在指定主机上使用CPU的执行时间,
Figure BDA00035531734300000710
表示在主机i上等待处理的CPU函数执行的估计负载;
初始放置问题的目标函数为:
Figure BDA00035531734300000711
受限条件为:
Figure BDA0003553173430000081
其中,M是可用主机的总数,N是要放置的任务总数;
补充放置允许不支持的FPGA加速功能由支持FPGA加速功能的远程主机执行,在运行时,在dj,k的实际输入数据大小明显超过预测值
Figure BDA0003553173430000082
k的情况下触发补充放置,该条件表明补充放置适合改善执行时间,在调度或运行时确定放置函数的位置;
对于任务j在主机i上运行,补充放置的目标是选择最合适的主机lopt来执行FPGA加速功能,从而最大限度的减少其执行时间;
目标函数如下:
Figure BDA0003553173430000083
其中,G()函数为估计的网络通信成本,ci,l表示主机i和主机l之间的网络延迟成本;
结合图4和图5,对两个无服务器计算任务的调度、执行以及数据和操作转发进行说明;
如图4,将无服务器计算任务A和无服务器计算任务B放入任务队列中进行调度。所述无服务器计算任务A的定义为从源C检索数据,使用函数X进行计算,将结果输出到E,所述无服务器计算任务B的定义为从源D检索数据,先使用函数X进行计算,再使用函数Y进行计算,最后将结果输出到F;
如图5,主机M1包括CPU1、CPU2和FPGA1,主机M2包括FPGA2,其中,FPGA1能够加速运行函数X,FPGA2能够加速运行函数Y;
对于初始放置,任务调度器将无服务器计算任务A和无服务器计算任务B放置在主机M1上;
无服务器计算任务A的执行包括以下内容:
主机M1上的CPU1从源C检索数据,向转发器提供输出数据,所述转发器将输出数据传送到FPGA1,FPGA1使用函数X进行数据计算并向转发器提供函数X的输出数据,所述转发器将数据传回CPU1,所述CPU1将结果输出到E;
无服务器计算任务B的执行包括以下内容:
主机M1上的CPU2从源D检索数据,向转发器提供输出数据,所述转发器将输出数据传送到FPGA1,FPGA1使用函数X进行数据计算并向转发器提供函数X的输出数据,所述转发器将数据传回CPU2,所述CPU2评估补充放置条件,确定需进行补充放置后,通过转发器将输出数据传送到远程主机M2上的FPGA2上,所述FPGA2使用函数Y进行数据计算并向转发器提供函数Y的输出数据,转发器将输出数据传送回CPU2,所述CPU2将结果输出到F。
以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的保护范围,所以凡是运用本发明说明书及附图内容所做的等效技术变化,均包含于本发明的保护范围内,此外,随着技术发展其中的元素可以更新的。

Claims (5)

1.一种基于组合优化的混合容器云环境下Serverless服务调度系统,其特征在于,包括接口、任务队列、任务调度器、联网硬件资源、规则检查器和通知器,所述接口用于接收用户的信息,所述任务队列用于将需要执行的任务进行排序,所述任务调度器用于将任务分配给联网硬件资源中的主机,所述联网硬件资源为能够执行任务的若干主机,所述规则检查器用于对任务的触发条件进行检查,所述通知器用于向用户发送任务执行的结果信息;
所述任务调度器在分配任务时包括初始放置和补充放置;
所述任务调度器通过组合优化的方式来进行初始放置,令X为放置矩阵,其中元素xi,j∈{0,1}表示是否将第j个任务放置在第i个主机中,初始放置的目标是选择最合适的放置矩阵Xopt使在无服务器计算任务中执行功能所需的总执行时间最小;
主机i上所有支持加速功能的任务执行时间为:
Figure FDA0003553173420000011
其中,
Figure FDA0003553173420000012
Figure FDA0003553173420000013
分别表示主机提供的加速功能集和无服务器计算任务所需的加速功能集,k为
Figure FDA0003553173420000014
Figure FDA0003553173420000015
的交集,
Figure FDA0003553173420000016
为使用FPGA加速功能集k在指定主机上的执行时间,
Figure FDA0003553173420000017
表示在主机i上等待FPGA加速处理执行的估计负载,
Figure FDA0003553173420000018
表示从无服务器计算任务j到集合k的数据输入的预测大小;
主机i上所有不支持加速功能的执行时间通过以下方式计算:
Figure FDA0003553173420000019
其中,
Figure FDA00035531734200000110
为估计加速功能集k在指定主机上使用CPU的执行时间,
Figure FDA00035531734200000111
表示在主机i上等待CPU处理执行的估计负载;
组合优化的目标函数为:
Figure FDA00035531734200000112
受限条件为:
Figure FDA00035531734200000113
其中,M是可用主机的总数,N是要放置的任务总数。
2.如权利要求1所述的一种基于组合优化的混合容器云环境下Serverless服务调度系统,其特征在于,在主机i上运行的任务j,补充放置的目标是选择最合适的主机lopt来执行任务j中的需要FPGA加速功能的动作,从而最大限度的减少其执行时间;
目标函数如下:
Figure FDA0003553173420000021
其中,G()函数为估计的网络通信成本,ci,l表示主机i和主机l之间的网络延迟成本。
3.如权利要求2所述的一种基于组合优化的混合容器云环境下Serverless服务调度系统,其特征在于,所述接口接收用户的信息包括无服务器计算任务、规则和通知定义,所述无服务器计算任务放置到所述任务队列中,所述规则放置到所述规则检查器中,所述通知定义放置到所述通知器中。
4.如权利要求3所述的一种基于组合优化的混合容器云环境下Serverless服务调度系统,其特征在于,所述无服务器计算任务包括任务标识符、执行代码和任务链信息,所述执行代码包括一个或多个功能,所述任务链信息中包括用于触发后续任务执行的规则的标识符以及用于此类后续任务的标识符。
5.如权利要求4所述的一种基于组合优化的混合容器云环境下Serverless服务调度系统,其特征在于,所述规则包括规则标识符、条件字段、真条件执行字段和假条件执行字段,所述条件字段中记录了一条或多条条件信息用于说明触发任务的条件,所述真条件执行字段内包括条件为真时需要执行的任务或者动作,所述假条件执行字段包括条件为假时需要执行的任务或动作。
CN202210268044.7A 2022-03-18 2022-03-18 一种基于组合优化的混合容器云环境下Serverless服务调度系统 Withdrawn CN114564298A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210268044.7A CN114564298A (zh) 2022-03-18 2022-03-18 一种基于组合优化的混合容器云环境下Serverless服务调度系统
CN202211318993.8A CN115827183A (zh) 2022-03-18 2022-10-26 一种基于组合优化的混合容器云环境下Serverless服务调度系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210268044.7A CN114564298A (zh) 2022-03-18 2022-03-18 一种基于组合优化的混合容器云环境下Serverless服务调度系统

Publications (1)

Publication Number Publication Date
CN114564298A true CN114564298A (zh) 2022-05-31

Family

ID=81719608

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210268044.7A Withdrawn CN114564298A (zh) 2022-03-18 2022-03-18 一种基于组合优化的混合容器云环境下Serverless服务调度系统
CN202211318993.8A Pending CN115827183A (zh) 2022-03-18 2022-10-26 一种基于组合优化的混合容器云环境下Serverless服务调度系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202211318993.8A Pending CN115827183A (zh) 2022-03-18 2022-10-26 一种基于组合优化的混合容器云环境下Serverless服务调度系统

Country Status (1)

Country Link
CN (2) CN114564298A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115189996A (zh) * 2022-09-13 2022-10-14 浙江云针信息科技有限公司 基于Serverless的车联网数据传输方法及装置、存储介质和终端

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661969B (zh) * 2023-06-07 2024-03-12 上海汉朔信息科技有限公司 一种基于消息队列的业务处理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115189996A (zh) * 2022-09-13 2022-10-14 浙江云针信息科技有限公司 基于Serverless的车联网数据传输方法及装置、存储介质和终端
CN115189996B (zh) * 2022-09-13 2022-11-25 浙江云针信息科技有限公司 基于Serverless的车联网数据传输方法及装置、存储介质和终端

Also Published As

Publication number Publication date
CN115827183A (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
US11740935B2 (en) FPGA acceleration for serverless computing
Anderson BOINC: a platform for volunteer computing
US10467725B2 (en) Managing access to a resource pool of graphics processing units under fine grain control
US8671134B2 (en) Method and system for data distribution in high performance computing cluster
US10505791B2 (en) System and method to handle events using historical data in serverless systems
CN115827183A (zh) 一种基于组合优化的混合容器云环境下Serverless服务调度系统
US11010195B2 (en) K-tier architecture scheduling
US10296389B2 (en) Time-bound conditional resource deallocation
US11816509B2 (en) Workload placement for virtual GPU enabled systems
US10372479B2 (en) Scheduling framework for tightly coupled jobs
Wang et al. Pigeon: An effective distributed, hierarchical datacenter job scheduler
US11150951B2 (en) Releasable resource based preemptive scheduling
US20090282413A1 (en) Scalable Scheduling of Tasks in Heterogeneous Systems
CN107944000B (zh) 航班运价更新方法、装置、电子设备、存储介质
US11526382B2 (en) Cascading job scheduling in guests
CN118056186A (zh) 通过量子任务的带外优先级排序实施使用服务质量(QoS)的量子计算服务
CA2631255A1 (en) Scalable scheduling of tasks in heterogeneous systems
US20150212859A1 (en) Graphics processing unit controller, host system, and methods
US10379900B2 (en) Dispatching jobs for execution in parallel by multiple processors
CN109343958B (zh) 计算资源分配方法、装置、电子设备、存储介质
US20230289214A1 (en) Intelligent task messaging queue management
WO2018119899A1 (zh) 一种存储控制器及io请求处理方法
CN114567520B (zh) 实现集合通信的方法、计算机设备和通信系统
US11586467B1 (en) Method and system for dynamically and reliably scaling data processing pipelines in a computing environment
US20240184624A1 (en) Method and system for sequencing artificial intelligence (ai) jobs for execution at ai accelerators

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20220531

WW01 Invention patent application withdrawn after publication