CN114253658A - 边缘计算的持续测试、集成和部署管理 - Google Patents

边缘计算的持续测试、集成和部署管理 Download PDF

Info

Publication number
CN114253658A
CN114253658A CN202110863033.9A CN202110863033A CN114253658A CN 114253658 A CN114253658 A CN 114253658A CN 202110863033 A CN202110863033 A CN 202110863033A CN 114253658 A CN114253658 A CN 114253658A
Authority
CN
China
Prior art keywords
perturbation
edge
service
hardware
hardware component
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.)
Pending
Application number
CN202110863033.9A
Other languages
English (en)
Inventor
F·圭姆伯纳特
K·A·杜什
N·M·史密斯
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN114253658A publication Critical patent/CN114253658A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

通过使用扰动提供了边缘计算环境中故障条件的测试、集成和部署的方法、系统和用例的各个方面。在示例中,用于在边缘计算平台中实现受控扰动的操作包括:标识可利用边缘计算系统的硬件组件实现的至少一个扰动参数,边缘计算系统使用硬件组件提供服务;确定中断服务的操作的值,用以在硬件组件之间实现扰动参数;在用于处理计算工作负荷的服务的操作期间将扰动参数部署到硬件组件,以对服务造成扰动效应;收集在服务的操作期间产生的、与硬件组件相关联的遥测值,该遥测值指示对服务操作的扰动效应;以及基于收集到的遥测值来导致计算操作发生。

Description

