US8117494B2 - DMI redundancy in multiple processor computer systems - Google Patents

DMI redundancy in multiple processor computer systems Download PDF

Info

Publication number
US8117494B2
US8117494B2 US12/644,540 US64454009A US8117494B2 US 8117494 B2 US8117494 B2 US 8117494B2 US 64454009 A US64454009 A US 64454009A US 8117494 B2 US8117494 B2 US 8117494B2
Authority
US
United States
Prior art keywords
processor
computer
boot
instability
management interface
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, expires
Application number
US12/644,540
Other versions
US20110154106A1 (en
Inventor
Bryan Kelly
Michael Kasper
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 US12/644,540 priority Critical patent/US8117494B2/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KASPER, MICHAEL, KELLY, BRIAN
Priority to TW099139986A priority patent/TWI526822B/en
Priority to JP2010262354A priority patent/JP5296036B2/en
Priority to PCT/US2010/058243 priority patent/WO2011087594A2/en
Priority to EP10252158A priority patent/EP2348414A3/en
Priority to CN201010620079.XA priority patent/CN102110035B/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION CORRECTIVE ASSIGNMENT TO CORRECT THE DIGITAL SIGNATURE TO BE REPLACED WITH HANDWRITTEN SIGNATURE PREVIOUSLY RECORDED ON REEL 023747 FRAME 0651. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: KELLY, BRIAN, KASPER, MICHAEL
Publication of US20110154106A1 publication Critical patent/US20110154106A1/en
Priority to US13/356,054 priority patent/US8527808B2/en
Publication of US8117494B2 publication Critical patent/US8117494B2/en
Application granted granted Critical
Priority to US13/954,266 priority patent/US8943360B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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
    • 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/2038Error 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 a single 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

Definitions

  • This disclosure relates generally to the field of multiple processor computer platforms, and more particularly to an apparatus, system and method for desktop management interface (DMI) redundancy in a multiple processor computer system.
  • DMI desktop management interface
  • Computer systems can have a single (unitary) processor (UP) or multiple processor configuration.
  • One type of multiple processor configuration is a dual processor (DP) configuration.
  • DP dual processor
  • a multiple processor configuration typically one of the processor is designated a boot processor, whereby when the computer system is booted, the boot processor is the only processor involved in the boot process. If the boot processor fails to boot the computer system, the computer is typically non-function unless other measures are taken. What is needed is multiple processor computer system that is enabled to determine if the boot processor is functioning properly, and if not, designating another processor to be the boot processor.
  • FIG. 1 shows an example related processor topology.
  • FIG. 2 shows an example of a multiple processor platform having a dual processor (DP) topology in accordance with various aspects of the present disclosure.
  • FIG. 3 shows another example of a multiple processor platform having quad processor topology in accordance with various aspects of the present disclosure.
  • FIG. 4 shows an example flowchart for switching from a DP to DP architecture in accordance with various aspects of the present disclosure.
  • FIG. 5 shows an example flowchart for switching from a DP to a unitary processor (UP) architecture in accordance with various aspects of the present disclosure.
  • a method comprises aspects of monitoring a first processor of a computer by a monitoring module for a first processor instability; determining if the first processor is stable based on the monitored first processor instability; routing operational priority to a second processor of the computer through a multiplexer module if the first processor is determined not to be stable, wherein a first desktop management interface of the first processor and a second desktop management interface of the second processor are in communication with the multiplexer module and wherein the first processor and the second processor are in communication by a processor interconnect; and operating the computer using the second processor.
  • an apparatus comprises aspects of a first processor; a second processor configured to be in communication with the first processor through an interconnect; and a multiplexer configured to multiplex a first desktop management interface of the first processor and a second desktop management interface of the second processor into a platform controller hub.
  • an apparatus comprises aspects of a computer including a board, the board including a first processor; a second processor configured to be in communication with the first processor through an interconnect; and a multiplexer configured to multiplex a first desktop management interface of the first processor and a second desktop management interface of the second processor connected to a platform controller hub.
  • FIG. 1 shows an example related processor topology.
  • Two processors, 105 and 110 are connected through an interconnect, such as a point-to-point processor interconnect like QuickPath Interconnect (QPI) by Intel.
  • a Desktop Management Interface (DMI) of processor 105 is connected to a Platform Control HUB (PCH) 115 , while a DMI of processor 110 is unused.
  • PCH Platform Control HUB
  • a PCH also known as an I/O Controller Hub (ICH) or Southbridge, is a chip that implements the “slower” capabilities of the motherboard (not shown) in a northbridge/southbridge chipset computer architecture.
  • ICH I/O Controller Hub
  • Southbridge is a chip that implements the “slower” capabilities of the motherboard (not shown) in a northbridge/southbridge chipset computer architecture.
  • the southbridge can be distinguished from the northbridge by not being directly connected to the CPU. Rather, the northbridge ties the southbridge to the CPU. Through the use of controller
  • the processors can be route-through enabled processors. Route-through is a packet routing mechanism within the uncore of certain processors.
  • the term “uncore” refers to components of a multi-core chip other than the cores (e.g., the interconnect for the cores, the bus interfaces, etc.). Changes in the internal blocks (CSI home logic, Source Address Decode Blocks, Global Queue, etc) are used to determine the destination of the packets. Instead of processing the packet at each node, the destination node is determined and either ‘route through’ or process based on the destination address.
  • FIG. 2 shows an example of a multiple processor platform having a dual processor (DP) topology in accordance with various aspects of the present disclosure.
  • two processors, 205 and 210 can be connected through an interconnect, such as a point-to-point processor interconnect.
  • the point-to-point interconnect can be a QPI; however, other suitable processor interconnects may be used.
  • processors 205 and 210 are both route-through enabled processors; however, this is merely an example platform configuration. The processors need not be route-through enabled.
  • one of the two processor 205 or 210 can be selected to be a boot processor.
  • a DMI of processor 205 and a DMI of processor 210 can be connected to inputs of multiplexer MUX 215 .
  • a monitor 220 can be in communication with MUX 215 and can be configured to monitor a condition of the boot processor.
  • a controller 230 can in communication with the monitor 220 , MUX 215 or both and be configured to instruct the MUX 215 to designate the non-boot processor to be the boot processor based on the conditioned monitored by the monitor 220 .
  • the output of MUX 215 can be in communication with a PCH 225 .
  • FIG. 3 shows another example of a multiple processor platform having quad processor topology in accordance with various aspects of the present disclosure.
  • four processors, 305 , 310 , 315 and 320 can be connected through an interconnect, such as a point-to-point processor interconnect.
  • the point-to-point interconnect can be a QPI; however, other suitable processor interconnects may be used.
  • processors 305 , 310 , 315 and 320 are route-through enabled processors; however, this is merely an example platform configuration. The processors need not be route-through enabled.
  • one of the four processor 205 or 210 can be selected to be a boot processor.
  • DMI of processors 305 , 310 , 315 and 320 can be connected to inputs of multiplexer MUX 325 .
  • a monitor 320 can be in communication with MUX 315 and can be configured to monitor a condition of the boot processor.
  • a controller 340 can in communication with the monitor 320 , MUX 315 or both and be configured to instruct the MUX 315 to designate a non-boot processor to be the boot processor based on the conditioned monitored by the monitor 320 .
  • Output of MUX 325 can be in communication with a PCH 335 .
  • the monitor 220 , 320 can be a timer, a watchdog timer or a baseboard management controller, or a discrete state machine.
  • a watchdog timer can be a computer hardware timing device that is configured to trigger a system reset if the boot processor, due to some fault condition, such as a hang or freeze, neglects to regularly service the watchdog.
  • a hang or freeze occurs when either the boot processor, a computer program or the whole system becomes unresponsive to user input.
  • Hardware can cause a computer to hang, either because it is intermittent or because it is mismatched with other hardware in the computer. Also, hardware can also become defective over time due to dirt or heat damage.
  • the watchdog can be tied directly to the MUX 215 , 315 or to the controller 230 , 340 or both.
  • the monitor 220 , 320 can be a baseboard management controller (BMC).
  • BMC is a specialized microcontroller embedded on the motherboard of a computer.
  • the BMC is the intelligence in the Intelligent Platform Management Interface (IPMI) architecture.
  • IPMI Intelligent Platform Management Interface
  • the BMC manages the interface between system management software and platform hardware. Different types of sensors built into the computer system report to the BMC on parameters such as temperature, cooling fan speeds, power mode, operating system (OS) status, etc.
  • the BMC monitors the sensors and can send alerts to the MUX 215 , 315 or to the controller 230 , 340 or both if any of the parameters do not stay within preset limits, including a potential failure of the system.
  • a user of the computer can also communicate with the BMC to take some corrective action such as resetting or power cycling the system to get a hung OS running again.
  • Physical interfaces to the BMC can include SMBus busses, an RS-232 serial console, address and data lines and an Intelligent Platform Bus (IPMB), that enables the BMC to accept IPMI request messages from other management controllers in the system.
  • IPMB Intelligent Platform Bus
  • the monitor 220 , 320 can be configured to monitor and determine whether the system is stable by monitoring for various system instabilities.
  • a system instability can include whether or not the designated boot processor is able to boot properly.
  • Other system instabilities can include whether the system is able to remain stable for a specific duration of time, such as on the order of minutes, days or weeks.
  • the determination can be performed in a variety of manners. For example, system instability can be determined manually by a user/operation by observation of the system, using hardware and/or software implemented watchdog timers, or managed through system level logging of performance data.
  • Other parameters can include a determination that the system is running slower as compared to a desired state, electrical instability, too memory errors for the boot processor, or too many errors on DMI or other platform interfaces local to one or more processors.
  • the boot processor configuration can be accomplished on an architecture by architecture basis. For example, various strapping options, such as combinations of inputs on the processor set in a pre-determined fashion used to provide directives to the processor to configure itself when it comes out of reset. The strapping options could be controlled by a PLD, FPGA, a manual switch, or from another logic device on the platform. In some aspects, the boot processor can be disabled on an architecture specific basis.
  • the MUX can be configured in several ways.
  • the MUX can be configured by PCH integrated Manageability Engine, onboard BMC, manually through a user interface on the front panel or through field-programmable gate array (FPGA) or a complex programmable logic device (CPLD).
  • PCH integrated Manageability Engine onboard BMC
  • FPGA field-programmable gate array
  • CPLD complex programmable logic device
  • FIG. 4 shows an example flowchart for switching from a DP to DP architecture in accordance with various aspects of the present disclosure.
  • the process begins at 405 where the monitor 220 , 330 is configured to detect a condition, such as instabilities in the operational status of the processors. If no instability is detected, the process loop back to 405 , where a detected instability leads to 410 .
  • the platform is powered down and the MUX reroutes DMI from socket 0 to socket 1 .
  • the processor in socket 1 is then configured to be the boot processor.
  • the system is reboot in DP mode, where the platform is booted using the rerouted processor in socket 1 .
  • FIG. 5 shows an example flowchart for switching from a DP to a unitary processor (UP) architecture in accordance with various aspects of the present disclosure.
  • the process begins at 505 where the monitor 220 , 330 is configured to detect a condition, such as instabilities in the operational status of the processors. If no instability is detected, the process loop back to 505 , where a detected instability leads to 510 .
  • the platform is powered down and the MUX reroutes DMI from socket 0 to socket 1 .
  • the processor in socket 1 is then configured to be the boot or legacy processor and the processor in socket 0 is disabled.
  • the system is reboot in UP mode, where the platform is booted using the rerouted processor in socket 1 .

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)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

