Tuesday Apr 14, 2009

Fault Management on Sun's Xeon 5500-based Systems

Sun announced a suite of Intel Xeon 5500 based systems today. The features of the Xeon 5500, aka Nehalem EP, have been covered extensively in the press following Intel's launch a couple of weeks ago, so I won't review the highlights or innards of the chip. Rather, I'll focus on the fault management features of the Sun systems built around the Xeon 5500. The platforms covered below include the X4170, X4270, X4275 and X2270 rackmount servers and the X6270 and X6275 blades. The one platform I'm not covering here is the Ultra 27 Workstation as it does not include a service processor. When running Solaris, all Xeon 5500-based systems reap the benefits of Solaris FMA, which has been updated for Nehalem1. But the rackmount and blade servers provide additional fault management capabilities not present in the Ultra 27 workstation.

Sun's Xeon 5500 servers and blades have two fault management precincts - the service processor (SP) and the host operating system. This new line of systems has SP-based fault detection and diagnosis for several subsystems, providing a solid base level of fault management irrespective of the host operating system (but you're all running Solaris or OpenSolaris, right? :) A quick rundown of the subsystems that are fault managed:

  • Nehalem CPUs: The SP detects and diagnoses all processor uncorrectable errors (UEs). Correctable errors (CEs) are remanded to the host operating system. If the OS is Solaris, processors can be offlined by Solaris FMA if CEs occur too frequently. Also, Solaris FMA will capture error state on CPU UEs and report them upon the next Solaris restart.
  • Memory: As with CPUs, memory UEs are diagnosed and reported within the SP. Unlike CPU errors, memory UEs are not visible to the host operating system.
  • IO Subsystem: Errors in the IO Hub (Tylersburg) itself are detected and reported via the SP. PCI/PCIE fabric errors are handled by the host operating system (via AER).
  • Power, Cooling & Environmentals: The SP detects and diagnoses problems with the bulk power supplies and fan trays. It also monitors the various component sensors (temp, voltage, etc.), reporting components that have gone out of tolerance.

The service processor provides coverage for a good portion of the errors in the system, yet the host operating system can augment the SP, notably in the area of recovery and/or isolation of problematic resources. If you're at all familiar with Solaris, you'll know that Solaris has the capacity to offline individual processor strands (no further software threads are scheduled on the affected strand), retire individual pages of memory (8KB granularity), and cease using problematic IO devices (configurations & active usage permitting).

Another interesting look at Sun's new systems is the fault management functionality for various host operating systems - what diagnosis and recovery features are available straight out of the box:

  Host Operating System
Subsystem Diagnosis Solaris Windows Linux
CPU Correctable Yes No No
CPU Uncorrectable Yes Yes Yes
Memory Correctable Yes Yes Yes
Memory Uncorrectable Yes Yes Yes
IO Hub (Tylersburg) Yes Yes Yes
PCI/PCIE Fabric (assuming AER support) Yes Yes Yes 1
Recovery/Isolation Solaris Windows Linux
CPU Strand Offline Yes No No
Memory Page Retire Yes No No
IO Device Retire Yes No No

Irrespective of your choice of host operating system, Sun's Xeon 5500 suite of systems provides solid fault detection and reporting capabilities. And when coupled with Solaris, fault resilience is improved thanks its recovery and isolation capabilities.

Click here for more Sun blogs about Sun's new Xeon 5500 systems.


1 If running OpenSolaris on an Ultra 27, it is recommended to install build 111 or later to include the fix to CR 6804867 This fix is also planned for a future Solaris 10 Update release.

Monday Mar 30, 2009

Solaris FMA for Nehalem

Today, Intel launched their Xeon Processor 5500 Series - aka Nehalem. And OpenSolaris is ready to go to take advantage of the features of this new processor, thanks in no small part to the ongoing OpenSolaris projects for Intel platforms. A good starting point to learn about all things Nehalem and OpenSolaris is Solaris On Intel overview pages. For the specifics on Solaris FMA, read on.

Several subsystems were updated to ensure that Solaris FMA continued to support expected features including CPU offlining and memory page retire. Changes include:

  • Machine Check Handler updates: Most notably, support for the newly added corrected machine check interrupt (CMCI) is added. Error throttling control on CMCIs is in place to mitigate against correctable error storms. Also, an intel plugin for refined error telemetry has been added to Solaris' MCA framework.
  • Memory Topology: For DIMM diagnosis and page retire, FMA requires a memory topology. For Nehalem, the memory topology is read directly from the memory controllers on the system via the intel_nhm driver, and post-processed by FMA's topology enumerators
  • Diagnosis Rule updates: Coverage for new Nehalem ereports, notably when the QuickPath detects errors. A particularly interesting one is notification of a memory sparing event.

Oh....and all of the above is forthcoming in the next Solaris 10 update release.

UPDATE 04/01/2009: There's a great video from Dave Stewart at Intel on Nehalem's CMCI and FMA interaction.

UPDATE 04/14/2009: Sun announced Nehalem based systems. Check out my blog describing fault management on Sun's new Nehalem systems.




« February 2017