边缘计算的持续测试、集成和部署管理
背景技术
一般来说,边缘计算是指对处于较靠近于网络的“边缘”或网络的“边缘”的集合的计算和资源的实现、协调和使用。此种布置的目的在于改善总拥有成本,减少应用和网络等待时间,减少网络回程通信量和相关联的能耗,改善服务能力,并且改善与安全性或数据隐私性要求的顺应性(尤其相较于常规云计算)。可以执行边缘计算操作的组件(“边缘节点”)可以驻留在系统架构或自组织服务所需要的任何位置中(例如,在高性能计算数据中心或云安装中;在规定的边缘节点服务器、企业服务器、路边服务器、电信中央局中;或在消耗边缘服务而被服务的本地或对等的边缘处设备中)。
适于进行边缘计算的应用包括但不限于:传统网络功能的虚拟化(例如,用以操作电信或互联网服务)以及下一代特征和服务的引入(例如,用以支持5G网络服务)。预计广泛地利用边缘计算的用例包括:连接的自驾驶汽车、监测、物联网(IoT)设备数据分析、视频编码和分析、位置知晓的服务、智慧城市中的设备感测、以及许多其他网络和计算密集型服务。
在一些场景中,边缘计算可提供或主控类云分布式服务,该类云分布式服务可为应用和经协调的服务实例提供在许多类型的存储和计算资源之间的编排和管理。随着端点设备、客户端和网关尝试接入更靠近于网络边缘的位置处的网络资源和应用,还预期边缘计算与针对IoT和雾/分布式联网配置开发的现有用例和技术紧密集成。
尽管边缘计算环境有望打开全新的应用和服务类别,但此类设置仍受到传统计算设置中遇到的许多相同故障和可靠性问题的影响。尽管边缘云中有大量关于故障和服务性能的信息被记录并可用,但是现有的方法没有理解这些信息,也没有使用此类信息来改进服务交付或标识故障原因和条件。
附图说明
在附图中(这些附图不一定是按比例绘制的),同样的数字可描述不同视图中的类似组件。具有不同的字母后缀的相同的数字可表示类似组件的不同实例。在所附附图的图中通过示例的方式而非限制性地图示出一些实施例,其中:
图1示出了针对边缘计算的边缘云配置的概览。
图2示出了端点、边缘云和云计算环境之间的操作层。
图3示出了用于边缘计算系统中的联网和服务的示例方法。
图4示出了在多个边缘节点和多个租户之间操作的边缘计算系统中的虚拟边缘配置的部署。
图5示出了在边缘计算系统中部署容器的各种计算布置。
图6示出了涉及对边缘计算系统中的应用的移动接入的计算和通信用例。
图7A示出了用于边缘计算系统中的计算节点处所部署的计算的示例组件的概览。
图7B示出了边缘计算系统中的计算设备内的示例组件的进一步的概览。
图8示出了多层边缘计算环境,使用各种不同的执行和不同的行为来进行工作负荷执行。
图9示出了在多层边缘计算环境的位置处的扰动的引入。
图10示出了用于在多层边缘计算环境中部署和控制扰动的示例过程的流程图。
图11示出了为多层边缘计算环境中的扰动的配置和部署而提供的组件。
图12示出了用于在边缘计算环境中实现受控扰动的示例操作的流程图。
具体实施方式
以下实施例通常涉及分布式边缘计算环境中的测试、集成和部署管理的方面。在边缘计算环境中,故障是统计的;故障可能与软件/服务的版本相关联,也可能与之无关,但也可能是连接间歇、基础设施过载、时序冲突等的产物。因此,为了维持适当的操作环境,重要的是要获得正确的图片,正确标识特别归因于持续集成(CI)和持续交付(CD)操作、安全中断、硬件故障等的故障的原因。
以下实施例具体讨论用于获得在边缘计算系统的操作期间的故障和问题的统计分析视图的各种方法。这些方法包括硬件、软件和统计故障建模的各种方法,这些方法在其他示例中集成了负荷平衡和遥测流与测试方法(例如,A-B测试机制)。此外,这些方法包括跨多个边缘节点合并故障数据的集合,以产生有用的遥测,使得软件具有自动的、经过统计过滤的故障视图。
在示例中,在服务运行时期间在边缘计算位置之中引入各种类型的扰动(例如,受控中断和引入的问题和变化),作为产生有用的遥测和操作数据的方法。基于高度相互依赖的机器集群中的实时行为分析。在实际服务操作期间使用受控扰动使得离线研究几乎没有必要——提高系统操作的速度和效率。此外,受控扰动的使用可有助于在系统操作期间直接标识工作负荷敏感性,以减少实验误差、自动化回归并改进优化/修复过程流。
以下扰动部署和遥测采集过程的其他好处也将显而易见。例如,对扰动的结果执行学习使得能够将故障与特定硬件或软件组件相关,并允许更精确地标识问题。另外,在示例中,可以从与扰动管理单元一起引入的各种控制接口来实现扰动操作的改进管理(以及此类操作的改进安全性)。在以下边缘计算系统概览之后,将提供有关扰动部署和遥测采集的这些和其他特性的附加详细信息。
图1是示出用于边缘计算的配置的概览的框图100,该配置包括在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云110共同定位在边缘位置(诸如接入点或基站140、本地处理中枢150、或中央局120),并且因此可以包括多个实体、设备、和装备实例。与云数据中心130相比,边缘云110被定位成更靠近端点(消费者和生产者)数据源160(例如,自主车辆161、用户装备162、商业和工业装备163、视频捕获设备164、无人机165、智能城市和建筑设备166、传感器和IoT设备167等)。在边缘云110中的边缘处提供的计算、存储器、和存储资源对于为由端点数据源160使用的服务和功能提供超低等待时间的响应时间以及减少从边缘云110朝向云数据中心130的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
计算、存储器、和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备上可用的处理资源比在基站上、在中央局处可用的处理资源更少)。然而,边缘位置越靠近端点(例如,用户装备(UE)),空间和功率通常就越受限。因此,边缘计算尝试通过分配被定位成既在地理上更靠近又在网络接入时间上更靠近的更多的资源来减少网络服务所需的资源量。以该方式,边缘计算尝试在适当的情况下将计算资源带到工作负荷数据,或者,将工作负荷数据带到计算资源。
以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署,并解决了一些网络运营商或服务提供商在其本身的基础设施中可能具有的限制。这些包括基于边缘位置的各种配置(例如,因为处于基站级别的边缘在多租户场景中可能具有更受限制的性能和能力);基于边缘位置、位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性能的相关目标。这些部署可以在网络层中完成处理,取决于等待时间、距离、和定时特征,这些网络层可以被视为“接近边缘”、“靠近边缘”、“本地边缘”、“中间边缘”、或“远边缘”层。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或更靠近于产生和消耗数据的端点设备的其他设备处实现的计算平台(例如,x86或ARM计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监测)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,可用执行虚拟化网络功能并为服务的执行提供计算资源并且为连接的设备提供消费者功能的标准化计算硬件来代替中央局网络管理硬件。在边缘计算网络内,可能存在计算资源“被移动”到数据的服务中的场景,以及其中数据“被移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以便通过激活休眠容量(订阅、按需容量)来根据需要扩展工作负荷需求,以便管理极端情况、紧急情况或为部署的资源在显著更长的实现的生命周期中提供长寿命。
图2示出了端点、边缘云和云计算环境之间的操作层。具体而言,图2描绘了在网络计算的多个说明性层之间利用边缘云110的计算用例205的示例。这些层从端点(设备和事物)层200开始,该层200访问边缘云110以进行数据创建、分析和数据消费活动。边缘云110可以跨越多个网络层(诸如具有网关、内部(on-premise)服务器、或位于物理上邻近边缘系统中的网络设备(节点215)的边缘设备层210);网络接入层220,该网络接入层220涵盖基站、无线电处理单元、网络中枢、区域数据中心(DC)、或本地网络装备(装备225);以及位于它们之间的任何装备、设备或节点(在层212中,未详细图示出)。边缘云110内和各层之间的网络通信可以经由任何数量的有线或无线介质来实现,包括经由未描绘出的连接性架构和技术。
由于网络通信距离和处理时间约束而导致的等待时间的示例的范围可以从在端点层200之间时的小于一毫秒(ms),在边缘设备层210处的低于5ms到当与网络接入层220处的节点通信时的10到40ms之间。在边缘云110之外是核心网络230层和云数据中心240层,每个层均具有增加的等待时间(例如,在核心网络层230处的50-60ms,在云数据中心层处的100ms或更多ms)。因此,在核心网络数据中心235或云数据中心245处的、具有至少为50至100ms或更多的等待时间的操作将无法完成用例205的许多时间关键的功能。出于说明和对比的目的,提供这些等待时间值中的每一个等待时间值;应当理解,使用其他接入网络介质和技术可以进一步降低等待时间。在一些示例中,相对于网络源和目的地,网络的各个部分可以被分类为“靠近边缘”、“本地边缘”、“接近边缘”、“中间边缘”或“远边缘”层。例如,从核心网络数据中心235或云数据中心245的角度来看,中央局或内容数据网络可以被视为位于“接近边缘”层内(“接近”云,具有在与用例205的设备和端点通信时的高等待时间值),而接入点、基站、内部服务器或网络网关可以被视为位于“远边缘”层内(“远”离云,具有在与用例205的设备和端点通信时的低等待时间值)。应当理解,构成“靠近”、“本地”、“接近”、“中间”或“远”边缘的特定网络层的其他分类可以基于等待时间、距离、网络跳数或其他可测量的特性,如从网络层200-240中的任一层中的源测量的。
由于多个服务利用边缘云,各种用例205可以在来自传入流的使用压力下访问资源。为了实现低等待时间的结果,在边缘云110内执行的服务在以下方面平衡不同的需求:(a)优先级(吞吐量或等待时间和服务质量(QoS)(例如,在响应时间需求方面,自主汽车的通信量可能比温度传感器具有更高的优先级;或者,取决于应用,性能敏感度/瓶颈可能存在于计算/加速器、存储器、存储、或网络资源上);(b)可靠性和复原性(例如,取决于应用,一些输入流需要被作用并且以任务关键型可靠性来路由通信量,而一些其他输入流可以容忍偶尔的故障;以及(c)物理约束(例如,功率、冷却和形状因子)。
这些用例的端到端服务视图涉及服务流的概念,并与事务相关联。事务详细说明了消费服务的实体的整体服务需求,以及资源、工作负荷、工作流、以及业务功能和业务级别需求的相关联的服务。利用所描述的“方面(term)”执行的服务能以某种方式在每层处进行管理,以确保在服务的生命周期期间事务的实时和运行时合同合规性。当事务中的组件缺失其约定的SLA时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解SLA违规的影响,以及(2)增强系统中的其他组件以恢复整体事务SLA,以及(3)实现补救的步骤。
因此,考虑到这些变化和服务特征,边缘云110内的边缘计算能以实时或接近实时的方式向用例205的多个应用(例如,对象跟踪、视频监视、连接的汽车等)提供提供服务和作出响应的能力,并满足这些多个应用的超低等待时间需求。这些优势使全新类别的应用(虚拟网络功能(VNF)、功能即服务(FaaS)、边缘即服务(EaaS)、标准过程等)得以实现,这些应用由于等待时间或其他限制而无法利用传统的云计算。
然而,随着边缘计算的优势,有以下注意事项。位于边缘处的设备通常是资源受约束的,并且因此存在对边缘资源的使用的压力。通常,这是通过对供多个用户(租户)和设备使用的存储器和存储资源的池化来解决的。边缘可能是功率和冷却受约束的,并且因此需要由消耗最多功率的应用来负责功率使用。在这些经池化的存储器资源中可能存在固有的功率性能权衡,因为它们中的许多可能使用新兴的存储器技术,在这些技术中,更多的功率需要更大的存储器带宽。同样,还需要改善的硬件安全性和信任根受信任的功能,因为边缘位置可以是无人(控制)的,并且可能甚至需要经许可的访问(例如,当被容纳在第三方位置时)。在多租户、多所有者、或多访问设置中,此类问题在边缘云110中被放大,此类设置中,由许多用户请求服务和应用,特别是当网络使用动态地波动以及多个利益相关者、用例、和服务的组成改变时。
在更一般的级别上,边缘计算系统可以被描述为涵盖在先前讨论的、在边缘云110(网络层200-240)中操作的层处的任意数量的部署,这些层提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点和一个或多个核心数据中心可以分布在网络的各个层上,以由电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体或者代表其提供边缘计算系统的实现。可以动态地提供边缘计算系统的各种实现方式和配置,诸如当被编排以满足服务目标时。
与本文提供的示例一致,客户端计算节点可以被具体化为任何类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行通信的其他事物。进一步地,如边缘计算系统中所使用的标签“节点”或“设备”不一定意指此类节点或设备以客户端或代理/仆从/跟随者角色操作;相反,边缘计算系统中的节点或设备中的任一者指代包括分立的和/或连接的硬件或软件配置以促进和/或使用边缘云110的个体实体、节点、或子系统。
由此,边缘云110由网络层210-230中的边缘网关节点、边缘聚合节点或其他边缘计算节点操作并在网络层210-230中的边缘网关节点、边缘聚合节点或其他边缘计算节点内被操作的网络组件和功能特征形成。因此,边缘云110可被具体化为提供边缘计算和/或存储资源的任何类型的网络,这些边缘计算和/或存储资源被定位成接近支持无线电接入网络(RAN)的端点设备(例如,移动计算设备、IoT设备、智能设备等),其在本文中所讨论。换言之,边缘云110可被预想为连接端点设备和传统网络接入点、同时还提供存储和/或计算能力的“边缘”,该“边缘”充当进入到包括移动运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G/6G网络等)的服务提供商核心网络中的入口点。其他类型和形式的网络接入(例如,Wi-Fi、长程无线、包括光学网络的有线网络)也可替代此类3GPP运营商网络被利用或与此类3GPP运营商网络组合来利用。
边缘云110的联网组件可以是服务器、多租户服务器、装置计算设备和/或任何其他类型的计算设备。例如,边缘云110可以托管在一个或多个装置计算设备之间,这些装置计算设备是包括壳体(housing)、箱(case)或外壳(shell)的自包含处理系统。在一些情况下,边缘设备是为特定目的(例如,红绿灯)而呈现在网络中的设备,但是其具有可用于其他目的的处理或其他能力。此类边缘设备可以独立于其他联网设备,并且设置有具有适合其主要目的的形状因子的壳体;但它仍然是可用于不干扰其主要任务的其他计算任务。边缘设备包括物联网设备。装置计算设备可包括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络安全之类的本地问题的硬件和软件组件。结合图7B描述用于实现装置计算设备的示例硬件。边缘云110还可以包括一个或多个服务器和/或一个或多个多租户服务器。此类服务器可以实现虚拟计算环境,诸如用于部署虚拟机的管理程序、实现容器的操作系统等。此类虚拟计算环境提供执行环境,在该执行环境中一个或多个应用可以在与一个或多个其他应用隔离的同时执行。
在图3中,(以移动设备、计算机、自主车辆、业务计算装备、工业处理装备的形式的)各种客户端端点310交换特定于端点网络聚合类型的请求和响应。例如,客户端端点310可以通过交换通过内部网络系统332的请求和响应322,经由有线宽带网络获得网络接入。一些客户端端点310(诸如移动计算设备)可以通过交换通过接入点(例如,蜂窝网络塔)334的请求和响应,经由无线宽带网络获得网络接入。一些客户端端点310(诸如自主车辆)可通过街道定位网络系统336经由无线车辆网络获得请求和响应326的网络接入。然而,无论网络接入的类型如何,TSP可以在边缘云110内部署聚合点342、344来聚合通信量和请求。因此,在边缘云110内,TSP可以(诸如在边缘聚合节点340处)部署各种计算和存储资源以提供请求的内容。边缘聚合节点340和边缘云110的其他系统被连接至云或数据中心360,该云或数据中心360使用回程网络350来满足来自云/数据中心对网站、应用、数据库服务器等的更高等待时间请求。边缘聚合节点340和聚合点342、344的附加或合并的实例(包括部署在单个服务器框架上的那些实例)也可以存在于边缘云110或TSP基础设施的其他区域内。
图4示出了跨在多个边缘节点和多个租户之间操作的边缘计算系统的虚拟边缘配置的部署和编排。具体而言,图4描绘了边缘计算系统400中的第一边缘节点422和第二边缘节点424的协调,以完成对接入各种虚拟边缘实例的各种客户端端点410(例如,智能城市/建筑系统、移动设备、计算设备、商业/物流系统、工业系统等)的请求和响应。在此,虚拟边缘实例432、434通过接入云/数据中心440(对网站、应用、数据库服务器等有更高等待时间请求)来提供边缘云中的边缘计算能力和处理。然而,边缘云能够协调多个租户或实体的多个边缘节点之间的处理。
在图4的示例中,这些虚拟边缘实例包括:提供给第一租户(租户1)的第一虚拟边缘432,该第一虚拟边缘432提供边缘存储、计算、和服务的第一组合;以及第二虚拟边缘434,提供边缘存储、计算、和服务的第二组合。虚拟边缘实例432、434分布在边缘节点422、424之间,并且可以包括其中从相同或不同的边缘节点满足请求和响应的场景。用于以分布式但协调的方式操作的边缘节点422、424的配置基于边缘供应功能450来发生。用于在多个租户之间为应用和服务提供协调的操作的边缘节点422、424的功能基于编排功能460来发生。
应当理解,410中的设备中的一些设备是多租户设备,其中租户1可以在租户1‘片’内运行,而租户2可以在租户2片内运行(并且,在进一步的示例中,可能存在附加的租户或子租户;并且每个租户甚至可以对特定特征组具体地享有权利并且在事务上被绑定至特定特征组,一直到对特定的硬件特征具体地享有权利并且在事务上被绑定至特定的硬件特征)。受信任的多租户设备可以进一步包含租户专用的加密密钥,使得密钥和片的组合可以被视为“信任根”(RoT)或租户专用的RoT。可以进一步使用DICE(设备标识组合引擎)架构组成动态计算的RoT,使得单个DICE硬件构建块可用于构造用于对设备能力(诸如现场可编程门阵列(FPGA))进行分层的分层受信任的计算基础上下文。RoT进一步可用于受信任计算上下文,以启用对支持多租赁有用的“扇出”。在多租户环境内,相应的边缘节点422、424可以作为分配给每节点多个租户的本地资源的安全性特征实施点。附加地,租户运行时和应用执行(例如,在实例432、434中)可以用作安全性特征的实施点,该安全性特征创建跨越潜在多个物理主管平台的资源的虚拟边缘抽象。最后,编排实体处的编排功能460可以作为用于沿着租户边界对资源进行列队(marshalling)的安全性特征实施点来操作。
边缘计算节点可划分资源(存储器、中央处理单元(CPU)、图形处理单元(GPU)、中断控制器、输入/输出(I/O)控制器、存储器控制器、总线控制器等),其中,相应的分区可包含RoT能力,并且其中根据DICE模型的扇出和分层可进一步应用于边缘节点。由容器、FaaS引擎、小型服务程序、服务器、或其他计算抽象组成的云计算节点可以根据DICE分层和扇出结构进行分区,以支持每个节点的RoT上下文。因此,跨越设备410、422和440的相应的RoT可以协调分布式受信任计算基础(DTCB)的建立,使得可以建立端到端链接所有要素的租户专用的虚拟受信任安全信道。
此外,应当理解,容器可以具有保护其内容不受先前边缘节点影响的数据或工作负荷特定的密钥。作为容器迁移的一部分,源边缘节点处的舱(pod)控制器可以从目标边缘节点舱控制器获得迁移密钥,其中迁移密钥用于包装容器特定的密钥。当容器/舱迁移到目标边缘节点时,解包裹密钥被暴露给舱控制器,然后舱控制器解密经包裹的密钥。密钥现在可用于对容器特定的数据执行操作。迁移功能可以由适当认证的边缘节点和舱管理器(如上所述)进行选通(gate)。
在进一步的示例中,边缘计算系统被扩展以通过在多所有者、多租户环境中使用容器(提供代码和所需依赖关系的被容纳的、可部署的软件单元)来提供多个应用的编排。多租户编排器可用于执行密钥管理、信任锚管理以及与图4中的受信任的‘片’概念的供应和生命周期相关的其他安全性功能。例如,边缘计算系统可被配置成用于满足来自多个虚拟边缘实例(以及,来自云或远程数据中心)的各种客户端端点的请求和响应。这些虚拟边缘实例的使用可以同时支持多个租户和多个应用(例如,增强现实(AR)/虚拟现实(VR)、企业应用、内容交付、游戏、计算迁移)。此外,虚拟边缘实例内可能存在多种类型的应用(例如,普通应用;等待时间敏感型应用;等待时间关键型应用;用户平面应用;联网应用等)。虚拟边缘实例还可以横跨处于不同地理位置的多个所有者的系统(或,由多个所有者共同拥有或共同管理的相应的计算系统和资源)。
例如,每个边缘节点422、424可以实现容器的使用,诸如使用提供一个或多个容器的组的容器“舱”426、428。在使用一个或多个容器舱的设置中,舱控制器或编排器负责舱中容器的本地控制和编排。根据每个容器的需要对为相应边缘片432、434提供的各种边缘节点资源(例如,存储、计算、服务,用六边形描绘)进行分区。
使用容器舱后,舱控制器监督容器和资源的分区和分配。舱控制器从编排器(例如,编排器460)接收指令,该编排器指示控制器如何最佳地对物理资源进行分区以及在什么持续时间内,诸如通过基于SLA合同接收关键性能指标(KPI)目标。舱控制器确定哪个容器需要哪些资源,以及完成工作负荷和满足SLA需要多久。舱控制器还管理容器生命周期操作,诸如:创建容器、为容器提供资源和应用、协调在分布式应用上一起工作的多个容器之间的中间结果、工作负荷完成时拆除容器等。此外,舱控制器可以充当安全角色,阻止资源分配,直到正确的租户验证或阻止向容器提供数据或工作负荷,直到满足认证结果。
此外,通过使用容器舱,租户边界仍然可以存在,但在容器的每一个舱的上下文中。如果每个租户特定的舱都有租户特定的舱控制器,则将有一个共享舱控制器,该共享舱控制器将合并资源分配请求,以避免典型的资源短缺情况。可提供进一步的控制,以确保舱和舱控制器的认证和可信。例如,编排器460可以向执行认证验证的本地舱控制器提供认证验证策略。如果认证满足第一租户舱控制器而不是第二租户舱控制器的策略,则第二舱可以迁移到确实满足该策略的不同边缘节点。或者,可以允许第一舱执行,并且在第二舱执行之前安装和调用不同的共享舱控制器。
图5示出了在边缘计算系统中部署容器的附加计算布置。作为简化示例,系统布置510、520描述了其中舱控制器(例如,容器管理器511、521和容器编排器531)适于通过经由计算节点(布置510中的520)的执行来启动容器化舱、功能、和功能即服务实例,或适于通过经由计算节点(布置520中的523)的执行来单独地执行容器化虚拟化的网络功能。该布置适于在(使用计算节点536的)系统布置530中使用多个租户,其中容器化舱(例如,舱512)、功能(例如,功能513、VNF 522、VNF 537)、和功能即服务实例(例如,FaaS实例514)在专用于相应的租户的虚拟机(例如,用于租户532的VM 534、用于租户533的VM 535)内被启动(除了执行虚拟化网络功能)。该布置进一步适于在系统布置540中使用,该系统布置540提供容器542、543,或在计算节点544上执行各种功能、应用和功能,如由基于容器的编排系统541所协调。
图5中描绘的系统布置提供了在应用组成方面平等地对待VM、容器和功能的架构(并且得到的应用是这三种组成部分的组合)。每个组成部分可能涉及使用一个或多个加速器(FPGA、ASIC)组件作为本地后端。以此方式,应用可以在多个边缘所有者之间被分割,如由编排器进行协调。
在图5的上下文中,舱控制器/容器管理器、容器编排器和各个节点可以提供安全性实施点。然而,可以编排租户隔离,其中分配给一租户的资源与分配给第二租户的资源是不同的,但是边缘所有者合作以确保资源分配不跨租户边界被共享。或者,资源分配可以跨租户边界而被隔离,因为租户可以允许经由订阅或事务/合同基础的“使用”。在这些上下文中,边缘所有者可以使用虚拟化、容器化、飞地和硬件分区方案来强制执行租赁。其他隔离环境可包括:裸金属(专用)装备、虚拟机、容器、容器上的虚拟机或其组合。
在进一步的示例中,软件定义的或受控的硅硬件以及其他可配置的硬件的各方面可以与边缘计算系统的应用、功能、和服务整合。软件定义的硅可用于基于某一资源或硬件组成部分(例如,通过升级、重新配置或在硬件配置本身内提供新的特征)修复自身或工作负荷的一部分的能力、来确保该组成部分履行合同或服务级别协议的能力。
应当领会,本文讨论的边缘计算系统和布置可适用于涉及移动性的各种解决方案、服务和/或用例。作为示例,图6示出涉及对实现边缘云110的边缘计算系统600中的应用进行的移动访问的简化的车辆计算和通信用例。在该用例中,相应的客户端计算节点610可以被具体化为位于相对应车辆中的车载计算系统(例如,车载导航和/或信息娱乐系统),该车载计算系统在横越道路期间与边缘网关节点620通信。例如,边缘网关节点620可以位于路边机柜中或位于被内置到具有其他的、分开的、机械公共设施的结构中的其他外壳中,路边机柜或其他外壳可以沿着道路、在道路的交叉路口处、或在道路附近的其他位置放置。当相应的车辆沿着道路行驶时,其客户端计算节点610与特定边缘网关设备620之间的连接可以传播,以便为客户端计算节点610保持一致的连接和上下文。同样,移动边缘节点可以在高优先级服务处或根据(多个)底层服务(例如,在无人机的情况下)的吞吐量或等待时间分辨率需求进行聚合。相应的边缘网关设备620包括一定量的处理和存储能力,并且由此,客户端计算节点610的数据的一些处理和/或存储可以在边缘网关设备620的一个或多个边缘网关设备上执行。
边缘网关设备620可以与一个或多个边缘资源节点640通信,这些边缘资源节点被说明性地具体化为位于通信基站642(例如,蜂窝网络的基站)处或在通信基站642(例如,蜂窝网络的基站)中的计算服务器、设备或组件。如上文所讨论,相应的边缘资源节点640包括一定量的处理和存储能力,并且由此,客户端计算节点610的数据的一些处理和/或存储可以在边缘资源节点640上执行。例如,不太紧急或不太重要的数据处理可以由边缘资源节点640执行,而更高的紧急性或重要性的数据处理可以由边缘网关设备620执行(例如,取决于每个组件的能力,或请求中指示紧急性或重要性的信息)。基于数据访问、数据位置或等待时间,当处理活动期间的处理优先级改变时,可在边缘资源节点上继续工作。同样,可配置的系统或硬件资源本身可以(例如,通过本地编排器)被激活,以提供附加的资源来满足新的需求(例如,使计算资源适配到工作负荷数据)。
(多个)边缘资源节点640还与核心数据中心650通信,核心数据中心650可以包括位于中心位置(例如,蜂窝通信网络的中央局)的计算服务器、设备和/或其他组件。核心数据中心650可以为由(多个)边缘资源节点640和边缘网关设备620形成的边缘云110操作提供到全球网络云660(例如,互联网)的网关。另外,在一些示例中,核心数据中心650可以包括一定量的处理和存储能力,并且因此,可以在核心数据中心650上执行用于客户端计算设备的一些数据处理和/或存储(例如,低紧急性或重要性或高复杂性的处理)。
边缘网关节点620或边缘资源节点640可以提供状态型的应用632和地理分布式数据库634的使用。虽然应用632和数据库634被图示出为在边缘云110的层处横向地分布,但将理解,应用的资源、服务、或其他组件可以在整个边缘云中竖直地分布(包括,在客户端计算节点610处执行的应用的一部分,在边缘网关节点620处或边缘资源节点640等处的其他部分)。另外,如前所述,可以存在任何级别上的对等关系以满足服务目标和义务。进一步地,特定客户端或应用的数据可以基于变化的条件(例如,基于加速资源的可用性、跟随汽车移动等)从边缘移动到边缘。例如,基于访问的“衰减率”,可以进行预测,以标识要继续的下一个所有者,或者数据或计算访问何时将不再可行。可以利用这些服务和其他服务来完成保持事务合规性和无损性所需的工作。
在进一步的场景中,容器636(或容器的舱)可以从边缘节点620灵活地迁移到其他边缘节点(例如,620、640等),使得具有应用和工作负荷的容器不需要被重组、重新编译、重新解释以迁移到工作中。但是,在此类设置中,可能应用一些补救或“混乱”的翻译操作。例如,节点640处的物理硬件可能不同于边缘网关节点620,因此,构成容器底部边缘的硬件抽象层(HAL)将被重新映射到目标边缘节点的物理层。这可能涉及某种形式的后期绑定技术,诸如HAL从容器原生格式到物理硬件格式的二进制转换,或者可能涉及映射接口和操作。舱控制器可用于驱动接口映射,作为容器生命周期的一部分,其中包括迁移到不同的硬件环境/从不同的硬件环境迁移。
图6所涵盖的场景可以利用各种类型的移动边缘节点(诸如在车辆(汽车/卡车/电车/火车)或其他移动单元中主管的边缘节点),因为边缘节点将沿着主管它的平台移动到其他地理位置。在车辆对车辆通信的情况下,单个车辆甚至可以充当其他车辆的网络边缘节点,(例如,以执行高速缓存、报告、数据聚合等)。因此,将理解,在各种边缘节点中提供的应用组件可以分布在静态或移动设置中,包括在各个端点设备或边缘网关节点620处的一些功能或操作、在边缘资源节点640处的一些其他功能或操作、以及在核心数据中心650或全球网络云660中的其他功能或操作之间的协调。
在进一步的配置中,边缘计算系统可以通过使用相应的可执行应用和功能来实现FaaS计算能力。在示例中,开发者编写表示一个或多个计算机功能的功能代码(例如,本文中的“计算机代码”),并且该功能代码被上传到由例如边缘节点或数据中心提供的FaaS平台。触发器(诸如例如,服务用例或边缘处理事件)发起利用FaaS平台执行功能代码。
在FaaS的示例中,容器用于提供一个环境,在该环境中执行功能代码(例如,可能由第三方提供的应用)。容器可以是任何隔离执行的实体,诸如进程、Docker容器或Kubernetes容器、虚拟机等。在边缘计算系统内,各种数据中心、边缘、和端点(包括移动)设备被用于按需扩展的“旋转加速(spin up)”功能(例如,激活和/或分配功能动作)。功能代码在物理基础设施(例如,边缘计算节点)设备和底层虚拟化容器上得到执行。最后,容器响应于执行被完成而在基础设施上被“旋转减速”(例如,去激活和/或解除分配)。
FaaS的其他方面可以使边缘功能以服务方式进行部署,包括对支持边缘计算即服务(边缘即服务或“EaaS”)的相应功能的支持。FaaS的附加特征可包括:使客户(例如,计算机代码开发者)仅在其代码被执行时进行支付的粒度计费组件;用于存储数据以供一个或多个功能重新使用的通用数据存储;各个功能之间的编排和管理;功能执行管理、并行性和合并;容器和功能存储器空间的管理;功能可用的加速资源的协调;以及功能在容器之间的分布(包括已经部署或操作的“暖”容器,相对于需要初始化、部署、或配置的“冷”容器)。
边缘计算系统600可包括边缘供应节点644或与边缘供应节点644通信。边缘供应节点644可以将诸如图7B的示例计算机可读指令782的软件,分发到实施本文所述的任何方法的各个接收方。示例边缘供应节点644可以由能够存储软件指令和/或向其他计算设备传输软件指令(例如,代码、脚本、可执行二进制文件、容器、包、压缩文件和/或其衍生物)的以下各项来实现:任何计算机服务器、家庭服务器、内容交付网络、虚拟服务器、软件分发系统、中央设施、存储设备、存储节点、数据设施、云服务等。示例边缘供应节点644的(多个)组件可以位于云中、局域网中、边缘网络中、广域网中、因特网上和/或与(多个)接收方通信耦合的任何其他位置。接收方可以是拥有和/或操作边缘供应节点644的实体的客户、客户端、合作伙伴、用户等。例如,拥有和/或操作边缘供应节点644的实体可以是软件指令(诸如图7B的示例计算机可读指令782)的开发者、销售者和/或许可者(或其客户和/或消费者)。接收方可以是消费者、服务提供商、用户、零售商、OEM等,他们购买和/或许可软件指令以用于使用和/或转售和/或分许可。
在示例中,边缘供应节点644包括一个或多个服务器和一个或多个存储设备。存储设备主控计算机可读指令,诸如图7B的示例计算机可读指令782,如下所述。类似于上述边缘网关设备620,边缘供应节点644的一个或多个服务器与基站642或其他网络通信实体通信。在一些示例中,作为商业事务的一部分,一个或多个服务器响应于将软件指令传送到请求方的请求。可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体来处理对软件指令的交付、销售、和/或许可的支付。服务器使购买者和/或许可者能够从边缘供应节点644下载计算机可读指令782。例如,可以与图7B的示例计算机可读指令782相对应的软件指令可以被下载到示例处理器平台700,该示例处理器平台700用于执行计算机可读指令782以实现本文所描述的方法。
在一些示例中,执行计算机可读指令782的(多个)处理器平台可以物理地位于不同的地理位置、法律管辖区等。在一些示例中,边缘供应节点644的一个或多个服务器周期性地提供、传送和/或强制进行软件指令(例如,图7B的示例计算机可读指令782)的更新以确保改善、补丁、更新等被分发并应用于终端用户设备处实现的软件指令。在一些示例中,计算机可读指令782的不同组件可以从不同的源和/或不同的处理器平台分发;例如,不同的库、插件、组件和其他类型的计算模块,无论是经编译的还是经解释的,都可以从不同的源和/或向不同的处理器平台分发。例如,软件指令的一部分(例如,本身不可执行的脚本)可以从第一源分发,而(能够执行脚本的)解释器可以从第二源分发。
在进一步的示例中,参考当前的边缘计算系统和环境讨论的计算节点或设备中的任一者可以基于图7A和图7B所描绘的组件来实现。相应的边缘计算节点可以被具体化为能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或其他“事物”的类型。例如,边缘计算设备可以具体化为个人计算机、服务器、智能手机、移动计算设备、智能设备、车载计算系统(例如,导航系统)、具有外箱、外壳等的自包含设备,或能够执行所述功能的其他设备或系统。
在图7A中描绘的简化示例中,边缘计算节点700包括计算引擎(本文中也称为“计算电路系统”)702、输入/输出(I/O)子系统708、数据存储710、通信电路子系统712,以及任选地,一个或多个外围设备714。在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,显示器、外围设备等)。另外,在一些示例中,说明性组件中的一个或多个可被结合到另一组件中,或以其他方式形成另一组件的部分。
计算节点700可被具体化为能够执行各种计算功能的任何类型的引擎、设备、或设备集合。在一些示例中,计算节点700可被具体化为单个设备,诸如集成电路、嵌入式系统、现场可编程门阵列(FPGA)、片上系统(SOC)或其他集成系统或设备。在说明性示例中,计算节点700包括或被具体化为处理器704和存储器706。处理器704可被具体化为能够执行本文中所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器704可被具体化为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他处理器或处理/控制电路。
在一些示例中,处理器704可被具体化为、包括或耦合到FPGA、专用集成电路(ASIC)、可重新配置的硬件或硬件电路系统、或用于促进本文中所描述的功能的执行的其他专用硬件。同样在一些示例中,处理器704可以具体化为专用x处理单元(xPU)(也称为数据处理单元(DPU))、基础设施处理单元(IPU)或网络处理单元(NPU)。此类xPU可具体化为独立电路或电路封装、集成在SOC内或与联网电路系统(例如,在智能NIC中)集成、加速电路系统、存储设备或AI硬件(例如,GPU或编程FPGA)。此类xPU可设计成用于接收编程以在CPU或通用处理硬件之外处理一个或多个数据流并执行数据流的特定任务和动作(诸如托管微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格,或收集和分发遥测数据)。然而,将理解的是,xPU、SOC、CPU和处理器704的其他变体可以彼此协调工作以在计算节点700内并代表计算节点700执行多种类型的操作和指令。
存储器706可被具体化为能够执行本文中所述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储。易失性存储器可以是需要维持由该介质存储的数据状态的能力的存储介质。易失性存储器的非限制性示例可包括各种类型的随机存取存储器(RAM),诸如DRAM或静态随机存取存储器(SRAM)。可以在存储模块中使用的一个特定类型的DRAM是同步动态随机存取存储器(SDRAM)。
在示例中,存储器设备是块可寻址存储器设备,诸如基于NAND或NOR技术的那些存储器设备。存储器设备还可包括三维交叉点存储器设备(例如,
Figure BDA0003186463090000181
3D XPointTM存储器)或其他字节可寻址的就地写入非易失性存储器设备。存储器设备可指代管芯本身和/或指代封装的存储器产品。在一些示例中,3D交叉点存储器(例如,
Figure BDA0003186463090000182
3D XPointTM存储器)可包括无晶体管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,存储器706的全部或一部分可以被集成到处理器704中。存储器706可以存储在操作期间使用的各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序操作的数据。
计算电路系统702经由I/O子系统708通信地耦合到计算节点700的其他组件,该I/O子系统708可被具体化为用于促进与计算电路系统702(例如,与处理器704和/或主存储器706)以及计算电路系统702的其他组件的输入/输出操作的电路系统和/或组件。例如,I/O子系统708可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些示例中,I/O子系统708可以形成片上系统(SoC)的部分,并可与计算电路系统702的处理器704、存储器706、和其他组件中的一个或多个一起被合并到计算电路系统702中。.
一个或多个说明性数据存储设备710可被具体化为被配置成用于数据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备710可包括存储数据存储设备710的数据以及固件代码的系统分区。各个数据存储设备710还可以包括一个或多个操作系统分区,该操作系统分区根据例如计算节点700的类型来存储操作系统的数据文件和可执行文件。
通信电路系统712可被具体化为能够实现通过网络在计算电路系统712与其他计算设备(例如,边缘计算系统的边缘网关)之间的进行通信的任何通信电路、设备或其集合。通信电路系统712可以被配置成使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协议(诸如3GPP 4G或5G标准)、无线局域网协议(诸如IEEE802.11/
Figure BDA0003186463090000191
)、无线广域网协议,以太网、蓝牙
Figure BDA0003186463090000193
蓝牙低能量、IoT协议(诸如IEEE802.15.4或
Figure BDA0003186463090000192
)、低功率广域网(LPWAN)或低功率广域网(LPWA)协议等)来实行此类通信。
说明性通信电路系统712包括网络接口控制器(NIC)720,其也被称为主机结构接口(HFI)。NIC 720可被具体化为一个或多个插入式板、子卡、网络接口卡、控制器芯片、芯片组或可由计算节点700用来与另一计算设备(例如,边缘网关节点)连接的其他设备。在一些示例中,NIC 720可被具体化为包括一个或多个处理器的片上系统(SoC)的一部分,或NIC720可被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC 720可包括均位于NIC 720本地的本地处理器(未示出)和/或本地存储器(未示出)。在此类示例中,NIC720的本地处理器可能能够执行本文中描述的计算电路系统702的功能中的一个或多个功能。附加地,或者可替代地,在此类示例中,NIC 720的本地存储器可以在板级、插座级、芯片级和/或其他层级上被集成到客户端计算节点的一个或多个组件中。
另外,在一些示例中,相应的计算节点700可以包括一个或多个外围设备714。取决于计算节点700的特定类型,此类外围设备714可包括通常在计算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算节点700可以由相应的边缘计算节点(无论是客户端、网关或聚合节点)在边缘计算系统或类似形式的设备、计算机、子系统、电路系统或其他组件中。
在更详细的示例中,图7B图示出可以存在于边缘计算节点750中的组件的示例的框图,该组件用于实现本文所描述的技术(例如,操作、过程、方法和方法论)。该边缘计算节点750在被实现为计算设备(例如,移动设备、基站、服务器、网关等)或计算设备(例如,移动设备、基站、服务器、网关等)的一部分时提供节点700的相应组件的更靠近的视图。边缘计算节点750可以包括本文中所引用的硬件或逻辑组件的任何组合,并且该边缘计算节点750可以包括或耦合可用于边缘通信网络或此类网络的组合的任何设备。这些组件可被实现为集成电路(IC)、IC的部分、分立电子器件,或其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其适用于边缘计算节点750中的组合,或作为以其他方式被并入在更大的系统的机架内的组件。
边缘计算节点750可包括处理器752形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元,或其他已知的处理元件。处理器752可以是芯片上系统(SoC)的部分,在该SoC中,处理器752和其他组件形成到单个集成电路或单个封装中,诸如,来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC板。作为示例,处理器752可包括基于
Figure BDA0003186463090000201
架构酷睿TM(CoreTM)的CPU处理器(诸如QuarkTM、AtomTM、i3、i5、i7、i9或MCU级处理器)、或可从
Figure BDA0003186463090000202
获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司
Figure BDA0003186463090000203
获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于
Figure BDA0003186463090000204
的设计、许可自ARM控股有限公司的基于
Figure BDA0003186463090000205
的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自
Figure BDA0003186463090000207
公司的A5-A13处理器、来自高通
Figure BDA0003186463090000206
技术公司的骁龙TM(SnapdragonTM)处理器或来自德州仪器公司的OMAPTM处理器。处理器752和伴随的电路系统可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括有限的硬件配置或包括少于图7B中所示的所有元件的配置。
处理器752可通过互连756(例如,总线)来与系统存储器754通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器754可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4)。在特定示例中,存储器组件可符合JEDEC颁布的标准,诸如DDRSDRAM的JESD79F、DDR2 SDRAM的JESD79-2F、DDR3 SDRAM的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(微DIMM)或MiniDIMM(迷你DIMM)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储758还可经由互连756而耦合至处理器752。在示例中,存储758可经由固态盘驱动器(SSDD)来实现。可用于存储758的其他设备包括闪存卡(诸如安全数字(SD)卡、microSD卡、极限数字(xD)图片卡,等等)和通用串行总线(USB)闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(MRAM)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(CB-RAM)的电阻式存储器、或自旋转移力矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁隧穿结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者任何上述或其他存储器的组合。
在低功率实现中,存储758可以是与处理器752相关联的管芯上存储器或寄存器。然而,在一些示例中,存储758可使用微硬盘驱动器(HDD)来实现。此外,附加于或替代所描述的技术,可将任何数量的新技术用于存储758,诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连756进行通信。互连756可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI快速(PCIe)或任何数量的其他技术。互连756可以是例如在基于SoC的系统中使用的专有总线。其他总线系统可被包括,诸如内部集成电路(I2C)接口、串行外围设备接口(SPI)接口、点对点接口、以及功率总线,等等。
互连756可将处理器752耦合至收发机766,以便例如与连接的边缘设备762通信。收发机766可使用任何数量的频率和协议,诸如,IEEE 802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由蓝牙
Figure BDA0003186463090000221
特别兴趣小组定义的蓝牙
Figure BDA0003186463090000222
低能量(BLE)标准、或
Figure BDA0003186463090000223
标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备762的连接。例如,无限局域网(WLAN)单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现
Figure BDA0003186463090000224
通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(WWAN)单元发生。
无线网络收发机766(或多个收发机)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,边缘计算节点750可使用基于蓝牙低能量(BLE)或另一低功率无线电的本地收发机与接近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备762可通过
Figure BDA0003186463090000225
或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机和分开的使用
Figure BDA0003186463090000226
的网格收发机。
无线网络收发机766(例如,无线电收发机)可被包括,以经由局域网协议或广域网协议来与边缘云795中的设备或服务通信。无线网络收发机766可以是遵循IEEE 802.15.4或IEEE 802.15.4g标准等的低功率广域(LPWA)收发机。边缘计算节点750可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距离广域网)在广域上通信。本文中描述的技术不限于这些技术,而使可与实现长距离、低带宽通信(诸如,Sigfox和其他技术)的任何数量的其他云收发机一起使用。进一步地,可使用其他通信技术,诸如在IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的无线网络收发机766而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,收发机766可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的蜂窝收发机。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的
Figure BDA0003186463090000231
网络。收发机766可包括与任何数量的3GPP(第三代合作伙伴计划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(LTE)和第五代(5G)通信系统)兼容的无线电。网络接口控制器(NIC)768可被包括以提供到边缘云795的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备762)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 768可被包括以实现到第二网络的连接,例如,第一NIC 768通过以太网提供到云的通信,并且第二NIC 768通过另一类型的网络提供到其他设备的通信。
鉴于从设备到另一组件或网络的适用通信类型的多样性,设备使用的适用通信电路可以包括组件764、766、768或770中的任何一个或多个或由组件764、766、768或770中的任何一个或多个来具体化。因此,在各个示例中,用于通信(例如,接收、传送等)的适用装置可由此类通信电路系统来具体化。
边缘计算节点750可以包括或被耦合到加速电路系统764,该加速电路系统764可以由一个或多个人工智能(AI)加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路系统来具体化。这些任务可以包括AI处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
互连756可将处理器752耦合至用于连接附加的设备或子系统的传感器中枢或外部接口770。外部设备可包括传感器772,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(GPS)传感器、压力传感器、气压传感器,等等。中枢或接口770可进一步用于将边缘计算节点750连接至致动器774,诸如功率开关、阀致动器、可听声音发生器、视觉警告设备等。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于边缘计算节点750内,或可连接至边缘计算节点750。例如,显示器或其他输出设备784可被包括以显示信息,诸如传感器读数或致动器位置。输入设备786(诸如触摸屏或键区)可被包括以接受输入。输出设备784可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如,二进制状态指示器(例如,发光二极管(LED));多字符视觉输出;或更复杂的输出,诸如,显示屏(例如,液晶显示器(LCD)屏),其具有从边缘计算节点750的操作生成或产生的字符、图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可:用于提供边缘计算系统的输出和接收边缘计算系统的输入;用于管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态、或用于进行任何其他数量的管理或管理功能或服务用例。
电池776可为边缘计算节点750供电,但是在其中边缘计算节点750被安装在固定位置的示例中,该边缘计算节点750可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池776可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监测器/充电器778可被包括在边缘计算节点750中以跟踪电池776(如果包括的话)的充电状态(SoCh)。电池监测器/充电器778可用于监测电池776的其他参数以提供失效预测,诸如电池776的健康状态(SoH)和功能状态(SoF)。电池监测器/充电器778可包括电池监测集成电路,诸如来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监测器/充电器778可通过互连756将关于电池776的信息传递至处理器752。电池监测器/充电器778也可包括使处理器752能够直接监测电池776的电压或来自电池776的电流的模数(ADC)转换器。电池参数可被用于确定边缘计算节点750可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块780或耦合至电网的其他电源可与电池监测器/充电器778耦合以对电池776充电。在一些示例中,功率块780可用无线功率接收机代替,以便例如通过边缘计算节点750中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监测器/充电器778中。可以基于电池776的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储758可包括用于实现本文中公开的技术的软件、固件或硬件命令形式的指令782。虽然此类指令782被示出为被包括在存储器754和存储758中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路替换代码块中的任一个。
在示例中,经由存储器754、存储758或处理器752提供的指令782可被具体化为非暂态机器可读介质760,该非暂态机器可读介质760包括用于指导处理器752执行边缘计算节点750中的电子操作的代码。处理器752可通过互连756访问非暂态机器可读介质760。例如,非暂态机器可读介质760可由针对存储758所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非暂态机器可读介质760可包括用于指示处理器752执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文所适用,术语“机器可读介质”和“计算机可读介质”是可互换的。
也在特定示例中,处理器752上的指令782(单独地或与机器可读介质760的指令782结合)可以配置受信任执行环境(TEE)790的执行或操作。在示例中,TEE 790作为处理器752可访问的保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用英特尔
Figure BDA0003186463090000251
软件防护扩展(SGX)或
Figure BDA0003186463090000252
硬件安全扩展、英特尔
Figure BDA0003186463090000253
管理引擎(ME)或英特尔
Figure BDA0003186463090000261
融合安全可管理性引擎(CSME)来提供TEE 790的各种实现方式以及处理器752或存储器754中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过TEE 790和处理器752在设备750中实现。
在进一步的示例中,机器可读介质也包括任何有形介质,该有形介质能够存储、编码或携带供由机器执行并且使机器执行本公开方法中的任何一种或多种方法的指令,或者该有形介质能够储存、编码或携带由此类指令利用或与此类指令相关联的数据结构。“机器可读介质”因此可包括但不限于固态存储器、光学介质和磁介质。机器可读介质的特定示例包括非易失性存储器,作为示例,包括但不限于:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备);诸如内部硬盘及可移除盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。可使用传输介质,经由网络接口设备,利用数个传输协议中的任何一种协议(例如,超文本传输协议(HTTP)),进一步通过通信网络来传送或接收由机器可读介质具体化的指令。
机器可读介质可以由能够以非暂态格式主管数据的存储设备或其他装置提供。在示例中,存储在机器可读介质上或以其他方式提供在机器可读介质上的信息可以表示指令,诸如指令本身或者可以从中导出指令的格式。可以从中导出指令的该格式可以包括源代码、经编码的指令(例如,以压缩或加密的形式)、经封装的指令(例如,分成多个封装)等。表示机器可读介质中的指令的信息可以通过处理电路系统处理成指令来实现本文所讨论的任何操作。例如,从(例如,由处理电路系统进行的处理的)信息中导出指令可以包括:(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静态地进行链接)、编码、解码、加密、解密、打包、拆包,或者以其他方式将信息操纵到指令中。
在示例中,指令的推导可以包括(例如,通过处理电路系统)对信息进行汇编、编译、或解释,以从机器可读介质提供的一些中间或预处理的格式创建指令。当信息以多个部分提供时,可以对其进行组合、拆包和修改以创建指令。例如,信息可以处于一个或若干远程服务器上的多个经压缩的源代码封装(或目标代码、或二进制可执行代码等)中。源代码封装可以在通过网络传输时被加密,并且可以在本地机器处被解密、被解压缩、(如果必要的话)被汇编(例如,被链接),并且被编译或被解释(例如被编译或被解释成库、独立的可执行文件等),并且由本地机器执行。
如从前面的概览中将理解的,边缘云中的计算是高度分散的。边缘计算正在成为一种特殊的操作类别,在这种操作类别中,事件以及请求和数据流的处理方式应导致低的和确定的等待时间响应。但是,由于未知或未解决的问题和故障,边缘云的不同区域可能出现不稳定和不可预测的性能。
图8示出了多层边缘计算环境,使用各种不同的执行和不同的行为来进行工作负荷执行。该图在高层显示了三层(端点、边缘和云)计算和数据处理的概念,其中中间层850中提供了各种边缘计算位置。在该中间层850中,许多不同的边缘计算、通信和存储资源以分层或对等关系灵活且动态地聚合,以满足响应时间和通信带宽的关键需求,同时在传统云设置中调动更深入且更丰富的资源网络,以供更复杂、计算密集型的操作。
如图8所示,多层边缘计算环境可包括在中间层850的节点位置(诸如在本地边缘计算节点、接入边缘计算节点、近边缘计算节点或中央局/区域云边缘计算节点处)处进行的计算执行。在该上下文中,由于不同的网络位置和不同的硬件工作负荷的行为相当不同,因此理解应用在不同类型的边缘计算配置、来自端点设备310的请求的不同到达时间和类型以及不同的位置类型下的行为如何变得非常复杂。此外,边缘计算位置的硬件中的任何改变可能导致工作负荷性能的改变。
在图8的场景中,本地边缘节点811被示出为经由耦合的硬件平台821、822执行工作负荷801;结果所得的工作负荷801的不同执行和不同行为831产生相应的遥测集841,如从本地IoT处理环境提供的工作负荷A的性能遥测所示。同样在图8的场景中示出,近边缘节点812示出为经由耦合的计算硬件平台823、824执行类似的工作负荷802;结果所得的不同执行和不同行为832以从近边缘节点812执行环境提供的工作负荷A的性能遥测的形式产生相应的遥测集842。
虽然可以从各种工作负荷执行中收集遥测数据,但是将观察到许多不同的执行实例和行为。在边缘云中,挑战不仅是考虑如何在不同的位置部署不同的工作负荷,而且要考虑应用或系统本身在不同条件下针对甚至相同的工作负荷下将如何不同地执行。在这种设置下,可以通过使用扰动引入有意和受控的变化,以标识系统操作期间的结果所得的问题和难题。例如,由受控扰动提供的变化可包括:多工作负荷配置;结构堵塞;不同的功率条件;以及许多其他变化。这些变化中的每一个可用于引入系统的不同状态,这些状态提供不同的结果和有用的遥测,用于错误或问题分析和/或大性能偏移的分析。
受控硬件组件中断(本文称为扰动)的使用可应用于边缘计算平台的数个组件和配置。此类受控扰动可以在较大的方法和系统中实现,这些方法和系统试图在高度相互依赖的机器集群中执行实时行为分析。受控扰动使遥测采集能够在系统运行期间直接标识工作负荷和硬件吞吐量以及故障率敏感性,从而减少实验误差,自动化回归,并改进优化/修复过程流。
以下方法的有效性可以通过在边缘计算节点的广泛范围的单独硬件参数上引起受控的、随机的(和/或精确的)扰动来提供。例如,中断性扰动可应用于各个核、存储器控制器、诸如主机结构接口(HFI)之类的互连、交换机等。附加地,这些中断性扰动可以跨多个边缘平台和位置进行部署和编排,而不涉及复杂的软件或用于微观管理硬件组件的侵入性步骤。
图9示出了在多层边缘计算环境的位置处的扰动的引入。在该示例中,可以通过使用扰动管理单元930(在以下段落中称为“PMU”)在边缘计算系统911内部署硬件辅助扰动。关于PMU在更大边缘计算环境中的操作的附加细节在下面讨论的图11中提供。
在图9所描绘的情况下,边缘计算系统911被配置成使用多个平台921、922来处理多个工作负荷(包括工作负荷A 901和工作负荷B 902)。在这种设置下,扰动是从扰动管理单元930引入的,该扰动管理单元930将第一中断931(受控问题)提供给平台921内的计算硬件资源(例如,CPU),并将第二中断932(另一受控问题)提供给平台921内的编程计算硬件资源(例如,FPGA)。本文讨论的扰动管理单元930和类似的管理单元可以由具有专用编程软件的通用硬件(例如,CPU)或专用硬件来实现。这些扰动可在工作负荷901、902中的一者或两者的执行期间引入。在这种情况下,平台922不经历扰动。从平台921、922和工作负荷901、902中的每一个产生结果所得的性能遥测940;对从平台921、922和工作负荷901、902提供的遥测940的差异的分析可有助于指示故障、故障区域和多个其他潜在问题。
图10示出了用于在多层边缘计算环境中部署和控制扰动的示例过程的流程图1000。该流程图1000是从位于本地计算系统上的扰动管理单元(例如,PMU 930)的角度来描述的;但是可以理解,也可能涉及来自外部计算系统、编排系统或其他实体的操作。
在操作1010,针对扰动(作为计算系统内工作负荷执行的一部分)标识一个或多个工作负荷。该标识可以基于工作负荷的类型、工作负荷的特征、对工作负荷的随机选择、对特定测试标准的选择等。
在操作1020处,针对所标识的平台部署一个或多个扰动,用于与所选硬件组件一起使用。这些硬件组件和平台用于处理、操纵或服务工作负荷。例如,可以使用图9所示或参考图7A和图7B所描述的平台的任何硬件组件。所使用的硬件组件不限于处理器电路系统或计算单元,而是可以是计算系统内任何数量的其他资源或组件(例如,存储器、存储、加速、联网等)。
在操作1030,在计算平台上,在有扰动的情况下以及在没有扰动的情况下执行工作负荷,都产生遥测数据。这可以在逐个工作负荷、逐个平台、逐个节点的基础上并行地完成;或者依次在同一计算平台上完成;以便获得不同的遥测数据集(例如,在有扰动的情况下以及在没有扰动的情况下)。
在操作1040,基于遥测数据中指示的性能问题,来标识一个或多个补救措施。对遥测的分析可以用任何数量的统计的、基于规则的机器学习或神经网络模型来执行。也可以基于用户干预来建议、批准或修改此类补救措施。
在操作1050,对(多个)硬件组件或(多个)平台实施一个或多个补救措施。此类补救措施可涉及用于细化测试场景或验证硬件调整的迭代过程,包括重复额外的扰动操作1010-1030。
图11示出了为多层边缘计算环境中的扰动的配置和部署而提供的组件。在此,在边缘平台1101内,PMU 1102暴露软件栈可以访问和使用以实现计算环境中的扰动的新接口。PMU 1102特别地让软件来发现、设置并管理硬件扰动,这些硬件扰动可以在边缘平台1101中的不同组件之间被控制、激活和操作。在其自身之下,PMU 1102访问并利用硬件和固件接口,通过这些硬件和固件接口,边缘平台1101的不同组件暴露其扰动能力,以将这些组件集成到受控的使用、测试和观察体系中。
例如,在图11所示的环境中,边缘平台1101的各个组件1110(例如,边缘服务器、刀片、设备或其他计算系统)可以包括配置旋钮1111、扰动逻辑1112以及扰动值和选项寄存器值1113(例如,与通用处理器寄存器不同、实现选项的切换或设置的寄存器)。由软件操作驱动的PMU 1102可以改变此类配置旋钮1111,引入或控制扰动逻辑1112以执行特定动作,并且引入或控制扰动值和寄存器值(例如,模型特定的寄存器(MSR)值)。
边缘平台1101可以与边缘控制器1120(诸如将基于软件的扰动命令和场景分发到相应边缘平台的编排器)通信。例如,边缘控制器1120可以包括:多边缘PMU 1121,用于标识和管理多个平台之间的扰动;工作负荷类型资源简档管理器1122,用于部署为特定类型的工作负荷或服务定制的扰动集(简档),使得可以标识和管理多个特定工作负荷类型和计算安排之间的扰动;边缘拓扑源1123,其包括关于边缘网络特性的信息;加速度特征1124,其分析或产生不同的扰动指令;以及逻辑源1125,其提供用于与加速度特征一起使用的分析位流和相关逻辑。例如,FPGA可用于接受作为位流的输入(FPGA图像或程序),以编程FPGA中的选通。
应当理解,组件1124、1125是可选的,并且由加速度特征1124执行的操作可以经由CPU上运行的软件逻辑或其他方式来替代地实现。在示例中,加速度特征1124用于:a)通过向不同的扰动管理单元发送用于扰动管理单元的操作的各种参数来指示不同的扰动管理单元;以及b)整理并分析从不同机器和应用流入单元和管理器1121-1122的遥测数据。(尽管未在图11中示出,遥测数据还可以包括从边缘控制器1120流回边缘平台1110的数据)。
分析遥测数据的一个目的是标识各种性能敏感、时序敏感和资源敏感行为,以及提取统计知识,以确定任何机器、硬件组件或应用是否非常接近其边际操作区域。例如,此类分析可以标识特定单元是否非常接近于被强行超出其安全运行裕度,或者是否已经进入不安全运行区域,无论是出于性能还是功能原因。通常使用遥测日志执行此分析,但本文讨论的技术可能主动使系统受到小扰动,以测试哪些工作正常以及哪些可能故障,使得加速整体测试,并且因此对于那些最有可能出现故障或严重偏离良好性能的边缘组件和系统,可以开始补救措施(诸如更积极的接纳控制和负荷平衡)。例如,如果将处理器频率降低百分之几导致极高的网络分组丢弃率(rates of dropped network packets),那么这就表明系统对于负荷的微小变化非常脆弱,甚至对于通过交换机和路由器的突发通信量的微小变化也非常脆弱。
与软件中相反,出于以下原因,使用加速度逻辑执行此类操作会是有利的:通常,小扰动(引入诸如边缘网络之类的复杂系统)与故障或偏离正常行为之间的关系非常复杂。在人们试图发现大规模遥测数据的处理的结果与在不同组件处引起的扰动之间的模式之前,即使只是大规模遥测数据的处理也是复杂的。通常,这种分析是通过训练和使用基于深度学习的模型(即,神经网络)来完成的,或者是通过使用经典的机器学习技术(如支持向量机、模型树、列联表等)来完成的。需要在这些模型中执行的数学计算通常是计算密集型的,并且如果在软件中完成,则可能需要许多CPU并需要更多时间。此类方法理想地在专用单元(诸如本文讨论的加速器(包括加速度1124))中执行。此外,由于边缘配置和机器能力可能一直在变化,因此可编程加速度的使用支持能够训练分析模型(或经常修改他们的训练)的需要。由于加速器可以以更少的功率/能量且更少的时间执行计算步骤的流水线,因此此类训练和重新编程使用加速器比使用CPU要高效得相当多,因为计算可以在加速器中以“数据流”方式执行。
边缘控制器1120和边缘平台1101可以可操作地耦合到基础设施组件1130,该基础设施组件1130本身包括附加的PMU 1131和管理组件1132。例如,基础设施组件1130可以协调在哪些扰动场景上启动哪些多层边缘的平台和层。基础设施组件1130还可确保不在对整个边缘计算环境造成中断的时间或场景中引入扰动。
在示例中,边缘平台(例如,边缘平台1101)或其他部署的组件中的每个组件包括可修改的操作设置和用于接收扰动请求或命令的能力。例如,用于接收扰动参数请求的这种能力可以包括对那些设置要实现的随机变化,以及响应地影响这些变化的机制。可以向PMU 1102提供并经由PMU 1102提供附加功能,以收集关于这些设置的性能遥测,以便它可以与来自系统逻辑和物理性能监控单元(未示出)的其他遥测混合。
在边缘平台1101内,PMU 1102可以使用多种机制,通过这些机制,不同的架构组件(CPU、存储器控制器、HFI、缓存和归属代理、非核队列等)被集成。PMU逻辑可以在基板管理控制器(BMC)中实现并使用现有路径;正如扰动功能提供了与软件的接口,这允许软件发现并设置扰动。在特定示例中,扩展BIOS和/或Pcode(处理器微代码)以设置用于引导时间配置的先前逻辑。
在进一步的示例中,系统软件和驱动程序被扩展,使得它们抽象出PMU交付的功能以供软件友好使用。例如,更高级别的软件可以指定逻辑变化,这些变化由低级别软件转换为适合PMU的请求。具有适当特权的用户级实用程序可以发现哪些因素可能在逻辑上受到干扰,然后可以在该理解级别上发出请求,而不与硬件细节纠缠在一起。此外,在应用执行期间发生的事情可以发送回扰动管理逻辑,以便包括信息,以便于在使用扰动过程进行测试时更好地捕获如何对特定边缘类型的应用施加压力并进行彻底测试。
如将理解的,平台或PCI-E设备中的各个组件可实现扰动。在边缘平台1101内,可以扩展PCI-E协议以让PMU 1102发现PCI-E连接设备的扰动能力,并锻炼这些能力。例如,为了随机扰动存储器带宽,可以设置存储器控制器的不同参数,以便它在时钟控制、排队等方面提供定义的随机变化。模型特定寄存器(MSR)可以显示实时有效的软件扰动。
作为具体示例,扰动可以由以下属性定义;尽管未列出,但其他属性也是可能的:
a)它正在实现的扰动类型(例如,等待时间扰动、带宽变化、特定寄存器值(例如,MSR,涵盖各种各样的策略,诸如CAT、Turbo、预取等))
b)与扰动相关联的值列表(例如,1、2、4个CORE_TO_CA(核_到_CA)信用)
c)扰动如何改变为不同的扰动值:固定的时间量或随机。
特定类型应用的扰动过程随着系统的发展而调整。扰乱一切是不切实际的。因此,该过程学习部署在不同位置的工作负荷的行为,并标识需要包含在工作负荷新更新时发生的扰动过程中的性能下降的潜在来源。可以理解,此类处理可以通过使用机器学习、编排和其他适应来扩展。
在进一步的示例中,可以使用对扰动的学习来标识故障的相关性。如将理解的,故障可以基于OT(操作技术)或基于IT(信息技术)。IT通常是指信息处理,而OT通常是指传感器网络和嵌入式控制。(诸如保护办公楼物理访问的“陷阱”或访问控制前厅之类的设备将IT和OT混和在一个解决方案中。)分析由硬件组件或物理原因(诸如功率或热浪涌)引起的错误和故障(通常在OT类别下跟踪)促进对平均故障间隔时间(MTBF)率的预测。软件缺陷分析和软件缺陷密度估计(使用代码检查、异常检测、错误测试、时序敏感性研究等,通常在IT类别下跟踪)促进预测故障和加载用于稳定性能的操作的参数。传统上,这些故障是独立跟踪/管理的。但是,各种硬件故障都可导致软件故障。同样,软件故障可导致硬件故障。在复杂的边缘计算生态系统中,为了完成详尽的端到端测试而保留部署各种组件和系统是不切实际的。替代地,组件和系统需要在部署中通过注入变化或扰动的统计质量测试,使用和管理小的、受控的应力偏移“在飞行中”进行持续测试。
客户需要详细了解其他租户一起使用了硬件、固件、软件和数据集的哪些配置和组合。可以为与本方法一起使用的组件和子组件的每个组合维护成功/失败记分卡。记分卡提供要维护的信誉,其他人在决定部署某些硬件、固件和软件时可以使用该信誉。它允许主动和知情的决策,该决策可被纳入SLA以及在可靠性、安全性、弹性是相关因素的编排中。
在进一步的示例中,可以实现各种PMU控制接口的安全性以防止恶意或意外使用。因为PMU用于压制或限制实际功能和性能优化操作,所以如果控制接口没有得到保护,那么它是一种可能被滥用的功能。在示例中,以下方法可用于保护PMU接口:
1)在部署环境中禁用PMU的硬/软带。这确保在要执行安全关键操作和工作负荷时PMU始终不可用。通常,安全关键工作负荷首先部署在模拟或非生产环境中,在该模拟或非生产环境中,可以安全地标识故障案例。
2)受信任根保护的硬件启用/禁用模块。硬件设计通常包含安全的信任根功能,诸如安全启动服务(S3M)或电源故障重启(PFR)模块。这些信任根可以配置为启动PMU启用模式下的硬件或禁用它。这允许临时启用生产网络以在可以安全执行故障分析的非生产模式下工作。例如,如果访问控制前厅不起作用,则在非生产模式下将其启动时,陷阱的门可能锁定在关闭位置并在非生产模式下禁用。即使维护人员使用实际硬件进行模拟,门功能仍处于禁用状态(处于安全位置)。
3)受TEE保护启用/禁用。许多CPU架构配备有高度抵御恶意攻击的受信任执行环境(TEE)技术。PMU配置和控制接口可只暴露给TEE模块,其中加载到TEE中的代码可以被证明和验证。只有经过批准的TEE代码模块才能访问PMU接口。这允许最大的灵活性地将PMU操作与并发生产操作集成,同时保持对恶意代码的合理保护。
在进一步的示例中,每个级别的各种PMU可以相互协调。例如,每个边缘平台PMU1102可以向上报告给基础设施组件PMU 1131或边缘服务器PMU 1121,并且进一步从边缘服务器PMU 1121和/或基础设施组件PMU 1131进行下游协调。在这种安排中,基础设施PMU1131还可以执行大规模协调或分析,以基于简档、边缘平台类型来部署扰动,并协调遥测和操作的收集。虽然没有详细讨论,但也可以从PMU协调的结果中产生各种报告、建议和推断。
图12示出了用于在边缘计算环境中实现受控扰动的示例操作的流程图1200。在特定示例中,使用在边缘计算节点或平台的硬件中实现的扰动管理单元(PMU)(诸如使用上面讨论的被配置成在边缘计算服务中引入扰动的PMU配置)来执行以下操作。在各种示例中,边缘计算服务适用于在边缘计算环境中的多个位置处操作,并且扰动参数被定制为在边缘计算环境中的特定位置处操作。然而,可以实施其他方法。
在操作1210,标识一个或多个扰动参数,这些参数可用于在边缘平台或节点的硬件组件中实现。如以上示例中所讨论的,边缘平台或节点被配置成用于使用硬件组件提供边缘计算服务。
在操作1220,确定用于在边缘平台或节点的硬件组件之间实现一个或多个扰动参数的值。在示例中,用硬件组件实现的扰动参数提供随机变化以中断服务的操作。
在操作1230,在边缘平台或节点处的计算工作负荷的处理期间,扰动参数被部署到硬件组件。在示例中,硬件组件通过实现以下中的至少一项来实现扰动效应:改变硬件组件的配置旋钮;从硬件组件执行扰动逻辑;或控制寄存器值修改硬件组件。
在操作1240,收集与硬件组件相关联的遥测值。在示例中,与硬件组件相关联的遥测值提供硬件组件的性能测量,诸如对于以下各项中的至少一项:服务的事件、服务的请求或服务使用的数据流。此外,在示例中,扰动效应限制硬件组件执行服务的计算操作,并且扰动效应通过以下中的至少一项在边缘平台或节点中实现:等待时间改变、带宽改变或改变的寄存器值。
在操作1250,诸如使用至少一种统计模型分析遥测值。在操作1260,基于所分析的遥测值,来标识一个或多个故障条件,包括吞吐量、等待时间、抖动等中不可接受的偏移。在操作1270,标识与故障条件相关联或指示故障条件的一个或多个硬件组件。基于该分析,可以采取补救或其他措施。最后,基于收集的遥测值和该分析,计算操作可被引起、触发或控制。例如,特定的计算系统操作(以软件控制、数据操作、输出、消息、信号等的形式)可基于标识的故障条件或基于标识的分析或补救措施发生。
如上所述,计算系统中这些操作的执行可由PMU进行。在具体示例中,PMU经由至少一个互连连接到硬件组件,并且PMU包括多个硬件接口和多个固件接口,硬件组件通过这些接口暴露扰动能力。例如,PMU可以使用从边缘计算节点的多个软件组件中接收命令的多个软件接口来操作,以实现以下操作。在进一步的示例中,软件接口使得能够发现、设置和管理扰动效应和扰动执行过程。在进一步的示例中,PMU包括多个控制接口以修改PMU的操作,并且控制接口通过以下中的一个或多个修改:用于启用或禁用PMU的硬带或软带、用于启用或禁用PMU的受信任根保护组件,或用于启用或禁用PMU的受信任执行环境代码模块。
应当理解,在本说明书中所描述的功能单元或能力可被称为或标记为组件或模块,从而特别强调其实现方式的独立性。此类组件可由任何数量的软件或硬件形式来具体化。例如,组件或模块可以被实现成硬件电路,该硬件电路包括定制的超大规模集成(VLSI)电路或门阵列、诸如逻辑芯片、晶体管之类的现成的半导体,或其他分立的组件。组件或模块也可被实现在可编程硬件设备中,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等。组件或模块也可被实现在由各种类型的处理器所执行的软件中。可执行代码的所标识的组件或模块可以例如包括计算机指令的一个或多个物理或逻辑框,其可被组织成例如对象、过程、或函数。然而,所标识的组件或模块的可执行码不必在物理上在一起,而是可包括存储在不同位置处的不同指令,当这些指令在逻辑上结合在一起时,构成组件或模块,并且为该组件或模块实现所声称的目的。
实际上,可执行代码的组件或模块可以是单条指令或许多指令,并且甚至可以分布在若干不同的代码段上,分布在不同的程序之间以及跨若干存储器设备或处理系统分布。具体而言,所描述的过程的一些方面(诸如代码重写和代码分析)可能在与在其中部署代码的处理系统(例如,在嵌入在传感器或机器人的计算机中)不同的处理系统(例如,在数据中心中的计算机中)上进行。类似地,操作数据在此可被标识并示出在组件或模块内,并且能以任何合适的形式被具体化以及可以被组织在在任何合适类型的数据结构内。操作数据可作为单个数据集被收集,或者可被分布不同的位置上(包括在不同存储设备上),并且可以至少部分地仅作为系统或网络上的电子信号存在。组件或模块可以是无源或有源的,包括可操作以执行期望功能的代理。
当前所描述的方法、系统和设备实施例的附加示例包括下列非限制性实现方式。下列非限制性示例中的每一个示例可以独立存在,或可以与以下所提供的或遍及本公开的其他示例中的一个或更多示例按照任何排列或组合进行结合。
示例1是一种计算系统,该计算系统包括:多个硬件组件,包括处理电路系统和扰动管理单元;包括在其上具体化的指令的存储器设备,其中指令在由处理电路系统执行时,配置硬件组件以执行操作以:标识可用多个硬件组件实现的至少一个扰动参数,多个硬件组件配置成用于使用硬件组件提供边缘计算服务;确定用以在硬件组件之间实现扰动参数值,该扰动参数的值被标识以中断服务的操作;在用于处理计算工作负荷的服务的操作期间将扰动参数部署到硬件组件以对服务造成扰动效应;收集在用于处理计算工作负荷服务的操作期间产生的、与硬件组件相关联的遥测值,遥测值用于指示对服务操作的扰动效应;以及基于收集到的遥测值来导致计算操作发生。
在示例2中,示例1的主题可选地包括其中与硬件组件相关联的遥测值针对以下中的至少一项提供硬件组件的性能测量的主题:服务的事件、服务的请求或服务使用的数据流。
在示例3中,示例1-2中的任何一项或多项的主题可选地包括其中扰动参数通过限制硬件组件执行服务的计算操作来实现计算系统中的扰动效应的主题,并且其中通过以下中的至少一项在计算系统中实现扰动效应:等待时间改变、带宽改变或改变的选项寄存器值。
在示例4中,示例1-3中任何一项或多项的主题可选地包括操作以:使用至少一个统计模型分析收集到的遥测值;以及从分析的遥测值中标识硬件组件的至少一个故障。
在示例5中,示例4的主题可选地包括操作以:标识多个硬件组件中的提供至少一个故障的原因的特定硬件组件。
在示例6中,示例1-5中任何一项或多项的主题可选地包括其中扰动参数的值与用于中断服务的操作特定简档相关联的主题,并且其中将扰动参数部署到硬件组件包括基于特定简档来使用硬件组件的至少一个接口来设置扰动参数,这些扰动参数导致硬件组件中断服务的操作。
在示例7中,示例1-6中的任何一项或多项的主题可选地包括其中使用计算系统的扰动管理单元(PMU)执行操作的主题,PMU经由至少一个互连连接到硬件组件,PMU包括多个硬件接口和多个固件接口,硬件组件通过这些接口暴露扰动能力,并且PMU使用从计算系统的多个软件组件中接收命令的多个软件接口来操作。
在示例8中,示例7的主题可选地包括其中PMU包括多个控制接口以修改PMU的操作的主题,并且控制接口通过以下中的一个或多个修改:用于启用或禁用PMU的硬带或软带、用于启用或禁用PMU的受信任根保护组件,或用于启用或禁用PMU的受信任执行环境代码模块。
在示例9中,示例7-8中的任何一项或多项的主题可选地包括其中软件接口使得能够发现、设置和管理扰动效应和扰动执行过程的主题。
在示例10中,示例1-9中的任何一项或多项的主题可选地包括硬件组件通过实现以下中的至少一项来实现扰动效应的主题:改变硬件组件的配置旋钮;从硬件组件执行扰动逻辑;或控制选项寄存器值从而修改硬件组件。
在示例11中,示例1-10中的任何一项或多项的主题可选地包括其中扰动参数提供随机变化以中断服务的操作的主题。
在示例12中,示例1-11中的任何一项或多项的主题可选地包括其中边缘计算服务适用于在边缘计算环境中的多个位置处操作的主题,并且其中扰动参数被定制为在边缘计算环境中的特定位置处操作。
示例13是一种用于在边缘计算环境中实现受控扰动的方法,包括:标识可用边缘计算节点的多个硬件组件实现的至少一个扰动参数,该边缘计算节点配置成用于使用硬件组件提供服务;确定用以在硬件组件之间实现扰动参数的值,该扰动参数的值被标识以中断服务的操作;在用于处理计算工作负荷的服务的操作期间将扰动参数部署到硬件组件以对服务造成扰动效应;收集在用于处理计算工作负荷的服务的操作期间产生的、与硬件组件相关联的遥测值,遥测值用于指示对服务操作的扰动效应;以及基于收集到的遥测值来导致计算操作发生。
在示例14中,示例13的主题可选地包括其中与硬件组件相关联的遥测值针对以下中的至少一项提供硬件组件的性能测量的主题:服务的事件、服务的请求或服务使用的数据流。
在示例15中,示例13-14中的任何一个或多个的主题可选地包括其中扰动参数通过限制硬件组件执行服务的计算操作来实现计算系统中的扰动效应的主题,并且其中通过以下中的至少一项在边缘计算节点中实现扰动效应:等待时间改变、带宽改变或改变的选项寄存器值。
在示例16中,示例13-15中任何一项或多项的主题可选地包括:使用至少一个统计模型分析收集到的遥测值;以及从分析的遥测值中标识硬件组件的至少一个故障。
在示例17中,示例16的主题可选地包括:标识多个硬件组件中的提供至少一个故障的原因的特定硬件组件。
在示例18中,示例13-17中任何一项或多项的主题可选地包括其中扰动参数的值与用于中断服务的操作的特定简档相关联的主题,并且其中将扰动参数部署到硬件组件包括基于特定简档来使用硬件组件的至少一个接口来设置扰动参数,这些扰动参数导致硬件组件中断服务的操作。
在示例19中,示例13-18中的任何一项或多项的主题可选地包括其中使用边缘计算节点的硬件中实现的扰动管理单元(PMU)执行方法的主题,PMU经由至少一个互连连接到硬件组件,PMU包括多个硬件接口和多个固件接口,硬件组件通过这些接口暴露扰动能力,并且PMU使用从边缘计算节点的多个软件组件中接收命令的多个软件接口来操作。
在示例20中,示例19的主题可选地包括其中PMU包括多个控制接口以修改PMU的操作的主题,并且控制接口通过以下中的一个或多个修改:用于启用或禁用PMU的硬带或软带、用于启用或禁用PMU的受信任根保护组件,或用于启用或禁用PMU的受信任执行环境代码模块。
在示例21中,示例19-20中的任何一项或多项的主题可选地包括其中软件接口使得能够发现、设置和管理扰动效应和扰动执行过程的主题。
在示例22中,示例13-21中的任何一项或多项的主题可选地包括硬件组件通过实现以下中的至少一项来实现扰动效应的主题:改变硬件组件的配置旋钮;从硬件组件执行扰动逻辑;或控制选项寄存器值从而修改硬件组件。
在示例23中,示例13-22中的任何一项或多项的主题可选地包括其中扰动参数提供随机变化以中断服务的运行的主题。
在示例24中,示例13-23中的任何一项或多项的主题可选地包括其中边缘计算服务适用于在边缘计算环境中的多个位置处操作的主题,并且其中扰动参数被定制为在边缘计算环境中的特定位置处操作。
示例25是至少一种机器可读存储设备,其包括存储在其上的指令,该指令在由边缘计算系统的处理电路系统执行时,使处理电路系统执行包括以下操作的操作:标识可用边缘计算系统的多个硬件组件实现的至少一个扰动参数,该边缘计算系统配置成用于使用硬件组件提供服务;确定用以在硬件组件之间实现扰动参数的值,该扰动参数的值被标识以中断服务的操作;在用于处理计算工作负荷的服务的操作期间将扰动参数部署到硬件组件以对服务造成扰动效应;收集在用于处理计算工作负荷的服务的操作期间产生的、与硬件组件相关联的遥测值,遥测值用于指示对服务操作的扰动效应;以及基于收集到的遥测值来导致计算操作发生。
在示例26中,示例25的主题可选地包括其中与硬件组件相关联的遥测值针对以下中的至少一项提供硬件组件的性能测量:服务的事件、服务的请求或服务使用的数据流。
在示例27中,示例25-26中的任何一项或多项的主题可选地包括其中扰动参数通过限制硬件组件执行服务的计算操作来实现计算系统中的扰动效应的主题,并且其中通过以下中的至少一项在边缘计算系统中实现扰动效应:等待时间改变、带宽改变或改变的选项寄存器值。
在示例28中,示例25-27中任何一项或多项的主题可选地包括操作,操作进一步包括:使用至少一个统计模型分析收集到的遥测值;以及从分析的遥测值中标识硬件组件的至少一个故障。
在示例29中,示例28的主题可选地包括操作,操作进一步包括:标识多个硬件组件中的提供至少一个故障的原因的特定硬件组件。
在示例30中,示例25-29中任何一项或多项的主题可选地包括其中扰动参数的值与用于中断服务的操作的特定简档相关联的主题,并且其中将扰动参数部署到硬件组件包括基于特定简档来使用硬件组件的至少一个接口来设置扰动参数,这些扰动参数导致硬件组件中断服务的操作。
在示例31中,示例25-30中的任何一项或多项的主题可选地包括其中使用边缘计算系统的硬件中实现的扰动管理单元(PMU)执行操作的主题,PMU经由至少一个互连连接到硬件组件,PMU包括多个硬件接口和多个固件接口,硬件组件通过这些接口暴露扰动能力,并且PMU使用从边缘计算系统的多个软件组件中接收命令的多个软件接口来操作。
在示例32中,示例31的主题可选地包括其中PMU包括多个控制接口以修改PMU的操作,并且控制接口通过以下中的一个或多个修改:用于启用或禁用PMU的硬带或软带、用于启用或禁用PMU的受信任根保护组件,或用于启用或禁用PMU的受信任执行环境代码模块。
在示例33中,示例31-32中的任何一项或多项的主题可选地包括其中软件接口使得能够发现、设置和管理扰动效应和扰动执行过程的主题。
在示例34中,示例25-33中的任何一项或多项的主题可选地包括硬件组件通过实现以下中的至少一项来实现扰动效应的主题:改变硬件组件的配置旋钮;从硬件组件执行扰动逻辑;或控制选项寄存器值从而修改硬件组件。
在示例35中,示例25-34中的任何一项或多项的主题可选地包括其中扰动参数提供随机变化以中断服务的运行的主题。
在示例36中,示例25-35中的任何一项或多项的主题可选地包括其中边缘计算服务适用于在边缘计算环境中的多个位置处操作的主题,并且其中扰动参数被定制为在边缘计算环境中的特定位置处操作。
示例37是一种多层边缘计算系统,包括在本地边缘、网络接入边缘或近边缘计算设置中提供的多个边缘计算节点,该多个边缘计算节点被配置成用于执行示例1至36的扰动管理方法中的任一项。
示例38是一种边缘计算系统,包括多个边缘计算节点,该多个边缘计算节点中的每一个边缘计算节点被配置成用于执行如权利要求1至36的扰动管理方法中的任一项。
示例39是一种边缘计算节点,可在边缘计算系统中操作,包括耦合到扰动管理单元电路系统的处理电路系统,该处理电路系统被配置成用于实施示例1至36的扰动管理方法中的任一项。
示例40是一种边缘计算节点,可作为在边缘计算系统中托管服务和多个附加服务的服务器来操作,该边缘计算节点配置成用于执行示例1至36的扰动管理方法中的任一项。
示例41是一种边缘计算节点,可在边缘计算网络的层中作为聚合节点、网络中枢节点、网关节点或核心数据处理节点来操作,该边缘计算节点被配置成用于执行如权利要求1至36的扰动管理方法中的任一项。
示例42是一种边缘供应、编排或管理节点,可在边缘计算系统中操作,该节点被配置成用于实施示例1至36的扰动管理方法中的任一项。
示例43是一种边缘计算网络,包括联网组件和处理组件,这些组件被配置成用于提供或操作通信网络,以启用边缘计算系统,从而实现如权利要求1至36的扰动管理方法中的任一项。
示例44是一种接入点,包括联网组件和处理组件,这些组件被配置成用于提供或操作通信网络,以启用边缘计算系统,从而实现如权利要求1至36的扰动管理方法中的任一项。
示例45是一种基站,包括联网组件和处理组件,这些组件被配置成用于提供或操作通信网络,该基站被配置为边缘计算系统,从而实现如权利要求1至36的扰动管理方法中的任一项。
示例46是一种路边单元,包括被配置成用于提供或操作通信网络的联网组件,该路边单元被配置为边缘计算系统,从而实现如权利要求1至36的扰动管理方法中的任一项。
示例47是一种本地服务器,能在不同于公共边缘计算网络的私有通信网络中操作,该服务器被配置为边缘计算系统,以实现如权利要求1至36的扰动管理方法中的任一项。
示例48是一种3GPP 4G/LTE移动无线通信系统,包括联网组件和处理组件,该系统被配置为边缘计算系统,以实现如权利要求1至36的扰动管理方法中的任一项。
示例49是一种5G网络移动无线通信系统,包括联网组件和处理组件,该系统被配置为边缘计算系统,以实现如权利要求1至36的扰动管理方法中的任一项。
示例50是一种边缘计算系统,被配置为边缘网格,该边缘计算系统被提供有微服务集群、具有边车的微服务集群、或具有边车的链接的微服务集群,该边缘计算系统被配置成用于实现如示例1至36的扰动管理方法中的任一项。
示例51是一种边缘计算系统,包括被配置成用于使用在专用硬件、虚拟机、容器或容器上的虚拟机之间提供的一个或多个隔离环境来实现服务的电路系统,该边缘计算系统被配置成用于实现示例1至36的扰动管理方法中的任一项。
示例52是一种边缘计算系统,包括用于与用户装备设备、客户端计算设备、供应设备或管理设备通信的联网组件和处理组件,以实现示例1至36的扰动管理方法中的任一项。
示例53是一种联网硬件,具有实现于其上的网络功能,所述联网硬件能在边缘计算系统内操作,所述网络功能被配置成用于实现如示例1至36的扰动管理方法中的任一项。
示例54是一种加速硬件,具有实现于其上的加速功能,该加速硬件能在边缘计算系统中操作,该加速功能被配置成用于实现如示例1至36的扰动管理方法中的任一项。
示例55是一种存储硬件,具有实现于其上的存储功能,该存储硬件能在边缘计算系统中操作,该存储硬件被配置成用于实现如示例1至36的扰动管理方法中的任一项。
示例56是一种计算硬件,具有实现于其上的计算功能,该计算硬件能在边缘计算系统中操作,该计算硬件被配置成用于实现如示例1至36的扰动管理方法中的任一项。
示例57是一种边缘计算系统,被配置成利用示例1至36的扰动管理方法中的任一项来实现服务,其中服务涉及以下中的一项或多项:计算迁移、数据高速缓存、视频处理、网络功能虚拟化、无线电接入网络管理、增强现实、虚拟现实、自主驾驶、交通工具辅助、交通工具通信、工业自动化、零售服务、制造操作、智慧建筑、能源管理、物联网操作、对象检测、语音识别、医疗保健应用、游戏应用或加速的内容处理。
示例58是一种边缘计算系统的装置,包括:一个或多个处理器、以及包括指令的一个或多个计算机可读介质,该指令在由一个或多个处理器执行时使得一个或多个处理器执行如示例1至36的方法中的任一项。
示例59是一种或多种计算机可读存储介质,包括指令,该指令用于在指令由边缘计算系统的电子设备的一个或多个处理器执行时使得电子设备执行如示例1至36的扰动管理方法中的任一项。
示例60是用于边缘计算系统中的计算机程序,该计算机程序包括指令,其中,程序由边缘计算系统中的处理元件的执行用于使得处理元件执行如示例1至36的扰动管理方法中的任一项。
示例61是作为自包含处理系统操作的边缘计算装置设备,其包括壳体、箱或外壳、网络通信电路系统、存储存储器电路系统和处理器电路系统,适于执行示例1至36的扰动管理方法中的任一项。
示例62是一种边缘计算系统的设备,包括用于执行如示例1至36的扰动管理方法中的任一项的装置。
示例63是一种边缘计算系统的设备,该边缘计算系统包括用于执行如示例1至36的扰动管理方法中的任一项的逻辑、模块或电路系统。
虽然已经参考特定示例性方面描述了这些实现方式,但将显而易见的是,可在不背离本发明的较宽范围的情况下对这些方面作出各种修改和改变。本文中所描述的布置和过程中的许多布置和过程可以与用于提供更大的带宽/吞吐量的实现方式以及用于支持可以使其可用于被服务的边缘系统的边缘服务选择的实现方式组合或并行地使用。相应地,说明书和附图应当被认为是说明性的,而不是限制性意义的。形成本文的部分的所附附图以说明性而并非限制性方式示出主题可在其中被实施的特定方面。足够详细地描述了所图示的方面以使本领域的技术人员能够实施本文中所公开的教导。可利用并由此推导出其他方面,以使得可在不背离本公开的范围的情况下作出结构的和逻辑的替换和改变。因此,该具体实施方式不是在限制性的意义上进行的,并且各个方面的范围仅由所附权利要求书以及此类权利要求书所授权的等效方案完整范围来限定。
可在本文中单独地和/或共同地引用发明性主题的此类方面,如果实际上公开了多于一个方面或发明性概念,则这仅仅是为方便起见而并不旨在主动将本申请的范围限于任何单个方面或发明性概念。由此,虽然在本文中已经图示并描述了特定方面,但应当领会,预计能够实现相同目的的任何布置可替换所示的特定方面。本公开旨在涵盖各个方面的任何和全部修改或变体。在回顾以上描述时,以上各方面和本文中未具体描述的其他方面的组合就对于本领域内技术人员而言将是显而易见的。

