Ausfallsichere Server und Workstations

Hot Spare Memory – hochverfügbarer Speicher im Test

26.03.2008 von Bernhard Haluschak
Hot-Spare-Memory-Option sollen Abstürze durch Speicherfehler vermeiden. Wir erläutern und testen, wie Hot-Spare-Speicher-Funktion arbeitet und welche Vor- und Nachteile sie besitzt.

Im Server- und Workstation-Bereich gelten Ausfallsicherheit, Verfügbarkeit und Servicefreundlichkeit zu den wichtigsten Kaufkriterien. Denn jeder Systemausfall, der etwa durch einen Speicherfehler verursacht wird, kann enorme Kosten nach sich ziehen. Um diesem Risiko vorzubeugen, statten die Server-Hersteller ihre Geräte mit umfangreichen RAS-Funktionen (Reliability, Availability, Serviceability) aus. Ein besonders hohes Gefahrenpotenzial geht zum Beispiel vom Hauptspeicher aus, sodass dieser mit besonderen Schutz- und Sicherheitsfunktionen ausgestattet ist.

Zur Standardausstattung sicherer Speichersysteme in Servern gehört das ECC-Verfahren für den Hauptspeicher. Es ist in der Lage, Bitfehler zu erkennen und zu korrigieren. Eine besonders wichtige Schutzfunktion ist auch die Hot-Spare-Memory-Option. Allerdings anders als ECC reduziert dieses Verfahren die Gesamtkapazität des Hauptspeichers, da jederzeit freier Hauptspeicher als Ersatz für ein fehlerhaftes Speichermodul zur Verfügung stehen muss.

Der folgende Artikel beschreibt detailliert die Hot-Spare-Memory-Technologie, die die Datensicherheit des Hauptspeichers eines Servers oder einer Workstation erhöht. Darüber hinaus testen wir praxisnah, welche Auswirkungen die Funktion auf die Performance eines Systems hat.

Weitere detaillierte Informationen zur Hochverfügbarkeit bietet der Artikel Grundlagen der Hochverfügbarkeit. Grundlagen zu „sicherer“ Speichertechnologie erfahren Sie in dem Beitrag Sicherer Speicher für Server und Workstations.

Hot Spare Memory in der Theorie

Die Konfiguration von Hot Spare Memory erfordert in der Minimalkonfiguration von der Hardware zwei identische Speichermodule in zwei verschiedenen Bänken. In der Maximalkonfiguration von zum Beispiel 16 GByte (acht Module) werden 4 GByte als Spare-Speicher genutzt. Daraus resultiert der Nachteil dieser Technologie: die hohen Kosten für den Hauptspeicher bei gleichzeitiger Reduzierung der nutzbaren Gesamtspeichermenge.

Abgemagert: Ist die Hot-Spare-Memory-Funktion im BIOS des Systems aktiviert, stehen dem Betriebssystem statt 16 nur noch 12 GByte Hauptspeicher zur Verfügung.

Bei der Hot-Spare-Memory-Technologie steht eine festgelegte Speicherbank als Ersatz zur Verfügung. Häufen sich bei einem Modul Speicherfehler, deaktiviert der Memory Controller automatisch die Bank mit dem defekten Speicher und aktiviert die Ersatzbank. Gleichzeitig alarmiert das System den Administrator über diesen Speicherausfall.

Die Einbindung eines Hot-Spare-Moduls geschieht automatisch und ohne Datenverluste im laufenden Betrieb. Das gilt auch für alle anderen „Hot-Memory-Technologien“. Verfügt das System nicht über Hot Spare, muss der Administrator das defekte Modul manuell wechseln. Dies erfordert eine außerplanmäßige Betriebsunterbrechung, die gewöhnlich mit hohen Kosten verbunden ist.

Die Hot-Spare-Funktion steuert eine spezielle Hardware im Chipsatz, die das BIOS aktiviert, und arbeitet daher unabhängig vom Betriebssystem. Je nach Größe der eingesetzten Speichermodule müssen die aktiven und die Spare-Module die gleichen Eigenschaften besitzen und in den dafür vom Mainboard-Hersteller festgelegten Speichersockeln installiert sein.

Hot Spare Memory in der Praxis

Als Testsystem verwenden wir exemplarisch einen Server von Intel, bestückt mit zwei Xeon-Prozessoren vom Typ 5410, und insgesamt 16 GByte Speicher, verteilt auf acht FB-DIMMs. Als Unterbau kommt das Intel-Mainboard D44771 mit dem 5000PL-Chipsatz zum Einsatz. Dieser Chipsatz arbeitet mit vier DDR2-Speicher-Controllern für FB-DIMMs und unterstützt serienmäßig im BIOS die Hot-Spare-Memory-Funktion.

