用于在异构计算节点的分布式系统中为应用进行自适应资源分派的方法与流程

文档序号:36092693发布日期:2023-11-18 12:19阅读:35来源:国知局
用于在异构计算节点的分布式系统中为应用进行自适应资源分派的方法与流程

本发明涉及一种用于在异构计算节点的分布式系统中为应用进行自适应资源分派的方法。此外,本发明涉及用于该目的的计算机程序以及计算节点。


背景技术:

1、从现有技术中原则上已知的是,可以使用计算节点的分布式系统用于执行应用。在此情况下可能的是,计算节点被构造为异构的,并且因此应用必须被映射到具有不同计算能力的异构计算节点上。这例如可能与现场计算中心、云应用以及在具有不同计算能力的异构soc(片上系统(system-on-a-chip))上的嵌入式应用分布有关。在云中提供的许多应用的情况下,可能重要的是在集群中找到最优计算节点,在所述最优计算节点上应该提供应用。在边缘计算应用情况下经常重要的是,对应用在功能上进行划分并且将应用的部分分布到边缘设备上,并且将应用的一部分分布到云上。此外,在边缘计算应用情况下——与具有同构节点的集群的云应用情况相反——用于映射的附加挑战在于,考虑设备的异构性和应用的异构性。

2、未经控制的映射可能导致应用的次优性能。此外挑战是,一些应用具有高度的并行性,其他应用遵循数据流语义,纯粹是顺序的或者可以是上述的混合形式。所提供的应用也可能具有不同的资源要求。例如,这可能是对计算效率、存储器、网络和其他输入和输出资源的要求。计算节点可以是异构的,并且应用不是独立的,因为所述应用在通信信道中经由消息与其他应用进行通信。

3、现有技术通常设置静态映射,这可能导致资源的次优使用和应用的次优性能。

4、此外存在调度解决方案,所述调度解决方案虽然可以动态地分配应用。但是,这些并不应用在异构计算节点时,而是主要应用于具有同构计算节点结构的计算中心中的节点集群。此外,在此情况下经常保持不考虑不同应用在所规划的计算节点上的执行顺序。此外,这些解决方案被用于提供无状态的、独立的应用(而不是被用于彼此交互的应用),并且所述解决方案不考虑网络延迟。因此,传统解决方案对应用的资源消耗配置文件仅具有有限认识,并且在映射时通常不考虑这些因素。


技术实现思路

1、本发明的主题是具有权利要求1的特征的方法、具有权利要求10的特征的计算机程序以及具有权利要求11的特征的计算节点。本发明的其他特征和细节从相应的从属权利要求、说明书和附图中得出。在此,结合根据本发明的方法描述的特征和细节当然结合根据本发明的计算机程序以及根据本发明的计算节点也适用,并且反之亦然,使得关于针对各个发明方面的公开总是可以互相被参考。

2、根据本发明的方法可以被设置用于在异构计算节点的分布式系统中为应用进行自适应资源分派。在此,计算节点优选地通过以下方式是异构的,即所述计算节点具有不同的计算能力和/或不同的功能性和/或不同类型的硬件。异构计算节点也可以被构造为以下设备类别中的至少一种:

3、-不同的较小iot设备(iot代表“internet of things(物联网)”),

4、-不同的电话,

5、-不同的云服务器,所述云服务器例如提供不同的性能,

6、-在边缘计算情况下的不同计算节点,例如包括车辆中的数据处理装置和车辆之外的数据处理装置,

7、-在soc情况下的不同计算能力,

8、-不同的处理器,

9、-不同的计算能力,诸如通用或特殊浮点或图形处理或加速能力。

10、因此也可能的是,分布式系统包括分布式中间件和/或各种操作系统或管理程序和/或边缘计算环境和/或iot环境和/或云计算环境和/或车辆控制器。同样,可选地可能的是,计算节点至少部分地被实施为移动的,即在执行根据本发明的方法时移动。

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、因此可能的是,对付例如由于变动的数据需求和/或由于模式和/或情形和/或上下文相关的资源要求而出现的应用的变动的资源要求。在此情况下,相应地确定变化需求,所述变化需求从应用出发。资源要求因此也可以被称为资源需要量,所述资源需要量可以对应于从应用出发的对用于执行和/或保证正确功能和/或满足时延要求的必要资源的需要量(nachfrage)。

37、如果系统的资源的监控的实施包括以下步骤,则此外有利的是:

38、-检测所述系统的在运行时期间变动的资源、尤其是所述计算节点的进入和/或离开和/或计算能力的降低或提高和/或至少一个通信资源的故障,以便确定变化需求。

39、在此情况下相应地确定从资源出发的变化需求。

40、如果自适应步骤并且尤其是所述资源分派的监控和/或适配包括优选地通过所述分派和迁移单元执行的以下步骤中的至少一个,则在本发明的范围中可以实现另一优点:

41、-识别并且尤其是记录应用的资源要求的改变,并且将具有已改变的资源要求的应用自适应地迁移到计算节点之一,该计算节点被执行用于满足已改变的资源要求,

