CN114661451A - 用于延长嵌入式处理器的寿命的方法、系统、装置和制造物 - Google Patents

用于延长嵌入式处理器的寿命的方法、系统、装置和制造物 Download PDF

Info

Publication number
CN114661451A
CN114661451A CN202111319276.2A CN202111319276A CN114661451A CN 114661451 A CN114661451 A CN 114661451A CN 202111319276 A CN202111319276 A CN 202111319276A CN 114661451 A CN114661451 A CN 114661451A
Authority
CN
China
Prior art keywords
core
cores
switch
inactive
active
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
CN202111319276.2A
Other languages
English (en)
Inventor
G·康德普拉姆
C·拉沃
V·德瓦尔
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 CN114661451A publication Critical patent/CN114661451A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

本文公开用于延长嵌入式处理器的寿命的方法、系统、装置和制造物。所公开的示例装置包括策略选择器,其用于基于输入信息选择策略。所述装置延长具有多个内核的微处理器的操作寿命跨度。所述装置还包括内核分区器,其用于基于所选择的策略将所述多个内核划分为包括第一子集和第二子集的内核子集。传感器基于所选择的策略监控所述内核的至少一个操作参数,并且内核切换器基于至少一个操作参数将所述第一内核子集中的第一内核从有效切换为无效而且将所述第二内核子集中的第二内核从无效切换为有效。切换减少所述第一内核和所述第二内核所经历的退化量。

Description

