容器化应用程序的编排制造技术

技术编号:29419267 阅读:19 留言:0更新日期:2021-07-23 23:13
本发明专利技术公开了一种用于编排计算任务的执行的系统和方法。编排引擎可通过网络从多个过程引擎接收任务请求。与编排引擎相比,过程引擎可对应于位于远处的相应边缘或现场设备。每个任务请求可指示用于执行相应计算任务的至少一个任务要求。可从一组计算实例选择具有可用计算资源的多个计算实例。可为计算任务中的每一个生成预测运行时间。在示例中,基于预测的运行时间、任务要求、可用计算资源以及关联的网络状况,由编排引擎确定调度和分配方案。调度和分配方案限定何时执行多个计算任务中的每一个,以及多个选择的计算实例中的哪个执行多个计算任务中的每一个。所选择的计算实例根据该调度和分配方案执行多个计算任务。

【技术实现步骤摘要】
【国外来华专利技术】容器化应用程序的编排相关申请的交叉引用本申请要求2018年10月2日提交的美国临时申请序列号62/740,034的权益,该专利申请的公开内容通过引用整体并入本文。
本申请涉及计算,例如效用计算。更具体地,本申请涉及用于在计算平台上编排计算任务的系统和方法。
技术介绍
容器化可被用于部署位于远程位置或难以访问位置的控制软件。然而,当此类部署对时间敏感时,此类软件通常由现场技术支持提供。例如,可将专业技术人员派遣到远程或限制访问的位置,诸如海上石油平台、沙漠太阳能农场等。在本文已经认识到,在此类位置提供现场支持不仅昂贵,而且其可能会阻止对其他关键事件做出立即响应,诸如可停止生产或对基础设施造成无法弥补的破坏的事件。在一些情况下,可在远程位置实现高性能计算硬件,而不是将专家派遣到远程位置。然而,在本文中进一步认识到,除了其他缺点之外,这种硬件可能是昂贵的并且难以维护。此外,在遭受不利条件的远程地区,维护可能特别困难。在效用计算应用程序中,容器可包括轻量的可执行软件包。容器可包括运行该软件所需的所有内容。软件容器可在不同环境中实现精简的应用程序可移植性。因此,除其他外,容器化应用程序是将服务从主机系统导出到计算平台的常见做法。容器技术的最新进展允许基于实时操作系统(即实时容器)的容器开发。实时容器的挑战之一是在使用最少的计算资源的同时,通过实时保证来调度容器执行。
技术实现思路
本专利技术的实施例通过提供编排与实时要求相关联的应用程序的容器化的方法、系统和装置来解决并克服了本文所描述的一个或多个缺点。本专利技术的各方面包括用于执行多个计算任务的方法和系统。编排引擎可通过网络从多个过程引擎接收任务请求。与编排引擎相比,过程引擎可对应于位于远处的相应边缘和/或现场设备。每个任务请求可指示用于执行相应计算任务的至少一个任务要求。可从一组计算实例中选择具有可用计算资源的多个计算实例。可为计算任务中的每一个生成预测的运行时间。在一个示例中,基于预测的运行时间、任务要求和可用计算资源,由编排引擎确定调度和分配方案。调度和分配方案限定何时执行多个计算任务中的每一个,以及多个选择的计算实例中的哪个执行多个计算任务中的每一个。所选择的计算实例根据调度和分配方案执行所述多个计算任务。附图说明当结合附图阅读时,根据以下详细描述最好地理解本专利技术的前述和其他方面。为了说明本专利技术,在附图中示出了目前优选的实施方式,但应当理解,本专利技术不限于所公开的具体手段。在附图中包括以下附图:图1是根据本公开的实施例的包括编排引擎的示例性架构的框图。图2是描绘根据本公开的实施例的由编排引擎和示例性计算平台内的其他节点执行的示例性过程的过程图。图3是根据本公开的实施例的示例性编排引擎的框图。图4是根据本公开的实施例的用于执行计算任务的示例性过程的流程图。图5示出了可在其中实现本公开的实施例的计算环境的示例。具体实施方式公开了用于将应用程序的容器化从具有实时要求的边缘和/或现场设备编排到计算平台上的方法和系统。在本文中认识到,用于实时应用的容器化解决方案的当前方法缺乏能力和效率。例如,经常不能保证实时性能,因为每个应用程序都被授予专用计算实例用于其执行,从而产生实时行为,但是没有适当的机制来强制执行它。在此进一步认识到,对于每个应用程序具有专用计算实例是效率低下的并且不能扩展到大量应用程序。更进一步,在当前方法中没有考虑网络传输延迟。在示例方面,编排引擎通过网络从多个过程引擎接收任务请求。与编排引擎相比或与执行任务的计算平台相比,过程引擎可对应于位于远处的相应边缘和/或现场设备。每个任务请求可指示用于执行相应计算任务的至少一个任务要求。例如,一些计算任务可能需要实时执行。在一些情况下,实时执行的计算任务可能意味着来自任务的数据可在具体时间要求内作为反馈使用。一些计算任务以实时输出数据执行,这些数据可几乎立即(例如在几毫秒内)用作反馈。在示例中,基于任务的预测运行时间、任务要求和可用计算资源,编排引擎确定调度和分配方案。调度和分配方案限定何时执行多个计算任务中的每一个以及在何处(即,哪个计算实例)执行计算任务中的每一个。所公开的方法和系统对用于执行这种基于计算机的任务的计算机的功能进行了改进。此外,所公开的方法和系统可通过提取位于远程或困难访问位置的实时控制软件来减少对昂贵的高性能本地计算硬件的需求。这样的本地硬件在实践中可能难以维护。在各种示例中,可将实时软件提取到计算平台,其中可使用大量计算资源并且可即时提供技术支持。在一些情况下,根据各种示例性实施例,即使5G接入和核心网可提供低延迟和高通信可靠性,在将时间关键性应用程序进行容器化以在外部平台上进行计算时考虑网络影响。首先参考图1,示出了根据本公开的实施例的用于执行计算任务的示例性架构或系统100。系统100包括计算平台102,该计算平台包括编排引擎104和与编排引擎104通信的多个计算实例106。尤其是,编排引擎104可指示计算实例106在特定时间执行相应任务,从而在满足任务要求(诸如实时任务要求)同时节省计算实例106的计算资源。计算实例106可包括虚拟中央处理单元(CPU)、虚拟服务器,边缘裸金属(英语:bare-metal)资源等。在一些示例中,计算实例106可基于在其中实现计算实例106的计算平台而不同。计算实例106可相对于彼此具有相同或不同的处理能力。计算平台102可被实现为云计算平台,使得编排引擎104和计算实例106在云中运行。另外地,计算实例106和编排引擎104中的每一个可在单独的、不同的资源上运行。仍然另选地,计算实例106和编排引擎104可在云和单独资源的组合上运行。应当理解,为了说明的目的,示例性系统100被简化,并且可使用其他系统来执行本文的计算任务编排,并且所有此类系统都被认为在本公开的范围内。例如,计算平台102可根据需要包括任何数量的计算实例106。此外,编排引擎104和计算实例106可被托管在任何数量的实体位置处任何数量的设备上。在示例中,编排引擎104被托管在单个设备上,该单个设备与计算实例106位于同一位置,尽管应理解,本文的实施例不限于此。示例性系统100还包括多个任务108。任务108可被发送到容器中的编排引擎104。如本文所用,除非另有说明,否则容器是指软件的可执行程序包。例如,编排引擎104可接收容器中的实时任务或容器化实时应用程序。另外地或可替代地,任务108可作为数据被发送到编排引擎104。例如,任务108可被发送到编排引擎104,作为计算平台102已经可用的软件的输入数据。因此,任务108可作为容器和/或数据提供给编排引擎106。再参考图2,示出了可在计算平台102内执行的示例性过程。图2示出了示例性系统200,其包括通过网络112与多个过程引擎110通信的计算平台102。在一些情况下,与编排引擎104并且进而与计算平台102相比,过程引擎110对应于远程定位的相应机器或边缘或现场设备。过程引擎110可将任务108发送到编排引本文档来自技高网...

