当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于跨服务器阵列分布的功能即服务实现方式的编译制造技术

技术编号:34877211 阅读:20 留言:0更新日期:2022-09-10 13:32
系统、装置和方法可与第一计算设备相关联并提供用于对性能度量进行标识。性能度量与第一功能在至少一个第二计算设备上的执行相关联。系统、装置和方法对性能度量进行聚合以生成经聚合的性能度量,确定经聚合的性能度量满足阈值,并响应于经聚合的性能度量被确定为满足阈值而编译与第一功能相关联的代码。足阈值而编译与第一功能相关联的代码。足阈值而编译与第一功能相关联的代码。

【技术实现步骤摘要】
【国外来华专利技术】用于跨服务器阵列分布的功能即服务实现方式的编译


[0001]实施例总体上涉及软件部署。更具体地,实施例涉及分布式计算系统中的增强的编译操作。

技术介绍

[0002]功能即服务(FaaS)是可提供这样的平台的计算模型:该平台允许客户开发、运行和管理各种应用功能,而不具有建立和维护典型地与开发和启动应用相关联的基础设施的复杂性。遵循FaaS模型来建立应用可实现“无服务器”架构。软件开发人员可利用FaaS来部署单独的“功能”、动作或逻辑部分。FaaS功能可能是短时的和短暂的。
附图说明
[0003]通过阅读以下说明书和所附权利要求书并通过参考以下附图,实施例的各种优势对本领域技术人员将变得显而易见,在附图中:
[0004]图1是根据实施例的功能部署、分析和编译过程的示例的过程流图;
[0005]图2是根据实施例的、与第一计算设备相关联并基于来自服务器阵列的性能度量的增强的代码编译的方法的示例的流程图;
[0006]图3是根据实施例的计算架构的示例的框图;
[0007]图4是根据实施例的、跟踪和上传概况分析数据的示例的过程流图;
[0008]图5是根据实施例的、实现功能代码服务的方法的示例的流程图;
[0009]图6是根据实施例的、上传概况分析数据并对功能进行编译的方法的示例的流程图;
[0010]图7是根据实施例的、生成用于一个或多个计算架构的经编译的代码的方法的示例的流程图;
[0011]图8是根据实施例的对经编译的代码进行反编译的方法的示例的流程图;
[0012]图9是根据实施例的使计数器归一化的方法的示例的流程图;
[0013]图10是根据实施例的性能增强的计算系统的示例的框图;
[0014]图11是根据实施例的半导体设备的示例的图示;
[0015]图12是根据实施例的处理器的示例的框图;以及
[0016]图13是根据实施例的基于多处理器的计算系统的示例的框图。
具体实施方式
[0017]现在转向图1,图示出功能部署、分析和编译过程100。在过程100中,可实现动态总体(ensemble)编译(例如,即时(JIT)编译)来编译FaaS工作负荷。FaaS功能的每次调用可能是短暂的并且潜在地与其他调用功能无关。过程100可通过对来自跨基于云的系统的不同FaaS运行时实例的不同概况分析数据进行聚合来分析短暂FaaS功能,以标识“热点”并相应地对这些“热点”进行编译。
[0018]相比之下,常规设计(例如,编译器、数据共享过程、概况分析器等)可能由于功能的短时性质而无法完全领会每个功能的完整范围。例如,功能可跨宽服务器(例如,计算设备)阵列执行多次。换言之,在FaaS场景中,每个隔离的运行时可仅针对单个调用执行或执行有限数量的服务。短的生命周期阻碍了用于引导优化的有效简档的有意义生成。因此,一些常规设计可能无法标识包括“热点”(例如,高比例的所执行指令在其中发生的计算机程序的区域)的功能。由此,常规设计可能无法标识将最多地受益于编译和更广泛的分析的FaaS功能以进行增强,并且由此无法高效地编译FaaS功能。
[0019]过程100可通过标识包括热点的功能、选择性地标识这些包括热点的功能、并且跨多个服务器共享经编译的代码来增强执行。冷功能可以不被编译,以规避相关联的开销。在这样做时,由于热功能可具有相比于相同功能的其他实现方式(例如,经解释的代码)更高效地操作的经编译的代码,因此性能可被增强。冷功能可能不需要被编译和/或激进式地分析以进行优化。
[0020]换言之,相对于解释代码,编译代码可能招致更多的开销(例如,增加的等待时间和计算资源)。由于每个功能执行将更高效地(例如,等待时间和计算资源减少)执行,因此只要功能执行若干次,那么此类开销就可能是可接受的。由此,通过数次迭代,功能的增强且高效的执行将超过来自编译的增加的开销(例如,编译的成本小于针对若干次调用执行功能的成本的降低)。如果功能是冷的(例如,不频繁地执行),则由于开销可能是从未被证明合理性的(例如,编译的成本大于针对若干次调用执行该功能的成本的降低),因此该功能可能不被编译。由此,由于功能基于这些功能是热的还是冷的并基于可根据以上而设置的阈值来选择性地被编译,因此过程100可减少所利用的资源量。由此,即使两个功能可形成同一程序的部分,也仅这些功能中的一个功能可被编译而另一功能可能不被编译。
[0021]将会理解,可基于功能在一时间段内执行了多少次的测量来进一步应用不同的编译水平。换言之,开销较高的编译(可激进地分析并优化代码)可应用于频繁发生的功能,而开销较低的编译(可能不会对代码优化和分析到开销较高的编译对代码优化的那样)可应用于较不频繁发生的功能。由此,一些实施例可响应于功能(例如,先前被编译的功能)执行若干次以分析该功能而重新编译该功能的代码,以供进一步的效率增强。
[0022]在图1中,总体编译过程100对来自每个FaaS工作负荷的信息片段进行概况分析和收集,并聚合这些信息片段以确定有意义的编译决策。总体编译可将目标方法编译为特定架构所要求的本机代码(例如,用于微架构(μarch或uarch)、加速架构和/或特定处理器中实现给定指令集架构(ISA)的方式),以同时支持异构硬件。经典的预加载机制可被设计成用于总体JIT服务与用于执行JIT操作的真实工作负荷之间的查询交互。总体编译可被设计成用于快速且高效地适应于数据集改变和热点改变。例如,不仅热点被标识和编译,而且冷功能可能被反编译。由此,总体编译可能是高效且自适应的。
[0023]图1图示出一种分布式架构,该分布式架构包括与第一执行服务器106和第二执行服务器114连接的简档服务器102。简档服务器102、第一执行服务器106和第二执行服务器114是同一云计算环境的部分,并且通过合适的介质(例如,有线和/或无线连接)彼此连接。此外,简档服务器102、第一执行服务器106和第二执行服务器114各自可以是计算设备。
[0024]第一执行服务器106和第二执行服务器114可执行第一功能、第二功能和第三功能(例如,实例)。例如,第一执行服务器106可能正在执行第一功能实例108(各自对应于第一
功能的实现方式)和第二功能实例110(各自对应于第二功能的实现方式),而第二执行服务器114可能正在执行第二功能实例116(各自对应于第二功能的实现方式)和第三功能实例118(各自对应于第三功能的实现方式)。
[0025]第一执行服务器106和第二执行服务器114可跟踪第一功能实例108、第二功能实例110、第二功能实例116和第三功能实例118的执行期间的性能度量(例如,功能的调用)。简档服务器102可基于第一、第二和第三功能的调用次数来确定是否要编译第一、第二和第三功能。
[0026]例如,第一执行服务器106和第二执行服务器114可包括概况分析器112、120,以对第一功能实例108、第二功能实例110、第二功能实例116和第三功能实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种第一计算设备,包括:网络控制器,所述网络控制器用于从至少一个第二计算设备接收性能度量,所述性能度量用于与第一功能在所述至少一个第二计算设备上的执行相关联;图形处理器;中央处理单元;以及存储器,所述存储器包括一组指令,所述指令在由所述图形处理器或所述中央处理单元中的一者或多者执行时使得所述第一计算设备用于:对所述性能度量进行聚合,确定经聚合的性能度量满足阈值,以及响应于所述经聚合的性能度量被确定为满足所述阈值而编译与所述第一功能相关联的代码。2.如权利要求1所述的第一计算设备,其中,所述指令当被执行时使所述第一计算设备用于:标识至少一个第一性能度量,其中,所述至少一个第一性能度量是所述至少一个第二计算设备中的一个计算设备上所述第一功能的第一调用次数;标识至少一个第二性能度量,其中,所述至少一个第二性能度量是所述至少一个第二计算设备中的另一计算设备上所述第一功能的第二调用次数;以及对所述至少一个第一性能度量和所述至少一个第二性能度量进行聚合,以生成用于与所述第一调用次数和所述第二调用次数相对应的经聚合的性能度量。3.如权利要求1所述的第一计算设备,其中,所述指令当被执行时使所述第一计算设备用于:基于编译所述第一功能的成本来确定所述阈值;基于所述经聚合的性能度量来确定与所述第一功能的执行相关联的调用次数;以及响应于所述调用次数被确定为满足所述阈值,编译与所述第一功能相关联的所述代码以生成经编译的代码。4.如权利要求1所述的第一计算设备,其中,所述指令当被执行时使所述第一计算设备用于:将经编译的代码传播至所述至少一个第二计算设备。5.如权利要求4所述的第一计算设备,其中,所述至少一个第二计算设备用于执行所述经编译的代码。6.如权利要求1