用于延长嵌入式处理器的寿命的方法、系统、装置和制造物
技术领域
本公开总体上涉及嵌入式处理器,并且更具体而言,涉及延长嵌入式处理器的寿命。
背景技术
现代微处理器包含有时以超过每秒30亿个周期进行操作的数十亿个晶体管。微处理器应用范围从家庭中使用的电子设备到工业/制造应用中使用的电子设备。基于家庭的应用和基于制造的应用一般在设备的使用和部署设备的环境方面皆不同。
附图说明
图1是第一印制电路板的框图,其上部署第一内核控制器和八个内核。
图2是第二印制电路板的框图,其上部署第二内核控制器和数个(n个)内核。
图3是第三印制电路板的框图,其上部署八个内核,并且其中第三印制电路板以四个不同的有效内核配置得以表示。
图4是图1-图3中任一个的第一、第二和/或第三内核控制器的框图。
图5A和图5B共同表示代表可以执行以实现图1-图3中任一个的第一、第二和/或第三内核控制器中任一个的机器可读指令的流程图。
图6是表示可以执行以实现图1-图4中任一个的第一、第二、第三和/或第四内核控制器中任一个的机器可读指令的流程图。
图7是被构造为执行图5A、图5B和图6的指令以实现图1-图3中任一个的第一、第二和/或第三核控制器中任一个的示例处理平台的框图。
图8是用于向诸如消费者的客户端设备(例如,针对许可、销售和/或使用)、零售商(例如,针对销售、转售、许可和/或分许可)和/或原始设备制造商(OEM)(例如,针对包括于待向例如零售商和/或直接购买消费者分发的产品中)分发软件(例如,对应于图5A、图5B和图6的示例计算机可读指令的软件)的示例软件分发平台的框图。
图9示出用于边缘计算的边缘云配置的概览。
图10示出端点、边缘云和云计算环境之间的操作层。
图11示出用于边缘计算系统中的连网和服务的示例方法。
附图并非是按比例的。相反,可以在附图中放大层或区域的厚度。虽然图中示出具有清楚线条和边界的层和区域,但是这些线条和/或边界中的一些或全部可能是理想化的。实际上,边界和/或线条可能是不可观察的、混合的和/或不规则的。通常,附图和随附的书面描述通篇将使用相同的附图标记以指代相同或相似的部分。如本文所使用的那样,除非另有说明,否则术语“之上”描述两个部分相对于地球的关系。如果第二部分在地球与第一部分之间具有至少一个部分,则第一部分处于第二部分之上。同样,如本文所使用的那样,当第一部分比第二部分更靠近地球时,第一部分处于第二部分“之下”。如上所述,第一部分可以在以下中的一个或多个的情况下处于第二部分之上或之下:其之间的其他部分,其之间没有其他部分,第一和第二部分触碰,或第一和第二部分并非与彼此直接接触。如本专利中所使用的那样,陈述任何部分(例如,层、膜、区块、区域或板)以任何方式处于(例如,位于、定位于、部署于或形成于等)另一部分上指示所引用的部分要么与另一部分接触,要么所引用的部分处于另一部分之上,其中,一个或多个中间部分位于它们之间。如本文所使用的那样,除非另外指示,否则连接引用(例如,附接、耦合、连接和结合)可以包括由连接引用所引用的元件之间的中间构件和/或那些元件之间的相对运动。故此,连接引用并非一定推断两个元件是直接连接的和/或处于对彼此的固定关系中。如本文所使用的那样,声明任何部分与另一部分“接触”定义为意指在两个部分之间不存在中间部分。
除非另外特别地声明,否则在本文中使用例如“第一”、“第二”、“第三”等的描述词,并非以任何方式强加或以其他方式指示优先级、实体顺序、列表中的布置和/或排序的任何含义,而是仅用作标签和/或任意名称以区分要素以易于理解所公开的示例。在一些示例中,在具体实施方式中可以使用描述词“第一”以指代要素,而在权利要求中可以用不同的描述词(例如,“第二”或“第三”)指代同一要素。在这些情况下,应理解,这些描述词仅用于清楚地标识可能例如以其他方式共享相同名称的那些要素。如本文所使用的那样,“近似”和“大约”指代归因于制造公差和/或其他现实世界缺陷而可能并非准确的尺寸。如本文所使用的那样,“实质上实时”指代以识别可能存在关于计算时间、传输等的现实世界延迟的近乎瞬时的方式发生。因此,除非另有说明,否则“实质上实时”指代实时+/-1秒。
具体实施方式
许多应用中使用的嵌入式处理器需要10到15年的连续操作的有用寿命时间。这些设备当用在严苛环境条件下时有望在该寿命时间期间可靠地进行操作。现代微处理器包含有时以呈超过每秒30亿个周期的时钟速度进行操作的数十亿个晶体管。高密度下的、具有小几何尺寸的这种高时钟速度意指晶体管生成大量热量,这加速它们的衰退。
另一忧虑是供电电压与晶体管打开的阈值之间的差变得更小。此外,建造硅逻辑的方式方面的各种改进已经引入关于退化的新忧虑。并且缩小为如今的小尺寸晶体管将比以往更受其操作条件的变化影响,这进而导致一个晶体管与另一晶体管在它们磨损得有多快方面的巨大差异。因此,随着微处理器的增加的复杂性,实现工业应用所需的长的寿命是越来越有挑战性的。
通过工艺或实体设计方法论方面的适当改变实现当前长的寿命。为了得到规模经济的优势,设计复杂半导体器件,以使得它们可以用在多个市场中。归因于工艺技术方面的细微变化,用特定电气特性筛选某百分比的所制造的设备,使它们适合于工业应用。通过恰当的选择准则,可以关于工业应用所需的更高可靠性筛选并且测试这些部件。
随着半导体加工技术向更小的几何尺寸发展,可以关于工业应用受筛选的部件的数量随着半导体工艺随着时间发展而变得越来越小。因此,将需要用更大的几何尺寸定制构建工业应用中待使用的半导体部件,这将是成本高昂的。
此外,工业应用需要可靠地进行操作达所延长的寿命时间(10-15年)的部件。客户产品仅提供3-5年的产品寿命。当前,工业通过入库达所延长的寿命的部件投资于质量与可靠性(Q&R)和高体量制造(HVM)测试仪。随着技术向更小的处理器节点发展,归因于更小的几何尺寸和薄的利润,认定达所延长的寿命的产品将是有挑战性的。
附加地,使用CMOS工艺技术构建的CPU倾向于若干退化机制(例如,热载流子注入、偏置温度不稳定性、栅极氧化物击穿和电迁移)。这些退化机制是环境(温度、电压)、频率和工作负载压力的函数。
本文所公开的方法、系统、装置和制造物通过一次仅保持内核的总数量的子集有效并且基于一个或多个保留策略在有效与无效内核之间进行切换来加长/延长多核处理器的寿命。
这些保留策略包括:将至少一些CPU内核供应为保留内核。在任何时间,仅内核的总数量的子集是有效的(NCActive),其中,其余内核是无效的且禁用的(NCReserve)。在一些示例中,无效内核的数量可以是可编程的,并且可以基于产品应用。使用“NCActive+NCReserve”表示产品中的内核的总数量。例如,八核产品可以有六个NCActive内核和两个NCReserve内核,以使得内核的总数量是8。
在一些示例中,策略基于内核子集处于有效的时间量(也称为“基于时间的保留策略”(TBRP))。在一些示例中,策略基于内核中的一个或多个或内核子集所经历的退化量(也称为“质量退化监控保留策略”(QDMRP))。在一些示例中,当确定退化量时,质量退化监控考虑退化机制(例如,内核或内核子集的温度、电压、频率和工作负载压力)。
在一些示例中,监控内核的环境特性和操作的持续时间,并且在时间序列中以日志记录监控数据以用于非易失性存储器(例如,NVRAM/NVMe)中的存储。在一些这样的示例中,日志记录的时间序列数据用以确定内核的切换(例如,激活保留的内核并且禁用有效内核)是否将要发生。
图1第一印制电路板105的框图,其上部署第一内核控制器110和八个内核(例如,CPU0 120、CPU1 130、CPU2 140、CPU3 150、CPU4 160、CPU5 170、CPU6 180、CPU7 190)。在框图中,第一内核控制器110使核CPU7 190和CPU3 150成为无效的/保留的,并使其余核成为有效的。在一些示例中,虽然为了清楚起见,仅关于图1的CPU0 120示出,但是本文所公开的内核中的每一个包括(或以其他方式关联于)数字热传感器160和内核使用传感器170。在一些示例中,本文描述的内核是嵌入式处理器。在一些示例中,基于涉及包括时间、工作负载、温度等的数个因素中任一个的监控的策略,第一内核控制器110执行内核切换,据此,激活无效内核CPU7 190和CPU3 150并且禁用其余内核中的不同的两个(例如,CPU0 120、CPU1130、CPU2 140、CPU4 160、CPU5 170、CPU6 180)。在一些示例中,除了激活和禁用内核之外,在最近禁用的内核处正执行的操作还转移到当前有效内核。以此方式控制内核减少每个内核经受的操作时间和/或退化的量。在一些示例中,减少内核的操作时间和/或退化的量导致用于包含内核(CPU0 120、CPU1 130、CPU2 140、CPU3 150、CPU4 160、CPU5 170、CPU6180、CPU7 190)的产品的更长寿命跨度。
图2是第二印制电路板203的框图200,其上第二内核控制器205,并且内核的两个群组/分区包括第一内核分区207和第二内核分区209。在一些示例中,内核的总数量表示为“n”。在一些这样的示例中,第一内核分区207包括内核0 210、内核2 230、内核4 250、内核n-2 280和赋值4至n-2之间的偶数的任何内核。在一些这样的示例中,第二内核分区209包括内核1 220、内核3 240、内核5 260、内核n-1 270和赋值5至n-1之间的奇数的任何内核。
在一些示例中,第二内核控制器205将n-1个内核分区为第一内核分区207和第二内核分区209。在一些示例中,当第二内核分区209的内核无效时,第二内核控制器205使第一内核分区207中包括的内核有效。此外,在基于一个或多个因素的确定时间,第二内核控制器205使第一内核分区207的内核变为无效且第二内核分区209的内核变为有效。
图3是具有八个内核(例如,内核0、内核1、内核2、内核3、内核4、内核5、内核6、内核7)的第三印制电路板302的四个配置(例如,A、B、C和D)的框图300。在图3的示例中,分别取决于内核处于第一配置A、第二配置B、第三配置C和第四激活D上,用以标识内核(0-7)的数字后接A、B、C或D。附加地,印制电路板302A、302B、302C、302D包括第三内核控制器304A、304B、304C、304D。
在一些示例中,第三内核控制器304A、304B、304C、304D将8个内核分区为四个群组。在一些示例中,第一群组包括内核3A和内核7A。在一些示例中,第二群组包括内核0B和内核4B,第三群组包括内核1C和内核5C,并且第四群组包括内核2D和内核6D。在一些示例中,第三内核控制器304A、304B、304C、304D使第一群组中包括的内核无效而使第二、第三和第四群组中的内核有效。在一些示例中,在所确定的时间和/或基于一个或多个因素,第三内核控制器304A、304B、304C、304D使第二群组的内核禁用并且使第一群组的内核激活,以使得第一、第三和第四群组有效。在一些示例中,第三内核控制器304A、304B、304C、304D使第三群组的内核变为无效并且使第二群组的内核有效,以使得第一、第二和第四群组的内核有效。在一些示例中,第三内核控制器304A、304B、304C、304D使第四群组的内核变为无效并且使第三群组的内核激活,以使得第一、第二和第三群组的内核有效。第三内核控制器304A、304B、304C、304D以延长安装第三内核控制器302A、302B、302C、302D的产品的寿命的方式切换内核群组的有效/无效状态。
图4是表示图1-图3中任一个的第一、第二和/或第三内核控制器的示例内核控制器402的框图。在一些示例中,内核控制器402包括示例内核分区器404,示例内核切换器406、示例定时器/时钟408、示例工作负载编排器410、示例策略选择器412、示例子集选择器414、示例CPU使用监控器416、示例数字热传感器418、示例时间序列数据日志器420、示例操作转移编排器422、示例内核相互切换配置器424和示例非易失性随机存取存储器(NVRAM)426。
在一些示例中,示例内核控制器402进行操作以在有效与无效/保留状态之间切换(例如,微处理器的印制电路板的)内核。在一些示例中,在第一内核为无效和第二内核为有效的状态的切换时、之前或其期间,内核控制器402使第一(有效)内核处执行的操作和/或工作负载转移到第二(无效)内核。在一些示例中,内核控制器402以使得在切换之时正由内核执行的操作不中断或丢失的方式实现内核的切换。
在一些示例中,示例内核控制器402的示例内核分区器404确定待由内核控制器402控制的内核数量并且还进行操作以将内核数量分区为群组/子集。群组/子集的数量可以基于内核和/或部署内核的电子设备的配置、收集监控数据的方式等而变化。在一些示例中,部分地由示例策略选择器412通知关于待创建的内核的群组/子集的数量的确定。策略选择器412从将管控内核控制器在有效与无效状态之间切换内核的方式的各种策略当中选择策略。在一些示例中,策略基于内核为有效的时间持续期。在一些示例中,策略基于可能由内核正进行操作的温度和/或内核正经历的使用量(工作负载)引起的内核的退化。因此,策略选择器是用于选择策略的示例装置,而内核分区器是用于将内核划分或分区为内核子集的装置。
在一些示例中,基于例如所选择的策略,示例子集选择器414进行操作以选择待从第一状态(例如,无效)切换为第二状态(例如,有效)并且反之亦然的内核的一个或多个群组/子集。在一些示例中,示例内核切换器406基于由示例定时器/时钟408、示例CPU使用监控器416、示例数字热传感器监控器418、示例时间序列的数据日志器420和/或内核的各种其他受监控的方面/特性中的任何一个提供的信息切换内核一个或多个群组/子集。在一些示例中,在内核切换器406执行切换操作(或任何切换操作)之前,示例内核相互切换配置器424以许可相互切换发生的方式配置内核。内核的这种配置可以包括:例如,将内核配置为(直接或间接)与彼此进行通信,将内核配置为接收并适当地响应于有效信号和/或无效信号,将存储器和/或内核的其他部分配置为具有相同地址,和/或关于在无效与有效状态并且反之亦然之间进行切换准备内核的任何其他各种配置操作。因此,内核相互切换配置器是用于关于从有效状态到无效状态并且反之亦然的切换(也称为内核相互切换)配置内核的示例装置。
在一些示例中,示例内核切换器406在发放切换命令(例如,将使内核子集中的一个或多个有效/禁用的命令)之前、期间或之后通知示例工作负载编排器410。在一些示例中,工作负载编排器410通过确定与待禁用的有效内核中的每一个关联的工作负载的CPU利用率响应于通知,并且进一步确定待激活的无效内核中的每一个的工作负载容量。在一些这样的示例中,工作负载编排器410可以进行操作以调整内核之间的工作负载的转移,以确保新激活的内核能够应对禁用的(或不久将要禁用的内核)的工作负载。在一些示例中,工作负载编排器包括用于比较内核的工作负载容量的比较器,并且当内核切换将导致新激活的内核具有不足以应对待由工作负载编排器转移的工作负载的能力时,工作负载编排器通知内核切换器406。在一些这样的示例中,工作负载编排器在确定新激活的内核将具有足够容量时编排内核之间的工作负载的转移。因此,工作负载编排器410是用于编排从一个或多个内核到一个或多个其他核的工作负载的转移的示例装置。
在一些示例中,示例内核切换器406在发放切换命令(例如,将使内核子集中的一个或多个有效/禁用的命令)之前、期间或之后通知示例操作转移编排器422。在一些示例中,操作转移编排器422执行所需的操作,以确保成功地转移正切换的内核的操作,而不出故障,不损坏或影响在切换之时正执行的任何过程的操作,不导致丢弃的比特,等。在一些示例中,由操作转移编排器422执行的操作可以包括:标识操作待转移的顺序,标识不同数据待放置到的不同存储器位置,等。因此,操作转移编排器422是用于编排第一内核处执行的操作向第二内核的转移的装置。
在一些示例中,如上所述,示例内核切换器406基于使用内核有效所持续的时间量)的策略/方案(也称为基于时间的保留策略)确定切换何时将要发生。在一些这样的示例中,内核切换器406使用由示例定时器/时钟408提供的信息以确定内核切换何时将要发生。因此,内核切换器是用于切换内核的示例装置。
在一些示例中,采用示例第一基于时间的保留策略,并且示例内核分区器404将内核的总数量分区为2个群组,如图2所示。在该保留策略/方案中,当电子设备/产品开始操作时,激活CPU群组之一(例如,CPU群组1 207),并且然后在产品寿命时间的固定量之后激活第二CPU群组(CPU群组2 209)。当激活群组2 209的内核时,禁用CPU群组1 207的内核。在一些这样的示例中,产品中的内核的总数量是有效内核的数量的两倍。例如,被设计达5年的8核设备/产品预计进行操作达10年。因此,在任何给定时间的有效内核的数量是4。对于前5年,CPU群组1的内核有效,而CPU群组2的内核受激活以用于其余5年(此时,CPU群组1的内核置于无效状态下)。因此,产品的整体寿命时间为10年,而产品中部署的8个内核具有5年的寿命跨度。以此方式,通过使用图4的内核控制器402(也示出为图2中的内核控制器205),产品/设备的寿命跨度从5年延长到10年。
在一些示例中,采用示例第二基于时间的保留策略/方案,并且示例内核分区器404将内核的总数量分区为2个群组,如图2所示。在第二保留策略/方案中,当电子设备/产品开始操作时,激活CPU群组之一(例如,CPU群组1 207)。接下来,在阈值时间量已经逝去之后,示例内核切换器406切换内核,从而使CPU群组1 207的内核无效而使CPU群组2的内核有效。在等于内核的寿命跨度的2倍的时间量期间,内核切换器406继续在无效与有效状态之间切换CPU群组1和群组2的内核。在一些示例中,在CPU群组1和CPU群组2之间来回切换在每个切换时调用示例工作负载编排器410和示例操作转移编排器422。在一些示例中,切换发生在产品寿命时间的固定量已经逝去之后,直到已经达到整个产品寿命跨度。在一些示例中,CPU群组1的内核有效达等于产品寿命跨度的一半的总持续时间,并且CPU群组2的内核有效达等于产品寿命跨度的一半的总持续时间。
在一些示例中,部署示例第三基于时间的保留策略/方案,其中,随着工作负载周期性地移动到有效内核,总数量CPU内核的小的子集一次处于无效或禁用,如图3所示。在图3的示例中,在第一周期A期间,内核A0-)7中的内核3A和内核7A是无效的,而其余内核是有效的。在第二周期B期间,内核0-7中的内核0B和内核4B是无效的,而其余内核是有效的。在第三周期C期间,内核0C-7C中的内核1C和内核5C是无效的,而其余内核是有效的。在第四周期D期间,内核0D-7D中的内核2D和内核6D是无效的,而其余内核是有效的。在第三基于时间的保留策略/方案中,实现对CPU内核0-7的更有效的且平衡式的利用。在一些这样的示例中,示例工作负载编排器410和示例操作转移编排器422进行操作,以确保如上所述在内核切换期间的平滑过渡。在一些示例中,切换周期性地发生在产品寿命时间的固定量已经逝去之后,直到已经达到目标产品寿命跨度。在一些示例(例如,包括两个内核集合的示例)中,一个集合有效达总产品寿命跨度的一半,而另一集合受激活达其余产品寿命跨度。在一些示例中,使用示例质量退化监控保留策略(QDMRP)。当确定切换将要发生时,QDMRP考虑硅退化以及工作负载特性。在一些示例中,部署CPU利用率监控,部署数字热传感器(DTS)监控,和/或部署CPU利用率和DTS监控二者。QDMRP策略考虑这样的事实:现代CPU是使用CMOS工艺技术构建的,CMOS工艺技术倾向于若干退化机制,包括热载流子注入、偏置温度不稳定性、栅极氧化物击穿、电迁移等。这些退化机制是环境(温度、电压)、频率和工作负载压力的函数。QDMRP包括:使用用于非易失性存储器(NVRAM/NVMe)中每个CPU内核的日志时间序列数据,以跟踪CPU利用率和温度的影响。
在第一示例QDMRP策略中,监控CPU内核利用率作为CPU内核经受的压力的量的指标。在第一示例QDMRP策略中,(由示例定时器/时钟408跟踪的)时间间隔用以确定设置示例时间序列数据日志器420进行的将示例CPU内核利用率数据存储为时间序列数据的周期的监控频率。在一些示例中,CPU内核利用率数据由一个或多个CPU使用传感器感测,并且提供给示例CPU使用监控器416。时间序列数据日志器420将时间序列数据存储在示例NVRAM 426中。此外,示例工作负载编排器410执行轮转负载平衡算法,以基于CPU内核利用率数据跨越内核分布工作负载。在一些示例中,以实现未延长的寿命跨度的两倍的所延长的CPU内核寿命跨度为目标而分布工作负载。以下表1呈现结合示例基于CPU内核利用率的QDMRP策略收集的示例日志数据。
Figure BDA0003344613840000101
Figure BDA0003344613840000111
表1
在第二示例QDMRP策略中,数字热传感器数据用以防止任何单个CPU内核在高温度达延长的时间段的操作。可以在使用仅关于商业温度认定的硅的高温度工业环境中进行操作的产品中部署第二示例QDMRP策略。由于工业环境中的温度很高,因此硅的退化加速。DTS监控用于减少CPU内核中的任何单独内核在高温度进行操作达延长的时间段的可能性。在一些示例中,通过使用战略性基于温度的切换卸载CPU内核之间的工作负载并且间歇性地保持内核处于无效状态下实现该目的。
在示例性第二QDMRP策略中,除了并非监控CPU使用,而是测量每个CPU核的结温度之外,部署与随第一QDMRP策略使用的时间序列数据日志记录相似的时间序列数据日志记录。示例轮转负载平衡算法基于由示例数字热传感器监控器418收集的DTS读数跨越CPU内核分布工作负载。如同第一QDMRP策略,(由示例定时器/时钟408跟踪的)时间间隔用以确定设置示例时间序列数据日志器420收集DTS监控数据的周期的监控频率。基于DTS读数的工作负载的分布和间歇性内核切换可以确保各自CPU的寿命跨度延长到至少十年(其超过将在缺乏应用第二QDMRP策略的情况下另外实现的寿命跨度)。以下表2呈现结合第二(例如,基于DTS监控的)QDMRP策略收集的示例时间序列日志数据。
Figure BDA0003344613840000112
表2
在示例第三QDMRP中,示例内核切换器406采用考虑CPU内核利用率和DTS温度二者的切换方案。在第三QDMRP中,轮转负载平衡算法基于CPU内核利用率监控数据和DTS监控数据的组合跨越内核战略性地分布工作负载,以将CPU内核中的各自内核的寿命时间延长到至少十年。如同第一和第二QDMRP,(由示例定时器/时钟408跟踪的)时间间隔用以确定设置示例时间序列数据日志器420收集数据的周期的监控频率。在第三QDMRP中,所收集的数据包括(由示例DTS监控器418收集的)DTS监控数据和(由示例CPU使用监控器416收集的)CPU内核使用监控数据。基于DTS监控数据和CPU内核利用率数据二者的工作负载的分布和间歇性内核切换可以确保单独CPU的寿命跨度延长到至少十年(其超过将在缺乏应用第三QDMRP策略的情况下另外实现的寿命跨度)。以下表3呈现结合第三QDMRP策略收集的示例时间序列日志数据。
Figure BDA0003344613840000121
表3
虽然在图4中示出实现内核控制器402(也示出为图1的第一内核控制器110、图2的第二内核控制器205和图3的第三内核控制器304B)的示例方式,但是可以通过任何其他方式组合、划分、重新布置、省略、消除和/或实现图4所示的要素、过程和/或设备中的一个或多个。此外,可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合实现示例内核分区器404、示例内核切换器406、示例定时器/时钟408、示例工作负载编排器410、示例策略选择器412、示例子集选择器414、示例CPU使用监控器416、示例数字热传感器418、示例时间序列数据日志器420、示例操作转移编排器422、示例内核相互切换配置器424和示例非易失性随机存取存储器(NVRAM)426和/或更一般地,图4的示例内核控制器402。因此,例如,可以由一个或多个模拟或数字电路、逻辑电路、可编程处理器、可编程控制器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)实现示例内核分区器404、示例内核切换器406、示例定时器/时钟408、示例工作负载编排器410、示例策略选择器412、示例子集选择器414、示例CPU使用监控器416、示例数字热传感器418、示例时间序列数据日志器420、示例操作转移编排器422、示例内核相互切换配置器424和示例非易失性随机存取存储器(NVRAM)426和/或更一般地,图4的示例内核控制器402中任一个。当阅读本专利的任何装置或系统权利要求以涵盖纯软件和/或固件实现方式时,示例内核分区器404、示例内核切换器406、示例定时器/时钟408、示例工作负载编排器410、示例策略选择器412、示例子集选择器414、示例CPU使用监控器416、示例数字热传感器418、示例时间序列数据日志器420、示例操作转移编排器422和/或示例内核相互切换配置器424中的至少一个由此明确地定义为包括包含软件和/或固件的非瞬时计算机可读存储设备或存储盘(例如,存储器、数字多功能盘(DVD)、压缩盘(CD)、蓝光盘等)。又更进一步地,图4的示例内核控制器402可以除了或代替图4所示的之外还包括一个或多个要素、过程和/或设备,和/或可以包括任何或所有所示要素、过程和设备中的多于一个。如本文所使用的那样,短语“通信”(包括其变型)涵盖直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接实体(例如,有线)通信和/或持续通信,而是反而附加地包括以周期性间隔、受调度的间隔、非周期性间隔和/或一次性事件的选择性通信。
图4中示出表示用于实现内核控制器402的示例硬件逻辑、机器可读指令、硬件实现的状态机和/或其任何组合的流程图。机器可读指令可以是用于由计算机处理器和/或处理器电路(例如,以下结合图7讨论的示例处理器平台700所示的处理器712)执行的一个或多个可执行程序或可执行程序的部分。程序可以体现于与处理器712关联的非瞬时计算机可读存储介质(例如,CD-ROM、软盘、硬盘驱动器、DVD、蓝光盘或存储器)上存储的软件中,但是整个程序和/或其部分可以替代地由除了处理器712之外的设备执行和/或体现于固件或专用硬件中。此外,虽然参照图5A、图5B和图6所示的流程图描述示例程序,但是可以替代地使用实现示例内核控制器402的许多其他方法。例如,可以改变块的执行顺序,和/或可以改变、消除或组合所描述的一些块。附加地或替代地,被构造为在不执行软件或固件的情况下执行对应操作的一个或多个硬件电路(例如,分立和/或集成模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(运放)、逻辑电路等)可以实现任何或所有块。处理器电路可以分布在一个或多个设备(例如,单个机器中的多核处理器、跨越服务器机架分布的多个处理器等)的不同网络位置中和/或本地。
可以按压缩式格式、加密式格式、分段式格式、编译式格式、可执行格式、包封式格式等中的一种或多种存储本文描述的机器可读指令。本文描述的机器可读指令可以存储为可以利用以创建、制造和/或产生机器可执行指令的数据或数据结构(例如,指令的部分、代码、代码的表示等)。例如,机器可读指令可以分段并存储在位于网络或网络集合的相同或不同位置处(例如,在云中,在边缘设备中,等)的一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可能需要安装、修改、适配、更新、组合、补充、配置、解密、解压缩、解包封、分发、重新指派、编译等中的一个或多个,以使其可由计算设备和/或其他机器直接读取、解释和/或执行。例如,机器可读指令可以存储在单独地受压缩、加密并存储在分离的计算设备上的多个部分中,其中,部分当受解密、解压缩并组合时形成实现可以一起形成程序(例如,本文描述的程序)的一个或多个功能的可执行指令集合。
在另一示例中,机器可读指令可以在它们可以由处理器电路读取的状态下得以存储,但是需要添加库(例如,动态链路库(DLL))、软件开发套件(SDK)、应用编程接口(API)等,以在特定计算设备或其他设备上执行指令。在另一示例中,在可以完整地或部分地执行机器可读指令和/或对应程序之前,可能需要配置机器可读指令(例如,存储设置、输入数据、记录网络地址等)。因此,本文使用的机器可读介质可以包括机器可读指令和/或程序,而无论当储存或以其他方式静置或在转移中时的机器可读指令和/或程序的特定格式或状态。
任何过去、现在或未来指令语言、脚本语言、编程语言等可以表示本文描述的机器可读指令。例如,可以使用以下语言中的任一种表示机器可读指令:C、C++、Java、C#、Perl、Python、JavaScript、超文本标记语言(HTML)、结构化查询语言(SQL)、Swift等。
如上所述,可以使用非瞬时计算机和/或机器可读介质(例如,硬盘驱动器、闪存、只读存储器、压缩盘、数字多功能盘、缓存、随机存取存储器和/或存储信息达任何持续时间(例如,达延长的时间段、永久地、达简短时刻、达临时缓冲,和/或达信息的缓存)的任何其他存储设备或存储盘)上存储的可执行指令(例如,计算机和/或机器可读指令)实现图5A、图5B和图6的示例过程。如本文所使用的那样,术语非瞬时计算机可读介质明确地定义为包括任何类型的计算机可读存储设备和/或存储盘并且排除传播信号而且排除传输介质。
“包括(including)”和“包括(comprising)”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求作为序言或在任何种类的权利要求陈述内采用任何形式的“包括(include)”或“包括(comprise)”(例如,包括(comprises)、包括(includes)、包括(comprising)、包括(including)、具有等)时,应理解,在不超出对应权利要求或陈述的范围的情况下,可以存在附加要素、术语等。如本文所使用的那样,当短语“至少”用作例如权利要求的序言中的过渡术语时,它以与术语“包括(comprising)”和“包括(including)”相同的方式成为开放式的。术语“和/或”当以诸如A、B和/或C的形式使用时指代A、B、C的任何组合或子集(例如,(1)单独A、(2)单独B、(3)单独C、(4)A与B、(5)A与C、(6)B与C和(7)A与B与C)。如本文在描述结构、组件、条目、对象和/或事物的上下文中所使用的那样,短语“A和B中的至少一个”旨在指代包括以下中的任何一个的实现方式:(1)至少一个A、(2)至少一个B和(3)至少一个A和至少一个B。相似地,如本文在描述结构、组件、条目、对象和/或事物的上下文中所使用的那样,短语“A或B中的至少一个”旨在指代包括以下中的任何一个的实现方式:(1)至少一个A、(2)至少一个B和(3)至少一个A和至少一个B。如本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中所使用的那样,短语“A和B中的至少一个”旨在指代包括以下中的任何一个的实现方式:(1)至少一个A、(2)至少一个B和(3)至少一个A和至少一个B。相似地,如本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中所使用的那样,短语“A或B中的至少一个”旨在指代包括以下中的任何一个的实现方式:(1)至少一个A、(2)至少一个B和(3)至少一个A和至少一个B。
如本文所使用的那样,单数引用(例如,“一个(a)”、“一个(an)”、“第一”、“第二”等)并不排除复数。如本文所使用的那样,术语“一个(a)”或“一个(an)”实体指代该实体中的一个或多个。在本文中可以可互换地使用术语“一个(a)”(或“一个(an)”)、“一个或多个”和“至少一个”。此外,虽然单独地列出,但是多个装置、要素或方法动作可以由例如单个单元或处理器实现。附加地,虽然单独特征可以包括于不同的示例或权利要求中,但是它们可以可能地组合,并且包括在不同的示例或权利要求中并非暗指特征的组合不是可行的和/或有利的。
图5A和图5B的程序500包括块502,在块502,设置(表示布置内核的产品的目标寿命跨度的)N的值以用于由示例定时器/时钟和/或示例内核切换器406引用。在一些示例中,N的值可以存储在图426的NVRAM中。在一些示例中,N的值可以由系统管理员在输入设备处录入。在一些示例中,N的值可以在产品的销售之前录入。在示例策略选择器412处选择策略。(块504)。在一些示例中,策略选择器412可以基于例如用户偏好、产品类型、将把产品置于使用的应用、将使用产品的环境等从各种策略当中进行选择。策略选择器412确定是否选择了第一方案(方案1)(块506),并且如果是,则示例内核分区器404将印制电路板的内核分区为第一群组(群组1)和第二群组(群组2)。(块508)。示例内核切换器510激活内核群组之一(例如,群组1)(块510)。示例定时器/时钟408监控开始于有效的时间的时间持续期。(块512)。如果开始于群组1的内核的有效已经逝去的时间持续期不等于由定时器/时钟408(或示例内核切换器406基于定时器/时钟408的输出)确定的阈值时间量(例如,N/2)(块514),则定时器/时钟408继续监控距群组1的内核的有效逝去的时间持续期(块512)。
当时间持续期等于由示例定时器/时钟408(或示例内核切换器406基于定时器/时钟408的输出)确定的N/2(产品的寿命跨度的一半)时(块514),内核切换器406通过从群组1的内核切换为群组2的内核进行响应(例如,内核切换器406使群组1的内核被禁用,并且使群组2的内核得以激活)(块516)。同时,定时器/时钟408继续监控距群组1的内核的有效逝去的时间。当逝去的时间等于由定时器/时钟408(或内核切换器406基于定时器/时钟408的输出)确定的N时(块518),产品已经达到其寿命跨度,并且与第一方案的选择有关的程序500的部分的执行结束。此时,可以关于产品采取任何数量的动作,包括更换、无效、升级等。
仍然参照图5A,如果策略选择器412(图4)(基于编程的信息和/或来自输入设备的信息)选择第二方案(方案2)(块520),则示例内核分区器404将印制电路板的内核分区为第一内核群组(群组1)和第二内核群组(群组2)。(块522)。示例内核切换器510激活内核群组之一(例如,群组1),但是不激活内核群组中的第二群组(例如,群组2)(块524)。在一些示例中,示例定时器/时钟408初始化由变量“i”表示的计数器。(块526)。定时器/时钟还监控开始于群组1的内核的有效的时间的时间持续期。(块528)。在一些示例中,开始于群组1的内核的有效已经所逝去的时间持续期不等于由定时器/时钟408(或示例内核切换器406基于定时器/时钟408的输出)确定的阈值时间量(例如,N/2)(块530)。在一些这样的示例中,定时器/时钟408和/或内核切换器406确定自从群组1的内核的有效以来已经逝去的时间量是否等于计数器的值i乘以阈值时间量)(块532)。在一些示例中,阈值是等于产品的寿命跨度“N”除以整数的时间量,并且表示待允许在由内核切换器406执行的内核切换之间逝去的时间量。因此,如果逝去的时间量等于阈值,则内核切换器406执行内核切换(有效内核被禁用,并且反之亦然)(块534)。定时器/时钟408将计数器i递增达1(例如,(i=i+1))(块536),并且定时器/时钟408再次确定自从第一内核有效以来逝去的时间是否等于N(块530)。当逝去的时间不等于N时,程序500重新执行关于块532、534和536描述的操作。
当逝去的时间等于N时,达到安装内核的产品的寿命跨度,并且程序500结束。此后,可以如上所述关于产品执行任何数量的动作。
仍然参照图5A,如果策略选择器412(图4)(基于编程的信息和/或来自输入设备的信息、或任何各种因素)并未选择第二方案(块520),则部署第三方案(方案3),并且程序500从图5A的标记A继续到图5B的标记A。此后,示例内核分区器404将印制电路板的内核分区为轮转(RR)群组集合(块538)。在一些示例中,RR群组均包括两个内核,但是任何其他数量的内核可以替代地包括于RR群组中。示例时间/时钟408将由变量“i”表示的计数器初始化为1的值(块540)。计数器的值“i”表示由内核分区器404形成的RR群组的数量。
示例内核切换器406激活除了被禁用的第i个RR群组的内核之外的RR群组的内核(块542)。应理解,在第一禁用操作(块522)的初期,RR群组的内核可以皆非有效的,以使得不执行第i个RR群组的内核的无效。
示例定时器/时钟408监控自从第i个RR群组的禁用以来逝去的时间量(块544)。在一些示例中,定时器/时钟408和/或内核切换器406确定定时器是否等于变量N的值,其如上所述表示产品的寿命跨度的值(块546)。如果是,则已经达到产品的寿命跨度,并且与第三方案关联的程序500的部分完成,以使得程序结束。
在一些示例中,定时器/时钟408或内核切换器406确定定时器408尚未达到值N(块546),并且然后确定定时器的值是否等于计数器的值i乘以阈值(块548)。在一些示例中,阈值等于产品的寿命跨度的部分,并且表示内核切换器406将执行内核切换所居间的时间量。当定时器/时钟408确定定时器等于(i×阈值)时(块548),示例定时器/时钟408使计数器递增达1(例如,i=i+1)(块550)。内核切换器406然后通过禁用第i个RR内核群组并激活其他RR内核群组执行另一内核切换(块542)。此后,重复关于块544、546和548和550描述的操作,以使得下一个第i内核群组被禁用,依此类推,直到自从第一RR内核群组的有效以来逝去的时间量等于产品的寿命跨度,并且与第三方案关联的程序500的部分结束。如上所述,在程序500结束之后,可以相对于产品执行任何各种动作。
图6是可以执行以实现图1-图4中任一个的第一、第二、第三和第四内核控制器中任一个的程序600。在一些示例中,程序600可以执行数个不同的质量退化监控保留策略(QDMRP)。在一些示例中,程序600开始于块602,在块602,示例策略选择器412基于如上所述的各种因素或基于输入设备处提供的输入选择寿命延长策略(例如,QDMRP)之一。基于所选择的策略或任何各种其他因素,示例内核相互切换配置器424执行算法以赋能CPU相互改变/相互切换(块604)。在一些这样的示例中,内核相互切换配置器424通过例如以下操作配置产品的内核:将内核配置为(直接或间接)与彼此进行通信,将内核配置为适当地接收并且响应于有效信号和/或无效信号,将存储器和/或内核的其他部分配置为具有相同地址,和/或准备内核以用于在无效与有效状态之间进行切换的任何其他各种配置操作。在一些示例中,由内核相互切换配置器执行的算法可以基于由策略选择器412选择了哪种策略而不同。
接下来,策略选择器602基于所选择的策略选取路径(例如,路径1、路径2、路径3)(块606)。在一些示例中,路径1指代监控作为CPU内核经受的压力的量的指标的CPU内核利用率并基于监控进行内核切换的QDMRP。因此,当选取路径1时,例如,内核切换器406基于任何数量的因素(包括CPU使用监控器416的能力、安装产品的环境、内核的操作速度等)提供监控时间间隔(也称为CPU利用间隔)(块608)。在一些示例中,CPU利用间隔可以在制造产品或内核的时间得以设置,或者可以基于用户输入得以设置,和/或编程到图4的内核控制器402中。接下来,CPU使用监控器416根据CPU利用间隔开始监控CPU使用(块610)。CPU使用监控数据提供给图4的示例时间序列数据日志器420,其以时间序列格式以日志记录数据并且将日志记录的数据存储在示例NVRAM 426中(块612)。图4的内核切换器406基于使用日志时间序列内核利用率数据的工作负载分布算法使内核切换发生(块614)。在一些示例中,内核切换器算法引起切换由内核分区604形成/创建的轮转(RR)内核群组(616)。在一些示例中,不同的RR群组在每个内核切换期间被禁用,并且RR群组中的其余RR群组得以激活(或者,如果已经是有效的,则不受影响)。在一些示例中,内核切换算法限制内核正经历高CPU使用的时间量。在一些示例中,内核切换器406执行算法,直到已经达到产品的目标寿命跨度(例如,“N”),其中,目标寿命跨度超过内核的寿命跨度。当达到目标寿命跨度时,内核切换器406暂停算法的执行,并且与CPU使用监控关联的程序600的部分结束。
在一些示例中,如上所述,在内核切换期间,按实现工作负载的平滑的且恰当地平衡的转移所需,涉及示例工作负载编排器410、示例操作转移编排器422和/或内核相互切换配置器。
在一些示例中,基于所选择的寿命延长器策略选取路径2(参见块602)。在一些示例中,路径2对应于基于由图4的示例数字热传感器(DTS)监控器418收集的信息监控内核操作温度的QDMRP。因此,当选取路径2时,例如,内核切换器406基于任何数量的因素(包括数字热传感器的能力、安装产品的环境、内核的操作速度等)提供监控时间间隔(也称为DTS监控间隔)(块618)。在一些示例中,DTS监控间隔可以在制造产品或内核的时间得以设置,或者可以基于用户输入得以设置,和/或编程到图4的内核控制器402中。接下来,DTS监控器418根据DTS监控间隔开始监控由数字热传感器提供的数据(块620)。DTS监控数据提供给图4的示例时间序列数据日志器420,其以时间序列格式日志记录数据并且将日志记录的数据存储在示例NVRAM 426中(块622)。
图4的内核切换器406基于使用日志时间序列DTS数据的工作负载分布算法使内核切换发生(块614)。如上所述,内核切换器算法引起切换由内核分区604形成/创建的轮转(RR)内核群组(616)。在一些示例中,不同的RR群组在每个内核切换期间被禁用,并且RR群组中的其余RR群组得以激活(或者,如果已经是有效的,则不受影响)。在一些示例中,内核切换算法限制内核暴露于与硅退化关联的高温度的时间量。在一些示例中,内核切换器406执行算法,直到已经达到产品的目标寿命跨度(例如,“N”),其中,目标寿命跨度超过内核的寿命跨度。当达到目标寿命跨度时,内核切换器406暂停算法的执行,并且与CPU使用监控关联的程序600的部分结束。
基于DTS监控数据和CPU内核利用率数据二者的工作负载的分布和间歇性内核切换可以确保单独CPU的寿命跨度延长到至少十年(其超过将在缺乏应用第三QDMRP策略的情况下另外实现的寿命跨度)。以下表3呈现结合第三QDMRP策略收集的示例时间序列日志数据。
在一些示例中,基于由或按所选择的寿命延长器策略选择的策略选取路径3(参见块602)。在一些示例中,路径3对应于基于分别由示例CPU使用监控器416和示例数字热传感器(DTS)监控器418收集的信息监控内核操作温度和内核使用数据二者的QDMRP。因此,当选取路径3时,例如,内核切换器406提供温度监控时间间隔(也称为DTS监控间隔)和CPU利用监控间隔(块608和块618)。接下来,DTS监控器418和CPU使用监控器416根据各个对应时间间隔开始监控由数字热传感器和CPU提供的数据。(块624)。监控数据提供给图4的示例时间序列数据日志器420,其以时间序列格式日志记录数据并且将日志记录的数据存储在示例NVRAM 426中(块626)。
图4的内核切换器406基于使用日志时间序列DTS数据的工作负载分布算法使内核切换发生(块614)。如上所述,内核切换器算法引起切换由内核分区604形成/创建的轮转(RR)内核群组(616)。在一些示例中,不同的RR群组在每个内核切换期间被禁用,并且RR群组中的其余RR群组得以激活(或者,如果已经是有效的,则不受影响)。在一些示例中,内核切换算法进行操作,以通过限制内核暴露于高温度的时间量和内核正经历高工作负载需求的时间量的方式战略性地切换内核。在一些示例中,内核切换器406执行算法,直到已经达到产品的目标寿命跨度(例如,“N”),其中,目标寿命跨度超过内核的寿命跨度。当达到目标寿命跨度时,内核切换器406暂停算法的执行,并且与CPU使用监控关联的程序600的部分结束。
应理解,由内核控制器614执行的切换算法可以基于图4的策略选择器412处选取的路径而变化。在一些示例中,策略选择器412通知内核控制器402的其他组件,以使得使用适当的数据执行恰当的算法。
图7是被构造为执行图5A、图5B和图6的指令以实现图4的内核控制器402的示例处理器平台700的框图。处理器平台700可以是例如可编程逻辑控制器(PLC)、可编程自动化控制器(PAC)、嵌入式控制器(EC)、工业PC(IPC)、人机接口(HMI)、服务器、个人计算机、工作站、自学习机器(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、平板(例如,iPadTM))、耳机或其他可穿戴设备、或任何其他类型的计算设备。
所示示例的处理器平台700包括处理器712。所示示例的处理器712是硬件。例如,处理器712可以由来自任何期望系列或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或控制器实现。硬件处理器可以是基于半导体(例如,基于硅)的设备。在该示例中,处理器实现示例内核分区器404、示例内核切换器406、示例定时器/时钟408、示例工作负载编排器410、示例策略选择器412、示例子集选择器414、示例CPU使用监控器416、示例数字热传感器418、示例时间序列数据日志器420、示例操作转移编排器422和示例内核相互切换配置器424和/或更一般地,图4的示例内核控制器402。
所示示例的处理器712包括本地存储器713(例如,缓存)。所示示例的处理器712经由总线718与包括易失性存储器714和非易失性存储器716的主存储器进行通信。易失性存储器714可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、
Figure BDA0003344613840000221
动态随机存取存储器
Figure BDA0003344613840000222
和/或任何其他类型的随机存取存储器设备实现。非易失性存储器716可以由闪存和/或任何其他期望类型的存储设备实现。对主存储器714、716的存取由存储器控制器控制。在一些示例中,非易失性存储器716可以实现图4的NVRAM 426。
所示示例的处理器平台700还包括接口电路720。接口电路720可以由任何类型的接口标准(例如,以太网接口、通用串行总线(USB)、
Figure BDA0003344613840000223
接口、近场通信(NFC)接口和/或PCI高速接口)实现。
在所示示例中,一个或多个输入设备722连接到接口电路720。输入设备722许可用户将数据和/或命令输入到处理器712中。输入设备可以由例如音频传感器、麦克风、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、指点件(isopoint)和/或语音识别系统实现。
一个或多个输出设备724也连接到所示示例的接口电路720。输出设备724可以例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器(LCD)、阴极射线管显示器(CRT)、平面开关(IPS)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器实现。所示示例的接口电路720因此典型地包括图形驱动卡、图形驱动内核和/或图形驱动处理器。
所示示例的接口电路720还包括通信设备(例如,发射机、接收机、收发机、调制解调器、住宅网关、无线接入点和/或网络接口),以促进数据与外部机器(例如,任何种类的计算设备)经由网络726的交换。通信可以经由例如以太网连接、数字用户线(DSL)连接、电话线连接、同轴电缆系统、卫星系统、直达线无线系统、蜂窝系统等。
所示示例的处理器平台700还包括用于存储软件和/或数据的一个或多个海量存储设备728。这些海量存储设备728的示例包括软盘驱动器、硬驱动器盘、压缩盘驱动器、蓝光盘驱动器、独立盘冗余阵列(RAID)系统和数字多功能盘(DVD)驱动器。
图5A、图5B和图6的机器可执行指令732可以存储在海量存储设备728中、易失性存储器714中、非易失性存储器716中和/或可拆卸非瞬时计算机可读存储介质(例如,CD或DVD)上。
图7、图8和图9示出可以实现装置、系统、方法和制造物的环境。例如,在图8中示出说明用于将软件(例如,图7的示例计算机可读指令732)分发给第三方的示例软件分发平台805的框图。示例软件分发平台805可以由能够存储软件并发送到其他计算设备的任何计算机服务器、数据设施、云服务等实现。第三方可以是拥有和/或操作软件分发平台的实体的客户。例如,拥有和/或操作软件分发平台的实体可以是软件(例如,图7的示例计算机可读指令732)的开发者、销售者和/或许可者。第三方可以是购买和/或许可软件以用于使用和/或转售和/或分许可的客户、用户、零售商、OEM等。在所示示例中,软件分发平台805包括一个或多个服务器和一个或多个存储设备。存储设备存储计算机可读指令732,其可以对应于如上所述的图5A、图5B和图6的示例计算机可读指令500、600。示例软件分发平台805的一个或多个服务器与网络810进行通信,网络可以对应于任何一个或多个互联网和/或任何上述示例网络726。在一些示例中,作为商业交易的部分,一个或多个服务器响应于请求以将软件发送到请求方。对于软件的交付、销售和/或许可的支付可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体应对。服务器赋能购买者和/或许可方以从软件分发平台805下载计算机可读指令732。例如,可以对应于图5A、图5B和图6的示例计算机可读指令500和600的软件可以是下载到示例处理器平台1000,其用于执行计算机可读指令732,以实现示例内核分区器404、示例内核切换器406、示例定时器/时钟408、示例工作负载编排器410、示例策略选择器412、示例子集选择器414、示例CPU使用监控器416、示例数字热传感器418、示例时间序列数据日志器420、示例操作转移编排器422和示例内核相互切换配置器424、和/或更一般地,图4的示例内核控制器402。在一些示例中,软件分发平台805的一个或多个服务器周期性地供给、发送和/或强制对软件(例如,图7的示例计算机可读指令732)的更新,以确保改进、补丁、更新等分发到并且应用于终端用户设备处的软件。
图9是示出用于边缘计算的配置的概览的框图900,其包括许多以下示例中称为“边缘云”的处理层。如所示,边缘云910共同定位于边缘位置(例如,接入点或基站940、本地处理中枢950或中心局920)处,并且因此可以包括多个实体、设备和设备实例。边缘云910定位得比云数据中心930远更靠近端点(消费者和生产者)数据源960(例如,自主车辆961、用户设备962、商业和工业设备963、视频捕获设备964、无人机965、智慧城市和建筑设备966、传感器和IoT设备967等)。在边缘云910中的边缘处提供的计算、存储器和存储资源对于提供端点数据源960所使用的服务和功能的超低时延响应时间以及减少从边缘云910朝向云数据中心930的网络回程业务(由此改进能耗和总体网络使用等益处)是关键的。
计算、存储器和存储是稀缺资源,并且通常取决于边缘位置而降低(例如,消费者端点设备处可用的处理资源比基站处或中心局处更少)。然而,边缘位置离端点(例如,用户设备(UE))越靠近,空间和功率一般受约束就越多。因此,边缘计算尝试通过既在地理上又在网络接入时间方面定位得更靠近的更多资源的分布减少网络服务所需的资源的量。以此方式,边缘计算尝试在适当的情况下将计算资源带到工作负载数据,或者将工作负载数据带到计算资源。
以下描述涵盖多个潜在部署并且解决一些网络运营商或服务提供商可能在其自身基础设施中具有的限制的边缘云架构的方面。它们包括:基于边缘位置的配置的变化(因为基站等级处的边缘例如在多租户场景中可能具有更受约束的性能和能力);基于对边缘位置、位置的层或位置的群组可用的计算、存储器、存储、组构、加速或类似资源的类型的配置;服务、安全性以及管理和编排能力;和针对实现终端服务的可用性和性能的有关目标。取决于时延、距离和时序特性,这些部署可以在可以看作“近边缘”、“靠近边缘”、“本地边缘”、“中间边缘”或“远边缘”层的网络层中完成处理。
边缘计算是一种发展中的范例,其中,典型地通过使用基站、网关、网络路由器或远更靠近生产并且消费数据的端点设备的其他设备处所实现的计算平台(例如,x86或ARM计算硬件架构),在网络的“边缘”处或更靠近网络的“边缘”执行计算。例如,边缘网关服务器可以配备有存储器和存储资源的池,以对于用于已连接的客户端设备的低时延使用情况(例如,自主驾驶或视频监控)实时执行计算。或者作为示例,可以用计算和加速资源增强基站,以直接处理用于已连接的用户设备的服务工作负载,而无需经由回程网络进一步传递数据。或者作为另一示例,可以用执行虚拟化网络功能并供给用于执行用于已连接的设备的服务和消费者功能的计算资源的标准化计算硬件替代中心局网络管理硬件。在边缘计算网络内,服务中可能存在计算资源将“移动”到数据的场景以及数据将“移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以通过激活休眠容量(订购、按需容量)根据需要与工作负载需求成比例,以管理困境情况、紧急情况或在显著更长的所实现的生命周期上提供用于所部署的资源的长寿命。
图10示出端点、边缘云和云计算环境之间的操作层。具体而言,图10描绘在网络计算的多个说明性层之间利用边缘云910的计算使用情况1005的示例。层开始于端点(设备和事物)层1000处,其接入边缘云910以进行数据创建、分析和数据消费活动。边缘云910可以跨度多个网络层,例如:边缘设备层1010,其具有位于实体上接近边缘系统的网关、驻地服务器或网络设备(节点1015);网络接入层1020,其包括基站、无线电处理单元、网络中枢、区域数据中心或本地网络设备(设备1025);和位于其间的任何设备、设备或节点(在层1012中,未详细示出)。边缘云910内的以及各个层之间的网络通信可以经由任何数量的有线或无线介质(包括:经由未描绘的连接性架构和技术)发生。
源自网络通信距离和处理时间约束的时延的示例可以范围从当在端点层1000之间时小于1毫秒(ms)、在边缘设备层1010处小于5ms、到甚至当与网络接入层1020处的节点进行通信时的10至40ms之间。超越边缘云910的是核心网1030和云数据中心1040层,其均具有增加的时延(例如,在核心网络层1030处的50-60ms之间、到云数据中心层处的100或更多ms)。因此,具有至少50至100ms或更多的时延的核心网数据中心1035或云数据中心1045处的操作将不能够完成使用情况1005的许多时间关键功能。为了说明和对比的目的提供这些时延值中的每一个;应理解,使用其他接入网络介质和技术可以进一步减少时延。在一些示例中,相对于网络源和目的地,网络的各个部分可以分类为“靠近边缘”、“本地边缘”、“近边缘”、“中间边缘”或“远边缘”层。例如,从核心网数据中心1035或云数据中心1045的角度来看,中心局或内容数据网络可以看作位于“近边缘”层内(“近”于云,当与使用情况1005的设备和端点进行通信时具有高时延值),而接入点、基站、驻地服务器或网络网关可以看作位于“远边缘”层内(“远”离开云,当与使用情况1005的设备和端点进行通信时具有低时延值)。应理解,构成“靠近”、“本地”、“近”、“中间”或“远”边缘的特定网络层的其他分类可以基于从任何网络层1000-1040中的源测量的时延、距离、网络跳转的数量或其他可测量的特性。
归因于多个服务利用边缘云,各种使用情况1005可以在来自传入流的使用压力下接入资源。为了实现具有低时延的结果,在边缘云910内执行的服务鉴于以下方面平衡变化的要求:(a)优先级(吞吐量或时延)和服务质量(QoS)(例如,用于自动驾驶汽车的业务鉴于响应时间要求可以具有比温度传感器更高的优先级;或者,取决于应用,性能敏感性/瓶颈可以存在于计算/加速器、存储器、存储或网络资源处);(b)可靠性和弹性(例如,取决于应用,需要对一些输入流采取行动,并以任务关键可靠性路由业务,而一些其他输入流可以容忍偶尔故障);和(c)实体约束(例如,电力、冷却和形数)。
用于这些使用情况的端到端服务视图涉及服务流的概念并且与事务关联。事务详述对于消费服务的实体的整体服务要求以及用于资源、工作负载、工作流程以及商业功能和商业等级要求的关联服务。可以在服务的生命周期期间以确保关于事务的实时和运行时合同合规性的方式在每个层处管理用所描述的“条款”执行的服务。当事务中的组件错过其对SLA的协定时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解SLA违反的影响;和(2)增强系统中的其他组件以恢复整体事务SLA;和(3)实现步骤以进行补救。
因此,考虑到这些变化和服务特征,边缘云910内的边缘计算可以提供用于实时或近乎实时服务于并且响应于使用情况1005的多个应用(例如,对象跟踪、视频监控、所连接的汽车等)并满足对于这些多个应用的超低时延要求的能力。这些优势赋能归因于时延或其他限制而无法借助传统云计算的全新类的应用(虚拟网络功能(VNF)、功能即服务(FaaS)、边缘即服务(EaaS)、标准过程等)。
然而,随边缘计算的优势而来的是以下告诫。位于边缘处的设备一般是受资源约束的,并且因此对边缘资源的使用存在压力。典型地,通过存储器和存储资源的池化以用于由多个用户(租户)和设备使用解决该问题。边缘可能是受功率和冷却约束的,并且因此需要由正消耗最多功率的应用考虑功率使用。在这些池化存储器资源中可能存在固有的功率性能权衡,因为它们中的许多很可能使用新兴存储器技术,其中,更多的功率需要更大的存储器带宽。同样,因为边缘位置可能是无人化的,并且甚至可能需要受许可的接入(例如,当容纳于第三方位置中时),所以还需要改进的硬件安全性和信任根可信功能。此类问题在多租户、多拥有方或多接入设置中的边缘云910中被放大,其中,许多用户请求服务和应用,特别是随着网络使用动态地波动并且多个利益相关方的组成、使用情况和服务改变。
在更一般的层次上,边缘计算系统可以描述为涵盖在边缘云910中操作的先前讨论的层(网络层1000-1040)处的任何数量的部署,其提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点以及一个或多个核心数据中心可以分布跨越网络的各个层,以通过或代表电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体提供边缘计算系统的实现方式。例如,当受编排以满足服务目标时,可以动态地提供边缘计算系统的各种实现方式和配置。
与本文提供的示例一致,客户端计算节点可以体现为能够作为数据的生产者或消费者进行通信的任何类型的端点组件、设备、器具或其他事物。此外,边缘计算系统中所使用的标记“节点”或“设备”并不一定意指该节点或设备以客户端或代理/随从/跟随方角色进行操作;相反,边缘计算系统中的任何节点或设备指代包括分立的或连接的硬件或软件配置以促进或使用边缘云910的单独实体、节点或子系统。
故此,边缘云910由受网络层1010-1030之间的边缘网关节点、边缘聚合节点或其他边缘计算节点操作并且处于其内的网络组件和功能特征形成。边缘云910因此可以体现为提供与本文讨论的有无线接入网(RAN)能力的端点设备(例如,移动计算设备、IoT设备、智能设备等)接近地定位的边缘计算和/或存储资源的任何类型的网络。换言之,边缘云910可以设想为连接端点设备和充当进入服务提供商核心网(包括移动运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G/6G网络等))的入口点的传统网络接入点同时还提供存储和/或计算能力的“边缘”。也可以利用其他类型和形式的网络接入(例如,Wi-Fi、长距离无线、包括光网络的有线网络)代替这些3GPP运营商网络或与之组合。
边缘云910的网络组件可以是服务器、多租户服务器、器具计算设备和/或任何其他类型的计算设备。例如,边缘云910可以包括器具计算设备,其为包括外壳、机壳、壳体或壳的自含式电子设备。在一些情况下,外壳可以关于便携性而受尺寸化,以使得其可以由人携带和/或运送。示例外壳可以包括形成部分地或完全地保护器具的内容物的一个或多个外表面的材料,其中,保护可以包括天气保护、危险环境保护(例如,EMI、振动、极端温度)和/或赋能浸水性。示例外壳可以包括用于为固定和/或便携式实现方式提供功率的功率电路(例如,AC功率输入、DC功率输入、AC/DC或DC/AC转换器、功率调节器、变压器、充电电路、电池、有线输入和/或无线功率输入)。示例外壳和/或其表面可以包括或连接到安装硬件,以赋能对结构(例如,建筑物、电信结构(例如,杆、天线结构等)和/或机架(例如,服务器机架、刀片支架等))的附接。示例外壳和/或其表面可以支撑一个或多个传感器(例如,温度传感器、振动传感器、光传感器、声学传感器、电容传感器、接近度传感器等)。一个或多个这样的传感器可以包含于器具的表面中,由其承载,或以其他方式嵌入在器具的表面中和/或安装到器具的表面。示例外壳和/或其表面可以支撑机械连接性(例如,推进硬件(例如,轮、螺旋桨等)和/或铰接硬件(例如,机器人臂、可枢转配件等))。在一些情况下,传感器可以包括任何类型的输入设备(例如,用户接口硬件(例如,按钮、开关、拨盘、滑动件等))。在一些情况下,示例外壳包括包含于其中,由其承载,嵌入其中和/或附接至其的输出设备。输出设备可以包括显示器、触摸屏、灯、LED、扬声器、I/O端口(例如,USB)等。在一些情况下,边缘设备是用于特定目的网络中的设备(例如,交通灯),但是可以具有可以出于其他目的而利用的处理和/或其他能力。这些边缘设备可以独立于其他连网设备,并且可以配备具有对于其主要目的合适的形数的外壳;也对于不干扰其主要任务的其他计算任务是可用的。边缘设备包括物联网设备。器具计算设备可以包括硬件和软件组件,以管理本地问题(例如,设备温度、振动、资源利用、更新、功率问题、实体和网络安全等)。结合图7描述用于实现器具计算设备的示例硬件。边缘云910可以还包括一台或多台服务器和/或一台或多台多租户服务器。该服务器可以包括操作系统并且实现虚拟计算环境。虚拟计算环境可以包括管理(例如,量产、部署、销毁等)一个或多个虚拟机、一个或多个容器等的管理程序。这些虚拟计算环境提供一个或多个应用和/或其他软件、代码或脚本可以在与一个或多个其他应用、软件、代码或脚本隔离的同时执行的执行环境。
在图11中,(呈移动设备、计算机、自主车辆、商业计算设备、工业处理设备的形式的)各种客户端端点1110交换对于端点网络聚合类型特定的请求和响应。例如,客户端端点1110可以凭借通过驻地网络系统1132交换请求和响应1122而经由有线宽带网络获得网络接入。一些客户端端点1110(例如,移动计算设备)可以凭借通过接入点(例如,蜂窝网络塔)1134交换请求和响应1124而经由无线宽带网络获得网络接入。一些客户端端点1110(例如,自主车辆)可以通过位于街道的网络系统1136经由无线车辆网络获得对于请求和响应1126的网络接入。然而,无论网络接入的类型如何,TSP都可以在边缘云910内部署聚合点1142、1144以聚合业务和请求。因此,在边缘云910内,TSP可以(例如,在边缘聚合节点1140处)部署各种计算和存储资源,以提供所请求的内容。边缘云910的边缘聚合节点1140和其他系统连接到云或数据中心1160,其使用回程网络1150以履行来自云/数据中心的对网站、应用、数据库服务器等的更高时延请求。边缘聚合节点1140和聚合点1142、1144的附加或合并实例(包括单个服务器框架上部署的那些)也可以存在于边缘云910或TSP基础设施的其他区域内。
从上文应理解,已经公开通过内核使用的战略性切换延长CPU内核的寿命跨度的示例方法、装置和制造物。所公开的方法、装置和制造物通过延长合并计算设备的产品的寿命跨度改进使用计算设备的效率。此外,所公开的方法、系统、装置和制造物使内核经历更少的来自高温度的退化和繁重工作负载,并且由此准许在工业应用中使用商业级内核。结果,由于使用本文所公开的方法、装置、系统和制造物的产品需要更少的频繁更换,因此存在更少的宕机时间。此外,因为商业级内核比工业级内核关于制造是更不昂贵的,所以方法、装置、系统和制造物还提供成本节约。所公开的方法、装置和制造物因此针对于计算机的功能化方面的一个或多个改进。
本文公开用于延长嵌入式处理器的寿命跨度的示例方法、装置、系统和制造物。进一步的示例及其组合包括以下:
示例1包括:一种装置,其具有策略选择器,其用于基于输入信息选择策略。所述策略延长具有多个内核的微处理器的操作寿命跨度。所述装置还包括内核分区器,其用于基于所选择的策略,将所述微处理器的所述多个内核划分为包括第一子集和第二子集的内核子集。传感器基于所选择的策略监控所述多个内核的至少一个操作参数。内核切换器基于所述至少一个操作参数将所述第一内核子集中的第一内核从有效切换为无效并且将所述第二内核子集中的第二内核从无效切换为有效。在示例1中,所述内核切换减少所述第一内核和所述第二内核所经历的退化量。
示例2包括:如示例1所述的装置。在示例2中,所述策略的选择所基于的所述输入信息包括用户偏好、安装所述微处理器的产品类型、所述产品将要进行操作的应用或所述产品将要进行操作的环境中的至少一个。
示例3包括:如示例1所述的装置。在示例3中,在所述微处理器的操作期间,所述多个内核中的至少一些是无效的,并且所述多个内核中的至少一些是有效的。
示例4包括:如示例1所述的装置。在示例4中,所述多个内核被额定为在第一温度在第一环境中进行操作,在第二温度在第二环境中进行操作,所述第二温度加速所述多个内核的硅的退化,所述第二温度高于所述第一温度,并且所述内核切换器进行操作以限制所述多个内核中的任何一个在所述第二环境中进行操作的时间量。
示例5包括:如示例1所述的装置。如示例5所述的装置还包括:操作转移编排器,其用于编排在所述第一内核处执行的操作将要转移到所述第二内核的操作的转移。所述操作转移编排器响应于来自所述内核切换器的通知编排所述操作的转移,并且所述操作将要在所述第一内核切换为无效之前并且在所述第二内核切换为有效之后转移。
示例6包括:如示例1所述的装置。如示例6所述的装置,还包括:工作负载编排器,其比较所述第一内核的工作负载与所述第二内核的工作负载容量。所述比较由所述内核切换器用以在发放切换命令之前确定所述第二内核是否具有用于所述第一内核的所述工作负载的足够容量。所述内核切换器当所述第二内核受确定为具有用于所述第一内核的所述工作负载的足够容量时发放所述切换命令。
示例7包括:如示例1所述的装置,并且还包括:内核相互切换配置器,其用于将所述第一内核和所述第二内核配置为在无效与有效状态之间进行切换。由所述内核相互切换配置器执行的所述配置包括以下中的至少一个:(i)将所述第一内核和所述第二内核配置为与彼此进行通信,(ii)将所述第一内核和所述第二内核配置为接收并且响应于有效信号和无效信号,或(iii)将与所述第一内核和所述第二内核关联的存储器配置为具有相同地址。
示例8包括:如示例1所述的装置。在示例8中,所述传感器包括多个传感器,并且所述操作参数包括温度、时间或内核使用中的至少一个。
示例9包括:如示例8所述的装置。在示例9中,所述多个传感器包括内核使用传感器、数字热传感器或定时器中的至少一个。在示例9中,所述数字热传感器感测与所述多个内核关联的结温度,所述内核使用传感器测量所述内核中的各个内核的各个工作负载或所述内核中的各个内核的各个操作速度中的至少一个,并且所述定时器测量所述内核的操作时间量。
示例10包括:如示例1所述的装置,并且还包括:子集选择器,其用于选择至少两个内核子集以用于切换。
示例11包括:如示例1所述的装置,并且还包括:时间序列日志器,其生成由一个或多个传感器收集的数据的时间序列日志。在示例11中,所述数据用以比较第一内核的第一操作参数与第二内核的第一操作参数,并且所述第一内核和所述第二内核的所述第一操作参数在相同时间受感测。在示例11中,所述比较由所述内核切换器用以标识用于将所述第一内核从有效切换为无效和用于将所述第二内核从无效切换为有效的时间。
示例12包括:如示例1所述的装置。在示例12中,所述第一内核子集是有效的,并且所述第二内核子集是无效的。此外,所述内核切换器在定时器的超期之后将所述第一内核子集切换为无效并且将所述第二内核子集切换为有效。在示例12中,所述定时器当等于所述多个内核的预期寿命跨度的时间已经达到时超期。
示例13包括:如示例1所述的装置。在示例13中,所述至少一个操作参数反映由内核温度、内核操作电压、内核操作频率和内核工作负载压力中的一个或多个引起的所述多个内核的质量退化量,并且所述质量退化不利地影响所述多个内核的操作寿命跨度。
示例14包括:如示例1所述的装置。在示例14中,所述内核切换器用于通过执行使用第一内核使用值序列和第一内核温度值序列的组合的算法将所述第一内核从有效切换为无效并且将所述第二内核从无效切换为有效。
示例15包括:至少一种非瞬时计算机可读介质,具有指令,所述指令当执行时使至少一个处理器至少:基于输入信息选择策略。所述策略延长具有多个内核的微处理器的操作寿命跨度。此外,所述指令使所述至少一个处理器:基于所选择的策略,将所述微处理器的所述多个内核划分为包括第一子集和第二子集的内核子集。所述指令还使所述至少一个处理器:基于所选择的策略和从一个或多个传感器接收的感测信息,监控所述多个内核的至少一个操作参数。所述指令进一步使所述至少一个处理器:基于所述至少一个操作参数将所述第一内核子集中的第一内核从有效切换为无效,并且将所述第二内核子集中的第二内核从无效切换为有效。所述第一内核和所述第二内核的所述切换减少所述第一内核和所述第二内核所经历的退化量。
示例16包括:如示例15所述的至少一种非瞬时计算机可读介质。在示例16中,所述策略的选择所基于的所述输入信息包括用户偏好、安装所述微处理器的产品类型、所述产品将要进行操作的应用或所述产品将要进行操作的环境中的至少一个。
示例17包括:如示例15所述的至少一种非瞬时计算机可读介质。在示例17中,在所述微处理器的操作期间,所述多个内核中的至少一些是无效的,并且所述多个内核中的至少一些是有效的。
示例18包括:如示例15所述的至少一种非瞬时计算机可读介质。在示例18中,所述多个内核被额定为在第一温度在第一环境中进行操作,并且在第二温度在第二环境中进行操作。在示例18中,所述第二温度加速所述多个内核的硅的退化,并且高于所述第一温度。在示例18中,将所述多个内核中的任何一个的状态从无效切换为有效状态且反之亦然限制所述多个内核中的任何一个在所述第二环境中进行操作的时间量。
示例19包括:如示例15所述的至少一种非瞬时计算机可读介质。在示例19中,所述指令进一步使所述至少一个处理器响应于切换将要发生的通知而编排操作的转移。所述操作在所述第一内核切换为无效之前并且在所述第二内核切换为有效之后转移。
示例20包括:如示例15所述的至少一种非瞬时计算机可读介质,其中,所述指令进一步使所述至少一个处理器:比较所述第一内核的工作负载与所述第二内核的工作负载容量,所述比较用于用以在切换将要发生之前确定所述第二内核是否具有用于所述第一内核的所述工作负载的足够容量。在示例20中,所述切换当所述第二内核受确定为具有用于所述第一内核的所述工作负载的足够容量时发生。
示例21包括:如示例9所述的至少一种非瞬时计算机可读介质,其中,所述指令进一步使所述至少一个处理器:将所述第一内核和所述第二内核配置为在无效与有效状态之间进行切换。在示例21中,配置所述第一内核和所述第二内核包括以下中的至少一个:(i)将所述第一内核和所述第二内核配置为与彼此进行通信,(ii)将所述第一内核和所述第二内核配置为接收并且响应于有效信号和无效信号,或(iii)将与所述第一内核和所述第二内核关联的存储器配置为具有相同地址。
示例22包括:如示例15所述的至少一种非瞬时计算机可读介质。在示例22中,所述传感器包括多个传感器,并且所述操作参数包括温度、时间或内核使用中的至少一个。
示例23包括:如示例21所述的至少一种非瞬时计算机可读介质。在示例23中,所述多个传感器包括内核使用传感器、数字热传感器或定时器中的至少一个。在示例23中,所述数字热传感器感测与所述多个内核关联的结温度,并且所述内核使用传感器测量所述内核中的各个内核的各个工作负载或所述内核中的各个内核的各个操作速度中的至少一个。
示例24包括:如示例15所述的至少一种非瞬时计算机可读介质。在示例24中,所述传感器是多个传感器之一,并且所述指令进一步使所述至少一个处理器:生成由所述多个传感器收集的数据的时间序列日志。所收集数据用以比较所述第一内核的第一操作参数与所述第二内核的第一操作参数。在示例24中,所述第一内核和所述第二内核的所述第一操作参数在相同时间受感测,并且所述比较用以标识用于将所述第一内核从有效切换为无效和用于将所述第二内核从无效切换为有效的时间。
示例25包括:如示例15所述的至少一种非瞬时计算机可读介质。在示例25中,所述第一内核子集是有效的,并且所述第二内核子集是无效的。此外,在等于所述多个内核的预期寿命跨度的时间持续期之后,所述第一内核子集切换为无效并且所述第二内核子集切换为有效。
示例26包括:如示例15所述的至少一种非瞬时计算机可读介质。在示例26中,所述至少一个操作参数反映由内核温度、内核操作电压、内核操作频率和内核工作负载压力中的一个或多个引起的所述多个内核的质量退化量。所述质量退化不利地影响所述多个内核的操作寿命跨度。
示例27包括:如示例15所述的至少一种非瞬时计算机可读介质。在示例27中,所述指令进一步用于使所述至少一个处理器:执行使用第一内核使用值序列和第一内核温度值序列的组合的算法以确定何时所述第一内核将要从有效切换为无效以及所述第二内核将要从无效切换为有效。
示例28包括:一种方法,包括:基于输入信息选择策略。如示例28所述的策略延长具有多个内核的微处理器的操作寿命跨度。如示例28所述的方法,还包括:基于所选择的策略,将所述微处理器的所述多个内核划分为包括第一子集和第二子集的内核子集。基于所选择的策略和从一个或多个传感器接收的感测信息执行监控。监控所述多个内核的至少一个操作参数。如示例28所述的方法,还包括:基于所述至少一个操作参数将所述第一内核子集中的第一内核从有效切换为无效,并且将所述第二内核子集中的第二内核从无效切换为有效。在示例28中,所述第一内核和所述第二内核的所述切换减少所述第一内核和所述第二内核所经历的退化量。
示例29包括:如示例28所述的方法。在示例29中,所述策略的选择所基于的所述输入信息包括用户偏好、安装所述微处理器的产品类型、所述产品将要进行操作的应用或所述产品将要进行操作的环境中的至少一个。
示例30包括:如示例28所述的方法。在示例30中,在所述微处理器的操作期间,所述多个内核中的至少一些是无效的,并且所述多个内核中的至少一些是有效的。
示例31包括:如示例28所述的方法。在示例31中,所述多个内核被额定为在第一温度在第一环境中进行操作,并且在第二温度在第二环境中进行操作。此外,所述第二温度加速所述多个内核的硅的退化,并且所述多个内核从无效切换为有效状态且反之亦然限制所述多个内核中的任何一个在所述第二环境中进行操作的时间量。
示例32包括:如示例28所述的方法,并且还包括:响应于内核切换将要发生的通知编排所述操作的转移。在示例32中,所述操作将要在所述第一内核切换为无效之前并且在所述第二内核切换为有效之后转移。
示例33包括:如示例28所述的方法,并且还包括:比较所述第一内核的工作负载与所述第二内核的工作负载容量。所述比较用以在切换将要发生之前确定所述第二内核是否具有用于所述第一内核的所述工作负载的足够容量。所述切换当所述第二内核受确定为具有用于所述第一内核的所述工作负载的足够容量时发生。
示例34包括:如示例28所述的方法,并且还包括:将所述第一内核和所述第二内核配置为在无效与有效状态之间进行切换。配置所述第一内核和所述第二内核包括:(i)将所述第一内核和所述第二内核配置为与彼此进行通信,(ii)将所述第一内核和所述第二内核配置为接收并且响应于有效信号和无效信号,或(iii)将与所述第一内核和所述第二内核关联的存储器配置为具有相同地址。
示例35包括:如示例28所述的方法。在示例35中,所述传感器包括多个传感器,并且所述操作参数包括温度、时间或内核使用中的至少一个。
示例36包括:如示例35所述的方法。在示例36中,所述多个传感器包括内核使用传感器、数字热传感器或定时器中的至少一个。此外,所述数字热传感器感测与所述多个内核关联的结温度,并且所述内核使用传感器测量所述内核中的各个内核的各个工作负载或所述内核中的各个内核的各个操作速度中的至少一个。
示例37包括:如示例28所述的方法。在示例37中,所述传感器是多个传感器之一,并且所述方法还包括:生成由所述多个传感器收集的数据的时间序列日志。在示例37中,所述数据用以比较第一内核的第一操作参数与第二内核的第一操作参数,所述第一内核和所述第二内核的所述第一操作参数在相同时间受感测,并且所述比较用以标识用于将所述第一内核从有效切换为无效和用于将所述第二内核从无效切换为有效的时间。
示例38包括:如示例28所述的方法。在示例38中,所述第一内核子集是有效的,并且所述第二内核子集是无效的,并且所述第一内核子集为无效的第一切换和所述第二内核子集为有效的第二切换发生在等于所述多个内核的预期寿命跨度的时间持续期之后。
示例39包括:如示例28所述的方法。在示例39中,所述至少一个操作参数反映由内核温度、内核操作电压、内核操作频率和内核工作负载压力中的一个或多个引起的所述多个内核的质量退化量。在示例39中,所述质量退化不利地影响所述多个内核的操作寿命跨度。
示例40包括:如示例28所述的方法,并且还包括:执行使用第一内核使用值序列和第一内核温度值序列的组合的算法,以确定何时所述第一内核将要从有效切换为无效以及所述第二内核将要从无效切换为有效。
示例41包括:一种装置,其具有用于基于输入信息选择策略的部件。所述策略延长具有多个内核的微处理器的操作寿命跨度。所述装置还包括用于基于所选择的策略将所述微处理器的所述多个内核划分为包括第一子集和第二子集的内核子集的部件。在示例41中,用于感测的部件基于所选择的策略监控所述多个内核的至少一个操作参数。此外,用于切换内核的部件基于所述至少一个操作参数将所述第一内核子集中的第一内核从有效切换为无效并且将所述第二内核子集中的第二内核从无效切换为有效。在示例41中,所述内核切换减少所述第一内核和所述第二内核所经历的退化量。
示例42包括:如示例41所述的装置。在如示例42所述的装置中,用于编排操作的转移的部件编排在所述第一内核处执行的操作将要转移到所述第二内核的操作的转移。响应于来自所述内核切换器的通知执行所述操作的转移,并且在所述第一内核切换为无效之前而且在所述第二内核切换为有效之后转移所述操作。
示例43包括:如示例41所述的装置。如示例43所述的装置,还包括:用于编排工作负载的部件,其比较所述第一内核的工作负载与所述第二内核的工作负载容量。所述比较由所述用于切换内核的部件用以在发放切换命令之前确定所述第二内核是否具有用于所述第一内核的所述工作负载的足够容量。所述用于切换内核的部件当所述第二内核受确定为具有用于所述第一内核的所述工作负载的足够容量时发放所述切换命令。
示例44包括:如示例41所述的装置,并且还包括:用于配置内核相互切换的部件,其将所述第一内核和所述第二内核配置为在无效与有效状态之间进行切换。由所述内核相互切换配置器执行的所述配置包括以下中的至少一个:(i)将所述第一内核和所述第二内核配置为与彼此进行通信,(ii)将所述第一内核和所述第二内核配置为接收并且响应于有效信号和无效信号,或(iii)将与所述第一内核和所述第二内核关联的存储器配置为具有相同地址。
示例45包括:如示例41所述的装置。在示例45中,所述用于监控的部件由传感器执行,并且所述传感器包括多个传感器。在示例45中,所述多个传感器包括内核使用传感器、数字热传感器或定时器中的至少一个。在示例45中,所述数字热传感器感测与所述多个内核关联的结温度,所述内核使用传感器测量所述内核中的各个内核的各个工作负载或所述内核中的各个内核的各个操作速度中的至少一个,并且所述定时器测量所述内核的操作时间量。
示例46包括:如示例41所述的装置,并且还包括:用于日志记录时间序列数据的部件,其生成由一个或多个传感器收集的数据的时间序列日志。在示例46中,所述数据的时间序列日志用以比较第一内核的第一操作参数与第二内核的第一操作参数,并且所述第一内核和所述第二内核的所述第一操作参数在相同时间受感测。在示例46中,所述比较用以标识用于将所述第一内核从有效切换为无效和用于将所述第二内核从无效切换为有效的时间。
示例47包括:如示例41所述的装置。在示例41中,所述第一内核子集是有效的,并且所述第二内核子集是无效的。此外,所述用于内核切换的部件在定时器的超期之后将所述第一内核子集切换为无效并且将所述第二内核子集切换为有效。在示例47中,所述定时器当等于所述多个内核的预期寿命跨度的时间已经达到时超期。
示例48包括:如示例41所述的装置。在示例48中,所述至少一个操作参数反映由内核温度、内核操作电压、内核操作频率和内核工作负载压力中的一个或多个引起的所述多个内核的质量退化量,并且所述质量退化不利地影响所述多个内核的操作寿命跨度。
示例49包括:如示例1所述的装置,并且还包括如示例2-8和10-14中任一项所述的装置。
示例50包括:如示例15所述的至少一种非瞬时计算机可读介质,并且还包括如示例16-22和24-27中任一项所述的至少一种非瞬时计算机可读介质。
示例51包括:如权利要求28所述的方法,并且还包括如示例29-35和37-40中任一项所述的方法。
示例52包括:如示例41的装置,并且还包括如示例42-48中任一项所述的装置。
示例53是一种计算机可读介质,其具有计算机可读指令,所述计算机可读指令当执行时使至少一个处理器执行如示例28-40中任一项所述的方法。
示例54是至少一种机器可读介质,其包括指令,所述指令当由处理电路执行时使所述处理电路执行操作以实现示例1-52中任一项。
示例55是一种装置,其包括用于实现如示例1-81中任一项所述的部件。
示例56是一种用于实现示例1-81中任一项的系统。
实施例57是一种用于实现示例1-81中任一项的方法。
示例58是一种多层边缘计算系统,包括:多个边缘计算节点,其提供于驻地边缘、网络接入边缘或近边缘计算设置当中,所述多个边缘计算节点被配置为执行如示例1-52所述的方法中任一项。
示例59是一种边缘计算系统,其包括:多个边缘计算节点,所述多个边缘计算节点中的每一个被配置为执行如示例1-52所述的方法中任一项。
示例60是一种边缘计算节点,其可操作为在边缘计算系统中托管服务和多个附加服务的服务器,被配置为执行如示例1-52所述的方法中任一项。
示例61是一种边缘计算节点,其可在边缘计算网络的层中操作为聚合节点、网络中枢节点、网关节点或核心数据处理节点,被配置为执行如示例1-52所述的方法中任一项。
示例62是一种边缘供应、编排或管理节点,其可在边缘计算系统中操作,被配置为实现如示例1-52所述的方法中任一项。
示例63一种是边缘计算网络,其包括被配置为提供或操作通信网络的连网和处理组件,以赋能边缘计算系统以实现如示例1-52所述的方法中任一项。
示例64是一种接入点,其包括被配置为提供或操作通信网络的连网和处理组件,以赋能边缘计算系统以实现如示例1-52所述的方法中任一项。
示例65是一种基站,其包括被配置为提供或操作通信网络的连网和处理组件,被配置作为边缘计算系统以实现如示例1-52所述的方法中任一项。
示例66是一种路边单元,其包括被配置为提供或操作通信网络的连网组件,被配置作为边缘计算系统以实现如示例1-52所述的方法中任一项。
示例67是一种驻地服务器,其可在不同于公共边缘计算网络的私有通信网络中操作,被配置作为边缘计算系统以实现如示例1-52所述的方法中任一项。
示例68是一种3GPP 4G/LTE移动无线通信系统,其包括被配置作为边缘计算系统以实现如示例1-52所述的方法中任一项的连网和处理组件。
示例69是一种5G网络移动无线通信系统,其包括被配置作为边缘计算系统以实现如示例1-52所述的方法中任一项的连网和处理组件。
示例70是一种边缘计算系统,其被配置作为边缘网格,具备微服务集群、具有边车的微服务集群或具有边车的链接微服务集群,被配置为实现如示例1-52所述的方法中任一项。
示例71是一种边缘计算系统,其包括被配置为用专用硬件、虚拟机、容器或容器上的虚拟机之间提供的一个或多个隔离环境实现服务的电路,所述边缘计算系统被配置为实现如示例1-52所述的方法中任一项。
示例72是一种边缘计算系统,其包括连网和处理组件,以与用户设备设备、客户端计算设备、供应设备或管理设备进行通信,以实现如示例1-52所述的方法中任一项。
示例73是一种连网硬件,具有其上实现的网络功能,可在边缘计算系统内操作,所述网络功能被配置为实现如示例1-52所述的方法中任一项。
示例74是一种加速硬件,具有其上实现加速功能,可在边缘计算系统中进行操作,所述加速功能被配置为实现如示例1-52所述的方法中任一项。
示例75是一种存储硬件,具有在其上实现的存储能力,可在边缘计算系统中操作,所述存储硬件被配置为实现如示例1-52所述的方法中任一项。
示例76是一种计算硬件,具有在其上实现的计算能力,可在边缘计算系统中操作,所述计算硬件被配置为实现如示例1-52所述的方法中任一项。
示例77是一种边缘计算系统,其被配置为用如示例1-52所述的方法中任一项实现服务,所述服务涉及以下一项或多项:计算卸载、数据缓存、视频处理、网络功能虚拟化、无线接入网管理、增强现实、虚拟现实、自动驾驶、车辆辅助、车辆通信、工业自动化、零售服务、制造运营、智能建筑、能源管理、物联网运营、对象检测、语音识别、医疗保健应用、游戏应用、或加速内容处理。
示例78是一种边缘计算系统的装置,包括:一个或多个处理器和一个或多个计算机可读介质,其包括指令,所述指令当由所述一个或多个处理器执行时使所述一个或多个处理器执行如示例1-52所述的方法中任一项。
示例79是一种或多种计算机可读存储介质,其包括指令,所述指令用于使边缘计算系统的电子设备在由所述电子设备的一个或多个处理器执行指令时执行如示例1-52所述的方法中任一项。
示例80是一种计算机程序,其用在边缘计算系统中,所述计算机程序包括指令,其中,由所述边缘计算系统中的处理元件执行所述程序用于使所述处理元件执行如示例1-52所述的方法中任一项。
示例81是用于边缘计算器具设备,其操作为自含式处理系统,包括外壳、壳体或壳、网络通信电路、存储存储器电路和适用于执行如示例1-52所述的方法中任一项的处理器电路。
示例82是一种边缘计算系统的装置,其包括用于执行如示例1-52所述的方法中任一项的部件。
示例83是一种边缘计算系统的装置,其包括逻辑、模块或电路以执行如示例1-52所述的方法中任一项。
示例84实现方式是一种边缘计算系统,其包括各个边缘处理设备和节点,以调用或执行如示例1-52所述的操作中任一项或本文描述的其他主题。
示例85是一种客户端端点节点,其可操作为调用或执行如示例1-52中任一项所述的操作或本文描述的其他主题。
示例86是一种聚合节点、网络中枢节点、网关节点或核心数据处理节点,其处于边缘计算系统内或耦合到边缘计算系统,可操作为调用或执行如示例1-52中任一项所述的操作或本文描述其他主题。
示例87是一种接入点、基站、路边单元、街边单元或驻地单元,其位于边缘计算系统内或耦合到边缘计算系统,可操作为调用或执行如示例1-52中任一项所述的操作或本文描述的其他主题。
示例88是一种边缘供应节点、服务编排节点、应用编排节点或多租户管理节点,其处于边缘计算系统内或耦合到边缘计算系统,可操作为调用或执行如示例1-52中任一项所述的操作或本文描述的其他主题。
示例89是一种操作边缘供应服务、应用或服务编排服务、虚拟机部署、容器部署、功能部署和计算管理的边缘节点,其处于边缘计算系统内或耦合到边缘计算系统,可操作为调用或执行如示例1-52中任一项所述的操作或本文描述的其他主题。
示例90是一种包括网络功能、加速功能、加速硬件、存储硬件或计算硬件资源的方面的边缘计算系统,其可操作为通过使用示例1-52中任一项或本文描述其他主题调用或执行本文讨论的使用情况。
示例91是一种适用于支持客户端移动性、车辆到车辆(V2V)、车辆到万物(V2X)或车辆到基础设施(V2I)场景并且可选地根据欧洲电信标准机构(ETSI)多接入边缘计算(MEC)规范进行操作的边缘计算系统,其可操作为通过使用示例1-52中任一项或本文描述其他主题调用或执行本文讨论的使用情况。
示例92是一种适用于移动无线通信的边缘计算系统,包括根据3GPP 4G/LTE或5G网络能力的配置,其可操作为通过使用示例1-52中任一项或本文描述其他主题调用或执行本文讨论的使用情况。
示例93是一种边缘计算节点,可在边缘计算网络或边缘计算系统的层中操作为聚合节点、网络中枢节点、网关节点或核心数据处理节点,可在靠近边缘、本地边缘、企业边缘、驻地边缘、近边缘、中间边缘或远边缘网络层中操作,或可在具有共同时延、定时或距离特性的节点集合中操作,可操作为通过使用示例1-52中任一项或本文描述的其他主题调用或执行本文讨论的使用情况。
示例94是连网硬件、加速硬件、存储硬件或计算硬件,具有在其上实现的能力,可在边缘计算系统中操作,以通过使用示例1-52中任一项或本文描述的其他主题调用或执行本文讨论的使用情况。
示例95是一种边缘计算系统的装置,包括:一个或多个处理器和一个或多个计算机可读介质,其包括指令,所述指令当由所述一个或多个处理器部署和执行时使所述一个或多个处理器通过使用示例1-52中任一项或本文描述的其他主题调用或执行本文讨论的使用情况。
示例96是一种或多种计算机可读存储介质,其包括指令,以使边缘计算系统的电子设备在所述电子设备的一个或多个处理器执行时通过使用实施例1-52中任一项或本文描述的其他主题调用或执行本文讨论的使用情况。
示例97是一种边缘计算系统的装置,其包括部件、逻辑、模块或电路以通过使用示例1-52中任一项或本文描述的其他主题调用或执行本文讨论的使用情况。
虽然本文已经公开特定示例方法、装置和制造物,但是本专利的覆盖范围不限于此。相反,本专利覆盖完全落入本专利的权利要求范围内的所有方法、装置和制造物。
所附权利要求由此通过该引用合并到该具体实施方式中,其中,每项权利要求自身代表本公开的单独实施例。