In accordance with various aspects of the disclosure, a method and apparatus are disclosed that includes aspects of monitoring a first processor of a computer by a monitoring module for a first processor instability; determining if the first processor is stable based on the monitored first processor instability; routing operational priority to a second processor of the computer through a multiplexer module if the first processor is determined not to be stable, wherein a first desktop management interface of the first processor and a second desktop management interface of the second processor are in communication with the multiplexer module and wherein the first processor and the second processor are in communication by a processor interconnect; and operating the computer using the second processor.

Description

BACKGROUND
This disclosure relates generally to the field of multiple processor computer platforms, and more particularly to an apparatus, system and method for desktop management interface (DMI) redundancy in a multiple processor computer system.
Computer systems can have a single (unitary) processor (UP) or multiple processor configuration. One type of multiple processor configuration is a dual processor (DP) configuration. In a multiple processor configuration, typically one of the processor is designated a boot processor, whereby when the computer system is booted, the boot processor is the only processor involved in the boot process. If the boot processor fails to boot the computer system, the computer is typically non-function unless other measures are taken. What is needed is multiple processor computer system that is enabled to determine if the boot processor is functioning properly, and if not, designating another processor to be the boot processor.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows an example related processor topology.
FIG. 2 shows an example of a multiple processor platform having a dual processor (DP) topology in accordance with various aspects of the present disclosure.
FIG. 3 shows another example of a multiple processor platform having quad processor topology in accordance with various aspects of the present disclosure.
FIG. 4 shows an example flowchart for switching from a DP to DP architecture in accordance with various aspects of the present disclosure.
FIG. 5 shows an example flowchart for switching from a DP to a unitary processor (UP) architecture in accordance with various aspects of the present disclosure.
DETAILED DESCRIPTION
In the description that follows, like components have been given the same reference numerals, regardless of whether they are shown in different embodiments. To illustrate an embodiment(s) of the present disclosure in a clear and concise manner, the drawings may not necessarily be to scale and certain features may be shown in somewhat schematic form. Features that are described and/or illustrated with respect to one embodiment may be used in the same way or in a similar way in one or more other embodiments and/or in combination with or instead of the features of the other embodiments.
In accordance with various embodiments of this disclosure, a method is disclosed that comprises aspects of monitoring a first processor of a computer by a monitoring module for a first processor instability; determining if the first processor is stable based on the monitored first processor instability; routing operational priority to a second processor of the computer through a multiplexer module if the first processor is determined not to be stable, wherein a first desktop management interface of the first processor and a second desktop management interface of the second processor are in communication with the multiplexer module and wherein the first processor and the second processor are in communication by a processor interconnect; and operating the computer using the second processor.
In accordance with various embodiments of this disclosure, an apparatus is disclosed that comprises aspects of a first processor; a second processor configured to be in communication with the first processor through an interconnect; and a multiplexer configured to multiplex a first desktop management interface of the first processor and a second desktop management interface of the second processor into a platform controller hub.
In accordance with various embodiments of this disclosure, an apparatus is disclosed that comprises aspects of a computer including a board, the board including a first processor; a second processor configured to be in communication with the first processor through an interconnect; and a multiplexer configured to multiplex a first desktop management interface of the first processor and a second desktop management interface of the second processor connected to a platform controller hub.
These and other features and characteristics, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various Figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of claims. As used in the specification and in the claims, the singular form of “a”, “an”, and “the” include plural referents unless the context clearly dictates otherwise.
FIG. 1 shows an example related processor topology. Two processors, 105 and 110, are connected through an interconnect, such as a point-to-point processor interconnect like QuickPath Interconnect (QPI) by Intel. A Desktop Management Interface (DMI) of processor 105 is connected to a Platform Control HUB (PCH) 115, while a DMI of processor 110 is unused. A PCH, also known as an I/O Controller Hub (ICH) or Southbridge, is a chip that implements the “slower” capabilities of the motherboard (not shown) in a northbridge/southbridge chipset computer architecture. Typically, the southbridge can be distinguished from the northbridge by not being directly connected to the CPU. Rather, the northbridge ties the southbridge to the CPU. Through the use of controller integrated channel circuitry, the northbridge can directly link signals from the input/output (I/O) units to the CPU for data control and access.
In multiple processor platforms, the processors can be route-through enabled processors. Route-through is a packet routing mechanism within the uncore of certain processors. The term “uncore” refers to components of a multi-core chip other than the cores (e.g., the interconnect for the cores, the bus interfaces, etc.). Changes in the internal blocks (CSI home logic, Source Address Decode Blocks, Global Queue, etc) are used to determine the destination of the packets. Instead of processing the packet at each node, the destination node is determined and either ‘route through’ or process based on the destination address.
FIG. 2 shows an example of a multiple processor platform having a dual processor (DP) topology in accordance with various aspects of the present disclosure. In this example, two processors, 205 and 210, can be connected through an interconnect, such as a point-to-point processor interconnect. For example, the point-to-point interconnect can be a QPI; however, other suitable processor interconnects may be used. As shown in FIG. 2, processors 205 and 210 are both route-through enabled processors; however, this is merely an example platform configuration. The processors need not be route-through enabled. Upon initial configuration, one of the two processor 205 or 210 can be selected to be a boot processor. A DMI of processor 205 and a DMI of processor 210 can be connected to inputs of multiplexer MUX 215. A monitor 220 can be in communication with MUX 215 and can be configured to monitor a condition of the boot processor. A controller 230 can in communication with the monitor 220, MUX 215 or both and be configured to instruct the MUX 215 to designate the non-boot processor to be the boot processor based on the conditioned monitored by the monitor 220. The output of MUX 215 can be in communication with a PCH 225.
FIG. 3 shows another example of a multiple processor platform having quad processor topology in accordance with various aspects of the present disclosure. In this example, four processors, 305, 310, 315 and 320, can be connected through an interconnect, such as a point-to-point processor interconnect. For example, the point-to-point interconnect can be a QPI; however, other suitable processor interconnects may be used. As shown in FIG. 3, processors 305, 310, 315 and 320 are route-through enabled processors; however, this is merely an example platform configuration. The processors need not be route-through enabled. Upon initial configuration, one of the four processor 205 or 210 can be selected to be a boot processor. DMI of processors 305, 310, 315 and 320 can be connected to inputs of multiplexer MUX 325. A monitor 320 can be in communication with MUX 315 and can be configured to monitor a condition of the boot processor. A controller 340 can in communication with the monitor 320, MUX 315 or both and be configured to instruct the MUX 315 to designate a non-boot processor to be the boot processor based on the conditioned monitored by the monitor 320. Output of MUX 325 can be in communication with a PCH 335.
In some aspects, the monitor 220, 320 can be a timer, a watchdog timer or a baseboard management controller, or a discrete state machine. For example, a watchdog timer can be a computer hardware timing device that is configured to trigger a system reset if the boot processor, due to some fault condition, such as a hang or freeze, neglects to regularly service the watchdog. A hang or freeze occurs when either the boot processor, a computer program or the whole system becomes unresponsive to user input. Hardware can cause a computer to hang, either because it is intermittent or because it is mismatched with other hardware in the computer. Also, hardware can also become defective over time due to dirt or heat damage. The watchdog can be tied directly to the MUX 215, 315 or to the controller 230, 340 or both.
In some aspects, the monitor 220, 320 can be a baseboard management controller (BMC). A BMC is a specialized microcontroller embedded on the motherboard of a computer. The BMC is the intelligence in the Intelligent Platform Management Interface (IPMI) architecture. The BMC manages the interface between system management software and platform hardware. Different types of sensors built into the computer system report to the BMC on parameters such as temperature, cooling fan speeds, power mode, operating system (OS) status, etc. The BMC monitors the sensors and can send alerts to the MUX 215, 315 or to the controller 230, 340 or both if any of the parameters do not stay within preset limits, including a potential failure of the system. A user of the computer can also communicate with the BMC to take some corrective action such as resetting or power cycling the system to get a hung OS running again. Physical interfaces to the BMC can include SMBus busses, an RS-232 serial console, address and data lines and an Intelligent Platform Bus (IPMB), that enables the BMC to accept IPMI request messages from other management controllers in the system.
In some aspects, the monitor 220, 320 can be configured to monitor and determine whether the system is stable by monitoring for various system instabilities. For example, a system instability can include whether or not the designated boot processor is able to boot properly. Other system instabilities can include whether the system is able to remain stable for a specific duration of time, such as on the order of minutes, days or weeks. The determination can be performed in a variety of manners. For example, system instability can be determined manually by a user/operation by observation of the system, using hardware and/or software implemented watchdog timers, or managed through system level logging of performance data. Other parameters can include a determination that the system is running slower as compared to a desired state, electrical instability, too memory errors for the boot processor, or too many errors on DMI or other platform interfaces local to one or more processors.
In some aspects, the boot processor configuration can be accomplished on an architecture by architecture basis. For example, various strapping options, such as combinations of inputs on the processor set in a pre-determined fashion used to provide directives to the processor to configure itself when it comes out of reset. The strapping options could be controlled by a PLD, FPGA, a manual switch, or from another logic device on the platform. In some aspects, the boot processor can be disabled on an architecture specific basis.
In some aspects, the MUX can be configured in several ways. For example, the MUX can be configured by PCH integrated Manageability Engine, onboard BMC, manually through a user interface on the front panel or through field-programmable gate array (FPGA) or a complex programmable logic device (CPLD).
FIG. 4 shows an example flowchart for switching from a DP to DP architecture in accordance with various aspects of the present disclosure. The process begins at 405 where the monitor 220, 330 is configured to detect a condition, such as instabilities in the operational status of the processors. If no instability is detected, the process loop back to 405, where a detected instability leads to 410. At 410, the platform is powered down and the MUX reroutes DMI from socket 0 to socket 1. The processor in socket 1 is then configured to be the boot processor. At 415, the system is reboot in DP mode, where the platform is booted using the rerouted processor in socket 1.
FIG. 5 shows an example flowchart for switching from a DP to a unitary processor (UP) architecture in accordance with various aspects of the present disclosure. The process begins at 505 where the monitor 220, 330 is configured to detect a condition, such as instabilities in the operational status of the processors. If no instability is detected, the process loop back to 505, where a detected instability leads to 510. At 510, the platform is powered down and the MUX reroutes DMI from socket 0 to socket 1. The processor in socket 1 is then configured to be the boot or legacy processor and the processor in socket 0 is disabled. At 515, the system is reboot in UP mode, where the platform is booted using the rerouted processor in socket 1.
Although the above disclosure discusses what is currently considered to be a variety of useful embodiments, it is to be understood that such detail is solely for that purpose, and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims.