5中任一项所述的第一计算设备,其中,所述指令当被执行时使所述第一计算设备用于:标识所述至少一个第二计算设备的硬件简档;以及基于所述硬件简档来编译与所述第一功能相关联的所述代码,以生成经编译的代码。7.一种第一计算设备的半导体设备,包括:一个或多个衬底;以及逻辑,所述逻辑耦合至所述一个或多个衬底,其中,所述逻辑采用可配置逻辑或固定功能硬件逻辑中的一者或多者来实现,耦合至所述一个或多个衬底的所述逻辑用于:对与第一功能在至少一个第二计算设备上的执行相关联的性能度量进行聚合;
确定经聚合的性能度量用于满足阈值;以及响应于所述经聚合的性能度量被确定为满足所述阈值而编译与所述第一功能相关联的代码。8.如权利要求7所述的半导体设备,其中,所述逻辑用于:标识至少一个第一性能度量,其中,所述至少一个第一性能度量是所述至少一个第二计算设备中的一个计算设备上所述第一功能的第一调用次数;标识至少一个第二性能度量,其中,所述至少一个第二性能度量是所述至少一个第二计算设备中的另一计算设备上所述第一功能的第二调用次数;以及对所述至少一个第一性能度量和所述至少一个第二性能度量进行聚合,以生成用于与所述第一调用次数和所述第二调用次数相对应的经聚合的性能度量。9.如权利要求7所述的半导体设备,其中,所述逻辑用于:基于编译所述第一功能的成本来确定所述阈值;基于所述经聚合的性能度量来确定与所述第一功能的执行相关联的调用次数;以及响应于所述调用次数被确定为满足所述阈值,编译与所述第一功能相关联的所述代码以生成经编译的代码。10.如权利要求7所述的半导体设备,其中,所述逻辑用于:将经编译的代码传播至所述至少一个第二计算设备。11.如权利要求7所述的半导体设备,其中,所述至少一个第二计算设备用于执行经编译的代码。12.如权利要求7

11中任一项所述的半导体设备,其中,所述逻辑用于:标识所述至少一个第二计算设备的硬件简档;以及基于所述硬件简档来编译与所述第一功能...

【专利技术属性】
技术研发人员:杨斌包佳M
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1