Claims (25)

1.一种装置,包括:
策略选择器,其用于基于输入信息选择策略以延长具有多个内核的微处理器的操作寿命跨度;
内核分区器,其用于基于所选择的策略将所述微处理器的所述多个内核划分为包括第一子集和第二子集的内核子集;
传感器,其用于基于所选择的策略监控所述多个内核的至少一个操作参数;和
内核切换器,其用于基于所述至少一个操作参数将所述第一内核子集中的第一内核从有效切换为无效并且将所述第二内核子集中的第二内核从无效切换为有效,所述内核切换器进行的切换用于减少所述第一内核和所述第二内核所经历的退化量。
2.如权利要求1所述的装置,其中,所述策略的选择所基于的所述输入信息包括用户偏好、安装所述微处理器的产品类型、所述产品将要进行操作的应用或所述产品将要进行操作的环境中的至少一个。
3.如权利要求1所述的装置,其中,在所述微处理器的操作期间,所述多个内核中的至少一些是无效的,并且所述多个内核中的至少一些是有效的。
4.如权利要求1所述的装置,其中,所述多个内核被额定为在第一温度在第一环境中进行操作,在第二温度在第二环境中进行操作,所述第二温度加速所述多个内核的硅的退化,所述第二温度高于所述第一温度,并且所述内核切换器进行操作以限制所述多个内核中的任何一个在所述第二环境中进行操作的时间量。
5.如权利要求1-4中任一项所述的装置,还包括:操作转移编排器,其用于编排在所述第一内核处执行的操作将要转移到所述第二内核的操作的转移,所述操作转移编排器响应于来自所述内核切换器的通知编排所述操作的转移,并且所述操作将要在所述第一内核切换为无效之前并且在所述第二内核切换为有效之后转移。
6.如权利要求1-4中任一项所述的装置,还包括:工作负载编排器,其用于比较所述第一内核的工作负载与所述第二内核的工作负载容量,所述比较用于由所述内核切换器用以在发放切换命令之前确定所述第二内核是否具有用于所述第一内核的所述工作负载的足够容量,所述内核切换器用于当所述第二内核受确定为具有用于所述第一内核的所述工作负载的足够容量时发放所述切换命令。
7.如权利要求1-4中任一项所述的装置,还包括:内核相互切换配置器,其用于将所述第一内核和所述第二内核配置为在无效与有效状态之间进行切换,配置所述第一内核和所述第二内核包括以下中的至少一个:(i)将所述第一内核和所述第二内核配置为与彼此进行通信,(ii)将所述第一内核和所述第二内核配置为接收并且响应于有效信号和无效信号,或(iii)将与所述第一内核和所述第二内核关联的存储器配置为具有相同地址。
8.如权利要求1-4中任一项所述的装置,其中,所述传感器包括多个传感器,并且所述操作参数包括温度、时间或内核使用中的至少一个。
9.如权利要求8所述的装置,其中,所述多个传感器包括内核使用传感器、数字热传感器或定时器中的至少一个,所述数字热传感器感测与所述多个内核关联的结温度,所述内核使用传感器测量所述内核中的各个内核的各个工作负载或所述内核中的各个内核的各个操作速度中的至少一个,并且所述定时器测量所述内核的操作时间量。
10.如权利要求1-4中任一项所述的装置,还包括:时间序列日志器,其用于生成由一个或多个传感器收集的数据的时间序列日志,所述数据用以比较第一内核的第一操作参数与第二内核的第一操作参数,所述第一内核和所述第二内核的所述第一操作参数在相同时间受感测,并且所述比较由所述内核切换器用以标识用于将所述第一内核从有效切换为无效和用于将所述第二内核从无效切换为有效的时间。
11.如权利要求1-4中任一项所述的装置,其中,所述第一内核子集是有效的,并且所述第二内核子集是无效的,并且所述内核切换器在定时器的超期之后将所述第一内核子集切换为无效并且将所述第二内核子集切换为有效,所述定时器当等于所述多个内核的预期寿命跨度的时间已经达到时超期。
12.如权利要求1-4中任一项所述的装置,其中,所述内核切换器用于通过执行使用第一内核使用值序列和第一内核温度值序列的组合的算法将所述第一内核从有效切换为无效并且将所述第二内核从无效切换为有效。
13.一种方法,包括:
基于输入信息选择策略以延长具有多个内核的微处理器的操作寿命跨度;
基于所选择的策略,将所述微处理器的所述多个内核划分为包括第一子集和第二子集的内核子集;
基于所选择的策略和从一个或多个传感器接收的感测信息,监控所述多个内核的至少一个操作参数;
将第一内核子集中的第一内核从有效切换为无效;以及
基于所述至少一个操作参数将所述第二内核子集中的第二内核从无效切换为有效,所述第一内核和所述第二内核的所述切换用于减少所述第一内核和所述第二内核所经历的退化量。
14.如权利要求13所述的方法,其中,所述策略的选择所基于的所述输入信息包括用户偏好、安装所述微处理器的产品类型、所述产品将要进行操作的应用或所述产品将要进行操作的环境中的至少一个。
15.如权利要求13所述的方法,其中,在所述微处理器的操作期间,所述多个内核中的至少一些是无效的,并且所述多个内核中的至少一些是有效的。
16.如权利要求13所述的方法,其中,所述多个内核被额定为在第一温度在第一环境中进行操作,在第二温度在第二环境中进行操作,所述第二温度加速所述多个内核的硅的退化,并且所述多个内核从无效切换为有效状态且反之亦然用于限制所述多个内核中的任何一个在所述第二环境中进行操作的时间量。
17.如权利要求13-16中任一项所述的方法,还包括:响应于内核切换将要发生的通知编排所述操作的转移,所述操作将要在所述第一内核切换为无效之前并且在所述第二内核切换为有效之后转移。
18.如权利要求13-16中任一项所述的方法,还包括:比较所述第一内核的工作负载与所述第二内核的工作负载容量,所述比较用于用以在切换将要发生之前确定所述第二内核是否具有用于所述第一内核的所述工作负载的足够容量,所述切换当所述第二内核受确定为具有用于所述第一内核的所述工作负载的足够容量时发生。
19.如权利要求13-16中任一项所述的方法,还包括:将所述第一内核和所述第二内核配置为在无效与有效状态之间进行切换,配置所述第一内核和所述第二内核包括:(i)将所述第一内核和所述第二内核配置为与彼此进行通信,(ii)将所述第一内核和所述第二内核配置为接收并且响应于有效信号和无效信号,或(iii)将与所述第一内核和所述第二内核关联的存储器配置为具有相同地址。
20.如权利要求13-16中任一项所述的方法,其中,所述传感器包括多个传感器,并且所述操作参数包括温度、时间或内核使用中的至少一个。
21.如权利要求20所述的方法,其中,所述多个传感器包括内核使用传感器、数字热传感器或定时器中的至少一个,所述数字热传感器感测与所述多个内核关联的结温度,并且所述内核使用传感器测量所述内核中的各个内核的各个工作负载或所述内核中的各个内核的各个操作速度中的至少一个。
22.如权利要求13-16中任一项所述的方法,其中,所述传感器是多个传感器之一,所述方法进一步生成由所述多个传感器收集的数据的时间序列日志,所述数据用以比较第一内核的第一操作参数与第二内核的第一操作参数,所述第一内核和所述第二内核的所述第一操作参数在相同时间受感测,并且所述比较用以标识用于将所述第一内核从有效切换为无效和用于将所述第二内核从无效切换为有效的时间。
23.如权利要求13-16中任一项所述的方法,其中,所述第一内核子集是有效的,并且所述第二内核子集是无效的,并且所述第一内核子集为无效的第一切换和所述第二内核子集为有效的第二切换发生在等于所述多个内核的预期寿命跨度的时间持续期之后。
24.如权利要求13-16中任一项所述的方法,还包括:执行使用第一内核使用值序列和第一内核温度值序列的组合的算法,以确定何时所述第一内核将要从有效切换为无效以及所述第二内核将要从无效切换为有效。
25.至少一种计算机可读介质,包括计算机可读指令,所述指令当被执行时,使至少一个处理器实现如权利要求13-24中任一项所述的方法。
CN202111319276.2A 2020-12-23 2021-11-09 用于延长嵌入式处理器的寿命的方法、系统、装置和制造物 Pending CN114661451A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/132,508 2020-12-23
US17/132,508 US20210149736A1 (en) 2020-12-23 2020-12-23 Methods, systems, apparatus, and articles of manufacture to extend the life of embedded processors

