CN104137072A - 在多核心环境中管理硬件错误的方法和装置 - Google Patents
在多核心环境中管理硬件错误的方法和装置 Download PDFInfo
- Publication number
- CN104137072A CN104137072A CN201180076125.7A CN201180076125A CN104137072A CN 104137072 A CN104137072 A CN 104137072A CN 201180076125 A CN201180076125 A CN 201180076125A CN 104137072 A CN104137072 A CN 104137072A
- Authority
- CN
- China
- Prior art keywords
- processor core
- processor
- mistake
- core
- computing equipment
- 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
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/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/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
- 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/2041—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 with more than one idle spare processing component
-
- 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
- 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/2025—Failover techniques using centralised failover control functionality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
在多核心环境中管理硬件错误的方法和装置包括将处理器核心分配为主处理器核心组和备用处理器核心组。主处理器核心组由操作***使用,以及备用处理器核心组专用于软件应用。当一个处理器核心错误发生时,可执行处理器核心交换,将故障的主处理器核心交换为备用处理器核心而不中断操作***的执行。
Description
背景技术
现有的高性能计算依赖于使用许多处理器核心来实现各种密集的和复杂的计算和处理。一些计算设备特定地为这些任务设计并且可能包括多个处理器插槽,同时每个处理器具有多个处理器核心。同样地,高性能计算***可以利用五十个或更多个处理器核心或者线程来执行各种工作负荷。这样的***可以包括“小核心”,“小”和“大”核心的组合,或者全是“大”核心。小核心可以被定义为较低性能的处理器核心,被设计用于高并行计算,而大核心被定义为通用的计算核心,例如通常那些在标准服务器计算设备中发现的那样。
在多核心或许多核心***中,单一处理器核心的故障可以导致包括任何其余的正常核心的整个***的不可恢复的错误。整个***的关键故障的可能性被大量的处理器核心所放大。例如,在具有五十个处理器核心的***中,五十个处理器核心之一出现故障能引起整个***的故障。另外,在处理器裸晶的一个位置中的一个处理器核心的故障可能会在相邻的核心和片上施加不适当的压力。进一步地,处理器核心的损失可能增加其余核心的工作负荷,这可能恶化处理器核心或片中的任何电流问题。一些***包括软件措施来管理处理器核心错误。然而,这些软件措施典型地增加***工作负荷并且没有考虑核心或片的布局以及其对***上持续计算的健康度和吞吐量的影响。
附图说明
本文中描述的本发明以示例而非限制的方式以附图来阐述。为了阐述的简洁和清楚,附图中所述的元素不一定按比例绘制。例如,为了清楚起见,一些元素的尺寸可以相对于其它元素夸大比例。进一步的,在认为适当时,参考标记已在附图之间重复以便指示相应的或者类似的元素。
图1是用于多核心环境中管理硬件错误的计算设备的至少一个实施例的简化框图;
图2是图1的计算设备的软件环境的至少一个实施例的简化框图;
图3是用于分配图1计算设备的处理器核心的方法的至少一个实施例的简化流程图;
图4是用于执行图1的计算设备上的应用的方法的至少一个实施例的简化流程图;以及
图5是用于管理图1的计算设备的硬件错误的方法的至少一个实施例的简化流程图。
具体实施方式
虽然本公开的概念容许各种修改和备选形式,但是其中特定示范实施例已在附图中以示例的方式示出并且将在本文中详细描述。然而,应该理解的是,不意在将本公开的概念限制到所公开的特定形式,而是相反,意在覆盖和本公开的内容以及附加的权利要求一致的所有的修改、等价和备选。
在以下的描述中,大量特定的细节比如逻辑实现、操作码、规定操作数的方式、资源分割/共享/复制实现、***组件的类型和内部关联关系以及逻辑分割/集成选择被提出,以便提供本公开的更加全面的理解。然而,将被理解的是,本领域技术人员可以实践本发明的实施例而不需要这样的特定细节。在其它实施例中,控制结构、门级电路和完全软件执行序列没有被详细的描述以便不使本发明变得难懂。本领域的普通技术人员在所包含的描述下将能够实现合适的功能性而不需要过度试验。
在说明书中“一个实施例”,“实施例”,“示例性实施例”等的引用指示所描述的实施例可以包括特定的特征、结构或者特性,但是可能不一定每一个实施例都包括该特定的特征、结构或者特性。而且,这样的语句不一定指相同的实施例。进一步地,当特定的特征、结构或特性结合实施例被描述时,应该认为与其它实施例相关联实现这样的特征、结构或者特性属于本领域技术人员的知识范围内,而无论是否明确描述。
本发明实施例可以在硬件、固件、软件或者其任何组合中执行。在计算机***中实现的本发明实施例可以包括在组件之间的一个或者多个基于总线的互连和/或在组件之间的一个或多个点对点互连。本发明的实施例也可以实现为指令,该指令由短暂性或者非短暂性机器可读介质携带或者存储在短暂性或者非短暂性机器可读介质上,该介质可以被一个或多个处理器读取和执行。机器可读介质可以体现为机器(例如计算设备)可读形式的任何设备、机构或用于存储或传输信息的物理结构。例如,机器可读介质可以包括体现为只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;小型或者微型SD卡;存储棒;电信号以及其它。
在附图中,示意性元素(比如表示设备、模块、指令块和数据元素的那些)的特定布置或顺序为了易于描述可以被示出。然而,本领域技术人员应该理解的是,附图中示意性元素的特定顺序或布置不意味着暗示处理的特殊顺序或序列或者处理的分离是需要的。进一步的,附图包含示意性元素不意味着暗示这样的元素在所有的实施例都是需要的或者由这样的元件所代表的特征不可以包含在一些实施例中,或者在一些实施例中由这样的元件所代表的特征不可以与其它元素组合。
一般来说,用于代表指令块的示意性元素可以利用任何合适的机器可读指令的形式被执行,机器可读指令的合适的形式比如软件或固件应用、程序、功函数、模块、例程、处理、过程、插件、Java程序、微件、编码片段和/或其它,并且每一个这样的指令可以使用任意合适的编程语言、库、应用编程接口(API),和/或其它软件开发工具来实现。例如,一些实施例可以利用Java、C++和/或其它编程语言来实现。类似地,用于代表数据或信息的示意性元素可以使用任意合适的电子布置或结构来实现,合适的电子布置或结构比如寄存器、数据存储器、表、记录、数组、索引、散列、映射、树、列表、图表、文件(任一文件类型的)、文件夹、目录、数据库和/或其它。
进一步地,在附图中,其中连接元素,比如实线或点划线或者箭头,都用来表示两个或者多个其它示意性元素之间或之中的连接、关系或者关联,任何这样连接元素的缺失不意味着暗示没有连接、关系或者关联可以存在。换句话说,元件之间的某些连接、关系或者关联可能没有在图中示出并不导致本发明公开内容的晦涩。另外,为了易于描述,单一连接元素可以被用于代表元件之间的多个连接、关系或者关联。例如,连接元素代表信号、数据或者指令的通信,本领域技术人员应该理解的是,这样的元素可以代表一个或者多个信号路径(例如,总线),其可能被需要以用于影响通信。
现在参考图1,计算设备100用于管理多核心环境中的硬件错误,多核心环境包括一个或多个多核心处理器102。每一个多核心处理器102包括一个或多个处理器核心104以致计算设备100包括两个或多个处理器核心。例如,在一些实施例中,计算设备100可以包括五十或更多处理器核心。在使用中,源于处理器核心104的计算设备100的硬件错误通过在处理器核心的主组202和备用组204之间分配处理器核心104来管理(参见图2)。这样做,正如下面所详细描述的那样,建立了主硬件描述表212(参见图2)和分离的备用硬件描述表214(参见图2),其中主硬件描述表212代表主组202的处理器核心104中的每一个,分离的备用硬件描述表214代表备用组204的处理器核心104中的每一个。
主硬件描述表212的处理器核心104受到在计算设备100上执行的操作***的影响的同时,备用硬件描述表214的处理器核心104是“摘要的”或者否则不直接对于操作***内核可访问。备用硬件描述表214的处理器核心104备用于和分配到在计算设备100上以计算请求响应的方式执行的软件应用(例如,计算密集的应用)上。为了这样做,在软件应用和备用组204的分配的处理器核心104之间建立了消息通过接口(MPI)。处理器核心错误一旦随着分配的处理器核心104之一而发生,相关联的中断就被限制到处理器核心104的备用组204(即,中断不由处理器核心104的主组202接收)。这样,相关联的软件应用(或相关联软件应用的任务)可以重启并且备用组204的新处理器核心104可以被分配到软件应用(或其任务)。备选地,处理器核心错误一旦随着主硬件描述表212的处理器核心104之一而发生,就可以执行处理器核心交换,用来自备用组204的处理器核心104来代替主组202的故障/已故障的处理器核心104。在一个实施例中,处理器核心交换是基于处理器裸晶中故障/已故障的处理器核心104的位置来执行的以便使预期错误最小化以及使等待时间最小化(例如,备用组204的替换处理器核心104可以基于主组202的故障/已故障的处理器核心104的裸晶位置来选择)。另外,执行处理器核心交换而不影响操作***,其通过使用内嵌的固件、硬件、***软件等在主组202的处理器核心104上执行。为了这样做,正如下面所讨论的,计算设备100的上下文被中止,如在典型的***管理模式(SMM)或者类似的错误处理状态中执行的。这样,即使在处理器核心故障的情况下,操作***的执行也可以不被中断(例如,操作***不需要被重启)。
如图1所示,处理器102包括控制器106和处理器寄存器108,其可以包括为处理器102的内存储器的存储器位置。控制器106可以体现为用于控制对处理器核心104的操作和访问的控制电路和相关联的固件/微码。例如,如下面更加详细地讨论的,控制器106配置处理器寄存器108用于将处理器核心分配到备用组204以及管理对处理器核心104的主组202和备用组204的访问。另外,如下面更加详细地讨论的,处理器寄存器108包括用于每一处理器核心104的寄存器标记、位或其它指示符以便指示相应处理器核心104是否已故障(或者正故障)并控制或限制由相应处理器核心104对相应处理器组202、204引起的硬件中断的广播。
计算设备100可以体现为任何类型的计算设备,比如移动计算设备、智能电话、计算平板、移动互联网设备、膝上计算机、数字助手、台式计算机、服务器和/或其它能够执行这里所描述的功能的计算设备。如图1所示,说明性计算设备100进一步包括I/O子***110、存储器112、数据存储器114和一个或多个附加***设备116。在一些实施例中,几个前述元件可能被并入在计算设备100的主板上,同时其它元件可以通过例如***接口与主板通信的耦合。进一步地,应该理解的是,计算设备100可以包括其它组件、子组件和通常在多核心计算设备或***中出现的设备,为了使描述清楚这些设备未在图1中示出。
计算设备100的I/O子***110可以体现为电路和/或组件以便于处理器102和/或计算设备100的其它组件的输入/输出操作。在一些实施例中,I/O子***110可以包含例如存储器控制器集线器(MCH或者“北桥”)、输入/输出控制器集线器(ICH或者“南桥”)以及固件设备。在这样的实施例中,I/O子***110的固件设备可以体现为例如存储器设备以用于存储基本输入/输出***(BIOS)数据和/或指令和/或其它信息(例如,计算设备100的引导期间使用的BIOS驱动器)。然而,在其它实施例中,可以使用具有其它的配置的I/O子***。例如,在一些实施例中,I/O子***110可以体现为平台控制器集线器(PCH)。在这样的实施例中,存储器控制器集线器(MCH)可以被并入处理器102或者以其它方式与处理器102关联,并且处理器102可以与存储器112直接通信(如图1中虚线所示)。另外,在其它实施例中,I/O子***110可以形成芯片上***(SoC)的一部分,并且和处理器102以及计算设备100的其它组件一起并入在单个集成电路芯片上。
处理器102通过多个信号路径通信耦合到I/O子***110。这些信号路径(和其它图1所示的信号路径)可以体现为任何类型的能够易于在计算设备100的组件之间通信的信号路径。例如,信号路径可以体现为例如任何数量的点对点链路、线路、缆线、光导、印刷电路板迹线、通路、总线、***设备和/或类似的。
计算设备100的存储器112可以体现为或否则包括一个或多个存储器设备或数据存储位置,包括例如动态随机存取存储器设备(DRAM)、同步动态随机存取存储器设备(SDRAM)、双数据速率同步动态随机存取存储器设备(DDRSDRAM)、屏蔽只读存储器(ROM)设备、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)设备、闪存设备和/或其它易失性和/或非易失性存储器设备。存储器112通过大量信号路径通信耦合到I/O子***110。尽管在图1中仅示出单个存储器设备112,但在其它实施例中计算设备100可以包括附加存储器设备。各种数据和软件可以被存储在存储器112中。例如,形成由处理器102来执行的软件堆栈的一个或多个操作***、应用、程序、库和驱动器在执行期间可以驻留在存储器112中。
数据存储114可以体现为任何类型的设备或者多个设备,其配置成用于短期或者长期的数据存储,比如例如存储器设备和电路、存储卡、硬盘驱动器、固态驱动器或其它数据存储设备。例如,在计算设备100上执行的操作***和各种软件应用可以被存储在数据存储114中。另外,由这些软件应用所产生的数据可以被存储在数据存储114上用于之后的取回并用于如软件应用所需要的用途。
计算设备100的***设备116可以包括任何数量的附加输入/输出设备、接口设备和/或其它***设备。例如,***设备116可以包括显示器、键盘、鼠标、扬声器和/或其它***设备。***设备116通过多个信号路径与I/O子***110通信耦合由此允许I/O子***110和/或处理器102接收来自***设备116的输入以及发送输出给***设备116。
现在参考图2,在使用中,计算设备100建立了软件环境200。软件环境200包括一个或多个软件应用220,其在计算设备100的操作***222上执行。软件应用220可以体现为任何类型的能够如下所述利用备用组204的处理器核心104的软件应用。例如,在一个实施例中,软件应用200包含计算密集、多线程应用。
软件环境200也包括固件224,比如基础输入/输出***(BIOS)固件,其控制应用220和操作***222对处理器核心104的访问。为了这样做,如上所述,固件224建立主处理器核心描述表212,其说明性地体现为多改进式编程中断控制器(APIC)描述表(MADT)。当然,其它类型的硬件描述表、列表或数据集可以被使用在其它实施例中。主处理器核心描述表212识别主组202的每一个没有分配的处理器核心104。然而,备用组204的被分配的处理器核心104没有列在主处理器核心描述表212中。在初始化期间,操作***222访问主处理器核心描述212以便识别那些可用于操作***222的处理器核心104。因为备用组204的被分配的处理器核心104没有在主处理器核心描述表212中列出,备用组204的被分配的处理器核心104从操作***222“摘要”出,以及如此操作***222在普通操作期间不直接使用备用组204的处理器核心104。
固件224也建立了备用处理器核心描述表214,其说明性的体现为虚拟消息通过接口(VMPI)表。再次,其它类型的硬件描述表、列表或数据集可以被用在其它实施例中。备用处理器核心描述表214识别处理器核心104的备用组204的分配的处理器核心104中的每一个。在应用220的执行期间,备用处理器核心描述表214的处理器核心104被分配到所需的软件应用220(或软件应用220的单个任务/线程)。
为了易于与处理器核心104的交互,固件224也在操作***222和主组202的处理器核心104之间建立改进式配置和功率接口(ACPI),并在应用220和备用组204的处理器核心104之间建立消息通过接口(MPI)。操作***222使用ACPI以便与主组202的处理器核心104通信并且应用220使用MPI以便与备用组204的处理器核心通信。
软件环境200也包括一个或多个处理器微码226,其可以由处理器102的控制器106执行。微码226管理和控制对处理器核心104的访问。例如,如上所述,微码226保持处理器寄存器108以易于处理器核心104在主组202和备用组204之间的分配。尽管图2的说明性实施例中示出和描述为处理器微码226,但应该理解的是在其它实施例中BIOS SMM或者其它嵌入的操作编码可以被用于管理和控制对处理器核心104的访问。
在图2所述的实施例中,处理器寄存器108包括大量的标记、位或者其它指示符,其可用于指示处理器核心104的状态并控制由其产生的错误处理。例如,处理器寄存器108包括备用核心标记230,其可以由微码226用于(例如,“设置为”)指示相应的处理器核心104已经被分配给备用组204。处理器寄存器108还包括故障核心标记232,其可以通过微码226用于指示相应处理器核心104已经故障或者正故障。另外,处理器寄存器108包括虚拟消息通过接口(VMPI)中断标记234,其可以由微码226用于指示由相应处理器核心104所引起的任何中断应该只被广播到备用组204的处理器核心104或者以其它方式仅可由备用组204的处理器核心104访问。
如下更详细描述的那样,一旦处理器核心错误在计算设备100的操作期间发生,固件224和/或微码226就可以执行某些动作以易于计算设备100从硬件错误中恢复。例如,如果处理器核心错误由备用组204的处理器核心104引起的,则由其产生的硬件错误仅广播到备用组204的那些处理器核心104以及由此是可恢复的。为了这样做,固件224指令应用220重启,这使得备用组204的新处理器核心104被分配到应用220。备选地,如果处理器核心错误是由主组202的处理器核心104引起的,则固件224/微码226可以执行处理器核心交换(如果错误是可恢复的)来用备用组204的处理器核心104替换主组202的已故障的/故障的处理器核心104。这样,处理器核心错误可以被处理而不中止或者重启操作***222的执行。
现在参考图3,在使用中,计算设备100可以执行方法300以便将处理器核心104分配为主组202和备用组204。方法300开始于块302,其中计算设备100执行预引导初始化过程(例如,存储器112可以被初始化)。在块304中,微码226配置处理器寄存器108用于处理器核心104的分配。为了这样做,如上所述,固件224或微码226可以配置处理器寄存器108以用来与备用核心标记230、故障核心标记232和VMPI中断标记234一起使用。微码226也可以设置备用核心标记230和VMPI中断标记234以用于分配给备用组204的那些处理器核心104。
在块306中,固件224建立主处理器核心描述表212。如上所述,主处理器核心描述表212识别主组202的每一个没有分配的处理器核心104。类似地,在块308中,固件224建立备用处理器核心描述表214。再次,如上所述,备用处理器核心描述表214识别处理器核心104的备用组204主组202的每一个分配的处理器核心104。另外,在块310中,固件224建立错误处理器用于主处理器核心描述表212和备用处理器核心描述表214的处理器核心104(例如,参见图5的方法500)。
现在参考图4,在计算设备100已执行方法300的初始化以及处理器核心分配过程之后,计算设备100可以加载操作***222并且执行一个或多个软件应用220。为了这样做,计算设备100可以执行方法400以用于在计算设备100上执行软件应用。方法400开始于块402,其中操作***122被加载到计算设备100上。在块404中,计算设备100确定是否执行软件应用220。如果是,则方法400前进到块406,其中计算设备100确定软件应用220是否要使用备用组204的分配的处理器核心104。如果否,则在块408中,使用来自主组202的处理器核心104来执行软件应用220。然而,如果软件应用220要使用备用组204的分配的处理器核心104,则方法400前进到块410,其中备用组204的一个或多个处理器核心被分配给软件应用220。计算设备100可以使用任何合适的方法或者算法(例如,负载平衡算法)来选择分配给软件应用220的备用组204的处理器核心104。随后,在块412中,使用备用组204的分配的处理器核心104来执行软件应用。应该理解的是,在一些实施例中,在计算设备100上执行的每一个软件应用220被分配有来自备用组204的处理器核心104。
现在参考图5,在执行软件应用220期间,一个或多个硬件错误可能会发生。这样,计算设备100可以执行方法500来管理硬件错误。方法500开始于块502,其中计算设备100确定是否已发生硬件错误。在一些实施例中,响应于硬件错误产生***管理中断(SMI)。如果硬件错误没有发生,方法500循环回到块502以便继续监视硬件错误。然而,如果硬件错误已经发生,则方法500前进到块504,其中计算设备100确定硬件错误是否是处理器核心错误。如果计算设备100确定硬件错误不是处理器核心错误(例如,硬件错误可能是存储器错误),则方法500前进到块506,其中硬件错误被如常处理。
然而,如果硬件错误被确定为处理器核心错误,则方法500前进到块508,其中计算设备100的固件224确定处理器核心错误是否由备用组204的处理器核心104引起。如果是,则处理器核心错误是可恢复的,并且方法500前进到块510,其中固件224通知软件应用220重启,并且在块514中固件返回控制到操作***222。如上所述,当应用220被重启,备用组204的一个或多个新的处理器核心104将被分配给应用220(即,不太可能在备用组204的相同的处理器核心104上执行该应用)。另外,如上所述,如果处理器核心错误是由备用组204的处理器核心104所引起的,则作为处理器核心错误的结果产生的***管理中断(SMI)仅广播到备用组的那些处理器核心104,而不广播到主组202的处理器核心104。
返回参考块508,如果固件224确定处理器核心错误是由主组202的处理器核心104所引起的,则方法500前进到块516,其中固件224确定处理器核心错误是否是可恢复的错误。如果否,那么方法500则运行块518,其中控制被返回到操作***222用于附加错误处理(如果是可用的)。然而,在块516中,如果固件224确定处理器核心错误是可恢复的错误,则方法500前进到块520,其中固件224更新与负责处理器核心错误的处理器核心104关联的错误跟踪计数器。错误跟踪计数器可以体现为任何类型的软件计数器或寄存器以用于跟踪由相应处理器核心104引起的处理器核心错误发生的次数。在块522,固件224确定相关联的处理器核心104的错误跟踪计数器是否已达到参考阈值(例如,相应的处理器核心104已经产生的处理器核心错误的数量等于或者大于参考阈值)。如果否,方则法500前进到块514,其中固件224返回控制给操作***222以便允许操作***222重新尝试执行最近执行的指令或程序。
然而,如果相应处理器核心104的错误阈值已经达到,则方法500前进到块524,其中固件224/微码226执行处理器核心交换。也就是,已故障的或故障的处理器核心104(即,引起处理器核心错误的处理器核心104)被来自备用组204的处理器核心104替换。为了这样做,在块526中固件224更新主处理器核心描述表212以增加来自备用组204的替换处理器核心104。另外,固件224更新备用处理器核心描述表214来移除替换处理器核心104。固件224可以使用任何合适的方法或者算法以便选择备用组204的哪些处理器核心要用作替换核心。例如,在一个实施例中,固件224基于主组202的已故障或故障处理器核心104的裸晶位置选择备用组204的处理器核心来用作替换核心。
在块526中,通过重设备用核心标记230来指示替换处理器核心104不再分配给备用组204,微码226也更新处理器寄存器108。另外,微码226也可以设置已故障或者故障处理器核心104的故障核心标记232。进一步的,在块524中,固件224和/或微码226尝试移动故障处理器核心104的状态信息和上下文(例如,寄存器设置等)到替换处理器核心104中。然而,在一些情况下,故障处理器核心104的完整上下文不可以被获得。在块528中,固件224清除与替换处理器核心104相关联的错误计数器并且方法500循环返回到块502以监视另外的硬件错误。
虽然本公开已经在附图和前述描述中被说明并描述,但这样的说明和描述的性质应认为是示例性的而不是限制,应该理解的是,仅示出并且描述说明性实施例,希望保护与本公开内容和引述的权利要求书相一致的所有的变化和修改。
Claims (46)
1.一种方法,包括:
将计算设备的多个处理器核心的至少一个处理器核心分配给处理器核心备用组;
在所述计算设备上仅使用所述多个处理器核心中没有分配的处理器核心来执行操作***;
在所述计算设备上使用处理器核心的所述备用组执行软件应用;
检测由所述多个处理器核心中的处理器核心导致的处理器核心错误;以及
响应于已由没有分配的处理器核心引起所述处理器核心错误,在所述没有分配的处理器核心和处理器核心的所述备用组之间执行处理器核心交换。
2.权利要求1所述的方法,其中,分配至少一个处理器核心包括至少分配所述多个处理器核心的三分之一到处理器核心的所述备用组。
3.权利要求1所述的方法,其中,分配至少一个处理器核心包括配置所述计算设备的处理器寄存器用于处理器核心的所述备用组的使用。
4.权利要求3所述的方法,其中,配置处理器寄存器包括为所述多个处理器核心的每一个处理器核心建立寄存器标记,所述寄存器标记可用来指示相关联的处理器核心是否已被分配到处理器核心的所述备用组。
5.权利要求3所述的方法,其中配置处理器寄存器包括为所述多个处理器核心的每一个处理器核心建立寄存器标记,所述寄存器标记可用来指示相关联的处理器核心是否已经故障。
6.权利要求3所述的方法,其中配置处理器寄存器包括为所述多个处理器核心的每一个处理器核心建立中断寄存器标记,所述中断寄存器标记可用于引起任何来自所述相关联处理器核心的硬件中断发源只被广播到处理器核心的所述备用组中的其它处理器核心而不被广播到任何没有分配的处理器核心。
7.权利要求1所述的方法,进一步包括为所述没有分配的核心建立主处理器核心描述表,以及为处理器核心的所述备用组建立备用处理器核心描述表,所述主处理器核心描述表只包括所述没有分配的核心。
8.权利要求7所述的方法,进一步的,其中执行所述操作***包括使所述操作***仅受到所述主处理器核心描述表中的所列所述处理器核心的影响。
9.权利要求7所述的方法,进一步的,其中执行所述软件应用包括在所述软件应用和所述备用处理器核心描述表中所列的至少一个所述处理器核心之间建立消息通过接口。
10.权利要求1所述的方法,进一步包括:
响应于所述处理器核心错误产生***管理中断;以及
响应于由处理器核心的所述备用组的分配的处理器核心引起的所述处理器核心错误,将所述***管理中断仅广播到处理器核心的所述备用组的所述分配的处理器核心。
11.权利要求1所述的方法,进一步包括确定处理器核心错误是否是由没有分配的处理器核心引起的。
12.权利要求11所述的方法,进一步包括响应于确定由没有分配的处理器核心引起所述处理器核心错误,指令所述软件应用重启。
13.权利要求12所述的方法,进一步包括响应于所述软件应用重启将处理器核心的所述备用组中的新处理器核心分配给所述软件应用。
14.权利要求11所述的方法,进一步包括:
响应于确定所述处理器核心错误是由没有分配的处理器核心引起的,确定所述处理器核心错误是否是可恢复的;以及
响应于确定所述处理器核心错误是不可恢复的,将控制从所述计算***的固件返回到所述操作***用于所述处理器核心错误的处理。
15.权利要求11所述的方法,进一步包括:
响应于确定所述处理器核心错误是由没有分配的处理器核心引起的,确定所述处理器核心错误是否是可恢复的;以及
递增与引起所述处理器核心错误的所述没有分配的处理器核心相关联的错误计数器。
16.权利要求15所述的方法,进一步包括:
比较所述错误计数器与参考阈值;以及
响应于所述错误计数器小于所述参考阈值,将控制从所述计算***的固件返回到所述操作***,以允许所述操作***来重新尝试执行在所述处理器核心错误的产生之前的最后的软件指令。
17.权利要求15所述的方法,进一步包括:
比较所述错误计数器与参考阈值;以及
响应于所述错误计数器等于所述参考阈值执行所述处理器核心交换。
18.权利要求1所述的方法,其中执行处理器核心交换包括用来自处理器核心的所述备用组的替换处理器核心来代替引起所述处理器核心错误的所述没有分配的处理器核心。
19.权利要求18所述的方法,其中代替所述没有分配的处理器核心包括用所述替换处理器核心代替所述没有分配的处理器而不中断所述操作***的执行。
20.权利要求18所述的方法,其中代替所述没有分配的处理器核心包括将来自引起所述处理器核心错误的所述没有分配的处理器核心的上下文移动到所述替换处理器核心。
21.权利要求20所述的方法,其中移动来自引起所述处理器核心错误的所述没有分配的处理器核心的所述上下文给所述替换处理器核心包括:将与所述替换处理器核心相关联的虚拟核心识别数设置为与引起所述处理器核心错误的所述没有分配的处理器核心相关联的虚拟核心识别数。
22.权利要求18所述的方法,其中代替所述没有分配的处理器核心包括更新处理器核心寄存器以便指示所述没有分配的处理器核心已经故障并且所述替换处理器核心不再分配给处理器核心的所述备用组。
23.权利要求18所述的方法,其中代替所述没有分配的处理器核心包括更新主硬件描述表以(i)移除引起所述处理器核心错误的所述没有分配的处理器核心以及(ii)增加所述替换处理器核心,在所述主硬件描述表中,每一个所述没有分配的处理器核心被列出。
24.权利要求23所述的方法,其中代替没有分配的处理器核心包括更新备用硬件描述表以移除所述替换处理器,在所述备用硬件描述表中,处理器核心的所述备用组中的每一个处理器核心被列出。
25.一种计算设备,包括:
多个处理器核心;
存储器;
固件逻辑,用来(i)将所述多个处理器核心中的至少一个分配给处理器核心的备用组,(ii)在所述存储器中建立备用处理器核心硬件描述表,其包括每一个分配的处理器核心,以及(iii)在所述存储器中建立主处理器硬件描述表,其包括每一个没有分配的处理器核心;以及
处理器控制逻辑,控制处理器寄存器来指所述示多个处理器核心中的每一个处理器核心是分配的处理器核心还是没有分配的处理器核心,
其中,响应于已由没有分配的处理器核心引起处理器核心错误,所述固件逻辑和所述处理器控制逻辑中的至少一个用来在所述没有分配的处理器核心与所述分配的处理器核心之间执行处理器核心交换。
26.权利要求25所述的计算设备,其中所述固件逻辑用于至少分配所述多个处理器核心的三分之一到处理器核心的所述备用组。
27.权利要求25所述的计算设备,其中处理器寄存器包括寄存器标记,其可用于指示所述相关联的处理器核心是否已故障。
28.权利要求25所述的计算设备,其中所述处理器寄存器包括中断寄存器标记,其可用于引起任何来自所述相关联处理器核心的硬件中断发源只被广播到处理器核心的所述备用组中的其它处理器核心而不被广播到任何没有分配的处理器核心。
29.权利要求25所述的计算设备,其中仅所述主处理器核心硬件描述表中所列的所述分配的处理器核心可以由在计算设备上执行的操作***使用。
30.权利要求25所述的计算设备,其中所述固件逻辑用于在所述计算设备上执行的软件应用与所述备用处理器核心描述表中所列的至少一个分配的处理器核心之间建立消息通过接口。
31.权利要求25所述的计算设备,其中所述处理器控制逻辑用于响应于由处理器核心的所述备用组的分配的处理器核心引起的所述处理器核心错误,将响应于所述处理器核心错误产生的***管理中断仅广播到处理器核心的所述备用组中的所述分配的处理器核心。
32.权利要求25所述的计算设备,其中所述固件逻辑用于确定处理器核心错误是否是由没有分配的处理器核心引起的。
33.权利要求32所述的计算设备,其中所述固件逻辑用于响应于确定由没有分配的处理器核心引起所述处理器核心错误,指令在所述计算设备上执行的软件应用使用处理器核心的所述备用组来重启。
34.权利要求33所述的计算设备,其中所述处理器控制逻辑用于响应于软件应用的重启将处理器核心的所述备用组中的新处理器核心分配给所述软件应用。
35.权利要求32所述的计算设备,其中固件逻辑用于:
响应于确定所述处理器核心错误是由没有分配的处理器核心引起的,确定所述处理器核心错误是否是可恢复的;以及
响应于确定所述处理器核心错误是不可恢复的,将控制返回到所述计算设备上执行的操作***用于所述处理器核心错误的处理。
36.权利要求32所述的计算设备,其中所述固件逻辑用于:
响应于确定所述处理器核心错误是由没有分配的处理器核心引起的,确定所述处理器核心错误是否是可恢复的;以及
递增与引起所述处理器核心错误的所述没有分配的处理器核心相关联的错误计数器。
37.权利要求36所述的计算设备,其中所述固件逻辑用于:
比较所述错误计数器与参考阈值;以及
响应于所述错误计数器小于所述参考阈值,返回控制到在所述计算设备上执行的操作***以允许所述操作***来重新尝试执行在所述处理器核心错误的产生之前的最后的软件指令。
38.权利要求36所述的计算设备,其中所述固件逻辑用于:
比较所述错误计数器与参考阈值;以及
响应于所述错误计数器等于所述参考阈值执行所述处理器核心交换。
39.权利要求1所述的计算设备,其中执行处理器核心交换包括用来自处理器核心的所述备用组的替换处理器核心代替引起所述处理器核心错误的所述没有分配的处理器核心。
40.权利要求39所述的计算设备,其中代替所述没有分配的处理器核心包括用所述替换处理器核心代替所述没有分配的处理器而不中断所述计算设备上的操作***的执行。
41.权利要求39所述的计算设备,其中代替所述没有分配的处理器核心包括将来自引起所述处理器核心错误的所述没有分配的处理器核心的上下文移动到所述替换处理器核心。
42.权利要求41所述的计算设备,其中移动来自引起所述处理器核心错误的所述没有分配的处理器核心的所述上下文到所述替换处理器核心包括:将与所述替换处理器核心相关联的虚拟核心识别数设置为与引起所述处理器核心错误的所述没有分配的处理器核心相关联的虚拟核心识别数。
43.权利要求39所述的计算设备,其中代替所述没有分配的处理器核心包括更新处理器核心寄存器以指示所述没有分配的处理器核心已经故障并且所述替换处理器核心不再分配给处理器核心的所述备用组。
44.权利要求39所述的计算设备,其中代替所述没有分配的处理器核心包括所述更新主硬件描述表以(i)移除引起所述处理器核心错误的所述没有分配的处理器核心以及(ii)增加所述替换处理器核心。
45.权利要求44所述的计算设备,其中代替所述没有分配的处理器核心包括更新所述备用硬件描述表以移除所述替换处理器。
46.一种或多种机器可读介质,包括多个存储其上的指令,所述指令响应执行被执行导致计算设备执行权利要求1-24中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910166994.7A CN110083494B (zh) | 2011-12-30 | 2011-12-30 | 在多核心环境中管理硬件错误的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/068130 WO2013101193A1 (en) | 2011-12-30 | 2011-12-30 | Method and device for managing hardware errors in a multi-core environment |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910166994.7A Division CN110083494B (zh) | 2011-12-30 | 2011-12-30 | 在多核心环境中管理硬件错误的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104137072A true CN104137072A (zh) | 2014-11-05 |
Family
ID=48698426
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910166994.7A Active CN110083494B (zh) | 2011-12-30 | 2011-12-30 | 在多核心环境中管理硬件错误的方法和装置 |
CN201180076125.7A Pending CN104137072A (zh) | 2011-12-30 | 2011-12-30 | 在多核心环境中管理硬件错误的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910166994.7A Active CN110083494B (zh) | 2011-12-30 | 2011-12-30 | 在多核心环境中管理硬件错误的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9658930B2 (zh) |
EP (1) | EP2798491B1 (zh) |
CN (2) | CN110083494B (zh) |
WO (1) | WO2013101193A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760264A (zh) * | 2016-02-04 | 2016-07-13 | 浪潮电子信息产业股份有限公司 | 一种检测服务器故障硬件设备的方法及装置 |
CN107077407A (zh) * | 2015-01-21 | 2017-08-18 | 日立汽车***株式会社 | 车辆控制装置 |
CN109872150A (zh) * | 2017-12-04 | 2019-06-11 | 恩智浦美国有限公司 | 具有时钟同步操作的数据处理*** |
CN112041821A (zh) * | 2018-03-29 | 2020-12-04 | Arm有限公司 | 用于冗余处理器错误检测的设备、***和过程 |
WO2022135429A1 (zh) * | 2020-12-23 | 2022-06-30 | 华为技术有限公司 | 快速启动方法 |
CN115167933A (zh) * | 2022-09-08 | 2022-10-11 | 深圳市恒运昌真空技术有限公司 | 一种双处理器设备及其控制方法和处理器 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9658930B2 (en) * | 2011-12-30 | 2017-05-23 | Intel Corporation | Method and device for managing hardware errors in a multi-core environment |
US9135126B2 (en) * | 2013-02-07 | 2015-09-15 | International Business Machines Corporation | Multi-core re-initialization failure control system |
JP6029737B2 (ja) * | 2013-02-15 | 2016-11-24 | 三菱電機株式会社 | 制御装置 |
US10353765B2 (en) * | 2013-03-08 | 2019-07-16 | Insyde Software Corp. | Method and device to perform event thresholding in a firmware environment utilizing a scalable sliding time-window |
US9367406B2 (en) | 2013-08-14 | 2016-06-14 | Intel Corporation | Manageability redundancy for micro server and clustered system-on-a-chip deployments |
CN103870350A (zh) * | 2014-03-27 | 2014-06-18 | 浪潮电子信息产业股份有限公司 | 一种基于watchdog的微处理器多核加固方法 |
CN105243708B (zh) * | 2015-09-22 | 2017-08-29 | 中国船舶重工集团公司第七一八研究所 | 一种智能锁内分层程序及冗余控制架构 |
CN107003914B (zh) * | 2016-10-31 | 2020-11-13 | 华为技术有限公司 | 启动物理设备的方法和使能装置 |
US10303569B2 (en) | 2017-07-13 | 2019-05-28 | International Business Machines Corporation | Simplified processor sparing |
CN110134101A (zh) * | 2018-02-09 | 2019-08-16 | 罗伯特·博世有限公司 | 用于车辆中可更换组件的灵活更换的电子控制单元 |
CN109298961A (zh) * | 2018-08-28 | 2019-02-01 | 迈普通信技术股份有限公司 | 多核处理器的故障处理方法、装置及网络设备 |
US11113188B2 (en) | 2019-08-21 | 2021-09-07 | Microsoft Technology Licensing, Llc | Data preservation using memory aperture flush order |
US11169841B2 (en) * | 2020-03-17 | 2021-11-09 | Internationl Business Machines Corporation | Tunable power save loop for processor chips |
CN117234763A (zh) * | 2022-06-07 | 2023-12-15 | 华为技术有限公司 | 处理器核故障处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055623A (zh) * | 2007-05-30 | 2007-10-17 | 张盛 | 一种实现多业务软件智能卡芯片的方法与装置 |
CN101390067A (zh) * | 2006-02-28 | 2009-03-18 | 英特尔公司 | 增强众核处理器的可靠性 |
US20110010709A1 (en) * | 2009-07-10 | 2011-01-13 | International Business Machines Corporation | Optimizing System Performance Using Spare Cores in a Virtualized Environment |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6675324B2 (en) * | 1999-09-27 | 2004-01-06 | Intel Corporation | Rendezvous of processors with OS coordination |
US6625749B1 (en) * | 1999-12-21 | 2003-09-23 | Intel Corporation | Firmware mechanism for correcting soft errors |
US6988181B2 (en) * | 2000-03-08 | 2006-01-17 | Sun Microsystems, Inc. | VLIW computer processing architecture having a scalable number of register files |
US6804632B2 (en) * | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
US7337334B2 (en) * | 2003-02-14 | 2008-02-26 | International Business Machines Corporation | Network processor power management |
US7257734B2 (en) | 2003-07-17 | 2007-08-14 | International Business Machines Corporation | Method and apparatus for managing processors in a multi-processor data processing system |
US7873785B2 (en) * | 2003-08-19 | 2011-01-18 | Oracle America, Inc. | Multi-core multi-thread processor |
EP1555595A3 (en) * | 2004-01-13 | 2011-11-23 | LG Electronics, Inc. | Apparatus for controlling power of processor having a plurality of cores and control method of the same |
US20050154851A1 (en) * | 2004-01-14 | 2005-07-14 | Charles Andrew A. | Fast, high reliability dynamic memory manager |
US7730456B2 (en) * | 2004-05-19 | 2010-06-01 | Sony Computer Entertainment Inc. | Methods and apparatus for handling processing errors in a multi-processing system |
US7467325B2 (en) * | 2005-02-10 | 2008-12-16 | International Business Machines Corporation | Processor instruction retry recovery |
US20060212677A1 (en) | 2005-03-15 | 2006-09-21 | Intel Corporation | Multicore processor having active and inactive execution cores |
US7412353B2 (en) * | 2005-09-28 | 2008-08-12 | Intel Corporation | Reliable computing with a many-core processor |
US7774590B2 (en) * | 2006-03-23 | 2010-08-10 | Intel Corporation | Resiliently retaining state information of a many-core processor |
US7406407B2 (en) * | 2006-06-01 | 2008-07-29 | Microsoft Corporation | Virtual machine for operating N-core application on M-core processor |
US8146089B2 (en) * | 2006-06-14 | 2012-03-27 | Intel Corporation | Sharing resources of a partitioned system |
US7493477B2 (en) * | 2006-06-30 | 2009-02-17 | Intel Corporation | Method and apparatus for disabling a processor core based on a number of executions of an application exceeding a threshold |
US7949887B2 (en) * | 2006-11-01 | 2011-05-24 | Intel Corporation | Independent power control of processing cores |
US8412981B2 (en) * | 2006-12-29 | 2013-04-02 | Intel Corporation | Core sparing on multi-core platforms |
US7673113B2 (en) * | 2006-12-29 | 2010-03-02 | Intel Corporation | Method for dynamic load balancing on partitioned systems |
US20080235454A1 (en) * | 2007-03-22 | 2008-09-25 | Ibm Corporation | Method and Apparatus for Repairing a Processor Core During Run Time in a Multi-Processor Data Processing System |
US20080244354A1 (en) * | 2007-03-28 | 2008-10-02 | Gansha Wu | Apparatus and method for redundant multi-threading with recovery |
US8219788B1 (en) * | 2007-07-23 | 2012-07-10 | Oracle America, Inc. | Virtual core management |
JP2009054083A (ja) * | 2007-08-29 | 2009-03-12 | Hitachi Ltd | プロセッサ、データ転送ユニット及びマルチコアプロセッサシステム |
US7802042B2 (en) * | 2007-12-28 | 2010-09-21 | Intel Corporation | Method and system for handling a management interrupt event in a multi-processor computing device |
US8645965B2 (en) * | 2007-12-31 | 2014-02-04 | Intel Corporation | Supporting metered clients with manycore through time-limited partitioning |
US8495342B2 (en) * | 2008-12-16 | 2013-07-23 | International Business Machines Corporation | Configuring plural cores to perform an instruction having a multi-core characteristic |
US8875052B2 (en) * | 2009-01-26 | 2014-10-28 | International Business Machines Corporation | Keystroke activated dynamic task menu |
US8122176B2 (en) * | 2009-01-29 | 2012-02-21 | Dell Products L.P. | System and method for logging system management interrupts |
US8473818B2 (en) * | 2009-10-12 | 2013-06-25 | Empire Technology Development Llc | Reliable communications in on-chip networks |
US8914672B2 (en) * | 2009-12-28 | 2014-12-16 | Intel Corporation | General purpose hardware to replace faulty core components that may also provide additional processor functionality |
US9658930B2 (en) * | 2011-12-30 | 2017-05-23 | Intel Corporation | Method and device for managing hardware errors in a multi-core environment |
US9417879B2 (en) * | 2013-06-21 | 2016-08-16 | Intel Corporation | Systems and methods for managing reconfigurable processor cores |
-
2011
- 2011-12-30 US US13/976,030 patent/US9658930B2/en active Active
- 2011-12-30 EP EP11878683.9A patent/EP2798491B1/en active Active
- 2011-12-30 WO PCT/US2011/068130 patent/WO2013101193A1/en active Application Filing
- 2011-12-30 CN CN201910166994.7A patent/CN110083494B/zh active Active
- 2011-12-30 CN CN201180076125.7A patent/CN104137072A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101390067A (zh) * | 2006-02-28 | 2009-03-18 | 英特尔公司 | 增强众核处理器的可靠性 |
CN101055623A (zh) * | 2007-05-30 | 2007-10-17 | 张盛 | 一种实现多业务软件智能卡芯片的方法与装置 |
US20110010709A1 (en) * | 2009-07-10 | 2011-01-13 | International Business Machines Corporation | Optimizing System Performance Using Spare Cores in a Virtualized Environment |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077407A (zh) * | 2015-01-21 | 2017-08-18 | 日立汽车***株式会社 | 车辆控制装置 |
CN107077407B (zh) * | 2015-01-21 | 2020-02-21 | 日立汽车***株式会社 | 车辆控制装置 |
CN105760264A (zh) * | 2016-02-04 | 2016-07-13 | 浪潮电子信息产业股份有限公司 | 一种检测服务器故障硬件设备的方法及装置 |
CN109872150A (zh) * | 2017-12-04 | 2019-06-11 | 恩智浦美国有限公司 | 具有时钟同步操作的数据处理*** |
CN112041821A (zh) * | 2018-03-29 | 2020-12-04 | Arm有限公司 | 用于冗余处理器错误检测的设备、***和过程 |
CN112041821B (zh) * | 2018-03-29 | 2024-05-24 | Arm有限公司 | 用于冗余处理器错误检测的设备、***和过程 |
WO2022135429A1 (zh) * | 2020-12-23 | 2022-06-30 | 华为技术有限公司 | 快速启动方法 |
CN115167933A (zh) * | 2022-09-08 | 2022-10-11 | 深圳市恒运昌真空技术有限公司 | 一种双处理器设备及其控制方法和处理器 |
CN115167933B (zh) * | 2022-09-08 | 2022-12-02 | 深圳市恒运昌真空技术有限公司 | 一种双处理器设备及其控制方法和处理器 |
Also Published As
Publication number | Publication date |
---|---|
EP2798491A4 (en) | 2015-12-16 |
EP2798491A1 (en) | 2014-11-05 |
US9658930B2 (en) | 2017-05-23 |
CN110083494A (zh) | 2019-08-02 |
CN110083494B (zh) | 2023-07-25 |
EP2798491B1 (en) | 2017-02-01 |
US20140164827A1 (en) | 2014-06-12 |
WO2013101193A1 (en) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104137072A (zh) | 在多核心环境中管理硬件错误的方法和装置 | |
US9158628B2 (en) | Bios failover update with service processor having direct serial peripheral interface (SPI) access | |
US9135126B2 (en) | Multi-core re-initialization failure control system | |
US9448889B2 (en) | BIOS failover update with service processor | |
US9448808B2 (en) | BIOS update with service processor without serial peripheral interface (SPI) access | |
US9806959B2 (en) | Baseboard management controller (BMC) to host communication through device independent universal serial bus (USB) interface | |
CN103827834A (zh) | 一种内存数据的迁移方法、计算机和装置 | |
CN103842968A (zh) | 一种内存数据的迁移方法、计算机和装置 | |
CN103403689A (zh) | 一种资源故障管理方法、装置及*** | |
JP2014048907A (ja) | 情報処理装置および制御方法 | |
US9063868B2 (en) | Virtual computer system, area management method, and program | |
CN104156234A (zh) | 启动多核处理器、bootloader大小端模式自适应的方法及装置 | |
US10853213B2 (en) | Validation of installation of removeable computer hardware components | |
CN104205043A (zh) | 对计算机上的操作***隐藏逻辑处理器 | |
US11126486B2 (en) | Prediction of power shutdown and outage incidents | |
US20080276121A1 (en) | Method and infrastructure for recognition of the resources of a defective hardware unit | |
EP2979170B1 (en) | Making memory of compute and expansion blade devices available for use by an operating system | |
US10289467B2 (en) | Error coordination message for a blade device having a logical processor in another system firmware domain | |
WO2017078707A1 (en) | Method and apparatus for recovering in-memory data processing system | |
US11422702B2 (en) | Managing utilization of storage class memory (SCM) resources | |
TWI526974B (zh) | 關聯於電力輸送之多個節點的通訊 | |
US20240143474A1 (en) | System and method for dynamic sensors support in ipmi stack | |
CN114217737A (zh) | 一种数据存储处理方法、数据存储处理电路及电子设备 | |
CN106933558A (zh) | 一种电源控制方法及装置 | |
CN117795486A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141105 |
|
RJ01 | Rejection of invention patent application after publication |