【技术保护点】
1.一种用于执行多个计算任务的方法,所述方法包括:/n由编排引擎通过网络从多个过程引擎接收任务请求,每个任务请求指示用于执行所述多个计算任务中的相应计算任务的至少一个任务要求;/n从一组计算实例中选择多个计算实例,所选择的计算实例分别具有可用计算资源;/n生成针对所述计算任务中的每一个的预测的运行时间;/n基于所述预测的运行时间、所述任务要求和所述可用计算资源,确定调度和分配方案,所述调度和分配方案限定何时执行所述多个计算任务中的每一个,以及多个所述所选择的计算实例中的哪个执行所述多个计算任务中的每一个;以及/n由所述多个所选择的计算实例根据所述调度和分配方案执行所述多个计算任务。/n

【技术特征摘要】
【国外来华专利技术】20181002 US 62/740,0341.一种用于执行多个计算任务的方法,所述方法包括:
由编排引擎通过网络从多个过程引擎接收任务请求,每个任务请求指示用于执行所述多个计算任务中的相应计算任务的至少一个任务要求;
从一组计算实例中选择多个计算实例,所选择的计算实例分别具有可用计算资源;
生成针对所述计算任务中的每一个的预测的运行时间;
基于所述预测的运行时间、所述任务要求和所述可用计算资源,确定调度和分配方案,所述调度和分配方案限定何时执行所述多个计算任务中的每一个,以及多个所述所选择的计算实例中的哪个执行所述多个计算任务中的每一个;以及
由所述多个所选择的计算实例根据所述调度和分配方案执行所述多个计算任务。