Publications (1)

Publication Number Publication Date
CN114661451A true CN114661451A (zh) 2022-06-24

Family

ID=75909994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111319276.2A Pending CN114661451A (zh) 2020-12-23 2021-11-09 用于延长嵌入式处理器的寿命的方法、系统、装置和制造物

Country Status (3)

Country Link
US (1) US20210149736A1 (zh)
EP (1) EP4020201A1 (zh)
CN (1) CN114661451A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services
US11982563B1 (en) * 2020-09-28 2024-05-14 Amazon Technologies, Inc. Low power network connected apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584369B2 (en) * 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
US20140359350A1 (en) * 2012-02-24 2014-12-04 Jeffrey A PLANK Wear-leveling cores of a multi-core processor
US20150169363A1 (en) * 2013-12-18 2015-06-18 Qualcomm Incorporated Runtime Optimization of Multi-core System Designs for Increased Operating Life and Maximized Performance
US9424092B2 (en) * 2014-09-26 2016-08-23 Microsoft Technology Licensing, Llc Heterogeneous thread scheduling
US11048540B2 (en) * 2018-06-29 2021-06-29 Intel Corporation Methods and apparatus to manage heat in a central processing unit

Also Published As

Publication number Publication date
US20210149736A1 (en) 2021-05-20
EP4020201A1 (en) 2022-06-29