Claims (20)

What is being claimed:
1. A method comprising: monitoring a first processor of a computer by a monitoring module for a first processor instability; determining if the first processor is stable based on the monitored first processor instability; routing operational priority to a second processor of the computer through a multiplexer module if the first processor is determined not to be stable, wherein a first desktop management interface of the first processor and a second desktop management interface of the second processor are in communication with the multiplexer module and wherein the first processor and the second processor are in communication by a processor interconnect; and operating the computer using the second processor.
2. The method according to claim 1, wherein the first processor instability includes an pre-boot or a post-boot instability in the computer.
3. The method according to claim 2, wherein the pre-boot instability includes instability of a power supply or a timing mechanism.
4. The method according to claim 2, wherein the post-boot instability includes instability parameters selected from the groups consisting of: a duration of time in which the computer is operational, a predetermined number of memory errors for the first processor and a predetermined level of computer responsiveness to user or computer activity.
5. The method according to claim 1, wherein the monitoring module is selected from the group consisting of: a timer, a watchdog timer or a baseboard management controller and a discrete state machine.
6. The method according to claim 1, further comprising: booting the computer using the second processor.
7. The method according to claim 1, wherein the first desktop management interface of the first processor and the second desktop management interface of the second processor is arranged to be connected to a platform controller hub through the multiplexer module.
8. The method according to claim 1, wherein the computer includes a third process and a fourth processor in communication with the multiplexer module.
9. The method according to claim 1, wherein the determining includes arranging the first processor to instruct the multiplexer module to route operational priority to the second processor.
10. An apparatus comprising: a first processor; a second processor configured to be in communication with the first processor through an interconnect; and a multiplexer configured to multiplex a first desktop management interface of the first processor and a second desktop management interface of the second processor into a platform controller hub.
11. The apparatus according to claim 10, further comprising: a monitor configured to monitor a condition from the multiplexer.
12. The apparatus according to claim 11, further comprising: a controller configured to select which processor is the boot processor to use to boot the computer based on the monitored condition.
13. The apparatus according to claim 12, further comprising: a controller configured to select which processor is the boot processor to use to boot the computer based on the monitored condition.
14. The apparatus according to claim 11, wherein the monitor is selected from the group consisting of: a timer, a watchdog timer or a baseboard management controller and a discrete state machine.
15. The apparatus according to claim 11, wherein the condition includes a pre-boot or a post-boot instability in the computer.
16. The apparatus according to claim 15, wherein the pre-boot instability includes instability of a power supply or a timing mechanism.
17. The apparatus according to claim 11, wherein the post-boot instability includes instability parameters selected from the groups consisting of: a duration of time in which the computer is operational, a predetermined number of memory errors for the first processor and a predetermined level of computer responsiveness to user or computer activity.
18. The apparatus according to claim 11, further comprising: a monitor configured to monitor a condition from the multiplexer.
19. The apparatus according to claim 10, wherein the interconnect is a point-to-point processor interconnect.
20. An apparatus comprising: a computer including a board, the board including: a first processor; a second processor configured to be in communication with the first processor through an interconnect; and a multiplexer configured to multiplex a first desktop management interface of the first processor and a second desktop management interface of the second processor connected to a platform controller hub.
US12/644,540 2009-12-22 2009-12-22 DMI redundancy in multiple processor computer systems Expired - Fee Related US8117494B2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
US12/644,540 US8117494B2 (en) 2009-12-22 2009-12-22 DMI redundancy in multiple processor computer systems
TW099139986A TWI526822B (en) 2009-12-22 2010-11-19 Method and apparatus for dmi redundancy in multiple processor computer systems
JP2010262354A JP5296036B2 (en) 2009-12-22 2010-11-25 DMI redundancy in multiprocessor computer systems
PCT/US2010/058243 WO2011087594A2 (en) 2009-12-22 2010-11-29 Dmi redundancy in multiple processor computer systems
EP10252158A EP2348414A3 (en) 2009-12-22 2010-12-17 Desktop Management Interface redundancy in multiple processor computer systems
CN201010620079.XA CN102110035B (en) 2009-12-22 2010-12-21 DMI redundancy in multiple processor computer systems
US13/356,054 US8527808B2 (en) 2009-12-22 2012-01-23 DMI redundancy in multiple processor computer systems
US13/954,266 US8943360B2 (en) 2009-12-22 2013-07-30 DMI redundancy in multiple processor computer systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/644,540 US8117494B2 (en) 2009-12-22 2009-12-22 DMI redundancy in multiple processor computer systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/356,054 Continuation US8527808B2 (en) 2009-12-22 2012-01-23 DMI redundancy in multiple processor computer systems

