CN105408862B - 用于微型服务器和群集化片上***部署的可管理性冗余 - Google Patents
用于微型服务器和群集化片上***部署的可管理性冗余 Download PDFInfo
- Publication number
- CN105408862B CN105408862B CN201380078235.6A CN201380078235A CN105408862B CN 105408862 B CN105408862 B CN 105408862B CN 201380078235 A CN201380078235 A CN 201380078235A CN 105408862 B CN105408862 B CN 105408862B
- Authority
- CN
- China
- Prior art keywords
- block
- management
- function
- dynamically
- task
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2035—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2043—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/85—Active fault masking without idle spares
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
- Power Sources (AREA)
Abstract
呈现了用于为微型服务器和群集化片上***(SoC)部署提供可管理性冗余的技术。可配置的多处理器装置可包括多个集成电路(IC)块,其中,每一个IC块包括用于执行一个或多个可分配任务功能的任务块以及用于针对对应的IC块执行管理功能的管理块。每一个任务块和每一个管理块可包括一个或多个指令处理器和对应的存储器。每一个IC块可以是可控制的以执行一个或多个其他IC块的功能。IC块可经由管理通信基础设施来彼此通信,所述管理通信基础设施可包括从管理块中的每一个到其他管理块中的每一个的通信路径。经由所述管理通信基础设施,管理块可桥接多对管理块之间的通信路径。
Description
背景技术
在计算机生态***中,片上***(SoC)正变得愈加流行。正在数据中心中部署SoC***的群集,示例来自各种处理器设计者和制造商。与所有的服务器(包括SoC微型服务器)一样,可管理性(manageablity)是要求。目前,高级RISC机器(ARM)解决方案和各种其他解决方案包括集成式可管理性,并且这对于目前可用的单节点SoC部署是足够的。随着处理***制造商在FRU(现场替换单元)板上集成许多节点或者甚至在给定的硅封装内实现许多SoC***,目前的可管理性能力可能不再是足够的。每一个以及每个SoC具有其自身的可管理性接入点(MAP),并且这可能导致可靠性、可用性和可服务性(RAS)问题。例如,当确定了MAP已经要求执行功能时,MAP的失效可能是中央处理单元(CPU)SoC插槽或整个FRU板的失效。单个MAP的失效可导致整个部件的失效。
附图说明
图1是根据实施例的、本文中描述的***的框图。
图2是根据实施例的、本文中描述的集成电路(IC)块的框图。
图3是根据实施例的IC封装的框图。
图4是根据实施例的服务器***的框图。
图5是示出根据实施例的服务器***的IC块的报告和控制能力的的框图。
图6是根据实施例的、可由本文中描述的***执行的方法的流程图。
图7是根据实施例的、可由本文中描述的***执行的方法的流程图。
图8是根据实施例的计算***的框图。
图9是根据实施例的处理器和计算机可读介质的框图。
图10是根据实施例的计算***的框图。
在附图中,参考标号的最左侧数位可标识参考标号在其中首次出现的图。
具体实施方式
本文中公开了用于为微型服务器和群集化SoC部署提供可管理性冗余的技术。所讨论的实施例利用跨所有的区段都起作用的但仍然提供所需的强健的***可管理性、良率(yield)恢复和RAS的解决方案来解决与这些基于SoC的***相关联的各种障碍,诸如,对一个或多个IC块的功能失效的报告。
图1是包括多个集成电路(IC)块102-1至102-n(统称为或总称为102)的***的框图,每一个IC块分别包括用于执行一个或多个功能的任务块104-1至104-n(统称为或总称为104)以及用于执行管理功能的管理块106-1-106-n(统称为或总称为106)。任务块104和/或管理块106可各自包括一个或多个指令处理器。
IC块102或其子集可被设计和/或制造为彼此完全相同,并且每一个都是可配置的以执行一个或多个可分配的功能。可分配的功能可包括但不限于与例如温度控制、功率管理等有关的功能。
管理块106或其子集可配置成用于访问和/或确定对应的IC块106的状态,并且通过管理接入点(MAP)108处的通信基础设施报告该状态。管理块106或其子集可配置成用于访问对应的IC块内的感测到的参数值,并且通过MAP 108处的通信基础设施来报告感测到的参数值。感测到的参数可包括但不限于例如,温度相关的参数(例如,温度)、功率相关的参数(例如,功耗),等等。
管理块106或其子集可以是可动态地重新配置的以执行一个或多个其他管理块106的功能。作为示例,MGB 106-1可以是可动态地重新配置的以访问和/或确定IC块102-2的状态,并且当MGB 106-2不能报告IC块102-2的状态时,通过MAP 108-1处的通信基础设施来报告该状态。MGB106-1可以是可动态地重新配置以便在如果IC块102-2的状态指示了任务块104-2实质上是可操作的而MGB 106-2是有故障的时执行MGB 106-2的附加功能,以便诸如准许任务块104-2保持是可操作的。作为另一个示例,MGB 106-1可以是可动态地重新配置的以便当MGB 106-2不能访问IC块102-2内的感测到的参数值时来这样做。作为进一步的示例,MGB 106-1可以是可动态地重新配置的以访问其他IC块(例如,与IC块102-2相邻的其他IC块)内的感测到的参数值,并且当来自IC块102-2的感测到的参数值是不可访问的或不可用的时,使用那些访问到参数值来估计IC块102-2的参数值。
管理块106或其子集可以是可动态地重新配置为基板管理控制器(BMC)101以执行管理功能,所述管理功能诸如但不限于,监测IC块102中的其他IC块的处理、协调IC块102之间的共享资源的仲裁和分配、记录***错误、协调IC块102的故障恢复引导(“FRB”)、IC块102之间的负载平衡、控制对通信基础设施内的各个部件的访问、风扇控制、电源监测和调节以及温度监测。基于例如具有最低或最高的标识号,管理块106可被指定为作为将报到(check in)的第一个管理块的BMC。
IC块102或其子集可以是可动态地重新配置的以执行IC块102中的一个或多个其他IC块的一个或多个所分配的任务。作为示例,IC块102-1可以是可动态地重新配置的以降低一个或多个其他IC块102的温度。IC块102-1可以是可动态地重新配置的以便在以下情况下执行IC块102的一个或多个其他IC块的一个或多个所分配的任务:如果例如一个或多个其他IC块102不能执行一个或多个所分配的任务,或者不能降低这一个或多个其他IC块的任务负荷;或者当这一个或多个其他IC块被置于降低的功耗状态下时,等等。可以构想在其中IC块102执行一个或多个其他IC块102的一个或多个所分配的任务的其他场景。
每一个IC块102或其子集可被配置为如下参照图2所描述的那样。然而,IC块102不限于图2的示例。
***100可包括用于在IC块102之间进行通信的通信基础设施。该通信基础设施可配置成用于在MAP之间提供全部到全部连接性(all-to-all connectivity)。***100可表示IC封装,并且每一个IC块102可表示IC封装的对应的SoC,诸如以下参照图3所描述的,图3还示出根据实施例的、具有全部到全部连接性的通信基础设施303。然而,***100不限于图3的示例。
***100可表示服务器***,并且每一个IC块102可表示服务器***的对应的刀片(blade),诸如以下参照图4所描述的。然而,***100不限于图4的示例。
图2是可包括任务块204和管理块206的IC块202的框图。任务块204可包括一个或多个处理器220,这一个或多个处理器220中的每一个可包括用于执行计算机程序指令的一个或多个处理核222。处理器220可包括但不限于,微处理器、图形处理器、物理处理器、数字信号处理器、网络处理器、前端通信处理器、协处理器、管理引擎(ME)、控制器或微控制器、中央处理单元(CPU)、通用指令处理器和/或专用处理器。
任务块204可进一步包括用于存储计算机程序指令和数据的计算机可读介质224,所述数据在处理器220执行计算机程序指令时由处理器220使用和/或生成。介质224可包括暂态和/或非暂态介质。在图2的示例中,介质224可包括主存储设备226和副存储设备228。
主存储设备226可包括寄存器230、处理器高速缓存232和主存储器或***存储器234。寄存器230和高速缓存232可以是可由核222直接访问的。主存储器234可以是可由处理器220和/或核222直接访问的和/或可由处理器220和/或核222通过存储器链路或总线间接访问的。主存储226可包括易失性和非易失性存储器,诸如,随机存取存储器(RAM)及其变体,包括但不限于,静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)和/或双倍数据速率SDRAM(DDR SDRAM)。
副存储设备228可以是可由处理器220和/或核222通过通信基础设施238间接访问的,并且可包括非易失性存储器,诸如,只读存储器(ROM)及其变体,包括但不限于,可编程ROM(PROM)、可擦PROM(EPROM)和电可擦PROM(EEPROM)。非易失性存储器还可包括非易失性RAM(NVRAM),诸如,闪存。
处理器220可进一步包括用于在核222与内部通信基础设施238之间接口连接的控制单元236。
任务块204可进一步包括用于在处理器220与内部通信基础设施238之间接口连接的存储器控制器240。
IC块202可进一步包括用于在处理器220与***接入点(SAP)244-1处的外部通信基础设施之间接口连接的接口242。
任务块204可包括用于执行一个或多个预先配置的和/或可配置的功能的IC逻辑246。处理器220可配置成用于通过通信基础设施238来与IC逻辑246接口连接。接口242可配置成用于在IC逻辑246与SAP 244-2处的外部通信基础设施之间接口连接。
在图2中,IC块202可进一步包括一个或多个传感器250,这一个或多个传感器250可包括一个或多个环境传感器,诸如,温度传感器、风扇速度传感器、电压传感器和/或功耗传感器。然而,传感器250不限于这些示例。
IC块202可进一步包括任务块固件254和/或MGB固件256。任务块固件254和MGB固件256可各自包括计算机程序产品,所述计算机程序产品包括至少一个计算机可读介质,所述计算机可读介质具有存储在其中的计算机程序逻辑(诸如,计算机可执行指令),所述计算机程序逻辑使IC块202执行本文中公开的一个或多个特征和/或这些特征的组合。
IC块202可进一步包括用于准许管理块206访问任务块224和感测到的参数值252的管理通信基础设施248。IC块202可进一步包括MGB旁路222,所述MGB旁路222用于当管理块206不能够访问管理通信基础设施248时来准许另一个IC块访问所述管理通信基础设施248,诸如,允许另一个IC块管理IC块202的功能。
图3是包括多个IC块302的IC封装300的框图。在IC封装300中,每一个IC块302可表示IC封装的对应的SoC。IC封装300可包括通信基础设施303。通信基础设施303可配置成用于在IC块302的MAP之间提供全部到全部连接性。通信基础设施303可以是例如结构到结构(fabric to fabric)接口。通信基础设施303可包括一个或多个公用的交叉(crossbar)。通信基础设施303可提供从每一个管理块306到其他管理块306中的每一个的通信路径。通过这个基础设施,一个或多个管理块206可以是可动态地重新配置的以桥接多条通信路径。作为示例,管理块306-6和306-7可配置成用于桥接管理块306-5与306-8之间的通信路径。
目前,基于SoC的微型服务器FRU的布局包括多个SoC,其中,每一个SoC在给定的卡上,并且在各个SoC之间的路由信号用于每一个SoC节点的可管理性和引导(boot)能力。如果SoC的一部分失效,则可能需要替换整个FRU。这种类型的FRU也可受益于与以上描述的基础设施类似的全部到全部通信基础设施。在图4中示出了这种情况的示例。
图4是包括多个IC块402的服务器***400的框图,每一个IC块配置为服务器***400的对应的刀片。IC块402可包括任务块404和管理块406,其中,管理块406可全部经由公用的交叉类型的通信基础设施411被链接,以实现全部对全部连接性。***400可进一步包括多节点部件405,所述多节点部件405可包括管理块407,所述管理块407通过通信基础设施411被连接到管理块406。多节点***可包括:在给定的硅封装中具有多于一个***(例如,包含在单个膝上型计算机中的两个膝上型计算机)。服务器***400还可包括连接器409,所述连接器409将服务器***400连接到服务器接入点。连接器409可以是但不限于例如,***管理总线(SMBus)、以太网连接器、PCI快速(PCIe)互连、I/O边带结构(例如,IOSF),等等。
图5是示出根据实施例的、服务器***500的IC块502-n的报告和控制能力的的框图。IC块502-n可包括管理块506-n。管理块506-n可管理和/或访问来自温度传感器560和/或一个或多个其他传感器562的数据。这一个或多个传感器562可包括例如风扇速度传感器、电压传感器和/或功耗传感器。然而,其他传感器562不限于这些示例。管理块506-n还可管理各种IC功能,包括但不旨在限于,IC块502-n或与IC块502-n通信的其他IC块的温度管理报告和控制564、功率管理报告和控制566、性能报告和控制568和其他IC功能570。管理块506-n还可管理和/或访问来自外部传感器572的数据,所述外部传感器572诸如,位于其他IC块处的传感器或与管理块506-n通信的其他传感器。管理块506-n可经由共享管理链路或总线511与其他IC块通信。
作为示例,如果图4的服务器***400的IC块的管芯上(on-die)温度传感器失效,则其他IC块(例如,相邻的IC块)可基于其功能温度传感器参数值及其距失效的IC块的距离来提供温度估计。这可允许服务器***400无故障地继续操作。作为另一示例,如果IC块的管理块失效,其他IC块(例如,相邻的IC块)可经由管理基础设施411来接管去往失效的IC块的通信。为了完成这一任务,可使用线转发和/或公用功率控制单元(P单元/PCU)地址。例如,公用线可包括每一个插槽的相对的P单元/PCU的从地址。P单元/PCU可使用在P单元/PCU的硬件上运行的p码(pCode)来控制硅内部的功率和其他任务。可以用局部性超时来广播线转发。例如,如果所针对的IC块未在给定的时间(该给定时间可以可选地包括在广播消息中)内响应,则相邻的IC块可要求事务、确定问题、解决问题,等等。对于图3的IC封装示例,通信基础设施303类似地允许其他(例如,相邻的)IC块缓解有故障的IC块的失效。为了完成这一点,可使用广播配置空间寄存器(CSR),并且可经由P单元/PCU,经由平台环境控制接口(PECI)接口来访问所述CSR。PECI接口是用于外部部件与P单元/PCU通信的总线或通信路径。
图6是根据实施例的、可由本文中描述的***执行的方法600的流程图。在602处,管理块将其对应的IC块的状态报告给例如公用寄存器或其他可访问的数据储存库(repository)。数据储存库可位于可由基于SoC的***的IC块访问的集中化位置处,或者可在(例如,图2中所示的存储设备226内的)每一个IC块处复制。在604处,管理块可从数据储存库中确定第一IC块的状态是有问题的(例如,它的状态未被报告,来自那个IC块的将被报告的数据不是可访问的,未感测到将由那个IC块报告的参数)。在实施例中,减法式(subtractive)解码可用于确定什么IC块可能具有故障以及需要做什么来对其进行补救。在606处,管理块可基于第一IC块的状态来执行所述第一IC块的功能,或指示一个或多个第二IC块基于第一IC块的状态来执行所述第一IC块的功能。例如,如果状态未由第一IC块报告,则管理块可访问未被报告的状态,并且为第一IC块来报告所述状态,或者指示另一个IC块这样做。作为另一个示例,如果第一IC块具有高于给定的阈值的温度但是不能执行降低温度的功能,则管理块可降低第一IC块的温度,或者指示另一个IC块这样做。可以构想许多其他场景。该方法不限于这些示例。
任选地,在608处,管理块可桥接多对IC块之间的通信路径。例如,管理块可位于通信基础设施内的两个IC块之间,并且可将通信从第一IC块传递到第二IC块,如以上参照图3所描述。
任选地,在610处,管理块可作为指定的基板管理控制器来管理一个或多个IC块。作为基板管理控制器,管理块可执行管理功能,所述管理功能诸如但不限于,监测其他IC块的处理、协调IC块之间的共享资源的仲裁和分配、记录***错误、协调IC块的故障恢复引导(“FRB”)、IC块之间的负载平衡、控制对通信基础设施内的各种部件的访问、风扇控制、电源监测和调节以及温度监测。
作为管理控制器,管理块可以是可配置的以便动态地将功能从另一IC块重新分配至一个或多个其他IC块。管理控制器可以是可配置的以在IC块的子集内重新分配该功能,或者例如在一对IC块之间重新分配功能。被重新分配的功能可以是管理功能或任务功能。作为重新分配管理功能的示例,如果未从另一IC块接收到状态,则管理控制器可重新分配来自所述另一IC块的管理功能。作为另一示例,如果来自另一IC块的状态指示了所述另一IC块的管理块中的故障,则管理控制器可重新分配来自所述另一IC块的管理功能。作为重新分配任务功能的示例,如果来自另一IC块的状态指示了所述另一IC块的任务块中的故障,则管理控制器可重新分配来自所述另一IC块的任务功能。管理控制器可基于由另一IC块的管理块或其他IC块的一个或多个其他管理块报告的感测到的温度来重新分配所述另一IC块的任务功能。作为进一步的示例,管理控制器可重新分配来自另一IC块的任务功能以平衡多个IC块之间的功耗。作为又一个示例,管理控制器可重新分配来自另一IC块的任务功能以平衡多个IC块之间的处理负荷。管理控制器可在多个IC块之间划分任务功能。例如,管理控制器可将任务功能从第一组多个IC块重新分配到第二组一个或多个IC块,并且例如使第一组IC块置于降低的功耗状态下。在实施例中,每一个任务功能可包括例如:为其从另一个设备接收数据和/或控制并且利用所分配的任务块进行处理的功能;和/或为其将数据和/或控制提供给另一个设备以进一步处理的功能。
图7是根据实施例的、可由本文中描述的***执行的方法700的流程图。在702处,如本文中别处所述,在第一给定的情形下,经由管理通信基础设施,管理集成电路(IC)块可动态地将管理功能从第一IC块重新分配到一个或多个其他IC块。在704处,同样如本文中别处所述,在第二给定的情形下,经由管理通信基础设施,管理IC块可动态地将任务功能从第一IC块重新分配到一个或多个其他IC块。
图8是根据实施例的计算***800的框图。计算***800可表示任务块,诸如,以上参照图2描述的任务块204或本文中描述的任何其他任务块。计算***800可包括一个或多个处理器,在此示出为处理器820。计算***800可进一步包括计算机可读介质824,所述计算机可读介质824可包括在其中编码的计算机程序或逻辑854,包括待由处理器820执行的指令。计算机可读介质824可进一步包括数据878,所述数据878可在计算机程序854的执行期间由处理器820使用,和/在计算机程序854的执行期间由处理器820生成。
处理器820可包括一个或多个指令处理器和/或处理器核以及控制单元,所述控制单元用于在指令处理器/核与介质824之间接口连接。处理器820可包括但不限于以下各项中的一项或多项:微处理器、图形处理器、物理处理器、数字信号处理器、网络处理器、前端通信处理器、协处理器、管理引擎(ME)、控制器或微控制器、中央处理单元(CPU)、通用指令处理器或专用处理器。
介质824可包括暂态或非暂态计算机可读介质,并且可包括以下参照图9所公开的一种或多种类型的介质。然而,计算机可读介质824不限于图9的示例。
图9是处理器902和计算机可读介质904的框图。在图9中,介质904可包括主存储设备906、副存储设备908和离线存储设备910。主存储设备906可包括寄存器912、处理器高速缓存914和主存储器或***存储器916。寄存器912和高速缓存914可以是可由处理器902直接访问的。主存储器916可以是可由处理器902直接访问和/或可由处理器902通过存储器链路或总线间接访问的。主存储设备906可包括易失性和非易失性存储器,诸如,随机存取存储器(RAM)及其变体,包括但不限于,静态RAM(SRAM)和/或动态RAM(DRAM)。
副存储设备908可以是可由处理器902通过输入/输出(I/O)通道间接访问的,并且可包括非易失性存储器,诸如,只读存储器(ROM)及其变体,包括但不限于,可编程ROM(PROM)、可擦PROM(EPROM)和电可擦PROM(EEPROM)。非易失性存储器还可包括非易失性RAM(NVRAM),诸如闪存。副存储设备908可配置为大容量存储设备,诸如,硬盘或硬驱动器、闪存驱动器、存储棒或密钥、软盘和/或zip驱动器。离线存储设备910可包括物理设备驱动器和相关联的可移除存储介质,诸如,光盘。
往回参照图8,计算机程序或逻辑854可包括用于使处理器820执行本文中描述的各种功能的各种类型的指令。例如,处理器820可在管理块806的指示下为对应的IC块执行各种功能。计算机程序或逻辑854可包括例如上文中一个或多个示例中所述的报告指令880、桥接指令882、所分配的功能指令884和/或其他指令等等。所分配的功能指令884可包括例如上文中一个或多个示例中所述的温度相关的指令880、功率相关的指令886和/或其他功能指令890等等。计算机程序或逻辑854的指令可访问、使用、改变和/或生成数据,所述数据诸如,执行各种功能所需的温度相关的数据892、功率相关的数据894和/或其他数据896。
计算***800可包括用于在计算***800的设备和/或资源之间进行通信的通信基础设施848。通信基础设施848可用于通过诸如在上文中的一个或多个示例中所述的一个或多个管理接入点808来与管理块806或者一个或多个其他管理块通信。计算***800还可包括一个或多个输入/输出(I/O)设备和/或控制器842,所述一个或多个输入/输出(I/O)设备和/或控制器842用于经由一个或多个***接入点844来与一个或多个其他***接口连接。
可针对各种***(诸如,下文中参照图10所述的***)中的一个或多个***实现本文中公开的技术。然而,本文中公开的技术不限于图10的示例。
图10是***1000的框图,***100包括处理器1030以及在此示出为存储器1032的相关联的存储器、高速缓存和/或其他计算机可读介质。***1000进一步包括通信***1034和用户接口***1036。***1000可进一步包括电子或计算机可读存储介质(存储设备)1038,所述电子或计算机可读存储介质1038可以是可由处理器1030、通信***1034和/或用户接口***1036访问的。***1000可以是包括本文中描述的IC封装和/或服务器***的***,或可以是***的部分。
通信***1034可包括有线和/或无线通信***,并且可配置成用于代表处理器1030和用户接口***1036来与外部通信网络进行通信。外部网络可包括语音网络(例如,无线电话网络)和/或基于数据或分组的网络(例如,专属网络和/或互联网)。
用户接口***1036可包括监视器或显示器1040和/或人类接口设备(HID)1042。HID 1042可包括但不限于键盘、光标设备、触敏设备、运动和/或图像传感器、物理设备和/或虚拟设备,诸如,监视器显示的虚拟键盘。用户接口***1036可包括音频***1044,所述音频***1044可包括话筒和/或扬声器。
***1000可配置为移动设备或非移动设备。例如,***1000可配置为固定式或便携式/手持式***,并且可配置为例如移动电话、机顶盒、游戏设备和/或机架可安装设备、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、笔记本平板或平板***和/或其他常规的和/或未来开发的***。然而,***1000不限于这些示例。
本文中借助示出了其功能、特征和关系的功能性构建块来公开各种技术。为便于描述,已在本文中任意地定义了这些功能性构建块的边界中的至少一些边界。只要适当地执行了所指定的功能和这些功能的关系,就可定义替代的边界。虽然本文中公开了各种实施例,但是应当理解的是,它们被呈现为示例。权利要求书的范围不应当由本文中公开的示例实施例中的任何实施例限制。
不作为限制,本文中公开的一个或多个特征可在以下各项中实现:电路、机器、计算机***、处理器和存储器、在计算机可读介质内编码的计算机程序和/或上述各项的组合。电路可包括离散的和/或集成电路、专用集成电路(ASIC)、片上***(SoC)以及上述各项的组合。
如上文所讨论,可在以下各项中实现本文中所公开的一个或多个特征:硬件、软件、固件及它们的组合(包括离散的和集成电路逻辑、专用集成电路(ASIC)逻辑以及微控制器),并且本文中所公开的一个或多个特征可实现为域专用集成电路封装或集成电路封装的组合的部分。如本文中所使用,术语“软件”和“固件”指的是计算机程序产品,所述计算机程序产品包括至少一个计算机可读介质,所述至少一个计算机可读介质具有计算机程序逻辑(诸如,计算机可执行指令),所述计算机程序逻辑存储在计算机可读介质中以使计算机***执行本文中公开的一个或多个特征和/或特征的组合。计算机可读介质可以是暂态的或非暂态的。暂态的计算机可读介质的示例可以是通过局域网或广域网、或通过诸如因特网之类的网络,在射频或在电导体上传输的数字信号。非暂态的计算机可读介质的示例可以是紧致盘、闪存、或其他数据存储设备,诸如,SRAM、DRAM、硬驱动器、固态驱动器,等等。
本文中描述了用于为微型服务器和群集化SoC部署提供可管理性冗余的技术。本文中描述的技术可允许SoC介入(step),以便经由公用的交叉来管理和/或执行对失效的SoC的报告和/或失效的SoC的功能。然而,在本公开中使用的特定示例和场景是为了容易理解,并且不旨在是限制性的。本文中描述的技术可用于其他构想出的目的。
使用本文中描述的技术的优点在于,尽管子部件失效,但是基于SoC的***可仍然继续运行,从而带来良率改善和可靠性、可用性与可服务性(RAS)的提高。进一步的优点在于,能以低成本获得用于此类基于SoC的***的***可管理性机制的可用性。还可构想许多其他优点。
如在本申请中和在权利要求书中所使用,用术语“……中的一个或多个”连结的项的列表可意指所列出的项的任何组合。例如,短语“A、B或C中的一个或多个”以及“A、B和C中的一个或多个”可指A;B;C;A和B;A和C;B和C;或A、B和C。
以下示例涉及进一步的实施例。
示例1可包括一种可配置的多处理器装置,所述装置包括多个集成电路(IC)块,其中,每一个IC块包括用于执行一个或多个可分配的任务功能的任务块以及用于针对对应的IC块执行管理功能的管理块;每一个任务块和每一个管理块包括一个或多个指令处理器和对应的存储器;并且每一个IC块是可控制的以执行一个或多个其他IC块的功能。
示例2可包括示例1的主题,其中,每一个管理块是可控制的以执行一个或多个其他管理块的管理功能。
示例3可包括示例1或示例2的主题,其中,每一个任务块是可控制的以执行一个或多个其他任务块的任务功能。
示例4可包括示例1-3中的任一项的主题,其中,每一个管理块配置成用于通过网络通信基础设施来报告对应的IC块的状态,并且每一个管理块是可控制的以访问另一IC块,并且通过管理基础设施来报告所访问的IC块的状态。
示例5可包括示例1-4中的任一项的主题,其中,每一个管理块是可配置的以报告参数值,并且每一个管理块是可控制的以访问另一IC块,并且报告所访问的IC块的参数值。
示例6可包括示例1-5中的任一项的主题,其中,每一个管理块是可配置的以报告参数值,并且每一个管理块是可控制的以代表另一个管理块来估计并报告参数值。
示例7可包括示例5或示例6的主题,其中,参数包括感测到的参数。
示例8可包括示例5-7中的任一项的主题,其中,参数包括温度。
示例9可包括示例5-8中的任一项的主题,其中,参数包括功耗参数。
示例10可包括示例1-9中的任一项的主题,其中,这些IC块中的一个或多个可配置为管理控制器以控制这些IC块中的其他IC块,包括动态地将功能从第一IC块重新分配到一个或多个其他IC块。
示例11可包括示例10的主题,其中,管理控制器配置成用于动态地在IC块的子集内重新分配功能。
示例12可包括示例11的主题,其中,管理控制器配置成用于动态地在一对IC块之间重新分配功能。
示例13可包括示例10-12中的任一项的主题,其中,管理控制器配置成用于动态地重新分配来自第一IC块的管理功能。
示例14可包括示例13的主题,其中,管理控制器配置成:如果未从第一IC块接收到状态,则动态地重新分配来自第一IC块的管理功能。
示例15可包括示例13或示例14的主题,其中,管理控制器配置成:如果来自第一IC块的状态指示了对应的管理块中的故障,则动态地重新分配来自IC块的管理功能。
示例16可包括示例13-15中的任一项的主题,其中,管理控制器配置成用于动态地重新分配来自第一IC块的任务功能。
示例17可包括示例16的主题,其中,管理控制器配置成:如果来自第一IC块的状态指示了对应任务块中的故障,则动态地重新分配来自IC块的任务功能。
示例18可包括示例16或示例17的主题,其中,管理控制器配置成用于基于由这些管理块中的一个或多个报告的感测到的温度来动态地重新分配来自第一IC块的任务功能。
示例19可包括示例16-18中的任一项的主题,其中,管理控制器配置成用于动态地重新分配来自第一IC块的任务功能以平衡多个IC块之间的功耗。
示例20可包括示例16-19中的任一项的主题,其中,管理控制器配置成用于动态地重新分配任务功能以平衡多个IC块之间的处理负荷。
示例21可包括示例10-20中的任一项的主题,其中,管理控制器配置成用于动态地在多个IC块之间划分任务功能。
示例22可包括示例10-21中的任一项的主题,其中,管理控制器配置成用于动态地将任务功能从第一组多个IC块重新分配到第二组一个或多个IC块,并且将第一组IC块置于降低的功耗状态下。
示例23可包括示例1-22中的任一项的主题,其中,每一个任务功能包括以下各项中的一项或多项:为其从另一个设备接收数据和/或控制并且在所分配的任务块内处理的功能;以及为其将数据和/或控制提供给另一个设备以进一步处理的功能。
示例24可包括示例1-23中的任一项的主题,其中,管理通信基础设施包括从这些管理块中的每一个到其他管理块中的每一个的通信路径。
示例25可包括示例1-24中的任一项的主题,其中,管理通信基础设施包括多对管理块之间的通信路径,并且其中,这些管理块是可控制的并且是动态地可重新配置的以桥接多条通信路径。
示例26可包括示例1-25中的任一项的主题,其中,多个IC块在相同的IC设备上。
示例27可包括示例1-26中的任一项的主题,其中,这些IC块中的每一个在服务器***的刀片的对应IC设备上。
示例28可包括一种具有动态地可重新配置的多处理器支持***的多处理器***,所述***包括:第一组一个或多个指令处理器和对应的存储器;用户接口,所述用户接口用于在第一组一个或多个指令处理器与一个或多个人类接口设备之间接口连接;以及一组多个集成电路(IC)块,用于支持第一组一个或多个指令处理器而执行任务功能;其中,每一个IC块包括用于执行一个或多个可分配的任务功能的任务块以及用于针对对应的IC块执行管理功能的管理块;其中,每一个任务块和每一个管理块包括一个或多个指令处理器和对应的存储器,并且其中,每一个IC块是可控制的以执行一个或多个其他IC块的功能。
示例29可包括示例28的主题,其中,每一个管理块是可控制的以执行一个或多个其他管理块的管理功能。
示例30可包括示例28或示例29的主题,其中,每一个任务块是可控制的以执行一个或多个其他任务块的任务功能。
示例31可包括示例28-30中的任一项的主题,其中,这些IC块中的一个或多个可配置为管理控制器以控制这些IC块中的其他IC块,包括动态地将功能从第一IC块重新分配到一个或多个其他IC块。
示例32可包括示例31的主题,其中,管理控制器配置成用于动态地重新配置来自第一IC块的管理功能。
示例33可包括示例32的主题,其中,管理控制器配置成:如果未从第一IC块接收到状态,则动态地重新分配来自第一IC块的管理功能。
示例34可包括示例32或示例33的主题,其中,管理控制器配置成:如果来自第一IC块的状态指示了对应管理块中的故障,则动态地重新分配来自所述IC块的管理功能。
示例35可包括示例32-34中的任一项的主题,其中,管理控制器配置成用于动态地重新分配来自第一IC块的任务功能。
示例36可包括示例35的主题,其中,管理控制器配置成:如果来自第一IC块的状态指示了对应的任务块中的故障,则动态地重新分配来自第一IC块的任务功能。
示例37可包括示例35或示例36的主题,其中,管理控制器配置成用于基于由第一IC块报告的感测到的温度而动态地重新分配来自第一IC块的任务功能。
示例38可包括示例35-37中的任一项的主题,其中,管理控制器配置成用于基于由多个IC块报告的感测到的温度而动态地重新分配来自第一IC块的任务功能。
示例39可包括示例35-38中的任一项的主题,其中,管理控制器配置成用于动态地重新分配来自第一IC块的任务功能以平衡多个IC块之间的功耗。
示例40可包括示例35-39中的任一项的主题,其中,管理控制器配置成用于动态地重新分配任务功能以平衡多个IC块之间的处理负荷。
示例41可包括示例31-40中的任一项的主题,其中,管理控制器进一步配置成用于动态地在多个IC块之间划分任务功能。
示例42可包括示例31-41中的任一项的主题,其中,管理控制器配置成用于动态地将任务功能从第一组一个或多个IC块重新分配到第二组一个或多个IC块,以便将第一组IC块置于降低的功耗状态下。
示例43可包括一种***,所述***包括用于执行如示例1-42中的任一项所述的装置的特征的设备。
示例44可包括一种计算机可读介质,所述计算机可读介质以计算机程序来编码,并包括指令,所述指令用于使处理器执行如示例10-22中任一项所述的管理控制器的功能。
示例45可包括一种根据示例1-42中的任一项来执行的方法。
示例46可包括至少一种计算机可读介质,包括多条指令,响应于在计算设备上执行所述多条指令,所述多个指令使计算设备执行根据示例45的方法。
示例47可包括一种安排成用于执行示例45的方法的通信设备。
示例48可包括一种管理集成电路(IC)块的方法,所述方法包括:由IC块中的管理IC块在第一给定的情形下,经由通信管理基础设施,动态地将管理功能从IC块中的第一IC块重新分配到一个或多个其他IC块;以及由管理IC块在第二给定的情形下,经由管理通信基础设施,动态地将任务功能从第一IC块重新分配到一个或多个其他IC块;其中,每一个IC块包括用于执行一个或多个可分配的任务功能的任务块以及用于针对对应的IC块执行管理功能的管理块;并且其中,这些IC块经由管理通信基础设施来彼此通信。
示例49可包括示例48的主题,其中,动态地重新分配管理功能包括:动态地在IC块的子集内重新分配管理功能。
示例50可包括示例48的主题,其中,动态地重新分配管理功能包括:动态地在一对IC块之间重新分配管理功能。
示例51可包括示例48的主题,其中,动态地重新分配管理功能包括:如果未从第一IC块接收到状态,则动态地重新分配来自第一IC块的管理功能。
示例52可包括示例48的主题,其中,动态地重新分配管理功能包括:如果来自第一IC块的状态指示了对应的管理块中的故障,则动态地重新分配来自第一IC块的管理功能。
示例53可包括示例48的主题,其中,动态地重新分配任务功能包括:如果来自第一IC块的状态指示了对应的任务块中的故障,则动态地重新分配来自第一IC块的任务功能。
示例54可包括示例48的主题,其中,动态地重新分配任务功能包括:基于由管理块中的一个或多个报告的感测到的温度而动态地重新分配来自第一IC块的任务功能。
示例55可包括示例48的主题,其中,动态地重新分配任务功能包括:动态地重新分配来自第一IC块的任务功能以平衡多个IC块之间的功耗。
示例56可包括示例48的主题,其中,动态地重新分配任务功能包括:动态地重新分配任务功能以平衡多个IC块之间的处理负荷。
示例57可包括示例48的主题,其中,动态地重新分配任务功能包括:动态地在多个IC块之间划分任务功能。
示例58可包括示例48的主题,其中,动态地重新分配任务功能包括:动态地将任务功能从第一组多个IC块重新分配到第二组一个或多个IC块,并且将第一组IC块置于降低的功耗状态下。
示例59可包括一种***,所述***包括用于执行示例48-58中的任一项的方法的设备。
示例60可包括一种计算机可读介质,所述计算机可读介质以计算机程序来编码,并且包括指令,所述指令用于使处理器执行如示例48-58中的任一项的方法。
示例61可包括至少一种计算机可读介质,包括多条指令,响应于在计算设备上执行所述多条指令,所述多个指令使计算设备执行根据示例48-58中的任一项的的方法。
示例62可包括一种安排成用于执行示例48-58中的任一项的方法的通信设备。
示例63可包括一种方法,所述方法包括:通过管理通信基础设施,将对应的集成电路(IC)块的状态报告给公用储存库,所述IC块是各自包括用于执行可分配的功能的任务块以及用于执行管理功能的管理块的多个IC块中的一个;从公用储存库中确定多个IC块中的第一IC块的状态是有问题的;以及基于第一IC块的状态,执行或者指示多个IC块中的一个或多个第二IC块执行第一IC块的功能。
示例64可包括示例63的主题,其中,执行或指示包括:如果第一IC块的该状态是未被报告的,则执行或指示对第一IC块的状态的确定和报告。
示例65可包括示例63的主题,其中,执行或指示包括:如果不能够在第一IC块处感测到第一IC块的位置处的参数值,则执行或指示对所述参数值的估计和报告。
示例66可包括示例63的主题,其中,执行或指示包括:当第一IC块未能报告所述第一IC块感测到的参数值时,执行或指示访问并报告由所述第一IC块感测到的参数值。
示例67可包括示例66的主题,其中,访问并报告由第一IC块感测到的参数值包括:访问并报告由第一IC块感测到的温度。
示例68可包括示例66的主题,其中,访问并报告由第一IC块感测的参数值包括:访问并报告由第一IC块感测到的功耗参数值。
示例69可包括示例63的主题,其中,执行或指示包括:执行或指示执行第一IC块的所分配的功能。
示例70可包括示例69的主题,其中,执行或指示执行所分配的功能包括:执行或指示降低第一IC块的温度。
示例71可包括示例69的主题,其中,执行或指示执行所分配的功能包括:如果该第一IC块不能执行所分配的功能,则执行或指示第一IC块的所分配的功能。
示例72可包括示例69的主题,其中,执行或指示执行所分配的功能包括:执行或指示降低第一IC块的任务负荷。
示例73可包括示例69的主题,其中,执行或指示执行所分配的功能包括:当该第一IC块置于降低的功耗状态下时,执行或指示第一IC块的所分配的功能。
示例74可包括示例69的主题,其中,执行或指示执行所分配的功能包括:当第一IC块以及一个或多个附加的其他IC块置于降低的功耗状态下时,执行或指示第一IC块以及一个或多个附加的其他IC块的所分配的功能。
在示例75中,示例63的主题可以可任选地包括:当第一IC块以及一个或多个附加的其他IC块置于降低的功耗状态下时,执行或指示执行第一IC块以及一个或多个其他IC块的所分配的功能。
在示例76中,示例63的主题可以可任选地包括:作为指定的基板管理控制器来管理多个IC块中的一个或多个。
示例77可包括示例63的主题,其中,管理通信基础设施包括从这些管理块中的每一个到其他管理块中的每一个的通信路径。
示例78可包括示例63的主题,其中,管理通信基础设施包括多对管理块中的每一对之间的通信路径,并且其中,所述方法进一步包括:桥接这些通信路径中的多条通信路径。
示例79可包括至少一种计算机可读介质,包括多条指令,响应于在计算设备上执行所述多条指令,所述多个指令使计算设备执行根据示例63-78中的任一项的方法。
示例80可包括一种安排成用于执行示例63-78中的任一项的方法的设备。
示例81可包括一种配置成用于执行示例63-78中的任一项的方法的装置。
示例82可包括一种用于执行示例63-78中的任一项的方法的计算机系***。
示例83可包括一种用于执行示例63-78中的任一项的方法的机器。
示例84可包括一种装置,所述装置包括:用于执行示例63-78中的任一项的方法的设备。
Claims (23)
1.一种具有动态地可重配置的多处理器支持***的多处理器***,所述多处理器***包括:
第一组一个或多个指令处理器和对应的存储器;
用户接口,所述用户接口用于在所述第一组一个或多个指令处理器与一个或多个人类接口设备之间接口连接;以及
一组多个集成电路IC块,所述一组多个IC块用于为支持所述第一组一个或多个指令处理器而执行任务功能;
其中,每一个IC块包括用于执行一个或多个可分配的任务功能的任务块以及用于针对对应的IC块来执行管理功能的管理块;
其中,每一个任务块和每一个管理块包括一个或多个指令处理器和对应的存储器;
其中,每一个IC块是可控制的以执行一个或多个其他IC块的功能;
其中,所述IC块中的一个或多个IC块可配置为管理控制器以管理所述IC块中的其他IC块,包括动态地将功能从第一IC块重新分配到一个或多个其他IC块;并且
其中,所述管理控制器配置成用于动态地重新分配来自所述第一IC块的管理功能。
2.如权利要求1所述的多处理器***,其中,每一个管理块是可控制的以执行一个或多个其他管理块的管理功能。
3.如权利要求1所述的多处理器***,其中,每一个任务块是可控制的以执行一个或多个其他任务块的任务功能。
4.如权利要求1所述的多处理器***,其中,所述管理控制器配置成:如果未从所述第一IC块接收到状态,则动态地重新分配来自所述第一IC块的所述管理功能。
5.如权利要求1所述的多处理器***,其中,所述管理控制器配置成:如果来自所述第一IC块的状态指示了对应的管理块中的故障,则动态地重新分配来自所述IC块的所述管理功能。
6.如权利要求1所述的多处理器***,其中,所述管理控制器配置成用于动态地重新分配来自所述第一IC块的任务功能。
7.如权利要求6所述的多处理器***,其中,所述管理控制器配置成:如果来自所述第一IC块的状态指示了对应的任务块中的故障,则动态地重新分配来自所述第一IC块的所述任务功能。
8.如权利要求1所述的多处理器***,其中,所述管理控制器配置成用于动态地重新分配来自所述第一IC块的所述任务功能以平衡多个IC块之间的功耗。
9.如权利要求1所述的多处理器***,其中,所述管理控制器配置成用于动态地重新分配所述任务功能以平衡多个IC块之间的处理负荷。
10.如权利要求1所述的多处理器***,其中,所述管理控制器进一步配置成用于动态地在多个IC块之间划分任务功能。
11.如权利要求1所述的多处理器***,其中,所述管理控制器配置成用于动态地将任务功能从第一组一个或多个IC块重新分配到第二组一个或多个IC块,以便将所述第一组IC块置于降低的功耗状态下。
12.一种管理集成电路IC块的方法,所述方法包括以下步骤:
由所述IC块的管理IC块在第一给定的情形下,经由管理通信基础设施,动态地将管理功能从所述IC块中的第一IC块重新分配到一个或多个其他IC 块;以及
由所述管理IC块在第二给定的情形下,经由所述管理通信基础设施,动态地将任务功能从所述IC块中的所述第一IC块重新分配到一个或多个其他IC块;
其中,每一个IC块包括用于执行一个或多个可分配的任务功能的任务块以及用于针对对应的IC块来执行管理功能的管理块;并且
其中,所述IC块经由所述管理通信基础设施彼此通信。
13.如权利要求12所述的方法,其中,动态地重新分配所述管理功能的步骤包括以下步骤:
动态地在IC块的子集内重新分配所述管理功能。
14.如权利要求12所述的方法,其中,动态地重新分配所述管理功能的步骤包括以下步骤:
动态地在一对IC块之间重新分配所述管理功能。
15.如权利要求12所述的方法,其中,动态地重新分配所述管理功能的步骤包括以下步骤:
如果未从所述第一IC块接收到状态,则动态地重新分配来自所述第一IC块的所述管理功能。
16.如权利要求12所述的方法,其中,动态地重新分配所述管理功能的步骤包括以下步骤:
如果来自所述第一IC块的状态指示了对应的管理块中的故障,则动态地重新分配来自所述第一IC块的所述管理功能。
17.如权利要求12所述的方法,其中,动态地重新分配所述任务功能的步骤包括以下步骤:
如果来自所述第一IC块的状态指示了对应的任务块中的故障,则动态地重新分配所述任务功能。
18.如权利要求12所述的方法,其中,动态地重新分配所述任务功能的步骤包括以下步骤:
动态地重新分配来自所述第一IC块的所述任务功能以平衡多个IC块之间的功耗。
19.如权利要求12所述的方法,其中,动态地重新分配所述任务功能的步骤包括以下步骤:
动态地重新分配所述任务功能以平衡多个IC块之间的处理负荷。
20.如权利要求12所述的方法,其中,动态地重新分配所述任务功能的步骤包括以下步骤:
动态地在多个IC块之间划分所述任务功能。
21.如权利要求12所述的方法,其中,动态地重新分配所述任务功能的步骤包括以下步骤:
动态地将所述任务功能从第一组多个IC块重新分配到第二组一个或多个IC块,并且将所述第一组IC块置于降低的功耗状态下。
22.一种计算机可读介质,包括多条指令,响应于在计算设备上执行所述多条指令,所述多条 指令使所述计算设备执行根据权利要求12-21中的任一项所述的方法。
23.一种管理集成电路IC块的设备,所述设备包括:用于执行如权利要求12-21中的任一项所述的方法的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/PL2013/000104 WO2015023192A1 (en) | 2013-08-14 | 2013-08-14 | Manageability redundancy for micro server and clustered system-on-a-chip deployments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105408862A CN105408862A (zh) | 2016-03-16 |
CN105408862B true CN105408862B (zh) | 2019-01-18 |
Family
ID=49305057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380078235.6A Expired - Fee Related CN105408862B (zh) | 2013-08-14 | 2013-08-14 | 用于微型服务器和群集化片上***部署的可管理性冗余 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9367406B2 (zh) |
EP (1) | EP3033676A1 (zh) |
CN (1) | CN105408862B (zh) |
WO (1) | WO2015023192A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014158161A1 (en) * | 2013-03-28 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Error coordination message for a blade device having a logical processor in another system firmware domain |
KR101533081B1 (ko) * | 2014-09-26 | 2015-07-03 | 성균관대학교산학협력단 | 저전력과 신뢰성을 동시에 확보하기 위한 이중화 대응 장치, 이중화 시스템 및 이중화 구성 설정 방법 |
US10817398B2 (en) | 2015-03-09 | 2020-10-27 | Vapor IO Inc. | Data center management via out-of-band, low-pin count, external access to local motherboard monitoring and control |
US9952639B2 (en) * | 2015-03-27 | 2018-04-24 | Dell Products, Lp | System and method for providing cooling support of cards in an information handling system |
CN104980371B (zh) * | 2015-06-09 | 2019-01-11 | 英业达科技有限公司 | 微服务器 |
CN106502355A (zh) * | 2017-01-11 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种Rack服务器电源进风温度获取方法 |
CN106844113B (zh) * | 2017-03-10 | 2020-09-29 | 苏州浪潮智能科技有限公司 | 一种采用冗余pch的服务器故障恢复***及方法 |
US10582636B2 (en) * | 2017-08-07 | 2020-03-03 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Server having a dual-mode serial bus port enabling selective access to a baseboard management controller |
CN109558245A (zh) * | 2018-12-03 | 2019-04-02 | 群蜂信息技术(上海)有限公司 | 一种基于微服务器架构的业务处理方法、装置及服务器 |
US11113188B2 (en) | 2019-08-21 | 2021-09-07 | Microsoft Technology Licensing, Llc | Data preservation using memory aperture flush order |
CN110928658B (zh) * | 2019-11-20 | 2024-03-01 | 湖南大学 | 一种车边云协同架构的协同任务迁移***及算法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236515A (zh) * | 2007-01-31 | 2008-08-06 | 迈普(四川)通信技术有限公司 | 多核***单核异常的恢复方法 |
CN101799776A (zh) * | 2010-02-25 | 2010-08-11 | 上海华为技术有限公司 | 多核处理器故障处理方法、多核处理器及通信设备 |
WO2013101193A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Method and device for managing hardware errors in a multi-core environment |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4377000A (en) * | 1980-05-05 | 1983-03-15 | Westinghouse Electric Corp. | Automatic fault detection and recovery system which provides stability and continuity of operation in an industrial multiprocessor control |
US7146260B2 (en) * | 2001-04-24 | 2006-12-05 | Medius, Inc. | Method and apparatus for dynamic configuration of multiprocessor system |
US7627780B2 (en) * | 2003-04-23 | 2009-12-01 | Dot Hill Systems Corporation | Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance |
US7426657B2 (en) | 2004-07-09 | 2008-09-16 | International Business Machines Corporation | System and method for predictive processor failure recovery |
JP2006085555A (ja) * | 2004-09-17 | 2006-03-30 | Denso Corp | 信号処理システム |
US7434102B2 (en) | 2004-12-29 | 2008-10-07 | Intel Corporation | High density compute center resilient booting |
US20110138395A1 (en) * | 2009-12-08 | 2011-06-09 | Empire Technology Development Llc | Thermal management in multi-core processor |
US8615763B2 (en) * | 2012-02-01 | 2013-12-24 | Texas Instruments Incorporated | System and method of task allocation in multiprocessing environment based on minimum density or maximum harmonicity that results in lower clock frequency |
-
2013
- 2013-08-14 US US14/125,516 patent/US9367406B2/en not_active Expired - Fee Related
- 2013-08-14 WO PCT/PL2013/000104 patent/WO2015023192A1/en active Application Filing
- 2013-08-14 CN CN201380078235.6A patent/CN105408862B/zh not_active Expired - Fee Related
- 2013-08-14 EP EP13773875.3A patent/EP3033676A1/en not_active Withdrawn
-
2016
- 2016-06-09 US US15/178,142 patent/US10073742B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236515A (zh) * | 2007-01-31 | 2008-08-06 | 迈普(四川)通信技术有限公司 | 多核***单核异常的恢复方法 |
CN101799776A (zh) * | 2010-02-25 | 2010-08-11 | 上海华为技术有限公司 | 多核处理器故障处理方法、多核处理器及通信设备 |
WO2013101193A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Method and device for managing hardware errors in a multi-core environment |
Also Published As
Publication number | Publication date |
---|---|
US9367406B2 (en) | 2016-06-14 |
US20150052389A1 (en) | 2015-02-19 |
US20160292038A1 (en) | 2016-10-06 |
WO2015023192A1 (en) | 2015-02-19 |
EP3033676A1 (en) | 2016-06-22 |
CN105408862A (zh) | 2016-03-16 |
US10073742B2 (en) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105408862B (zh) | 用于微型服务器和群集化片上***部署的可管理性冗余 | |
US10007561B1 (en) | Multi-mode device for flexible acceleration and storage provisioning | |
CN104750658B (zh) | 辅助式一致共享存储器 | |
US9218198B2 (en) | Method and system for specifying the layout of computer system resources | |
CN105308553A (zh) | 动态提供存储 | |
US11847459B2 (en) | Direct swap caching with zero line optimizations | |
WO2023278077A1 (en) | Memory reduction in a system by oversubscribing physical memory shared by compute entities supported by the system | |
CN110692043B (zh) | 用于对备份数据进行负载平衡的***和方法 | |
JP2023547895A (ja) | データセンタ内で障害ドメインを電気的に絶縁するための構成を生成するための技術 | |
US20240103836A1 (en) | Systems and methods for topology aware firmware updates in high-availability systems | |
US20230078518A1 (en) | Systems and methods for collapsing resources used in cloud deployments | |
CN115225642A (zh) | 超融合***的弹性负载均衡方法及*** | |
US11669358B2 (en) | Virtual network functions allocation in a datacenter | |
US10956285B2 (en) | Recovering dynamic system data | |
US10409940B1 (en) | System and method to proxy networking statistics for FPGA cards | |
US20230229498A1 (en) | Systems and methods with integrated memory pooling and direct swap caching | |
US11800646B1 (en) | Systems and methods for generating PCB (printed circuit board) designs | |
US11860745B2 (en) | Redundant edge hardware | |
US20230024970A1 (en) | Universal warranty exchange protocol for unsupported technologies | |
US11755334B2 (en) | Systems and methods for augmented notifications in remote management of an IHS (information handling system) | |
US11860783B2 (en) | Direct swap caching with noisy neighbor mitigation and dynamic address range assignment | |
US20240103844A1 (en) | Systems and methods for selective rebootless firmware updates | |
US20230244461A1 (en) | Configurable Access to a Reconfigurable Processor by a Virtual Function | |
US20230380099A1 (en) | Systems with at least one multi-finger planar circuit board for interconnecting multiple chassis | |
CN116467121A (zh) | 设备扫描纠错方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190118 Termination date: 20190814 |
|
CF01 | Termination of patent right due to non-payment of annual fee |