2.根据权利要求1所述的方法,所述方法还包括:
获得与所述计算任务或所述多个所选择的计算实例相关联的历史性能数据;以及
基于所述历史性能数据生成针对所述计算任务的所述预测的运行时间。


3.根据前述权利要求中任一项所述的方法,所述方法还包括:
收集与所述网络相关联的性能数据;以及
基于与所述网络相关联的性能数据生成针对所述计算任务的所述预测的运行时间。


4.根据前述权利要求中任一项所述的方法,其中生成所述调度和分配方案包括使用所述预测的运行时间、任务要求和可用计算资源作为离散随机优化的输入来执行所述离散随机优化。


5.根据权利要求4所述的方法,所述方法还包括:在接收到每个任务时执行所述离散随机优化。


6.根据权利要求1所述的方法,所述方法还包括:
将所述预测的运行时间与相应的预定阈值进行比较;
当预测的运行时间大于相应的预定阈值时,确定发起与大于相应预定阈值的所述预测的运行时间相关联的所述任务请求的所述过程引擎;以及
向所确定的过程引擎发送警报。


7.根据权利要求1所述的方法,所述方法还包括:
将所述预测的运行时间与相应的预定阈值进行比较;以及
当所述预测的运行时间中的至少一者大于预定阈值时,识别附加的计算资源。


8.根据权利要求1所述的方法,其中确定所述调度和分配方案还包括:
基于所述网络的任务要求和性能,生成用于完成所述任务请求的优先级顺序;
基于所述优先级顺序和所述可用计算资源,生成优化问题;以及
解决所述优化问题以便由于...

【专利技术属性】
技术研发人员:伊内斯·乌加尔德·迪亚斯马丁·泽尔胡安·L·阿帕里西奥·奥赫亚米夏埃尔·翁克尔巴赫
申请(专利权)人:西门子股份公司
类型:发明
国别省市:德国;DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1