Publications (2)

Publication Number Publication Date
US20110154106A1 US20110154106A1 (en) 2011-06-23
US8117494B2 true US8117494B2 (en) 2012-02-14

Family

ID=43770464

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/644,540 Expired - Fee Related US8117494B2 (en) 2009-12-22 2009-12-22 DMI redundancy in multiple processor computer systems
US13/356,054 Active US8527808B2 (en) 2009-12-22 2012-01-23 DMI redundancy in multiple processor computer systems
US13/954,266 Active US8943360B2 (en) 2009-12-22 2013-07-30 DMI redundancy in multiple processor computer systems

Family Applications After (2)

Application Number Title Priority Date Filing Date
US13/356,054 Active US8527808B2 (en) 2009-12-22 2012-01-23 DMI redundancy in multiple processor computer systems
US13/954,266 Active US8943360B2 (en) 2009-12-22 2013-07-30 DMI redundancy in multiple processor computer systems

Country Status (6)

Country Link
US (3) US8117494B2 (en)
EP (1) EP2348414A3 (en)
JP (1) JP5296036B2 (en)
CN (1) CN102110035B (en)
TW (1) TWI526822B (en)
WO (1) WO2011087594A2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201218075A (en) * 2010-10-20 2012-05-01 Hon Hai Prec Ind Co Ltd Dual processor startup system
CN102955136A (en) * 2011-08-18 2013-03-06 鸿富锦精密工业(深圳)有限公司 Assistant detection circuit and assistant detection method for redundant power sources
JP5561622B2 (en) 2011-09-27 2014-07-30 日本電気株式会社 Multiplexing system, data communication card, state abnormality detection method, and program
TW201321943A (en) * 2011-11-17 2013-06-01 Hon Hai Prec Ind Co Ltd Fan control system and method
CN103164234A (en) * 2011-12-13 2013-06-19 鸿富锦精密工业(深圳)有限公司 Dual processor shifting device
TW201405303A (en) * 2012-07-30 2014-02-01 Hon Hai Prec Ind Co Ltd System and method for monitoring baseboard management controller
WO2015042925A1 (en) * 2013-09-29 2015-04-02 华为技术有限公司 Server control method and server control device
US9811491B2 (en) 2015-04-07 2017-11-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Minimizing thermal impacts of local-access PCI devices
WO2018076351A1 (en) * 2016-10-31 2018-05-03 华为技术有限公司 Method and enabling device for starting physical device
CN109670319B (en) * 2018-12-25 2022-04-15 广东浪潮大数据研究有限公司 Server flash safety management method and system thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574929A (en) * 1993-06-23 1996-11-12 Koninklijke Ptt Nederland N.V. Processor circuit comprising a first processor, a memory and a peripheral circuit, and system comprising the processor circuit and a second processor
US20060106958A1 (en) 2004-11-13 2006-05-18 Motorola, Inc. Efficient multiprocessor system and methods thereof
US20060136915A1 (en) 2004-12-17 2006-06-22 Sun Microsystems, Inc. Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
US20090254698A1 (en) * 2008-02-27 2009-10-08 Samsung Electronics Co., Ltd. Multi port memory device with shared memory area using latch type memory cells and driving method
US20090259884A1 (en) * 2008-04-11 2009-10-15 International Business Machines Corporation Cost-reduced redundant service processor configuration
US20110026411A1 (en) * 2009-07-29 2011-02-03 Lijing Hao Methods and systems for fail-safe communication

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02130666A (en) * 1988-11-11 1990-05-18 Pfu Ltd System reconstituting system for multiprocessor system
US5491788A (en) * 1993-09-10 1996-02-13 Compaq Computer Corp. Method of booting a multiprocessor computer where execution is transferring from a first processor to a second processor based on the first processor having had a critical error
KR100518478B1 (en) * 1997-06-23 2005-10-05 코닌클리케 필립스 일렉트로닉스 엔.브이. Slave DSP reboots stalled master CPU
US6687818B1 (en) * 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US20020178262A1 (en) * 2001-05-22 2002-11-28 David Bonnell System and method for dynamic load balancing
US7251723B2 (en) * 2001-06-19 2007-07-31 Intel Corporation Fault resilient booting for multiprocessor system using appliance server management
US20050066218A1 (en) * 2003-09-24 2005-03-24 Stachura Thomas L. Method and apparatus for alert failover
US7366948B2 (en) * 2004-10-25 2008-04-29 Hewlett-Packard Development Company, L.P. System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor
US7376816B2 (en) 2004-11-12 2008-05-20 International Business Machines Corporation Method and systems for executing load instructions that achieve sequential load consistency
US7965736B2 (en) * 2005-08-24 2011-06-21 Qualcomm Incorporated Transmission of multiplex protocol data units in physical layer packets
JP4701929B2 (en) * 2005-09-02 2011-06-15 株式会社日立製作所 Boot configuration change method, management server, and computer system
JP4853620B2 (en) * 2005-12-08 2012-01-11 日本電気株式会社 Multiprocessor system and initial startup method and program
JP2008276320A (en) * 2007-04-25 2008-11-13 Nec Corp Virtual system control method and computer system
US7971098B2 (en) * 2008-03-24 2011-06-28 Globalfoundries Inc. Bootstrap device and methods thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574929A (en) * 1993-06-23 1996-11-12 Koninklijke Ptt Nederland N.V. Processor circuit comprising a first processor, a memory and a peripheral circuit, and system comprising the processor circuit and a second processor
US20060106958A1 (en) 2004-11-13 2006-05-18 Motorola, Inc. Efficient multiprocessor system and methods thereof
US20060136915A1 (en) 2004-12-17 2006-06-22 Sun Microsystems, Inc. Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
US20090254698A1 (en) * 2008-02-27 2009-10-08 Samsung Electronics Co., Ltd. Multi port memory device with shared memory area using latch type memory cells and driving method
US20090259884A1 (en) * 2008-04-11 2009-10-15 International Business Machines Corporation Cost-reduced redundant service processor configuration
US20110026411A1 (en) * 2009-07-29 2011-02-03 Lijing Hao Methods and systems for fail-safe communication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
International Search Report and Written Opinion mailed Aug. 30, 2011 for PCT/US2010/058243.