Claims (25)

1.一种计算系统,包括:
多个硬件组件,包括处理电路系统和扰动管理单元;以及
存储器设备,所述存储器设备包括在其上具体化的指令,其中,所述指令当由所述处理电路系统执行时将硬件组件配置成执行操作以:
标识能用所述多个硬件组件实现的至少一个扰动参数,所述多个硬件组件配置成用于使用所述硬件组件提供边缘计算服务;
确定用以在所述硬件组件之间实现所述扰动参数的值,所述扰动参数的值被标识以中断所述服务的操作;
在用于处理计算工作负荷的所述服务的操作期间将所述扰动参数部署到所述硬件组件,以对所述服务造成扰动效应;
收集在用于处理所述计算工作负荷的所述服务的操作期间产生的、与所述硬件组件相关联的遥测值,所述遥测值用于指示对所述服务的操作的所述扰动效应;以及
基于收集到的遥测值来导致计算操作发生。
2.如权利要求1所述的计算系统,其特征在于,与所述硬件组件相关联的所述遥测值针对以下中的至少一项提供所述硬件组件的性能测量:所述服务的事件、所述服务的请求或所述服务使用的数据流。
3.如权利要求1所述的计算系统,其特征在于,所述扰动参数通过限制所述硬件组件执行所述服务的计算操作来在所述计算系统中实现所述扰动效应,并且其中所述扰动效应是通过以下中的至少一项在所述计算系统中实现的:等待时间改变、带宽改变或改变的选项寄存器值。
4.如权利要求1所述的计算系统,所述指令进一步将所述硬件组件配置成用于执行操作以:
使用至少一个统计模型分析收集到的遥测值;以及
从分析的遥测值中标识所述硬件组件的至少一个故障。
5.如权利要求4所述的计算系统,所述指令进一步将所述硬件组件配置成用于执行操作以:
标识所述多个硬件组件中的提供所述至少一个故障的原因的特定硬件组件。
6.如权利要求1所述的计算系统,其特征在于,所述扰动参数的值与用于中断所述服务的操作的特定简档相关联,并且其中将所述扰动参数部署到所述硬件组件包括基于所述特定简档来使用所述硬件组件的至少一个接口来设置所述扰动参数,所述扰动参数导致所述硬件组件中断所述服务的操作。
7.如权利要求1所述的计算系统,其特征在于,使用所述计算系统的扰动管理单元PMU执行操作,所述PMU经由至少一个互连连接到所述硬件组件,所述PMU包括多个硬件接口和多个固件接口,所述硬件组件通过所述多个硬件接口和所述多个固件接口暴露扰动能力,并且所述PMU使用从所述计算系统的多个软件组件中接收命令的多个软件接口来操作。
8.如权利要求7所述的计算系统,其特征在于,所述PMU包括多个控制接口以修改所述PMU的操作,其中所述控制接口通过以下中的一个或多个修改:用于启用或禁用所述PMU的硬带或软带、用于启用或禁用所述PMU的受信任根保护组件,或用于启用或禁用所述PMU的受信任执行环境代码模块。
9.如权利要求7所述的计算系统,其特征在于,所述软件接口使得能够发现、设置和管理所述扰动效应和扰动执行过程。
10.如权利要求1所述的计算系统,其特征在于,所述硬件组件通过实现以下中的至少一项来实现所述扰动效应:
改变所述硬件组件的配置旋钮;
从所述硬件组件执行扰动逻辑;或者
控制选项寄存器值从而修改所述硬件组件。
11.如权利要求1所述的计算系统,其特征在于,所述扰动参数提供随机变化以中断所述服务的操作。
12.如权利要求1至11中任一项所述的计算系统,其特征在于,所述边缘计算服务适用于在所述边缘计算环境中的多个位置处的操作,并且其中所述扰动参数被定制为在所述边缘计算环境中的特定位置处操作。
13.至少一种机器可读存储设备,包括存储于其上的指令,所述指令当由边缘计算系统的处理电路系统执行时使所述处理电路系统执行包括以下各项的操作:
标识能用边缘计算系统的多个硬件组件实现的至少一个扰动参数,所述边缘计算系统配置成用于使用所述硬件组件提供服务;
确定用于在所述硬件组件之间实现所述扰动参数的值,所述扰动参数的值被标识以中断所述服务的操作;
在用于处理计算工作负荷的所述服务的操作期间将所述扰动参数部署到所述硬件组件,以对所述服务造成扰动效应;
收集在用于处理所述计算工作负荷的所述服务的操作期间产生的、与所述硬件组件相关联的遥测值,所述遥测值用于指示对所述服务的操作的所述扰动效应;以及
基于收集到的遥测值来导致计算操作发生。
14.如权利要求13所述的机器可读存储设备,其特征在于,与所述硬件组件相关联的所述遥测值针对以下中的至少一项提供所述硬件组件的性能测量:所述服务的事件、所述服务的请求或所述服务使用的数据流。
15.如权利要求13所述的机器可读存储设备,其特征在于,所述扰动参数通过限制所述硬件组件执行所述服务的计算操作来在所述计算系统中实现扰动效应,并且其中所述扰动效应是通过以下中的至少一项在所述边缘计算系统中实现的:等待时间改变、带宽改变或改变的选项寄存器值。
16.如权利要求13所述的机器可读存储设备,所述操作进一步包括:
使用至少一个统计模型分析收集到的遥测值;以及
从分析的遥测值中标识所述硬件组件的至少一个故障。
17.如权利要求16所述的机器可读存储设备,所述操作进一步包括:
标识所述多个硬件组件中的提供所述至少一个故障的原因的特定硬件组件。
18.如权利要求13所述的机器可读存储设备,其特征在于,所述扰动参数的值与用于中断所述服务的操作的特定简档相关联,并且其中将所述扰动参数部署到所述硬件组件包括基于所述特定简档来使用所述硬件组件的至少一个接口来设置所述扰动参数,所述扰动参数导致所述硬件组件中断所述服务的操作。
19.如权利要求13所述的机器可读存储设备,其特征在于,使用在所述边缘计算系统的硬件中实现的扰动管理单元PMU执行所述操作,所述PMU经由至少一个互连连接到所述硬件组件,所述PMU包括多个硬件接口和多个固件接口,所述硬件组件通过所述多个硬件接口和所述多个固件接口暴露扰动能力,并且所述PMU使用从所述边缘计算系统的多个软件组件中接收命令的多个软件接口来操作。
20.如权利要求19所述的机器可读存储设备,其特征在于,所述PMU包括多个控制接口以修改所述PMU的操作,其中所述控制接口通过以下中的一个或多个修改:用于启用或禁用所述PMU的硬带或软带、用于启用或禁用所述PMU的受信任根保护组件,或用于启用或禁用所述PMU的受信任执行环境代码模块。
21.如权利要求19所述的机器可读存储设备,其特征在于,所述软件接口使得能够发现、设置和管理所述扰动效应和扰动执行过程。
22.如权利要求13所述的机器可读存储设备,其特征在于,所述硬件组件通过实现以下中的至少一项来实现所述扰动效应:
改变所述硬件组件的配置旋钮;
从所述硬件组件执行扰动逻辑;或者
控制选项寄存器值从而修改所述硬件组件。
23.如权利要求13至22中任一项所述的机器可读存储设备,其特征在于,所述边缘计算服务适用于在所述边缘计算环境中的多个位置处的操作,并且其中所述扰动参数被定制为在所述边缘计算环境中的特定位置处操作,并且其中所述扰动参数提供随机变化以中断所述服务的操作。
24.一种设备,所述设备包括:
用于标识能用边缘计算系统的多个硬件组件实现的至少一个扰动参数的装置,所述边缘计算系统配置成用于使用所述硬件组件提供服务;
用于计算用以在所述硬件组件之间实现所述扰动参数的值的装置,所述扰动参数的值被标识以中断所述服务的操作;
用于在用于处理计算工作负荷的所述服务的操作期间将所述扰动参数部署到所述硬件组件以对所述服务造成扰动效应的装置;
用于获得在用于处理所述计算工作负荷的所述服务的操作期间产生的、与所述硬件组件相关联的遥测值的装置,所述遥测值用于指示对所述服务的操作的所述扰动效应;以及
用于基于所获得的遥测值发信号通知计算操作发生的装置。
25.如权利要求24所述的设备,用于部署所述扰动参数的装置包括以下各项中的至少一项:
用于改变所述硬件组件的配置旋钮的装置;
用于从所述硬件组件执行扰动逻辑的装置;或者
用于控制选项寄存器值从而修改所述硬件组件的装置。
CN202110863033.9A 2020-09-22 2021-07-29 边缘计算的持续测试、集成和部署管理 Pending CN114253658A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/028,844 US20210011823A1 (en) 2020-09-22 2020-09-22 Continuous testing, integration, and deployment management for edge computing
US17/028,844 2020-09-22