Similar Documents

Publication Publication Date Title
EP3974980A1 (en) Methods, apparatus, and articles of manufacture for workload placement in an edge environment
US20210014133A1 (en) Methods and apparatus to coordinate edge platforms
US20230217253A1 (en) Systems, methods, and apparatus for workload optimized central processing units (cpus)
CN114365452A (zh) 用于在边缘计算环境中证明对象的方法和装置
US20210021484A1 (en) Methods and apparatus to schedule workloads based on secure edge to device telemetry
CN114679449A (zh) 中立主机边缘服务
US20210149803A1 (en) Methods and apparatus to enable secure multi-coherent and pooled memory in an edge network
US20220014946A1 (en) Methods and apparatus for digital twin aided resiliency
US20210328944A1 (en) Methods, apparatus, and articles of manufacture to dynamically allocate cache
US20230169397A1 (en) Methods and apparatus for attestation of an artificial intelligence model
CN114661451A (zh) 用于延长嵌入式处理器的寿命的方法、系统、装置和制造物
US20220109742A1 (en) Apparatus, articles of manufacture, and methods to partition neural networks for execution at distributed edge nodes
US20220114032A1 (en) Infrastructure managed workload distribution
US20210328934A1 (en) Systems, apparatus, and methods for edge data prioritization
US20210014301A1 (en) Methods and apparatus to select a location of execution of a computation
EP4020876B1 (en) Methods, systems, articles of manufacture and apparatus to certify multi-tenant storage blocks or groups of blocks
US20220121566A1 (en) Methods, systems, articles of manufacture and apparatus for network service management
US20230119552A1 (en) Resource management mechanisms for stateful serverless clusters in edge computing
CN115865911A (zh) 用于跨分布式一致边缘计算系统共享存储器的方法和装置
JP2023004860A (ja) 機械学習モデルの一部の実行をオフロードする方法及び機器
US20240039860A1 (en) Methods, systems, apparatus, and articles of manufacture to manage network communications in time sensitive networks
EP4203431A1 (en) Methods and apparatus for network interface device-based edge computing
EP4203381A1 (en) Methods and apparatus for attestation for a constellation of edge devices
US20220116669A1 (en) Methods, systems, apparatus, and articles of manufacture to cache media based on service level agreement type
US20220327005A1 (en) Methods and apparatus to load balance edge device workloads

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