Die Spare-Memory-Option verbirgt sich in unserem Testsystem in den BIOS-Optionen Advanced und / Memory Configuration /Memory RAS and Performance Configuration / Select Memory RAS Configuration. Dieses Menü bietet neben der Spare- auch noch zusätzlich die Mirroring-Funktion für den Hauptspeicher an.

Funktionsübersicht: Das BIOS unseres Testsystems bietet neben dem Speicher-Spare auch die Mirroring-Funktion als weiteres Sicherheits-Feature für den Hauptspeicher an.

Nach dem Auswählen der Speicher-Spare-Option muss das System neu gebootet werden. Es arbeitet dann unabhängig vom Betriebssystem. Über entsprechende Management-Tools des Servers lässt sich der Zustand des Speichers im laufenden Betrieb jederzeit kontrollieren, beziehungsweise das System alarmiert den Anwender über mögliche Speicherprobleme.

Schlankheitskur: Die Memory-Spare-Funktion verschlingt je nach Speicherbestückung ein Drittel beziehungsweise die Hälfte des Gesamtspeichers.

Ob die Memory-Mirroring-Funktion einwandfrei funktioniert, lässt sich im System-BIOS überprüfen. Der effektive Speicher sollte in dem entsprechenden Menü die Hälfte beziehungsweise ein Drittel des Gesamtspeichers betragen.

Speicher-Benchmarks mit tecMem

Die Cache- und Speicher-Performance der Prozessoren beziehungsweise des Hauptspeichers überprüfen wir mit unserem Programm tecMem aus der TecChannel Benchmark Suite Pro. tecMem misst die effektiv genutzte Speicherbandbreite zwischen der Load/Store-Unit der CPU und den unterschiedlichen Ebenen der Speicherhierarchie (L1-, L2-Cache und RAM). Die Ergebnisse erlauben eine getrennte Analyse von Load-, Store- und Move-Operationen.

tecMem: Speicher-Performance im Detail

Konfiguration

Load 32 [MByte/s]

Store 32 [MByte/s]

Move 32 [MByte/s]

Load 64 [MByte/s]

Store 64 [MByte/s]

Load 128 [MByte/s]

Store 128 [MByte/s]

Ohne Spare Memory

2539

2850

2668

3425

2541

3533

2534

Mit Spare Memory

2531

2844

2641

3415

2511

3515

2503

Erst bei 32-Bit-Move-Befehlen werden zwischen aktivierter und deaktivierter Hot-Spare-Memory-Funktion geringfügige Leistungsdifferenzen erkennbar. Der Unterschied beträgt etwa ein Prozent und liegt damit noch im Bereich der Messabweichung. Die Leistungswerte der 32-Bit-Load- und Store-Operationen bleiben nahezu unverändert.

Auch bei den 64-Bit- und 128-Bit-Load/Store-Kommandos aus den MMX- beziehungsweise SSE-Befehlssätzen sind Performance-Differenzen nur tendenziell erkennbar, da sie alle kaum über 1 Prozent liegen.

SPECint_base2006

Wir setzen die SPEC-Benchmarks praxisnah ein und kompilieren sie für das Base-Rating. Dazu verwenden wir Intels C++ 10.0 und Fortran 10.0 sowie MS Visual Studio 2005 .NET für alle Integer-Tests. Auch AMD und Intel verwenden diese Compiler für das Base-Rating, wie man an den von beiden Firmen offiziell gemeldeten Integer-Resultaten sehen kann.

Der SPECint_base2006-Benchmark arbeitet single-threaded und nutzt die Vorteile von Hyper-Threading, Dual- und Quad-Core nicht. Die ermittelten Werte gelten als Indiz für die Integer-Performance der Prozessoren beziehungsweise des Hauptspeichers.

SPECint_base2006: Im Single-threaded Integer-Test hat Hot Spare Memory noch keinen Einfluss auf die System-Performance. Die minimale Differenz liegt noch innerhalb der Messungenauigkeit.

SPECint_rate_base2006

Wir setzen die SPEC-CPU2006-Benchmarks praxisnah ein und kompilieren sie für das Base-Rating. Dazu verwenden wir Intel C++ 10.0 und MS Visual Studio.NET 2005 sowie Intel Fortran 10.0 für alle Integer-Tests. Auch die Prozessor- und Server-Hersteller verwenden diese Compiler für das Base-Rating, wie die von beiden Firmen offiziell gemeldeten Integer-Resultate zeigen. Unsere verwendeten CPU2006-Config-Files können Sie im Artikel Server: SPEC CPU2006 Config-Files einsehen.

Bei den Integer-Berechnungen von SPECint_rate_base2006 ermittelt die Benchmark-Suite den maximalen Durchsatz durch Verwendung mehrerer Tasks. Dabei arbeiten multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Anzahl der Tasks/Kopien der Anzahl der virtuellen Prozessoren des Systems. So läuft SPECint_rate_base2006 in unseren Tests mit den Dual-Quad-Core-Xeon-Servern mit acht Kopien.