Publications (1)

Publication Number Publication Date
CN114253658A true CN114253658A (zh) 2022-03-29

Family

ID=74101809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110863033.9A Pending CN114253658A (zh) 2020-09-22 2021-07-29 边缘计算的持续测试、集成和部署管理

Country Status (3)

Country Link
US (1) US20210011823A1 (zh)
CN (1) CN114253658A (zh)
DE (1) DE102021209019A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875167B2 (en) 2020-03-23 2024-01-16 Nubix, Inc. Method for deploying containerized protocols on very small devices
US11874692B2 (en) 2019-08-16 2024-01-16 Nubix, Inc. Method for deploying containerized security technologies on embedded devices
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services
US20230092751A1 (en) * 2021-09-20 2023-03-23 Prophetstor Data Services, Inc. Prediction-based method for analyzing change impact on software components
WO2023158445A1 (en) * 2022-02-16 2023-08-24 Nubix, Inc. Method for deploying containerized security technologies on embedded devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668717A (en) * 1993-06-04 1997-09-16 The Johns Hopkins University Method and apparatus for model-free optimal signal timing for system-wide traffic control
US10567263B2 (en) * 2016-08-19 2020-02-18 Intel Corporation Technologies for simulating service degradation in a software defined network
US10977384B2 (en) * 2017-11-16 2021-04-13 Microsoft Technoogy Licensing, LLC Hardware protection for differential privacy