Also Published As

Publication number Publication date
JP2011134314A (en) 2011-07-07
CN102110035A (en) 2011-06-29
TW201137601A (en) 2011-11-01
WO2011087594A3 (en) 2011-10-27
CN102110035B (en) 2015-04-08
JP5296036B2 (en) 2013-09-25
EP2348414A2 (en) 2011-07-27
US8527808B2 (en) 2013-09-03
TWI526822B (en) 2016-03-21
US8943360B2 (en) 2015-01-27
WO2011087594A2 (en) 2011-07-21
US20110154106A1 (en) 2011-06-23
US20130318337A1 (en) 2013-11-28
EP2348414A3 (en) 2013-01-16
US20120124416A1 (en) 2012-05-17

Similar Documents

Publication Publication Date Title
US8117494B2 (en) DMI redundancy in multiple processor computer systems
TWI768296B (en) System and method for configuration drift detection and remediation
CN107209671B (en) Dynamic automatic monitoring and control of boot operations in a computer
JP6515132B2 (en) Chassis management system and chassis management method
US9619243B2 (en) Synchronous BMC configuration and operation within cluster of BMC
US9477564B2 (en) Method and apparatus for dynamic node healing in a multi-node environment
US8713350B2 (en) Handling errors in a data processing system
JP2008165803A (en) Blade server management system
JP2008262538A (en) Method and system for handling input/output (i/o) errors
US9229843B2 (en) Predictively managing failover in high availability systems
US7434102B2 (en) High density compute center resilient booting
US7971098B2 (en) Bootstrap device and methods thereof
US20180285123A1 (en) Controller consolidation, user mode, and hooks in rack scale architecture
CN111949320A (en) Method, system and server for providing system data
US7039736B2 (en) Systems and methods for accessing bus-mastered system resources
US20200314172A1 (en) Server system and management method thereto
US20150067385A1 (en) Information processing system and method for processing failure
WO2008004330A1 (en) Multiple processor system
US11714696B2 (en) Custom baseboard management controller (BMC) firmware stack watchdog system and method
CN107291653B (en) Multiprocessor system and method for configuring multiprocessor system
US7627774B2 (en) Redundant manager modules to perform management tasks with respect to an interconnect structure and power supplies
JP6303405B2 (en) Information processing apparatus, management apparatus, monitoring apparatus, monitoring program, and management apparatus monitoring method
US20240329875A1 (en) Selective connection of controllers to a single-ported input/output device
US11922175B2 (en) Unplanned reboot expedited recovery for network devices
WO2016122534A1 (en) Multiple computers on a reconfigurable circuit board

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KELLY, BRIAN;KASPER, MICHAEL;REEL/FRAME:023747/0651

Effective date: 20100106

AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE DIGITAL SIGNATURE TO BE REPLACED WITH HANDWRITTEN SIGNATURE PREVIOUSLY RECORDED ON REEL 023747 FRAME 0651. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:KELLY, BRIAN;KASPER, MICHAEL;SIGNING DATES FROM 20110202 TO 20110209;REEL/FRAME:025774/0752

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Expired due to failure to pay maintenance fee

Effective date: 20200214