42、-识别并且尤其是记录,所述计算节点中的至少一个计算节点上的负载尤其是在预定义的持续时间上在何时超过预定义的阈值,其中然后优选地进行在所述至少一个计算节点上执行的至少一个应用的迁移,

43、-在所述计算节点中的其上执行具有已改变的资源要求的应用的计算节点上适配所述资源分派,

44、-记录在所述计算节点中的不同计算节点上的应用的性能,以便确定经优化的资源分派,以便根据经优化的资源分派实施所述资源分派的适配。

45、迁移、也即尤其是软件迁移可以有利地被理解为现有应用被转移到例如另一计算节点的新的技术环境中。此外,如资源分派和调度之类的其他措施仍是可设想的,以便优化应用的执行。

46、可以规定,资源分派的自适应步骤并且尤其是监控和/或适配包括以下步骤中的至少一个,这些步骤优选地通过分派和迁移单元(英语:mapping and migration engine(映射和迁移引擎),简称mme)执行:

47、-对于至少一个或每个应用,可以创建和更新最适用于执行的计算节点的名次表,并且可以将应用分派给最合适的计算节点,

48、-对于每组进行通信的应用,mme可以执行应用向计算节点的不同分派,以便提供在最优应用分配和通信时延之间的折衷。为此可以使用各种启发式知识和/或机器学习技术。从而例如可以首先选择最优的应用分配,并且随后检验通信时延是否可接受。可替代地,也可以实施以通信为中心的映射。同时不仅考虑通信而且考虑应用映射的方法同样是可应用的(例如启发式知识或基于机器学习的方案)。

49、-可以定期检查网络的拓扑的活跃度,以便通过发送心跳消息发现发生故障的计算节点或连接。

50、此外,在本发明的范围内可以规定,调度单元(简称se或英语“scheduling engine(调度引擎)”)在计算节点中的至少一个或每个计算节点上被执行,所述调度单元优选地与所述分派和迁移单元在运行时期间重复地交换关于系统的至少一个资源和/或其上执行所述资源的计算节点的当前可用性和/或资源要求和/或所确定的变化需求的至少一个信息,以便优选地定义所述应用的执行顺序。可以通过调度单元提供调度,也就是说尤其是可以定义和/或控制应用或其子进程的时间执行顺序。一旦通过资源分派并且优选地通过映射已经将应用分配给计算节点,就可以规定,通过调度单元还决定计算节点上的应用的优先级和执行顺序。在此必要时可以保证应用满足其时间要求。

51、也可以规定,多个应用被映射到同一计算节点上,使得执行顺序的控制变为需要的。为此,调度单元可以在相应的和/或每个计算节点上被执行。此外,调度单元可以定期与mme交互,其方式是所述调度单元交换被mme使用来作出分配决策的信息。在此可以是简单的度量,诸如处理器利用率,或者是更复杂的度量,所述更复杂的度量以形式调度分析和/或基于机器学习的技术为基础,并且说明可以安置多少工作负载,而不违反实时约束。se此外可以与mme交互,以便理解应用的资源要求。于是,se可以负责动态决定在给定的计算节点上应用的执行顺序和规划参数,而且使得每个应用满足其实时要求。此外,供应高级调度程序(具有基于预留的调度)的se还可以给应用供应在每个预配置的时间段内的保证的执行预算。mme可以利用这一点,以便将需要可预测的性能和时间隔离的应用映射到特定的计算节点上。

52、此外可设想的是,应用被实施为分布式中间件和/或车辆的操作系统和/或边缘计算系统和/或云计算系统和/或车辆控制器的优选地相互通信的应用。此外可能的是,应用也被实施为应用容器。动态资源分派尤其是在上述应用领域中提供优点,因为异构计算节点的分布式系统在很大程度上被使用。应用容器在云和边缘计算用于容器化的情况下从现有技术中是已知的。

53、计算机程序、尤其是计算机程序产品同样是本发明的主题,所述计算机程序包括指令,当通过计算机执行该计算机程序时,所述指令促使所述计算机执行根据本发明的方法。因此,根据本发明的计算机程序带来与参照根据本发明的方法已详尽地描述的相同的优点。网络的计算节点例如可以被设置为计算机,所述计算节点例如以软件模块的形式执行计算机程序。计算机可以具有至少一个用于执行计算机程序的处理器。还可以设置非易失性数据存储器,计算机程序储存在所述非易失性数据存储器中并且通过处理器可以从所述非易失性数据存储器读出计算机程序用于执行。

54、包括根据本发明的计算机程序的计算机可读存储介质同样是本发明的主题。存储介质例如被构造为数据存储器、诸如硬盘和/或非易失性存储器和/或存储卡。存储介质可以例如被集成在网络的至少一个或每个计算节点中。

55、此外,根据本发明的方法也可以被实施为计算机实现的方法。

56、被设立用于执行根据本发明的方法的计算节点同样是本发明的主题。因此,根据本发明的计算节点带来了与参照根据本发明的方法已经详尽地描述的相同的优点。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1