Also Published As

Publication number Publication date
US20210011823A1 (en) 2021-01-14
DE102021209019A1 (de) 2022-03-24

Similar Documents

Publication Publication Date Title
US20210014133A1 (en) Methods and apparatus to coordinate edge platforms
US20210021619A1 (en) Trust-based orchestration of an edge node
EP3985511A1 (en) Orchestration of meshes
EP4020880A1 (en) Method, apparatus and machine-readable storage to verify trained models in an edge environment
US20220191648A1 (en) Digital twin framework for next generation networks
US11888858B2 (en) Calculus for trust in edge computing and named function networks
US20220255916A1 (en) Methods and apparatus to attest objects in edge computing environments
CN115373795A (zh) 基于地理围栏的边缘服务控制和认证
CN114338679A (zh) 用于边缘环境中的工作负荷布置的方法、设备和制品
CN117501246A (zh) 用于端到端编排中的自主监测的系统和方法
CN114253793A (zh) 动态追踪控制
CN114257599A (zh) 自适应的有限持续期边缘资源管理
CN114205349A (zh) 弹性功率缩放
US20210011823A1 (en) Continuous testing, integration, and deployment management for edge computing
CN114253657A (zh) 使用分布式账本的编排器执行计划
CN114679449A (zh) 中立主机边缘服务
EP4203417A1 (en) Systems, methods, articles of manufacture, and apparatus for end-to-end hardware tracing in an edge network
EP4155933A1 (en) Network supported low latency security-based orchestration
CN114338680A (zh) 用于在计算设备中相对于服务水平协议来管理服务质量的方法和装置
CN115525421A (zh) 用于促进服务代理的方法和装置
US20220116289A1 (en) Adaptive cloud autoscaling
US20220222584A1 (en) Heterogeneous compute-based artificial intelligence model partitioning
US20220012042A1 (en) Mechanism for secure and resilient configuration upgrades
JP2023004857A (ja) ネットワークフローベースのハードウェア割り当て
KR20220088306A (ko) 트러스트 크리덴셜의 자동 에스컬레이션

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