SPECint_rate_base2006: Der Benchmark stresst die CPU und den Hauptspeicher durch seine acht parallelen Kopien. Allerdings ist der Performance-Verlust der Hot-Spare-Funktion nur marginal. Mit aktiviertem Spare-Speicher bricht die Leistung des Systems um zirka 1,7 Prozent ein.

SPECfp_base2006

Wir setzen die SPEC-Benchmarks praxisnah ein und kompilieren sie für das Base-Rating. Dazu verwenden wir Intel C++ 10.0 und MS Visual Studio 2005 .NET sowie Intel Fortran 10.0 für alle Fließkommatests. Auch AMD und Intel benutzen diese Compiler für das Base-Rating bei den Fließkomma-Benchmarks, wie man an den von beiden Firmen offiziell gemeldeten FP-Resultaten sehen kann.

Der SPECfp_base2006-Benchmark arbeitet single-threaded und nutzt die Vorteile von Hyper-Threading, Dual- und Quad-Core nicht. Die ermittelten Werte gelten als Indiz für die Floating-Point-Performance der Prozessoren beziehungsweise des Hauptspeichers.

SPECfp_base2006: Ähnlich wie beim SPECint_base2006 ist beim SPECfp_base2006 die Leistungsdifferenz mit und ohne Hot-Spare-Speicher mit 2,9 nur sehr gering.

SPECfp_rate_base2006

Wir setzen die SPEC-CPU2006-Benchmarks praxisnah ein und kompilieren sie für das Base-Rating. Dazu verwenden wir Intel C++ 10.0und MS Visual Studio 2005 sowie Intel Fortran 10.0 für alle Fließkommatests. Auch die Prozessor- und Server-Hersteller verwenden diese Compiler für das Base-Rating bei den Fließkomma-Benchmarks, wie die von beiden Firmen offiziell gemeldeten FP-Resultate zeigen. Unsere verwendeten CPU2006-Config-Files können Sie im Artikel Server: SPEC CPU2006 Config-Files einsehen.

Bei den Floating-Point-Berechnungen von SPECfp_rate_base2006 ermittelt die Benchmark-Suite den maximalen Durchsatz durch Verwendung mehrerer Tasks. Dabei arbeiten multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Anzahl der Tasks/Kopien der Anzahl der virtuellen Prozessoren des Systems. So läuft SPECint_rate_base2006 in unseren Tests mit den Dual-Quad-Core-Xeon-Servern mit acht Kopien.

SPECfp_rate_base2006: Bei den Fließkommatests arbeitet das Server-System mit eingeschaltetem Hot Spare Memory kaum deutlich langsamer als ohne diese Sicherheitsfunktion.

Fazit

Jeder Ausfall bei Servern oder Workstations durch einen defekten Hauptspeicher kann hohe Kosten verursachen. Daher nutzen die Systemhersteller verschiedene Sicherheitsmechanismen, um solche Gefahren abzuwenden. Neben dem serienmäßigen ECC-Korrekturverfahren besitzen viele Systeme zusätzlich die Hot-Spare-Memory-Funktion. Bei einem Ausfall eines Speichermoduls kann das System auf ein funktionsfähiges Modul im laufenden Betrieb umschalten.

Wie unsere Tests zeigen, kostet mehr Systemsicherheit durch Hot Spare Memory je nach Anwendung nur geringfügige Performance. Auch besonders speicherintensive Programme, die viele 64/128-Bit-Store-Befehle nutzen, werden von Hot Spare nicht relevant gebremst, sodass der Anwender nichts merkt beziehungsweise die Applikationen nicht langsamer ablaufen. Allerdings entstehen durch die zwingend zusätzlich notwendigen „freien“ Speichermodule auch höhere Kosten bei der Ausstattung eines Rechnersystems mit Hauptspeicher. Doch diese Ausgaben sind im Vergleich zu einem Ausfall eines Servers und dem möglichen Datenverlust vernachlässigbar gering.

Ein weiteres Manko entsteht bei speicherhungrigen Anwendungen wie Datenbanken oder bei der Nutzung von Virtualisierungsszenarien. Hier zählt jedes GByte an freiem Speicher zur optimalen Ausnutzung der System-Performance. Bei solchen Anwendungen muss der Systemadministrator zwischen „Performance“ und „Sicherheit“ abwägen.

Die Nutzung der Hot-Spare-Memory-Funktion – wenn man auf etwas Hauptspeicher verzichten kann – ist Pflicht. Sie verursacht nahezu keine Leistungseinbußen und erhöht signifikant die Ausfallsicherheit des Rechnersystems. (hal)