CN110083494A - 在多核心环境中管理硬件错误的方法和装置 - Google Patents

在多核心环境中管理硬件错误的方法和装置 Download PDF

Info

Publication number
CN110083494A
CN110083494A CN201910166994.7A CN201910166994A CN110083494A CN 110083494 A CN110083494 A CN 110083494A CN 201910166994 A CN201910166994 A CN 201910166994A CN 110083494 A CN110083494 A CN 110083494A
Authority
CN
China
Prior art keywords
processor core
core
processor
mistake
distributed
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.)
Granted
Application number
CN201910166994.7A
Other languages
English (en)
Other versions
CN110083494B (zh
Inventor
R.斯万森
M.布卢苏
R.B.巴恩森
N.兰加纳桑
D.隆巴德
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
Priority to CN201910166994.7A priority Critical patent/CN110083494B/zh
Publication of CN110083494A publication Critical patent/CN110083494A/zh
Application granted granted Critical
Publication of CN110083494B publication Critical patent/CN110083494B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2035Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2041Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2043Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality

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所引起的,则作为处理器核心错误的结果产生的系统管理中断(SMD仅广播到备用组的那些处理器核心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 (23)

1.一种计算设备,包括:
多个处理器核心;
存储器;
固件逻辑,用来(i)将所述多个处理器核心中的至少一个分配给处理器核心的备用组,(ii)在所述存储器中建立备用处理器核心硬件描述表,其包括每一个分配的处理器核心,(iii)在所述存储器中建立主处理器核心硬件描述表,其包括每一个没有分配的处理器核心,(iv)确定处理器核心错误是否是由分配的处理器核心引起的,(v)响应于确定由所述分配的处理器核心引起所述处理器核心错误,指令在所述计算设备上执行的软件应用使用处理器核心的所述备用组来重启,以及(vi)响应于所述软件应用重启,为所述软件应用分配处理器核心的所述备用组中的新的处理器核心;以及
处理器控制逻辑,用来控制处理器寄存器以指示所述多个处理器核心中的每一个处理器核心是分配的还是没有分配的处理器核心。
2.权利要求1所述的计算设备,其中所述处理器寄存器包括寄存器标记,其可用于指示相关联的处理器核心是否已故障。
3.权利要求1所述的计算设备,其中处理器寄存器包括中断寄存器标记,其可用于引起任何源于所述相关联处理器核心的硬件中断只被广播到处理器核心的所述备用组中的其它处理器核心而不被广播到任何没有分配的处理器核心。
4.权利要求1所述的计算设备,其中所述处理器控制逻辑用于响应于由处理器核心的所述备用组的分配的处理器核心引起的另一处理器核心错误,将响应于所述处理器核心错误产生的系统管理中断仅广播到处理器核心的所述备用组中的所述分配的处理器核心。
5.权利要求1所述的计算设备,其中所述固件逻辑用于:
确定所述处理器核心错误是否是由没有分配的处理器核心引起的,
响应于确定所述处理器核心错误是由没有分配的处理器核心引起的,确定所述处理器核心错误是否是可恢复的,
递增与引起所述处理器核心错误的所述没有分配的处理器核心相关联的错误计数器,
比较所述错误计数器与参考阈值,以及
响应于所述错误计数器小于所述参考阈值,返回控制到所述计算设备上执行的操作系统,以允许操作系统重新尝试执行在所述处理器核心错误的产生之前的最后的软件指令。
6.权利要求1所述的计算设备,其中所述固件逻辑用于:
确定所述处理器核心错误是否是由没有分配的处理器核心引起的,
响应于确定所述处理器核心错误是由没有分配的处理器核心引起的,确定所述处理器核心错误是否是可恢复的,
递增与引起所述处理器核心错误的所述没有分配的处理器核心相关联的错误计数器,
比较所述错误计数器与参考阈值,以及
响应于所述错误计数器等于所述参考阈值而在所述没有分配的处理器核心与所述分配的处理器核心之间执行处理器核心交换。
7.权利要求1所述的计算设备,其中所述固件逻辑用于:
确定所述处理器核心错误是否是由没有分配的处理器核心引起的,以及
响应于确定所述处理器核心错误是由所述没有分配的处理器核心引起,用来自处理器核心的所述备用组的替换处理器核心代替引起所述处理器核心错误的所述没有分配的处理器核心而不中断所述计算设备上的操作系统的执行。
8.权利要求7所述的计算设备,其中用替换处理器核心代替引起所述处理器核心错误的所述没有分配的处理器核心包括将与所述替换处理器核心相关联的虚拟核心识别数设置为与引起所述处理器核心错误的所述没有分配的处理器核心相关联的虚拟核心识别数。
9.权利要求7所述的计算设备,其中用替换处理器核心代替引起所述处理器核心错误的所述没有分配的处理器核心包括更新处理器核心寄存器以便指示引起所述处理器核心错误的所述没有分配的处理器核心已经故障并且所述替换处理器核心不再分配给处理器核心的所述备用组。
10.权利要求7所述的计算设备,其中用替换处理器核心代替引起所述处理器核心错误的所述没有分配的处理器核心包括更新所述主硬件描述表以(i)移除引起所述处理器核心错误的所述没有分配的处理器核心以及(ii)增加所述替换处理器核心。
11.一种或多种非短暂性机器可读介质,包括多个指令,所述多个指令响应于被执行,使得计算设备:
将计算设备的多个处理器核心的至少一个处理器核心分配给处理器核心的备用组;
在所述计算设备上仅使用所述多个处理器核心中没有分配的处理器核心来执行操作系统;
在计算设备上使用处理器核心的所述备用组执行软件应用;
检测由所述多个处理器核心中的处理器核心导致的处理器核心错误;
确定处理器核心错误是否是由分配的处理器核心引起;
响应于确定所述处理器核心错误是由所述分配的处理器核心引起,指令所述软件应用重启;以及
响应于所述软件应用重启,为所述软件应用分配处理器核心的所述备用组中的新的处理器核心。
12.权利要求11所述的一种或多种非短暂性机器可读介质,其中分配至少一个处理器核心包括为所述多个处理器核心的每一个处理器核心建立寄存器标记,所述寄存器标记可用于指示所述相关联的处理器核心是否已经被分配到处理器核心的所述备用组。
13.权利要求11所述的一种或多种非短暂性机器可读介质,其中所述多个指令进一步使得所述计算设备:
为所述没有分配的核心建立主处理器核心描述表和为处理器核心的所述备用组建立备用处理器核心描述表,所述主处理器核心描述表仅包括所述没有分配的核心,
其中执行所述操作系统包括使所述操作系统仅受到所述主处理器核心描述表中所列的所述处理器核心的影响,以及
其中执行所述软件应用包括在所述软件应用与所述备用处理器核心描述表中所列的至少一个所述处理器核心之间建立消息通过接口。
14.权利要求11所述的一种或多种非短暂性机器可读介质,其中所述多个指令进一步使得所述计算设备:
响应于确定所述处理器核心错误是由所述分配的处理器核心引起而产生系统管理中断;以及
将所述系统管理中断仅广播到处理器核心的所述备用组的所述分配的处理器核心。
15.权利要求11所述的一种或多种非短暂性机器可读介质,其中所述多个指令进一步使得所述计算设备:
确定处理器核心错误是否是由没有分配的处理器核心引起;
响应于确定所述处理器核心错误是由没有分配的处理器核心引起,确定所述处理器核心错误是否是可恢复;以及
递增与引起所述处理器核心错误的所述没有分配的处理器核心相关联的错误计数器。
16.权利要求11所述的一种或多种非短暂性机器可读介质,其中所述多个指令进一步使得所述计算设备:
确定处理器核心错误是否是由没有分配的处理器核心引起;
响应于确定所述处理器核心错误是由所述没有分配的处理器核心引起,用来自处理器核心的所述备用组的替换处理器核心代替引起所述处理器核心错误的所述没有分配的处理器核心。
17.权利要求16所述的一种或多种非短暂性机器可读介质,其中,代替所述没有分配的处理器核心包括用所述替换处理器核心代替所述没有分配的处理器而不中断所述操作系统的执行。
18.权利要求16所述的一种或多种非短暂性机器可读介质,其中,代替所述没有分配的处理器核心包括将与所述替换处理器核心相关联的虚拟核心识别数设置为与引起所述处理器核心错误的所述没有分配的处理器核心相关联的虚拟核心识别数。
19.权利要求18所述的一种或多种非短暂性机器可读介质,其中,分配至少一个处理器核心包括:
为所述多个处理器核心的每一个处理器核心建立寄存器标记,所述寄存器标记可用于指示所述相关联的处理器核心是否已故障,以及
为所述多个处理器核心中每一个处理器核心建立中断寄存器标记,所述中断寄存器标记可用于引起任何源自所述相关联的处理器核心的硬件中断仅被广播到处理器核心的所述备用组的其它处理器核心而不被广播到任何没有分配的处理器核心。
20.权利要求16所述的一种或多种非短暂性机器可读介质,其中,代替所述没有分配的处理器核心包括更新处理器核心寄存器以指示所述没有分配的处理器核心已经故障以及所述替换处理器核心不再分配给处理器核心的所述备用组。
21.权利要求16所述的一种或多种非短暂性机器可读介质,其中,代替所述没有分配的处理器核心包括:
更新主硬件描述表以(i)移除引起所述处理器核心错误的所述没有分配的处理器核心和(ii)增加所述替换处理器核心,在所述主硬件描述表中,每一个所述没有分配的处理器核心被列出,以及
更新备用硬件描述表以移除所述替换处理器,在所述备用硬件描述表中,处理器核心的所述备用组的每一个所述处理器核心被列出。
22.一种方法,包括:
将计算设备的多个处理器核心的至少一个处理器核心分配给处理器核心的备用组;
在所述计算设备上仅使用所述多个处理器核心中没有分配的处理器核心来执行操作系统;
在所述计算设备上使用处理器核心的所述备用组执行软件应用;
检测由所述多个处理器核心中的处理器核心导致的处理器核心错误;
确定处理器核心错误是否是由分配的处理器核心引起;
响应于确定所述处理器核心错误是由所述分配的处理器核心引起,指令所述软件应用重启;以及
响应于所述软件应用重启,为所述软件应用分配处理器核心的所述备用组中的新的处理器核心。
23.权利要求22所述的方法,进一步包括:
为所述没有分配的核心建立主处理器核心描述表以及为处理器核心的所述备用组建立备用处理器核心描述表,所述主处理器核心描述表仅包括所述没有分配的核心,
执行所述操作系统包括仅使所述操作系统受到所述主处理器核心描述表中所列的所述处理器核心的影响,以及
其中执行所述软件应用包括在所述软件应用和所述备用处理器核心描述表中所列的至少一个所述处理器核心之间建立消息通过接口。
CN201910166994.7A 2011-12-30 2011-12-30 在多核心环境中管理硬件错误的方法和装置 Active CN110083494B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910166994.7A CN110083494B (zh) 2011-12-30 2011-12-30 在多核心环境中管理硬件错误的方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910166994.7A CN110083494B (zh) 2011-12-30 2011-12-30 在多核心环境中管理硬件错误的方法和装置
CN201180076125.7A CN104137072A (zh) 2011-12-30 2011-12-30 在多核心环境中管理硬件错误的方法和装置
PCT/US2011/068130 WO2013101193A1 (en) 2011-12-30 2011-12-30 Method and device for managing hardware errors in a multi-core environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180076125.7A Division CN104137072A (zh) 2011-12-30 2011-12-30 在多核心环境中管理硬件错误的方法和装置

Publications (2)

Publication Number Publication Date
CN110083494A true CN110083494A (zh) 2019-08-02
CN110083494B CN110083494B (zh) 2023-07-25

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 After (1)

Application Number Title Priority Date Filing Date
CN201180076125.7A Pending CN104137072A (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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023236992A1 (zh) * 2022-06-07 2023-12-14 华为技术有限公司 处理器核故障处理方法、装置、设备及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2798491B1 (en) * 2011-12-30 2017-02-01 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
WO2014125606A1 (ja) * 2013-02-15 2014-08-21 三菱電機株式会社 制御装置
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的微处理器多核加固方法
JP6393628B2 (ja) * 2015-01-21 2018-09-19 日立オートモティブシステムズ株式会社 車両制御装置
CN105243708B (zh) * 2015-09-22 2017-08-29 中国船舶重工集团公司第七一八研究所 一种智能锁内分层程序及冗余控制架构
CN105760264A (zh) * 2016-02-04 2016-07-13 浪潮电子信息产业股份有限公司 一种检测服务器故障硬件设备的方法及装置
EP3764234B1 (en) * 2016-10-31 2022-06-29 Huawei Technologies Co., Ltd. Method and enable apparatus for starting physical device
US10303569B2 (en) 2017-07-13 2019-05-28 International Business Machines Corporation Simplified processor sparing
US10802932B2 (en) * 2017-12-04 2020-10-13 Nxp Usa, Inc. Data processing system having lockstep operation
US10628277B2 (en) * 2018-03-29 2020-04-21 Arm Ltd. Device, system and process for redundant processor error detection
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
CN114741233A (zh) * 2020-12-23 2022-07-12 华为技术有限公司 快速启动方法
CN115167933B (zh) * 2022-09-08 2022-12-02 深圳市恒运昌真空技术有限公司 一种双处理器设备及其控制方法和处理器

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200523802A (en) * 2003-08-19 2005-07-16 Sun Microsystems Inc Multi-core multi-thread processor
CN1641534A (zh) * 2004-01-13 2005-07-20 Lg电子株式会社 用于控制含多个核心的处理器的功率的装置及其控制方法
US20060179207A1 (en) * 2005-02-10 2006-08-10 International Business Machines Corporation Processor instruction retry recovery
CN1834950A (zh) * 2005-03-15 2006-09-20 英特尔公司 具有活动和非活动执行核心的多核处理器
CN1906586A (zh) * 2004-05-19 2007-01-31 索尼计算机娱乐公司 用于在多处理器系统中处置处理错误的方法和设备
US20080163239A1 (en) * 2006-12-29 2008-07-03 Suresh Sugumar Method for dynamic load balancing on partitioned systems
US20080163255A1 (en) * 2006-12-29 2008-07-03 Munoz Alberto J Core sparing on multi-core platforms
US20080244354A1 (en) * 2007-03-28 2008-10-02 Gansha Wu Apparatus and method for redundant multi-threading with recovery
JP2009054083A (ja) * 2007-08-29 2009-03-12 Hitachi Ltd プロセッサ、データ転送ユニット及びマルチコアプロセッサシステム
CN101390067A (zh) * 2006-02-28 2009-03-18 英特尔公司 增强众核处理器的可靠性
CN101405706A (zh) * 2006-03-23 2009-04-08 英特尔公司 弹性地保持多核处理器的状态信息
CN101539875A (zh) * 1999-12-21 2009-09-23 英特尔公司 纠正软错误的固件机制
US20100192092A1 (en) * 2009-01-26 2010-07-29 Thomas Stanton Brugler Keystroke activated dynamic task menu
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 (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675324B2 (en) * 1999-09-27 2004-01-06 Intel Corporation Rendezvous of processors with OS coordination
AU2001245520A1 (en) * 2000-03-08 2001-09-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
US20050154851A1 (en) * 2004-01-14 2005-07-14 Charles Andrew A. Fast, high reliability dynamic memory manager
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with 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
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
CN100481119C (zh) * 2007-05-30 2009-04-22 张盛 一种实现多业务软件智能卡芯片的方法与装置
US8281308B1 (en) * 2007-07-23 2012-10-02 Oracle America, Inc. Virtual core remapping based on temperature
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
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
EP2798491B1 (en) * 2011-12-30 2017-02-01 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

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539875A (zh) * 1999-12-21 2009-09-23 英特尔公司 纠正软错误的固件机制
TW200523802A (en) * 2003-08-19 2005-07-16 Sun Microsystems Inc Multi-core multi-thread processor
CN1641534A (zh) * 2004-01-13 2005-07-20 Lg电子株式会社 用于控制含多个核心的处理器的功率的装置及其控制方法
CN1906586A (zh) * 2004-05-19 2007-01-31 索尼计算机娱乐公司 用于在多处理器系统中处置处理错误的方法和设备
US20060179207A1 (en) * 2005-02-10 2006-08-10 International Business Machines Corporation Processor instruction retry recovery
CN1834950A (zh) * 2005-03-15 2006-09-20 英特尔公司 具有活动和非活动执行核心的多核处理器
CN101390067A (zh) * 2006-02-28 2009-03-18 英特尔公司 增强众核处理器的可靠性
US20090094481A1 (en) * 2006-02-28 2009-04-09 Xavier Vera Enhancing Reliability of a Many-Core Processor
CN101405706A (zh) * 2006-03-23 2009-04-08 英特尔公司 弹性地保持多核处理器的状态信息
US20080163255A1 (en) * 2006-12-29 2008-07-03 Munoz Alberto J Core sparing on multi-core platforms
US20080163239A1 (en) * 2006-12-29 2008-07-03 Suresh Sugumar Method for dynamic load balancing on partitioned systems
US20080244354A1 (en) * 2007-03-28 2008-10-02 Gansha Wu Apparatus and method for redundant multi-threading with recovery
JP2009054083A (ja) * 2007-08-29 2009-03-12 Hitachi Ltd プロセッサ、データ転送ユニット及びマルチコアプロセッサシステム
US20100192092A1 (en) * 2009-01-26 2010-07-29 Thomas Stanton Brugler Keystroke activated dynamic task menu
US20110010709A1 (en) * 2009-07-10 2011-01-13 International Business Machines Corporation Optimizing System Performance Using Spare Cores in a Virtualized Environment

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
LEI ZHANG等: "Fault tolerance mechanism in chip many-core processorsFault tolerance mechanism in chip many-core processors", 《TSINGHUA SCIENCE AND TECHNOLOGY》 *
崔成: "基于MiniSys的双核处理器设计与实现", 《煤炭技术》 *
彭和平等: "面向空间应用的双核容错微处理器的研究与实现", 《宇航学报》 *
马秋菊等: "多核计算机环境下的并行程序设计方法", 《承德石油高等专科学校学报》 *
龚锐等: "片上多核处理器容软错误执行模型", 《计算机学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023236992A1 (zh) * 2022-06-07 2023-12-14 华为技术有限公司 处理器核故障处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP2798491A4 (en) 2015-12-16
US9658930B2 (en) 2017-05-23
CN110083494B (zh) 2023-07-25
US20140164827A1 (en) 2014-06-12
EP2798491A1 (en) 2014-11-05
WO2013101193A1 (en) 2013-07-04
CN104137072A (zh) 2014-11-05
EP2798491B1 (en) 2017-02-01

Similar Documents

Publication Publication Date Title
CN110083494A (zh) 在多核心环境中管理硬件错误的方法和装置
US10333859B2 (en) Multi-tenant resource coordination method
CN103842968B (zh) 一种内存数据的迁移方法、计算机和装置
WO2013145288A1 (ja) 情報処理装置、仮想マシン停止方法およびプログラム
JP6074955B2 (ja) 情報処理装置および制御方法
EP3206127B1 (en) Method, computer, and apparatus for migrating memory data
US10353786B2 (en) Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program
US8589728B2 (en) Job migration in response to loss or degradation of a semi-redundant component
CN110109782B (zh) 一种故障PCIe设备的更换方法、装置及系统
CN104137077A (zh) 处理器系统
KR20170055180A (ko) 멀티 운영시스템을 지닌 전자장치 및 이의 동적 메모리 관리 방법
GB2585404A (en) Inference processing system, inference processing device, and computer program product
CN109271009A (zh) 一种控制服务器背板上电的方法、装置及cpld
CN104205043A (zh) 对计算机上的操作系统隐藏逻辑处理器
US10599530B2 (en) Method and apparatus for recovering in-memory data processing system
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
US20220318073A1 (en) Provisioning a computing subsystem including disaggregated hardware resources that comply with a power domain requirement for a workload
US11237914B2 (en) Intelligent handling of consistency level of virtual machines
US11048523B2 (en) Enabling software sensor power operation requests via baseboard management controller (BMC)
US20170111224A1 (en) Managing component changes for improved node performance
TWI526974B (zh) 關聯於電力輸送之多個節點的通訊
CN104391763B (zh) 基于设备视图冗余的众核处理器容错方法
CN116627360B (zh) 数据下发方法、数据管理系统、服务器及存储介质

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
GR01 Patent grant
GR01 Patent grant