欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 边缘计算环境中的加速的自动定位独创技术84129字

边缘计算环境中的加速的自动定位

2021-03-19 05:41:39

边缘计算环境中的加速的自动定位

  技术领域

  本文描述的实施例总体上涉及边缘计算和相关的分布式计算环境,具体地,涉及可在边缘计算平台上操作的加速资源的管理和使用。

  背景技术

  边缘计算在一般层次上指代为了优化所有权的总成本,减少应用时延,改进服务能力,以及改进针对安全性或数据隐私要求的合规性而转换更靠近端点设备(例如,消费者计算设备、用户设备等)的计算资源和存储资源。在一些情形中,边缘计算可以提供类似云的分布式服务,该服务可以为应用在许多类型的存储资源和计算资源之间提供编排和管理。结果,边缘计算的一些实现方式已经称为“边缘云”或“雾”,因为先前仅在大型远端数据中心中可用的强大计算资源被移动得更靠近端点,并且使得可供网络的“边缘”处的消费者使用。

  已经开发出移动网络设置中的边缘计算用例,以用于与多址边缘计算(MEC)方法(也称为“移动边缘计算”)整合。MEC方法被设计为允许应用开发者和内容提供商在网络的边缘处接入动态移动网络设置中的计算功能和信息技术(IT)服务环境。在尝试定义用于MEC系统、平台、主机、服务和应用的操作的公共接口方面,欧洲电信标准协会(ETSI)行业规范小组(ISG)已经开发了有限的标准。

  与传统云网络服务和广域网连接相比,边缘计算、MEC和有关技术尝试提供减少的时延、增强的响应性和更多的可用计算功率。然而,将移动性和动态启动的服务整合到某些移动用例和设备处理用例已经对编排、功能协调和资源管理造成限制,尤其是在涉及很多参与者(设备、主机、租户、服务提供商、运营商)的复杂移动性设置中。

  预期加速技术在开发和使用边缘计算部署中扮演重要角色。在用户的智能手机、膝上型计算机或本地服务器上开发了先前形式的功能特定加速,部分是为了弥补与基于云的加速和卸载解决方案关联的网络时延挑战。然而,由于基于现有4G和新兴5G技术的连网基础设施的时延较低,边缘计算有望带来更好的加速卸载体验。

  加速卸载到较低时延的高性能边缘云环境不太可能成功,除非这种用例比客户端云解决方案提供的加速类型更鲁棒且集成度更高。在边缘云中使用加速会引入功耗、形数、硬件和软件资产的考虑因素,客户端/云或其他all-or-nothing部署中并未考虑这些因素。结果,在边缘计算系统中使用加速尚未被广泛采纳。

  附图说明

  在不一定按比例绘制的附图中,类似标号在不同视图中可以描述相似组件。具有不同字母后缀的类似标号可以表示相似组件的不同实例。在附图的各图中,通过示例而非限制的方式示出一些实施例,其中:

  图1示出根据示例的用于边缘计算的边缘云配置的概述;

  图2示出根据示例的用于在多个边缘节点和多个租户之间操作的边缘计算系统上的虚拟边缘配置的部署和编排;

  图3示出根据示例的涉及对边缘计算系统中的应用的移动接入的车辆计算和通信用例。

  图4示出根据示例的边缘计算硬件配置到网络层中的操作部署和时延的映射;

  图5示出根据示例的适于交换和利用遥测信息进行执行和加速管理的边缘计算部署的配置;

  图6示出根据示例的用于发现和评估执行资源的示例方法的流程图;

  图7示出根据示例的用于边缘计算架构内的加速评估的示例数据流程图;

  图8示出根据示例的用于在边缘计算系统中管理加速执行的示例方法的流程图;

  图9示出根据示例的边缘计算环境当中部署的分布式计算的各层的概述;

  图10A示出根据示例的边缘计算系统中的计算节点处部署的用于计算的示例组件的概述;

  图10B示出根据示例的边缘计算系统中的计算设备内的示例组件的另一概述;

  具体实施方式

  在以下描述中,公开了用于评估和实现边缘计算系统内的加速的方法、配置和相关装置。在示例中,在客户端端点设备上实现了轻量级版本的加速评估框架,以识别和协调所加速的边缘计算操作的位置。该加速评估框架包括边缘编排控件,使得本地加速的功能(如果本地可用)能够被用在服务等级协议(SLA)或类似的服务等级目标(SLO)的操作参数(例如,功率、成本、性能、安全性参数)内。该加速评估框架还包括控件,使得可以基于本地加速的功能的不可用性,基于定时,基于SLA考虑因素等,调用远端加速的功能。

  本技术通过在本地执行与远端执行之间执行智能上下文切换,支持多种边缘计算安装。本技术使得边缘编排器能够在针对在本地或远端执行加速的边缘工作负荷,实现最理想的折衷方面行使更大的灵活性,同时考虑定时、资源和可用性的许多方面。

  现有的加速解决方案常常没有对成本、性能、设计或用户体验提供合适的考虑。同样,基于云的加速与终端用例的整合度常常不足以确保适当的用户体验。此外,对于诸如增强/虚拟现实(AR/VR)、车辆操作和某些合作用例之类的用例,基于云的加速所经历的时延是不可接受的。与之相比,本地加速可能具有低时延,但代价昂贵,影响电池寿命,并具有影响可用性和用户期望性的工业设计问题。这些问题通过协调地使用本地加速资源和边缘加速资源来解决。

  以下系统和技术可以在多种分布式、虚拟化或受管理的边缘计算系统中实现或增强。这些包括使用多址边缘计算(MEC)或4G/5G无线网络配置实现或管理网络服务的环境;或者在涉及光纤、铜缆和其他连接的有线网络配置中实现或管理网络服务的环境。此外,由各个计算组件进行的处理的方面可以涉及在地理上足够接近用户设备的任何计算元件,包括智能电话、车辆通信组件等。

  图1是示出用于边缘计算的配置的概述的框图100,其包括在许多以下示例中称为“边缘云”的处理层。如所示,边缘云110并置于边缘位置(例如,基站140、本地处理中枢150或中心局120),并且因此可以包括多个实体、设备和设备实例。边缘云110比云数据中心130更靠近端点(消费者和生产者)数据源160(例如,自主车辆161、用户设备162、商业和工业设备163、视频捕获设备164、无人机165、智慧城市和建筑设备166、传感器和IoT设备167等)。在边缘云110中的边缘处提供的计算、存储器(memory)和存储(storage)资源对于提供端点数据源160所使用的服务和功能的超低时延响应时间以及减少从边缘云110朝向云数据中心130的网络回传业务(由此提升能耗和总体网络使用等益处)是关键的。

  计算、存储器和存储是稀缺资源,并且通常取决于边缘位置而降低(例如,可供消费者端点设备处使用的处理资源比基站处或中心局处少)。然而,边缘位置距端点(例如,UE)越近,空间和功率受约束就越多。因此,作为一般设计原则,边缘计算尝试通过分配更多的既在地理上又在网络内接入时间方面更靠近的资源,使网络服务所需的资源量最小化。

  以下描述涵盖多个潜在部署并且解决一些网络运营商或服务提供商可能在其自身基础设施中具有的限制的边缘云架构的方面。这些包括:基于边缘位置的配置的变化(因为基站层级处的边缘例如可能具有更受约束的性能);基于可供边缘位置、各层位置或各组位置使用的计算、存储器、存储、构造、加速或类似资源的类型的配置;服务、安全性以及管理和编排功能;以及实现终端服务的可用性和性能的有关目标。

  边缘计算是一种发展中的范例,在其中,典型地通过使用基站、网关、网络路由器或更靠近生产和消费数据的端点设备的其他设备处所实现的计算平台,在网络的“边缘”处或更靠近网络的“边缘”执行计算。例如,边缘网关服务器可以配备有存储器和存储资源的池,以对于已连接的客户端设备的低时延用例(例如,自主驾驶或视频监控)实时执行计算。或者作为示例,可以用计算和加速资源增强基站,以直接处理已连接的用户设备的服务工作负荷,而无需经由回传网络进一步传递数据。或者作为另一示例,可以用执行虚拟化网络功能并提供用于执行已连接设备的服务和消费者功能的计算资源的计算硬件,替代中心局网络管理硬件。这些情形和其他情形可以涉及使用协调的加速,如以下讨论中所提供的那样。

  图2示出用于在多个边缘节点和多个租户之间操作的边缘计算系统上的虚拟边缘配置的部署和编排。具体地说,图2描绘边缘计算系统200中的第一边缘节点222和第二边缘节点224的协调,以履行来自各种虚拟边缘实例的对各种客户端端点210的请求和响应。虚拟边缘实例通过关于对网站、应用、数据库服务器等的较高时延请求而访问云/数据中心240,提供边缘云中的边缘计算能力和处理。因此,边缘云使得能够针对多个租户或实体协调多个云边缘节点之间的处理。

  在图2的示例中,这些虚拟边缘实例包括:第一虚拟边缘232(提供给第一租户(Tenant1)),其提供边缘存储、计算和服务的第一组合;和第二虚拟边缘234,其提供边缘存储、计算和服务的第二组合。虚拟边缘实例232、234分布在边缘节点222、224之间,并且可以包括从相同或不同边缘节点履行请求和响应的情形。每个边缘节点222、224以分布但协调的方式进行操作的配置基于边缘配给功能250而发生。边缘节点222、224在多个租户之间为应用和服务提供协调式操作的功能基于编排功能260而发生。

  应理解,210中的一些设备是多租户设备,其中,Tenant1可以在Tenant1“切片”内工作,而Tenant2可以在Tenant2切片内工作。可信多租户设备可以还包含租户特定加密密钥,使得密钥和切片的组合可以看作“信任根”(RoT)或租户特定RoT。可以使用安全架构(例如,DICE(设备身份合成引擎)架构,其中,DICE硬件构建块用于构造分层式可信计算基上下文,以用于设备能力(例如,现场可编程门阵列(FPGA))的分层)进一步动态地计算RoT。RoT也可以用于可信计算上下文,以支持各个租户操作等。

  边缘计算节点可以对资源(存储器、CPU、GPU、中断控制器、IO控制器、存储器控制器、总线控制器等)进行分区,其中,每个分区可以包含RoT能力,并且其中,可以进一步将根据DICE模型的扇出(fan-out)和分层应用于边缘节点。可以根据DICE分层和扇出结构对由容器、FaaS(功能即服务)引擎、小服务程序(servlet)、服务器或其他计算抽象构成的云计算节点进行分区,以对于每个支持RoT上下文。因此,跨越设备210、222和240的各个RoT可以协调分布式可信计算基(DTCB)的建立,使得可以建立端到端地链接所有元素的租户特定虚拟可信安全信道。

  此外,边缘计算系统可以被扩展为在多所有者-多租户环境中,通过使用容器(提供代码和所需依赖关系的软件的受约束的可部署的单元)提供多个应用的编排。可以使用多租户编排器来执行密钥管理、信任锚点管理和与图2中的可信“切片”概念的配给和生命周期有关的其他安全功能。编排器可以使用DICE分层和扇出构造来创建租户特定的根信任上下文。因此,编排器所提供的编排功能可以参与作为租户特定编排提供方。

  因此,边缘计算系统可以被配置为履行来自多个虚拟边缘实例(以及来自云或远端数据中心(未示出))的对各种客户端端点的请求和响应。这些虚拟边缘实例的使用同时支持多个租户和多个应用(例如,AR/VR、企业应用、内容交付、游戏、计算卸载)。此外,在虚拟边缘实例内可以存在多种类型的应用(例如,普通应用、时延敏感应用、时延关键应用、用户平面应用、连网应用等)。虚拟边缘实例也可以跨越在不同地理位置处的多个所有者的系统。

  在其他示例中,边缘计算系统可以在边缘计算系统中部署容器。作为简化的示例,容器管理器适于通过经由计算节点的执行启动容器化的容器集(pod)、功能和功能即服务实例,或者通过经由计算节点的执行分开地执行容器化的虚拟化网络功能。该布置可以适于由以下系统布置中的多个租户使用,其中,在对每个租户特定的虚拟机内启动容器化的容器集、功能和功能即服务实例(除了执行虚拟化网络功能之外)。

  在边缘云内,(例如,由第一所有者操作的)第一边缘节点222和(例如,由第二所有者操作的)第二边缘节点224还可以操作容器编排器或对容器编排器进行响应,以协调在虚拟边缘实例内为各个租户提供的各种应用的执行。例如,可以基于边缘配给功能250协调边缘节点222、224,而通过编排功能260协调各种应用的操作。

  各种系统布置可以提供在应用组成方面同等地对待VM、容器和功能(以及得到的应用是这三种成分的组合)的架构。每种成分可以涉及使用一个或多个加速器(例如,FPGA、ASIC)组件作为本地后端。以此方式,可以跨编排器所协调的多个边缘所有者划分应用。

  应理解,本文讨论的边缘计算系统和布置可以可适用于各种解决方案、服务和/或用例。作为示例,图3示出涉及对实现边缘云110的边缘计算系统300中的应用的移动接入的简化车辆计算和通信用例。在该用例下,每个客户端计算节点310可以体现为位于在沿道路行驶期间与边缘网关节点320进行通信的对应车辆中的车载计算系统(例如,车载导航和/或信息娱乐系统)。例如,每一个边缘网关节点320可以位于路侧箱中,路侧箱可以沿着道路放置,放置在道路的十字路口处,或放置在道路附近的其他位置。随着每个车辆沿着道路行驶,其客户端计算节点310与特定边缘网关节点320之间的连接可以传播,使得对于客户端计算节点310维持一致的连接和上下文。每一个边缘网关节点320包括一些处理和存储能力,并且因此,可以在一个或多个边缘网关节点320上执行用于客户端计算节点310的数据的一些处理和/或存储。

  每一个边缘网关节点320可以与一个或多个边缘资源节点340(其说明性地体现为位于通信基站342(例如,蜂窝网络的基站)处或其中的计算服务器、器具或组件)进行通信。如上所讨论的,每个边缘网关节点340包括一些处理和存储能力,并且因此,可以在边缘资源节点340上执行用于客户端计算节点310的数据的一些处理和/或存储。例如,对较不紧急或重要的数据的处理可以由边缘资源节点340来执行,而对具有较高紧急性或重要性的数据的处理可以由边缘网关设备或客户端节点自身来执行(取决于例如每个组件的能力)。

  边缘资源节点340还与核心数据中心350进行通信,核心数据中心350可以包括位于中心位置(例如,蜂窝通信网络的中心局)中的计算服务器、器具和/或其他组件。核心数据中心350可以为边缘资源节点340和边缘网关节点320所形成的边缘云110操作提供至全局网络云360(例如,互联网)的网关。此外,在一些示例中,核心数据中心350可以包括一些处理和存储能力,并且因此,可以在核心数据中心350上执行用于客户端计算设备的数据的一些处理和/或存储(例如,低紧急性或重要性、或者高复杂度的处理)。边缘网关节点320或边缘资源节点340可以提供有状态应用332和地理分布式数据存储334(例如,数据库、数据仓等)的使用。

  在其他示例中,随着边缘节点将沿着托管它的平台移动到其他地理位置,图3可以利用各种类型的移动边缘节点(例如,托管在车辆(例如,汽车、卡车、电车、火车等)或其他移动单元中的边缘节点)。通过车辆到车辆的通信,各车辆可以甚至充当用于其他汽车的网络边缘节点(例如,以执行缓存、报告、数据聚合等)。因此,应理解,各种边缘节点中所提供的应用组件可以分布在多种设置中,包括各端点设备或边缘网关节点320处的一些功能或操作、边缘资源节点340处的一些其他功能或操作、以及核心数据中心350或全局网络云360中的其他功能或操作之间的协调。

  在其他配置中,边缘计算系统可以通过使用各个可执行应用和功能来实现FaaS计算能力。在示例中,开发者编写表示一个或多个计算机功能的功能代码(例如,本文的“计算机代码”),并且功能代码被上传到例如边缘节点或数据中心所提供的FaaS平台。触发(例如,服务用例或边缘处理事件)发起通过FaaS平台执行功能代码。

  在FaaS的示例中,使用容器来提供执行功能代码的环境。容器可以是任何隔离式执行实体(例如,进程、Docker或Kubernetes容器、虚拟机等)。在边缘计算系统内,各种数据中心、边缘设备和端点设备(包括移动设备)用于“加持(spin up)”按需缩放的功能(例如,激活和/或分配功能动作)。功能代码得以在物理基础设施(例如,边缘计算节点)设备和底层虚拟化容器上执行。最终,响应于执行完成,在基础设施上“减持(spin down)”(例如,停用和/或解除分配)容器。

  FaaS的其他方面可以使得能够以服务方式部署边缘功能,包括对支持边缘计算作为服务的各个功能的支持。FaaS的附加特征可以包括:粒度计费组件,其使得消费者(例如,计算机代码开发者)能够仅当他们的代码得以执行时进行支付;公共数据存储,用于存储数据,以便一个或多个功能重用;各功能之间的编排和管理;功能执行管理、并行性和联合;容器和功能存储器空间的管理;可供功能使用的加速资源的协调;和容器(包括已经部署了或正在操作的“暖”容器与需要部署或配置的“冷”容器)之间的功能的分布。

  图4示出基于硬件平台402-408到边缘云的各种层420-460及以上(扩展到以下关于图9讨论的操作网络层示例)的映射的边缘计算硬件配置到网络层中的操作部署和时延的另一映射。例如,在层430处,低功率CPU与多个专用加速器(硬件402)的组合可以提供适合于执行预置(on-premise)服务或小边缘(edgelet)(例如,要求极低时延(在毫秒之下)的第一平台类型。在层440处,低功率CPU与专用加速器(硬件402)的类似组合可以提供适合于为多种类型的设备(例如,要求在5ms之下的低时延)低功率执行服务的第二平台类型。在网络的更深处,可以在聚合层450处提供服务器类CPU与专用GPU和加速器(硬件406)或存储(硬件408)的组合。最后,在边缘云之外,可以在核心网络层460处提供多核服务器CPU和存储(硬件410),以使得服务器类(云)处理可用,但具有更高时延的折衷。

  系统400可以在边缘计算系统400中的边缘计算硬件配置的多个层之间为多个租户提供服务的操作。在边缘计算系统400的各个操作层(例如,对应于层420-470)中的每一层处,开放硬件可用性和平台特征的不同组合。例如,在本地层420处操作的小小区可以具有有限的硬件(例如,低功率CPU)以及有限的或没有专用平台特征(软件或硬件特征)。在预置层430处操作的预置机器可以托管附加的或更强大的硬件,并提供软件或硬件特征(例如,AI加速器、FPGA、加密服务等)。基站层440可以具有甚至更多的硬件能力(例如,高功率CPU)或更高级平台特征(高级存储存储器);可以在聚合层450和核心网络层460处提供硬件和平台特征(包括智能连网组件)的更高级组合。

  图5示出了适于在本地或边缘设置中交换和利用执行和加速管理的遥测信息的边缘计算部署的配置500。图5更具体地描绘了边缘编排框架的布置,该边缘编排框架访问并评估在端点设备(例如,“本地”边缘设备D 510)处操作的本地加速资源以及在位于边缘云中的设备或节点处操作的边缘加速资源(例如,由边缘节点0 520或边缘节点1 525提供的(例如,由各个基站或接入点提供的)“边缘卸载平台”)。

  可用的加速框架可以考虑到本地设备处的加速资源(本地加速的资源511),或因从本地设备到第一基站(边缘节点0 520)或第二基站(边缘节点1 525)的卸载而调用的加速资源,或其他/多个资源,来协调不同类型的加速卸载平台和组件的使用。在其他示例中,加速卸载平台可以是另一端点、基站、接入点、预置服务器、区域托管中心,或甚至是核心网络数据中心。可以在这些和其他边缘位置部署功能加速引擎,这些功能加速引擎在相应平台向编排提供方或边缘发现节点注册加速简档(profile)之后是可发现或可寻址的。

  边缘加速感知编排器(图5中未示出)可以与该加速框架一起工作,以管理本地的和基于边缘云的加速资源的注册和发现。例如,加速资源可以维护关键功率/性能指标(KPI)的简档或与之关联。该简档还可以跟踪描述所提供的安全性保护的证明属性。证明属性可以指示要证明的属性,例如:身份;信任根硬件;固件/软件配置和状态(例如,针对已知漏洞);可信执行环境可用性;功能强度;端到端数据保护简档和功能强度;和位置信息(地理位置和邻近度)。此外,这些属性中的每一个可以被证明并由证明结果表示。

  加速框架可以内置在硬件加速器或托管设备的特征中,使得如果加速器在设备上可用,则它们可以高效地报告当前加速简档状态。这允许与卸载的工作负荷有关的决策本地化,具体是,是否在本地调度,或者哪个边缘资源用于远端卸载加速。

  加速框架还可以定义常常应用于加速特定功能的接口、编译器钩子、库和比特流。例如,当应用执行数据加速功能(其可以使用现场可编程门阵列(FPGA)、人工智能(AI)处理器、图形处理单元(GPU)、中央处理单元(CPU)等实现在加速设备中)时,硬件参与加速器遥测数据的加速收集。可用的加速器报告遥测特征,例如网络/连接时延、加速性能基准、电源/电池成本以及对SLA/SLO优化以满足KPI有用的其他成本和上下文。

  更详细地,加速框架评估与本地和远端加速特征有关的端点设备(例如,边缘设备D 510,例如移动设备用户设备(UE))处的遥测。本地遥测特征(例如,与本地加速的资源511关联)可以指示本地加速能力、性能、功率/电池、时延和计算简档/基准。除了提示和特征之外,边缘遥测特征(例如,与边缘计算资源的边缘加速的资源521关联)还可以指示这些值。例如,如图5所示,边缘节点可以从其本地资源(例如,在边缘节点0 520处)和边缘对等方(例如,在边缘节点1 525处,经由P2P遥测接口获得)收集遥测。

  除了边缘遥测数据530和对等边缘遥测数据540之外,加速框架还考虑本地遥测数据,每种数据跟踪在该位置可用的相应加速资源(例如,FPGA,CPU等)、测量的类型和测量值(例如,在边缘节点0 520本地的本地资源遥测值530或边缘节点1 525本地的对等资源遥测值中指示)。利用从一个或多个位置当中收集的遥测值和提示,端点设备(边缘设备D 510)可以用所实现的决定逻辑512(例如,用硬件、指令等来实现)充分地做出加速卸载决定。

  无论考虑来自本地设备、对等设备、预置服务器、基站还是核心服务器的遥测,边缘加速框架都可以利用遥测信息和决定规则来识别与优化KPI有关的主观“最佳”加速目标。在示例中,要优化的KPI可以包括:

  ·功率测量(例如,瓦特)

  ·网络时延要求(例如,毫秒)

  ·带宽

  ·吞吐量

  ·响应时间

  ·功能加速基准(例如,针对功能类型)。

  在计算资源使用时可以考虑的其他要素可以包括:

  ·作为货币函数的成本(例如,用于表示在给定硬件平台上执行的纯成本的硬件和功率的成本)

  ·作为资源使用函数的成本(例如,如果本地设备的电池低,则本地执行的货币成本不得不较大,因为电池需要返回到充电状态)

  在一些情形下,边缘加速资源的使用可以在本地设备上提供显著的资源节约(例如,电池),或者在一些情形下,可以提供更好的响应时间。例如,如果至边缘云的时延加上使用边缘上可用的(足够的)硬件所需的时间,可以优于或等于本地执行功能的时延(同时满足SLA/SLO),则使用边缘资源可以改善响应时间。

  为了完全整合考虑本地执行的可能性的边缘加速器框架,编排SLA可能要求本地计算机作为可能的托管环境之一安全地参与。因此,除了成本KPI考虑因素之外,对于本地与边缘加速执行的对比,还可以考虑安全上下文。安全上下文在多租户情形中可以是相关的,在该情形中,对于某部分的工作负荷,可以将租户的本地计算机视为更好/首选的托管位置。此外,边缘托管节点可以选择性能较低的加速,以便确保对工作负荷的适当保护。

  可以监控和证明在本地加速资源的各个环境中所提供的安全保护等级。例如,加速器可以实现由可信计算组(TCG)设备标识符组成引擎(DICE)或开放计算项目(OCP)Cerberus规范定义的硬件信任根环境。作为另一个示例,加速器可以实现可信执行环境,例如安全飞地(例如,从SGX实现提供的),安全飞地进一步建立至加速硬件(例如,FPGA、GPU或AI加速器)的可信连接。

  作为遥测收集的一部分,加速环境可以提供证明,使得安全相关的属性(例如,上面列出的那些属性)在所收集的遥测的上下文中可用。TCG定义了可以用于该目的的基于DICE和TPM的证明基础设施。此外,加速环境可以根据租户特定卸载来分割加速资源。例如,位于基站上的卸载视频解码功能的FPGA可以使用硬件信任根机制来隔离分配给第一租户的解码比特流。类似地,第二租户可以使其解码比特流与FPGA的不同区域隔离。可以报告所应用的隔离策略,作为编排器、用户、其他边缘加速节点或维护边缘加速服务的可发现简档的目录所收集的证明声明的一部分。

  支持本地加速的用户设备也可以贡献加速提供方简档。该简档可以包括描述除了用户之外本地资源是否还可以用于其他租户的设置。此外,SLA可以在要加速哪些功能和以什么成本加速(例如,针对费用或其他)的上下文中引用安全相关声明。

  作为基本示例,可以基于定时(时延)来确定本地与远端决定(例如,用逻辑512实现)。例如,考虑设备正在决定是否在本地执行给定功能/函数(function)F(X)的情形(例如,在该功能是对象检测模型且输入(X)是图像的情形中)。在这种情形下,边缘设备有两个选项:(1)用本地加速资源执行该功能;或(2)将F(X)发送到边缘加速资源(在边缘云中),等待边缘加速资源返回结果。在时延方面,本地和远端加速执行涉及考虑两个定时函数(T1代表本地执行,T2代表远端执行):

  T1=Execute(F(X),Local Resources)

  T2=SendToEdge(F,X))+ExecuteAtEdge(F(X))+GetFromEdge(F(X))

  公式1

  在ExecuteAtEdge和GetFromEdge定时函数的评估中可能存在可变性和抖动。同样,除非识别并选择边缘云中“最佳”或最可靠的加速资源,否则边缘加速功能的使用可以是可变的。另外,在一些情况下,遍历从设备到边缘节点处的“最佳”加速硬件的多个跳转也极具挑战性。由于这些考虑因素,使用边缘加速资源与本地加速资源的详细发现和比较可以有助于满足SLA目标并提高可预测性和系统可靠性。

  此外,对远端加速时的功能的评估(用上述T2计算)可以被扩展到考虑成本约束。例如,每个传输和计算(或资源的其他保留或使用)都产生可以跟踪的成本,无论是货币成本还是性能成本。考虑到成本约束,可以归一化为该资源的成本计算的不同时间T。因此,本地或远端加速资源的选择可以用于在考虑成本下优化时间。

  图5所示的架构描绘了单维或固定优化问题。然而,该架构可以通过以下选项来扩展,其中,加速器或计算元件可以提供对主动执行不同类型的功能的估计。这些功能可以被提供作为用于识别不同类型的功能的代理(或者,被认为是不同类型的功能的基准)。

  图6提供了用于发现和评估边缘和本地加速资源的示例方法600的流程图。具体地,提供以下技术以使得边缘设备能够使用离散的时间单位发现和考虑来自本地和远端加速位置的执行定时。

  方法600的第一操作包括:在操作602,发现边缘计算系统的附近层级(例如,边缘环境的下一个或多个层级处的对等节点)中的可用资源。这之后是第二发现操作:在操作604,识别这些可用资源的使用特性。这个使用的考虑因素可以包括:评估当前利用率,以及潜在地,评估最近N个时间单位的历史利用率。这之后是第三发现操作:在操作606,识别这些可用资源的能力特性(例如,到达资源的时间、可用带宽、约束等)。

  然后,流程图600继续于:在操作608,使用已实现的逻辑(例如,在边缘设备(无论是端点客户端设备、编排器、边缘网关还是其他)处实现的)来确定执行定时。这通过两个分支来进行,以识别本地时序估计与远端时序估计。在操作612,对于使用本地加速资源产生执行估计。在操作614-618,对于使用远端加速资源产生执行估计。

  任一类型的估计都可以通过使用代理功能来产生,该代理功能根据样本或实际工作负荷来模拟特定类型功能的结果。例如,合适的代理功能可以是能够被(不时地)调用的对象检测功能,例如以估计将花费多长时间执行关于对象检测代理或估计性能的另一功能。

  在示例中,用于估计远端加速资源处的定时的逻辑可以包括:

  在操作614,向远端边缘设备(例如,基站中的接入网关)请求估计用净荷X执行F的时间,并估计在给定SLA和资源要求内的响应大小。

  在操作616,远端边缘设备(接入网关或其他设备)选择和评估满足SLA的资源,同时考虑到:(a)传输X的时间;(b)计算F(X)的时间;(c)返回的时间。

  在操作618,基于功能和数据以及其他值的考虑,远端边缘设备产生并返回执行时间估计。可以在SLA认可的协议的上下文中评估在远端位置处执行传输、执行功能以及返回结果的成本。

  在操作620,基于本地估计和远端估计的结果,边缘设备决定是在本地还是在远端位置调用加速资源。在其他示例中,该决定(和逻辑实现)可以由编排器、网关或其他实体来执行。可以理解,该决定可以动态地并且取决于当前条件以及所调用资源的类型和当前可用性来做出。在一些加速资源是本地的而一些是远端的情况下,这可能意味着资源使用在一种情况下可以是70%本地的,30%远端的,而在另一情况下可以是100%远端的。

  继图5中描绘的架构和图6中描绘的操作之后,图7提供了用于边缘计算架构700内的加速评估的示例数据流图示。在该图示中,架构700的各种资源适于评估和使用本地加速器724或由边缘节点720触发的三个边缘加速器A1 711、A2 712、A3 713之一。该评估是基于使用遥测收集器730(例如,由网关、编排器或其他实体实现)从多个远端加速资源收集遥测来执行的。

  如上所讨论的,可以通过附加操作来扩展估计和评估,在附加操作中,能够执行功能的加速器或计算元件提供对主动执行不同类型的功能的估计。这些功能用作不同类型功能的代理(或用作不同类型功能的基准)。例如,一种代理功能可以是对象检测。可以偶尔地或可选地使用该代理功能,以估计将需要花费多长时间执行性能可以由对象检测代理的功能。即使使用代理功能,也可以在SLA考虑因素的上下文中评估执行传输、执行和返回传输的成本。

  在代理功能的特定应用中,在图7的架构中,经由对基站中的接入网关(图7中未示出)的请求,提供对各个加速器711、712、713的请求。该请求用于请求用净荷X执行F的时间的估计,加上给定SLA和资源要求内的估计响应大小。接入网关(其可以是基于硬件或软件的编排器加上调度器)识别哪一个是与每个可用加速器或计算节点的F(X)匹配的代理或基准功能。

  在另一示例中,接入网关生成执行F(X)的估计成本加上在所有不同可用计算成本中传输T'(X)和T'(result(X))的估计时间的矩阵。该信息被返回给本地调度器722,以用于考虑和评估。

  本地调度器722相对于由接入网关提供的估计成本,考虑SLA/SLO对功能的允许。如果资源成本超过SLA授权的成本,则资源接收分数(-1),使其超出调度考虑的范围。也可以使用用于评估、排除和加权评分的其他技术。基于评分的结果,最低成本资源将获胜并被选择用于执行。

  图8示出了用于在边缘计算系统中管理加速执行的示例方法的流程图800。如上所述,该方法可以由客户端设备边缘节点、服务器或网关边缘节点、编排器或者边缘计算系统中的或连接到边缘计算系统的其他实体来执行。

  在802,执行如下操作:获得用于在本地在工作负荷上执行功能的遥测信息。访问该第一遥测信息,以获得指示本地加速资源(例如,上面讨论的计算设备的加速电路)对执行功能的可用性的数据。

  在804,执行如下可选操作:从远端位置(可供执行功能的远端加速资源)请求遥测信息。在其他示例中,无需请求即可提供或访问该遥测信息。

  在806,执行如下操作:获得用于在远端位置在工作负载上执行功能的遥测信息(以及可选地,特征和提示)。对于位于边缘计算系统中的远端位置的远端加速资源,访问该第二遥测信息以获得指示远端加速资源对执行功能的可用性的数据。在另一示例中,第二遥测信息包括远端加速资源的指示、针对远端加速资源的测量类型以及该类型的测量的测量值。

  在808,执行如下操作:基于对第一遥测信息和第二遥测信息的评估,识别在本地或远端位置处执行功能的估计时间。例如,在远端加速资源处执行功能的估计时间可以基于将工作负荷发送到远端位置的时间值或测量,加上在远端位置处在工作负荷上执行功能的时间值或测量,再加上从远端位置获得功能的结果的时间值或测量。

  在810,执行如下操作:结合服务等级协议,基于估计时间的识别,选择并且在适用时调用本地或远端资源以在工作负荷上执行功能。例如,可以选择或识别对于执行功能具有较低的时间估计的资源(在充分考虑成本之后进行可选地计算或标准化)。

  在更一般的层次上,边缘计算系统可以被描述为涵盖在边缘云110中操作的先前讨论的层(网络层400-440)处的任何数量的部署,其提供来自客户端和分布式计算设备的协调。为了说明的目的,图9提供了在边缘计算环境当中部署的分布式计算的各层的进一步抽象概述。

  图9总体上描绘用于向多利益相关者实体提供边缘服务和应用的边缘计算系统,这些实体分布在一个或多个客户端计算节点902、一个或多个边缘网关节点912、一个或多个边缘聚合节点922、一个或多个核心数据中心932和全局网络云942之间,跨网络的各层分布。可以在电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体处或代表它们提供边缘计算系统的实现。

  边缘计算系统的每个节点或设备位于与层910、920、930、940和950对应的特定层处。例如,客户端计算节点902均位于端点层910处,而每一个边缘网关节点912位于边缘计算系统的边缘设备层920(本地层级)处。此外,每一个边缘聚合节点922(和/或雾设备924,如果与雾连网配置926一起布置或在雾网络配置926当中操作)位于网络接入层930(中间层级)处。雾计算(或“雾化”)通常指代云计算向企业的网络的边缘的扩展(典型地在协调型分布式或多节点网络中)。一些形式的雾计算在终端设备与云计算数据中心(代表云计算位置)之间提供计算服务、存储服务和连网服务的部署。这些形式的雾计算提供与本文讨论的边缘计算一致的操作;本文讨论的许多边缘计算方面适用于雾网络、雾化和雾配置。此外,本文讨论的边缘计算系统的各方面可以被配置为雾,或者雾的各方面可以整合到边缘计算架构中。

  核心数据中心932位于核心网层940(地区或地理中央层级)处,而全局网络云942位于云数据中心层950(国家或全局层)处。“核心”的使用被提供作为用于可由多个边缘节点或组件接入的集中式网络位置(网络中的较深处)的术语;然而,“核心”不一定指定网络的“中心”或最深位置。因此,核心数据中心932可以位于边缘云110内、其处或其附近。

  虽然在图9中示出说明性数量的客户端计算节点902、边缘网关节点912、边缘聚合节点922、核心数据中心932和全局网络云942,但是应理解,边缘计算系统在每一层处可以包括更多或更少的设备或系统。此外,如图9所示,每个层910、920、930、940和950的组件的数量通常在每个更低层级处(即,当移动得更靠近端点时)增加。因此,一个边缘网关节点912可以服务多个客户端计算节点902,并且一个边缘聚合节点922可以服务多个边缘网关节点912。

  根据本文提供的示例,每个客户端计算节点902可以体现为能够作为数据的生产者或消费者进行通信的任何类型的端点组件、设备、器具或“事物”。此外,边缘计算系统900中所使用的标记“节点”或“设备”并不一定表示该节点或设备以客户端或从属角色操作;相反,边缘计算系统900中的任何节点或设备指代包括分离的或连接的硬件或软件配置以促进或使用边缘云110的各个实体、节点或子系统。

  因此,边缘云110由分别由层920的边缘网关节点912和层930的边缘聚合节点922操作并且处于其内的网络组件和功能特征形成。边缘云110可以体现为提供与有无线接入网(RAN)能力的端点设备(例如,移动计算设备、IoT设备、智能设备等)(其在图9中示为客户端计算节点902)靠近的边缘计算和/或存储资源的任何类型的网络。换句话说,边缘云110可以设想为连接端点设备和充当进入服务提供商核心网(包括运营商网络(例如全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G网络等))的入口点的传统移动网络接入点,同时还提供存储和/或计算能力的“边缘”。也可以利用其他类型和形式的网络接入(例如,Wi-Fi、远距离无线网络)代替这些3GPP运营商网络或与之组合。

  在一些示例中,边缘云110可以形成进入或跨雾连网配置926(例如,雾设备924的网络,未详细示出)的入口点的一部分,或者提供该入口点,雾连网配置926可以体现为分发资源和服务以执行特定功能的系统级水平和分布式架构。例如,雾设备924的协调分布式网络可以在IoT系统布置的上下文中执行计算、存储、控制或连网方面。在核心数据中心层950与客户端端点(例如,客户端计算节点902)之间的边缘云110中可以存在其他连网式、聚合式和分布式功能。在以下章节中,在网络功能或服务虚拟化的上下文中讨论其中一些功能,包括使用为多个利益相关者所编排的虚拟边缘和虚拟服务。

  如以下详细讨论地,边缘网关节点912和边缘聚合节点922合作向客户端计算节点902提供各种边缘服务和安全性。此外,因为每个客户端计算节点902可以是固定的或移动的,所以随着对应客户端计算节点902围绕一区域移动,每个边缘网关节点912可以与其他边缘网关设备合作,以传播当前提供的边缘服务和安全性。为此,边缘网关节点912和/或边缘聚合节点922中的每一个可以支持多个租赁和多个利益相关者配置,在其中,可以跨单个或多个计算设备支持和协调来自(或托管于)多个服务提供商和多个消费者的服务。

  在其他示例中,可以基于图10A和图10B中描绘的组件实现参照本边缘计算系统和环境所讨论的任何计算节点或设备。每个边缘计算节点可以体现为能够与其他边缘组件、连网组件或端点组件进行通信的某种类型的设备、器具、计算机或其他“事物”。例如,边缘计算设备可以体现为智能电话、移动计算设备、智能器具、车载计算系统(例如,导航系统)或能够执行所描述功能的其他设备或系统。

  在图10A中描绘的简化示例中,边缘计算节点1000包括计算引擎(在本文中也称为“计算电路”)1002、输入/输出(I/O)子系统1008、数据存储1010、通信电路子系统1012和可选地一个或多个外围设备1014。在其他示例中,每个计算设备可以包括其他或附加组件(例如,个人或服务器计算系统(例如,显示器、外围设备等)中所使用的组件)。此外,在一些示例中,说明性组件中的一个或多个可以合并到另一组件中,或者形成其一部分。

  计算节点1000可以体现为能够执行各种计算功能的任何类型的引擎、设备或设备集合。在一些示例中,计算节点1000可以体现为单个设备(例如,集成电路、嵌入式系统、现场可编程门阵列(FPGA)、片上系统(SOC)或其他集成系统或设备)。在说明性示例中,计算节点1000包括或体现为处理器1004和存储器1006。处理器1004可以体现为能够执行本文所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器1004可以体现为多核处理器、微控制器或其他处理器或处理/控制电路。在一些示例中,处理器1004可以体现为、包括或耦合到FPGA、专用集成电路(ASIC)、可重配置硬件或硬件电路或者其他专用硬件,以促进本文所描述的功能的执行。

  主存储器1006可以体现为能够执行本文所描述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储。易失性存储器可以是需要电力来维持介质所存储的数据的状态的存储介质。易失性存储器的非限定性示例可以包括各种类型的随机存取存储器(RAM)(例如,DRAM或静态随机存取存储器(SRAM))。可以在存储模块中使用的一种特定类型的DRAM是同步动态随机存取存储器(SDRAM)。

  在一个示例中,存储器设备是块可寻址存储器设备(例如,基于NAND或NOR技术的存储器设备)。存储器设备可以还包括三维交叉点存储器设备(例如,Intel 3D XPointTM存储器)或其他字节可寻址就地写入非易失性存储器设备。存储器设备可以指代管芯自身和/或封装的存储器产品。在一些示例中,3D交叉点存储器(例如,Intel 3D XPointTM存储器)可以包括无晶体管可堆叠交叉点架构,在其中,存储器单元位于字线和位线的交点处并且是单独可寻址的,并且,位存储基于体电阻的改变。在一些示例中,主存储器1006的全部或部分可以集成到处理器1004中。主存储器1006可以存储在操作期间使用的各种软件和数据(例如,一个或多个应用、由应用操作的数据、库和驱动程序)。

  计算电路1002经由I/O子系统1008以通信方式耦合到计算节点1000的其他组件,I/O子系统1008可以体现为用于促进与计算电路1002(例如,与处理器1004和/或主存储器1006)和计算电路1002的其他组件的输入/输出操作的电路和/或组件。例如,I/O子系统1008可以体现为或包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链接(例如,点到点链路、总线链路、引线、缆线、光导、印制电路板迹线等)和/或其他组件和子系统,以促进输入/输出操作。在一些示例中,I/O子系统1008可以形成片上系统(SoC)的一部分,并且连同计算电路1002的处理器1004、主存储器1006和其他组件中的一个或多个一起合并到计算电路1002中。

  一个或多个说明性数据存储设备1010可以体现为被配置用于短期或长期存储数据的任何类型的设备(例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备)。每个数据存储设备1010可以包括系统分区,其存储用于数据存储设备1010的数据和固件代码。每个数据存储设备1010可以还包括一个或多个操作系统分区,其取决于例如计算节点1000的类型而存储用于操作系统的数据文件和可执行文件。

  通信电路1012可以体现为能够使得通过计算电路1002与另一计算设备(例如,边缘计算系统900的边缘网关节点912)之间的网络的通信成为可能的任何通信电路、设备或其集合。通信电路1012可以被配置为使用任何一种或多种通信技术(例如,有线或无线通信)和关联的协议(例如,蜂窝连网协议(例如,3GPP 4G或5G标准)、无线局域网协议(例如,IEEE 802.11/)、无线广域网协议、以太网,等),以实现这种通信。

  说明性通信电路1012包括网络接口控制器(NIC)1020,其也可以称为主机构造接口(HFI)。NIC 1020可以体现为一个或多个add-in板、子卡、网络接口卡、控制器芯片、芯片组或计算节点1000可以用于与另一计算设备(例如,边缘网关节点912)连接的其他设备。在一些示例中,NIC 1020可以体现为包括一个或多个处理器的片上系统(SoC)的一部分,或者包括于也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC 1020可以包括均位于NIC 1020本地的本地处理器(未示出)和/或本地存储器(未示出)。在这些示例中,NIC1020的本地处理器可以能够执行本文描述的计算电路1002的一个或多个功能。附加地或替代地,在这些示例中,NIC 1020的本地存储器可以在板级、插座级、芯片级和/或其他级集成到客户端计算节点的一个或多个组件中。

  此外,在一些示例中,每个计算节点1000可以包括一个或多个外围设备1014。取决于计算节点1000的特定类型,这些外围设备1014可以包括计算设备或服务器中找到的任何类型的外围设备(例如,音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他外围设备)。在其他示例中,边缘计算系统中的各个边缘计算节点(例如,客户端计算节点902、边缘网关节点912、边缘聚合节点922)或类似形式的器具、计算机、子系统、电路或其他组件可以体现计算节点1000。

  在更详细的示例中,图10B示出可以存在于边缘计算节点1050中以用于实现本文所描述的技术(例如,操作、处理、方法和方法论)的组件的示例的框图。边缘计算节点1050可以包括以上引用的组件的任何组合,并且它可以包括可与边缘通信网络或这些网络的组合一起使用的任何设备。组件可以实现为适于边缘计算节点1050中的IC、其部分、分立电子设备或其他模块、逻辑、硬件、软件、固件或其组合,或者实现为合并到更大系统的机架内的组件。

  边缘计算节点1050可以包括处理器1052形式的处理电路,其可以是微处理器、多核处理器、多线程处理器、超低压处理器、嵌入式处理器或其他已知的处理元件。处理器1052可以是片上系统(SoC)的一部分,在SoC中,处理器1052和其他组件形成为单个集成电路或单个封装(例如,来自Intel Corporation,Santa Clara,California的EdisonTM或GalileoTMSoC板)。作为示例,处理器1052可以包括基于Architecture CoreTM的处理器(例如,QuarkTM、AtomTM、i3、i5、i7或MCU类处理器)或从可得的另一这种处理器。然而,可以使用任何其他数量的处理器(例如,从Sunnyvale,California的Advanced MicroDevices,Inc.(AMD)可得的处理器、来自Sunnyvale,California的MIPS Technologies,Inc.的基于MIPS的设计、从ARM Holdings,Ltd.或其消费者或它们的被许可方或采用方许可的基于ARM的设计)。处理器可以包括例如来自Inc.的A5-A12处理器、来自Technologies Inc.的SnapdragonTM处理器或来自Texas Instruments,Inc.的OMAPTM处理器的单元。

  处理器1052可以通过互连1056(例如,总线)与系统存储器1054进行通信。可以使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器可以是根据联合电子器件工程委员会(JEDEC)设计(例如,DDR或移动DDR标准(例如、LPDDR、LPDDR2、LPDDR3或LPDDR4))的随机存取存储器(RAM)。在特定示例中,存储器组件可以符合JEDEC颁布的DRAM标准(例如,关于DDR SDRAM的JESD79F、关于DDR2 SDRAM的JESD79-2F、关于DDR3SDRAM的JESD79-3F、关于DDR4 SDRAM的JESD79-4A、关于低功率DDR(LPDDR)的JESD209、关于LPDDR2的JESD209-2、关于LPDDR3的JESD209-3和关于LPDDR4的JESD209-4)。这些标准(和相似标准)可以称为基于DDR的标准,并且实现这些标准的存储设备的通信接口可以称为基于DDR的接口。在各种实现方式中,各存储器设备可以具有任何数量的不同封装类型(例如,单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q17P))。在一些示例中,这些设备可以直接焊接到主板上,以提供较低轮廓解决方案,而在其他示例中,设备被配置作为一个或多个存储器模块,其进而由给定的连接器耦合到主板。可以使用任何数量的其他存储器实现方式(例如,其他类型的存储器模块(例如,不同种类的双列直插存储器模块(DIMM),包括但不限于microDIMM或MiniDIMM))。

  为了提供信息(例如,数据、应用、操作系统等)的永久存储,存储1058也可以经由互连1056耦合到处理器1052。在示例中,可以经由固态磁盘驱动器(SSDD)实现存储1058。可以用于存储1058的其他设备包括闪存卡(例如,SD卡、microSD卡、XD图片卡等)和USB闪存驱动器。在示例中,存储器设备可以是或可以包括使用硫属化物玻璃的存储器设备、多阈值级NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米引线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、结合忆阻器技术的磁阻随机存取存储器(MRAM)存储器、包括金属氧化物基、氧空位基(oxygen vacancy base)和导电桥随机存取存储器(CB-RAM)的电阻式存储器、或自旋转移扭矩(STT)-MRAM、基于电子自旋磁性结存储器的设备、基于磁性隧道结(MTJ)的设备、基于DW(磁畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或任何以上的组合、或其他存储器。

  在低功率实现方式中,存储1058可以是与处理器1052关联的管芯上存储器或寄存器。然而,在一些示例中,可以使用微硬盘驱动器(HDD)来实现存储1058。此外,除了或代替所描述的技术,任何数量的新技术(例如,电阻变化存储器、相变存储器、全息存储器或化学存储器等)可以用于存储1058。

  组件可以通过互连1056进行通信。互连1056可以包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI高速(PCIe)或任何数量的其他技术。互连1056可以是例如用在基于SoC的系统中的私有总线。可以包括其他总线系统(例如,I2C接口、SPI接口、点到点接口和电力总线等)。

  互连1056可以将处理器1052耦合到收发机1066,以用于与已连接边缘设备1062的通信。收发机1066可以使用任何数量的频率和协议(例如,IEEE 802.15.4标准下的2.4吉赫兹(GHz)传输,使用由特殊兴趣组定义的低功耗(BLE)标准或标准等)。被配置用于特定无线通信协议的任何数量的无线电可以用于至已连接边缘设备1062的连接。例如,无线局域网(WLAN)单元可以用于根据电气和电子工程师协会(IEEE)802.11标准实现通信。此外,无线广域通信(例如,根据蜂窝或其他无线广域协议)可以经由无线广域网(WWAN)单元发生。

  无线网络收发机1066(或多个收发机)可以对于处于不同距离的通信使用多个标准或无线电进行通信。例如,边缘计算节点1050可以使用基于BLE的本地收发机或另一低功率无线电与靠近设备(例如,在大约10米内)进行通信,以节省功率。可以通过ZigBee或其他中间功率无线电到达更远的已连接边缘设备1062(例如,在大约50米内)。这两种通信技术可以按不同的功率水平通过单个无线电发生,或者可以通过分离的收发机(例如,使用BLE的本地收发机和使用ZigBee的单独的Mesh收发机)发生。

  可以包括无线网络收发机1066(例如,无线电收发机),以经由局域网或广域网协议与边缘云1090中的设备或服务进行通信。无线网络收发机1066可以是遵循IEEE802.15.4或IEEE 802.15.4g标准等的LPWA收发机。边缘计算节点1050可以使用Semtech和LoRa联盟开发的LoRaWANTM(远距离广域网)通过广域进行通信。本文描述的技术不限于这些技术,而是可以与实现远距离低带宽通信(例如,Sigfox和其他技术)的任何数量的其他云收发机一起使用。此外,可以使用IEEE 802.15.4e规范中所描述的其他通信技术(例如,时隙式信道跳转)。

  如本文所描述的那样,除了关于无线网络收发机1066提到的系统之外,还可以使用任何数量的其他无线电通信和协议。例如,收发机1066可以包括使用扩频(SPA/SAS)通信实现高速通信的蜂窝收发机。此外,可以使用任何数量的其他协议,例如用于中速通信并且提供网络通信的网络。收发机1066可以包括与任何数量的3GPP(第三代合作伙伴项目)规范兼容的无线电(例如,在本公开的结束进一步详细讨论的长期演进(LTE)和第五代(5G)通信系统)。可以包括网络接口控制器(NIC)1068,以提供至边缘云1090的节点或其他设备(例如(例如,在Mesh中操作的)已连接边缘设备1062)的有线通信。有线通信可以提供以太网连接,或者可以基于其他类型的网络(例如,控制器区域网(CAN)、局部互连网络(LIN)、DeviceNet、ControlNet、Data Highway+、PROFIBUS或PROFINET等)。可以包括附加NIC 1068,以使得能够连接到第二网络,例如,第一NIC 1068通过以太网提供去往云的通信,第二NIC 1068通过另一类型的网络提供去往其他设备的通信。

  考虑到从设备到另一组件或网络的适用通信的类型多种多样,设备所使用的适用通信电路可以包括组件1064、1066、1068或1070中的任何一个或多个,或者由其体现。因此,在各种示例中,可以通过该通信电路体现用于通信(例如,接收、发送等)的适用手段。

  边缘计算节点1050可以包括或耦合到加速电路1064、其可以由一个或多个AI加速器、神经计算棒、神经形态硬件、FPGA、GPU布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC或被设计为完成一个或多个专用任务的其他形式的专用处理器或电路来体现。这些任务可以包括AI处理(包括机器学习、训练、推理和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。因此,在各种示例中,这种加速电路可以体现用于加速的适用手段。

  互连1056可以将处理器1052耦合到用于连接附加设备或子系统的传感器中枢或外部接口1070。设备可以包括传感器1072(例如,加速计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(GPS)传感器、压力传感器、大气压力传感器等)。中枢或接口1070还可以用于将边缘计算节点1050连接到致动器1074(例如,功率开关、阀致动器、听觉声音发生器、视觉警告设备等)。

  在一些可选示例中,各种输入/输出(I/O)设备可以存在于边缘计算节点1050内或连接到边缘计算节点1050。例如,可以包括显示器或其他输出设备1084,以显示信息(例如,传感器读数或致动器位置)。可以包括输入设备1086(例如,触摸屏或小键盘),以接受输入。输出设备1084可以包括任何数量的形式的音频或视觉显示,包括简单视觉输出(例如,二进制状态指示器(例如,LED)和多字符视觉输出)或更复杂的输出(例如,显示屏(例如,LCD屏幕)),其中,字符、图形、多媒体对象等的输出是从边缘计算节点1050的操作生成或产生的。

  电池1076可以为边缘计算节点1050供电,但是在边缘计算节点1050安装在固定位置中的示例中,它可以具有耦合到电网的电源。电池1076可以是锂离子电池或金属-空气电池(例如,锌-空气电池、铝-空气电池、锂-空气电池等)。

  电池监视器/充电器1078可以包括于边缘计算节点1050中,以跟踪电池1076的荷电状态(SoCh)。电池监视器/充电器1078可以用于监控电池1076的其他参数,以提供故障预测(例如,电池1076的健康状态(SoH)和功能状态(SoF))。电池监视器/充电器1078可以包括电池监控集成电路(例如,来自Linear Technologies的LTC4020或LTC2990、来自Phoenix,Arizona的ON Semiconductor的ADT7488A、或来自Dallas,TX的Texas Instruments的UCD90xxx族的IC)。电池监视器/充电器1078可以通过互连1056将关于电池1076的信息传递到处理器1052。电池监视器/充电器1078可以还包括模数(ADC)转换器,其使得处理器1052能够直接监控电池1076的电压或来自电池1076的电流。电池参数可以用于确定边缘计算节点1050可以执行的动作(例如,传输频率、Mesh网络操作、感测频率等)。

  功率块1080或耦合到电网的其他电源可以与电池监视器/充电器1078耦合,以对电池1076进行充电。在一些示例中,可以用无线功率接收机代替功率块1080,以例如通过边缘计算节点1050中的环形天线无线地获得功率。无线电池充电电路(例如,来自Milpitas,California的Linear Technologies的LTC4020芯片等)可以包括于电池监视器/充电器1078中。可以基于电池1076的大小以及因此所需的电流来选择特定充电电路。可以使用Airfuel联盟所颁布的Airfuel标准、无线电力联盟(Wireless Power Consortium)所颁布的Qi无线充电标准或无线电力联盟(Alliance for Wireless Power)所颁布的Rezence充电标准执行充电。

  存储1058可以包括软件、固件或硬件命令的形式的指令1082,以实现本文描述的技术。虽然这些指令1082被示为包括于存储器1054和存储1058中的代码块,但是可以理解,可以用例如内置于专用集成电路(ASIC)中的硬连线电路代替任何代码块。

  在示例中,经由存储器1054、存储1058或处理器1052提供的指令1082可以体现为包括用于引导处理器1052在边缘计算节点1050中执行电子操作的代码的非瞬时性机器可读介质1060。处理器1052可以通过互连1056访问非瞬时性机器可读介质1060。例如,非瞬时性机器可读介质1060可以由关于存储1058所描述的设备来体现,或者可以包括特定存储单元(例如,光盘、闪存驱动器或任何数量的其他硬件设备)。非瞬时性机器可读介质1060可以包括用于引导处理器1052执行例如关于以上描绘的操作和功能的流程图和框图所描述的特定动作序列或流程的指令。如所使用的那样,术语“机器可读介质”和“计算机可读介质”是可互换的。

  在其他示例中,机器可读介质还包括能够存储、编码或携带用于机器执行的指令并且使机器执行本公开的任何一种或多种方法的任何有形介质,或者能够存储、编码或携带由这些指令利用或与之关联的数据结构的任何有形介质。“机器可读介质”因此可以包括但不限于固态存储器以及光学和磁性介质。机器可读介质的特定示例包括非易失性存储器,包括但不限于例如半导体存储设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘(例如,内部硬盘和可移除盘);磁性光盘;以及CD-ROM和DVD-ROM盘。也可以利用多种传输协议中的任何一种(例如,HTTP),经由网络接口设备使用传输介质通过通信网络进一步发送或接收机器可读介质所体现的指令。

  能够以非瞬时性格式托管数据的存储设备或其他装置可以提供机器可读介质。在示例中,机器可读介质上所存储或提供的信息可以表示指令(例如,指令自身或可以从中导出指令的格式)。可以从中导出指令的这种格式可以包括源代码、编码的指令(例如,以压缩或加密的形式)、封装的指令(例如,划分为多个包)等。处理电路可以将表示机器可读介质中的指令的信息处理为指令,以实现本文所讨论的任何操作。例如,从信息中导出指令(例如,由处理电路进行处理)可以包括:将信息(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静地链接)、编码、解码、加密、解密、封装、解封或操控成指令。

  在示例中,指令的导出可以包括(例如,处理电路进行的)信息的组装、编译或解释,以从机器可读介质所提供的某种中间或预处理的格式创建指令。信息当以多个部分提供时可以被组合、解封和修改,以创建指令。例如,信息可以处于一个或若干远端服务器上的多个压缩的源代码包(或目标代码或二进制可执行代码等)中。源代码包在通过网络运送中时可以被加密,并且在本地机器处解密、解压、组装(例如,链接)(如果需要)以及编译或解释(例如,编译或解释成库、独立可执行文件等),并由本地机器执行。

  图10A和图10B中的每一个框旨在描绘边缘计算节点的设备、子系统或布置的组件的高层次视图。然而,应理解,在其他实现方式中,可以省略所示的一些组件,可以存在附加的组件,并且可以出现所示的组件的不同布置。

  应理解,本说明书中所描述的功能单元或能力可以被提及或标记为组件或模块,以便更特别地强调它们的实现方式独立性。任何数量的软件或硬件形式可以体现这些组件。例如,组件或模块可以被实现为硬件电路,包括定制超大规模集成(VLSI)电路或门阵列、现货半导体(例如,逻辑芯片)、晶体管或其它分立组件。也可以在可编程硬件器件(例如,现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等)中实现组件或模块。也可以以软件实现组件或模块,以便由各种类型的处理器执行。可执行代码的所识别的组件或模块可以例如包括计算机指令的一个或多个物理块或逻辑块,它们可以例如被组织为对象、过程或功能。然而,所识别的组件或模块的可执行文件无需在物理上位于一起,而是可以包括存储在不同位置中的相异指令,这些指令当在逻辑上结合在一起时,构成组件或模块并实现关于组件或模块所声明的目的。

  实际上,可执行代码的组件或模块可以是单个指令或许多指令,并且可以甚至分布在若干不同的代码分段上,不同程序之间,以及跨若干存储器设备或处理系统。特别地,所描述的处理的一些方面(例如,代码重写和代码分析)可以发生在与代码被部署在的处理系统(例如,传感器或机器人中所嵌入的计算机中)不同的处理系统上(例如,数据中心的计算机中)。相似地,操作数据在本文中可以被识别和示出在组件或模块内,并且可以通过任何合适的形式来体现并组织于任何合适类型的数据结构内。操作数据可以被收集为单个数据集,或者可以分布在不同位置上(包括在不同存储设备上),并且可以至少部分地仅作为系统或网络上的电子信号而存在。组件或模块可以是无源或有源的,包括可操作以执行期望功能的代理。

  当前描述的方法、系统和设备实施例的附加示例包括以下非限制性配置。每个以下非限制性示例可以独立存在,或者可以以任何排列或组合与以下或整个本公开中提供的任何一个或多个其他示例组合。

  示例1是一种边缘计算系统中的边缘计算设备,包括:加速电路;处理电路;和存储器设备,其上存储有指令,其中,所述指令在由所述处理电路执行时,将所述处理电路配置为执行以下操作:获得指示所述加速电路对执行功能的可用性的第一遥测信息;获得指示远端加速资源对执行所述功能的可用性的第二遥测信息,所述远端加速资源位于所述边缘计算系统中的远离所述边缘计算设备的远端位置;基于对所述第一遥测信息和所述第二遥测信息的评估,识别在所述加速电路或所述远端加速资源处执行所述功能的估计时间;以及结合服务等级协议,基于在所述远端加速资源或所述加速电路处执行所述功能的估计时间的识别,选择使用所述加速电路或所述远端加速资源在工作负荷上执行所述功能。

  在示例2中,如示例1所述的主题包括,其中,所述第二遥测信息包括所述远端加速资源的指示、针对所述远端加速资源的测量类型以及该类型的测量的测量值。

  在示例3中,如示例2所述的主题包括,其中,所述测量类型涉及:资源利用率、资源可用性、资源能力、性能测量、功率测量、吞吐量、计算基准、响应时间、货币成本、资源使用成本或时延。

  在示例4中,如示例2-3所述的主题包括,其中,所述第二遥测信息包括多个远端加速资源的指示,其中,所述测量类型和所述测量值是针对所述多个远端加速资源中的各资源提供的。

  在示例5中,如示例4所述的主题包括,其中,所述多个远端加速资源包括在所述远端位置处的第一加速资源和在所述远端位置的对等方处的第二加速资源。

  在示例6中,如示例1-5所述的主题包括,其中,在所述远端加速资源处执行所述功能的估计时间基于将所述工作负荷发送到所述远端位置的时间、在所述远端位置处在所述工作负荷上执行所述功能的时间、以及从所述远端位置获得所述功能的结果的时间。

  在示例7中,如示例1-6所述的主题包括,其中,还基于与向所述远端位置的传输和在所述远端位置处使用所述加速资源关联的成本,选择使用所述加速电路或所述远端加速资源。

  在示例8中,如示例1-7所述的主题包括,所述指令还执行操作以:获得所述远端加速资源的特征和提示,以便使用所述远端位置处的所述远端加速资源,其中,选择使用所述加速电路或所述远端加速资源还基于针对所述远端加速资源获得的特征和提示。

  在示例9中,如示例1-8所述的主题包括,所述指令还执行操作以:从所述远端位置请求所述第二遥测信息,其中,所述请求传递所述功能的标识、资源类型以及与所述服务等级协议关联的要求。

  在示例10中,如示例9所述的主题包括,其中,所述远端加速资源对执行所述功能的可用性是由所述远端位置,基于满足与所述服务等级协议关联的要求的在所述远端位置处执行所述功能的估计时间来确定的。

  在示例11中,如示例1-10所述的主题包括,其中,使用代理功能产生在所述远端加速资源处执行所述功能的估计时间,并且其中,基于较低的估计时间来调用所述加速电路或所述远端加速资源。

  在示例12中,如示例1-11所述的主题包括,其中,所述加速电路包括以下至少之一:现场可编程门阵列(FPGA)、图形处理单元(GPU)硬件、中央处理单元(CPU)硬件或人工智能(AI)处理器硬件。

  在示例13中,如示例1-12所述的主题包括,其中,所述远端位置是所述边缘计算系统的网关、基站或接入点,并且其中,所述边缘计算设备是经由无线网络连接到所述远端位置的移动计算设备。

  在示例14中,一种由计算设备执行的方法,包括:访问第一遥测信息,所述第一遥测信息指示所述计算设备的本地加速资源对执行功能的可用性;访问第二遥测信息,所述第二遥测信息指示远端加速资源对执行所述功能的可用性,所述远端加速资源位于边缘计算系统中的远端位置;基于对所述第一遥测信息和所述第二遥测信息的评估,识别在所述远端加速资源或所述本地加速资源处执行所述功能的估计时间;以及结合服务等级协议,基于在所述远端加速资源或所述本地加速资源处执行所述功能的估计时间的识别,选择使用所述本地加速资源或所述远端加速资源在工作负荷上执行所述功能。

  在示例15中,如示例14所述的主题包括,其中,所述第二遥测信息包括所述远端加速资源的指示、针对所述远端加速资源的测量类型以及该类型的测量的测量值。

  在示例16中,如示例15所述的主题包括,其中,所述测量类型涉及:资源利用率、资源可用性、资源能力、性能测量、功率测量、吞吐量、计算基准、响应时间、货币成本、资源使用成本或时延。

  在示例17中,如示例15-16所述的主题包括,其中,所述第二遥测信息包括多个远端加速资源的指示,其中,所述测量类型和所述测量值是针对所述多个远端加速资源中的各资源提供的。

  在示例18中,如示例17所述的主题包括,其中,所述多个远端加速资源包括在所述远端位置处的第一加速资源和在所述远端位置的对等方处的第二加速资源。

  在示例19中,如示例14-18所述的主题包括,其中,在所述远端加速资源处执行所述功能的估计时间基于将所述工作负荷发送到所述远端位置的时间、在所述远端位置处在所述工作负荷上执行所述功能的时间、以及从所述远端位置获得所述功能的结果的时间。

  在示例20中,如示例14-19所述的主题包括,其中,还基于与向所述远端位置的传输和在所述远端位置处使用所述加速资源关联的成本,选择使用所述加速电路或所述远端加速资源。

  在示例21中,如示例14-20所述的主题包括,访问所述远端加速资源的特征和提示,以便使用所述远端位置处的所述远端加速资源,其中,选择使用所述本地加速资源或所述远端加速资源还基于从所述远端位置获得的特征和提示。

  在示例22中,如示例14-21所述的主题包括,基于所调用的具有较短估计时间的资源,调用所述本地加速资源或所述远端加速资源。

  在示例23中,如示例14-22所述的主题包括,从所述远端位置请求所述第二遥测信息,其中,所述请求传递功能的标识、资源类型以及与服务等级协议关联的要求。

  在示例24中,如示例23所述的主题包括,其中,所述远端加速资源对执行所述功能的可用性是由所述远端位置,基于满足与服务等级协议关联的要求的在所述远端位置处执行所述功能的估计时间来确定的。

  在示例25中,如示例14-24所述的主题包括,还基于与向所述远端位置的传输和在所述远端位置处使用所述加速资源关联的成本,选择使用所述本地加速资源或所述远端加速资源。

  在示例26中,如示例14-25所述的主题包括,其中,使用代理功能产生在所述远端加速资源处执行所述功能的估计时间,并且其中,基于较低的估计时间来调用所述加速电路或所述远端加速资源。

  在示例27中,如示例14-26所述的主题包括,其中,所述加速电路包括以下至少之一:现场可编程门阵列(FPGA)、图形处理单元(GPU)硬件、中央处理单元(CPU)硬件或人工智能(AI)处理器硬件。

  在示例28中,如示例14-27所述的主题包括,其中,所述远端位置是所述边缘计算系统的网关、基站或接入点,并且其中,所述边缘计算设备是经由无线网络连接到所述远端位置的移动计算设备。

  示例29是至少一种非瞬时性机器可读存储设备,其上存储有指令,所述指令在由计算设备的处理电路执行时,使所述处理电路执行如示例1-28中的任一操作。

  示例30是一种装置,包括:用于获得指示计算设备的本地加速模块对执行功能的可用性的第一遥测信息的访问模块;用于获得指示远端加速模块对执行所述功能的可用性的第二遥测信息,所述远端加速模块位于边缘计算系统中的远端位置;用于基于对所述第一遥测信息和所述第二遥测信息的评估,识别在所述远端加速模块或所述本地加速模块处执行所述功能的估计时间的计算模块;以及用于结合服务等级协议,基于在所述远端加速模块或所述本地加速模块处执行所述功能的估计时间的识别,识别所述本地加速模块或所述远端加速模块以在工作负荷上执行所述功能的选择模块。

  在示例31中,如示例30所述的主题包括,其中,所述第二遥测信息包括所述远端加速模块的指示、针对所述远端加速模块的测量类型以及该类型的测量的测量值。

  在示例32中,如示例31所述的主题包括,其中,所述测量类型涉及:资源利用率、资源可用性、资源能力、性能测量、功率测量、吞吐量、计算基准、响应时间、货币成本、资源使用成本或时延。

  在示例33中,如示例31-32所述的主题包括,其中,所述第二遥测信息包括多个远端加速模块的指示,其中,所述测量类型和所述测量值是针对所述多个远端加速模块中的各资源提供的。

  在示例34中,如示例33所述的主题包括,其中,所述多个远端加速模块包括在所述远端位置处的第一加速模块和在所述远端位置的对等方处的第二加速模块。

  在示例35中,如示例30-34所述的主题包括,其中,在所述远端加速模块处执行所述功能的估计时间基于将所述工作负荷发送到所述远端位置的时间、在所述远端位置处在所述工作负荷上执行所述功能的时间、以及从所述远端位置获得所述功能的结果的时间。

  在示例36中,如示例30-35所述的主题包括,其中,还基于与向所述远端位置的传输和在所述远端位置处使用所述加速模块关联的成本,选择使用所述加速电路或所述远端加速模块。

  在示例37中,如示例30-36所述的主题包括,用于处理所述远端加速模块的特征和提示,以便使用所述远端位置处的所述远端加速模块的数据处理模块,其中,选择使用所述本地加速电路或所述远端加速模块还基于从所述远端加速模块获得的特征和提示。

  在示例38中,如示例30-37所述的主题包括,用于基于所调用的具有较短估计时间的资源,调用所述本地加速模块或所述远端加速模块的模块。

  在示例39中,如示例30-38所述的主题包括,用于从所述远端位置请求所述第二遥测信息的模块,其中,所述请求传递所述功能的标识、资源类型以及与所述服务等级协议关联的要求。

  在示例40中,如示例39所述的主题包括,其中,所述远端加速模块对执行所述功能的可用性是由所述远端位置,基于满足与所述服务等级协议关联的要求的在所述远端位置处执行所述功能的估计时间来确定的。

  在示例41中,如示例30-40所述的主题包括,其中,还基于与向所述远端位置的传输和在所述远端位置处使用所述加速模块关联的成本,选择使用所述本地加速模块或所述远端加速模块。

  在示例42中,如示例30-41所述的主题包括,其中,使用代理功能产生在所述远端加速模块处执行所述功能的估计时间,并且其中,基于较低的估计时间来调用所述加速电路或所述远端加速模块。

  示例43是至少一种机器可读介质,包括指令,所述指令在由处理电路执行时,使所述处理电路执行操作以实现示例1-42中的任一项。

  示例44是至少一种机器可读存储介质,包括表示指令的信息,所述指令在由处理电路执行时,使所述处理电路执行示例1-42中任一项的操作。

  示例45可以包括一种或多种非瞬时性计算机可读介质,包括指令,在电子设备的一个或多个处理器执行指令时,指令使所述电子设备执行示例1-42中任一项所描述的或与之有关的方法,或者本文描述的任何其他方法或处理的一个或多个要素。

  示例46可以包括一种装置,包括逻辑、模块或电路,用于执行示例1-42中任一项所描述的或与之有关的方法,或者本文描述的任何其他方法或处理的一个或多个要素。

  示例47可以包括如示例1-42中任一项所描述的或与之有关的方法、技术或处理,或者其部分或部段。

  示例48可以包括一种装置,包括:一个或多个处理器和一个或多个计算机可读介质,所述介质包括指令,所述指令当由所述一个或多个处理器执行时,使所述一个或多个处理器执行示例1-42中任一项所描述的或与之有关的方法、技术或处理,或者其部分。

  示例49可以包括如示例1-42中任一项所描述的或与之有关的信号或者其部分或部段。

  示例50可以包括如示例1-42中任一项所描述的或与之有关的,或者如本文示出和描述的无线网络中的信号。

  示例51可以包括如示例1-42中任一项所描述的或与之有关的,或者如本文示出和描述的,在无线网络中执行或协调通信的方法。

  示例52可以包括如示例1-42中任一项所描述的或与之有关的,或者如本文示出和描述的,用于处理通信的设备。

  示例53是一种包括用于执行示例1-42或如本文示出和描述的任何操作的相应设备和设备通信介质。

  示例54是一种边缘云计算设备实现方式,包括适于执行示例1-42或如本文示出和描述的任何操作的处理节点和计算单元。

  示例55是一种设备,包括用于实现示例1-54中任一项的模块。

  示例56是一种实现示例1-54中任一项的系统。

  示例57是一种实现示例1-54中任一项的方法。

  在以上具体实施方式中,可以将各种特征组合在一起,以简化本公开。然而,权利要求可能没有阐述本文公开的每个特征,因为实施例可以以所述特征的子集为特征。此外,实施例可以包括比特定示例中公开的特征更少的特征。因此,所附权利要求由此被合并到具体实施方式中,其中,权利要求本身代表单独的实施例。

《边缘计算环境中的加速的自动定位.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)