Neu- und Fortschreibungsplanung für den DV-Anlagenpark mittels der Wahrscheinlichkeitsrechnung:

Benutzer erwarten 99 Prozent Verfügbarkeit

22.04.1983

"Die Verfügbarkeitsanforderungen an DV-Systemelemente werden zunehmend von denjenigen Werten bestimmt, die der DV-ferne Endbenutzer von seinem Terminal aus sieht"; so zu lesen in einem "Spotlight" der CW in der Ausgabe vom 10. Dezember letzten Jahres, auf Seite 17. Außerdem ist an dieser Stelle beschrieben, wie man etwa mit Multiprozessorsystemen die Wahrscheinlichkeit, daß ein System in einem vorgesehenen Zeitraum nicht versagt, erhöhen kann. Hier nun sollen diese pauschalen Aussagen konkretisiert werden.

In der Praxis ist nicht nur das Wissen um dieses Faktum wichtig, sondern es ist darüber hinaus von großer Bedeutung, zahlenmäßige Aussagen zu haben, wie beispielsweise:

- Genügt es bei sehr hohen Verfügbarkeitsanforderungen tatsächlich, mit zwei Prozessoren zu arbeiten, oder sind nicht gar drei nötig, und welches Restrisiko bezüglich eines Totalausfalls besteht dann noch?

- Welchen Wert hat die Benutzerverfügbarkeit an einer bestimmten Schnittstelle?

- Um wieviel wird die Ausfallsicherheit der Zentraleinheit als ganzes erhöht, wenn man einen zusätzlichen Prozessor hinzunimmt?

Zur Beantwortung solcher Fragen liefert die Wahrscheinlichkeitsrechnung sehr gute Hilfen, die erstaunlicherweise - obwohl für jeden, der ein wenig mit Formeln umgehen kann, leicht meisterbar - noch wenig bekannt und selten in Gebrauch sind. Nachfolgend werden solche Verfahren für eine Reihe von besonders interessierenden Problemen der RZ-Praxis geschildert und mit Beispielen versehen.

Teil- und Gesamtsysteme

Sie stammen aus einer Sammlung von Berechnungsverfahren, die in den letzten Jahren aufgrund aufgelaufener Probleme bei der Neu- und Fortschreibungsplanung für den DV-Anlagenpark wie auch im täglichen Rechenzentrumsbetrieb entstanden sind und dort gute Dienste geleistet haben.

Folgende Grundprobleme werden betrachtet:

- DV-Systeme ohne Reserveeinheiten;

- DV-Systeme mit (teilweise) redundanten Reserveeinheiten;

- DV-Systeme mit "nicht unbenutzten" Reserveeinheiten

- Die Benutzerverfügbarkeit von DV-Systemen.

Es wird einerseits auf einzelne Komponenten (Beispiele: Plattenlaufwerk, Prozessor) wie auch Komponentengruppen (Beispiele: Gesamtheit aller Plattenspeicher, Magnetbandstrecke samt Controller) und andererseits auf das DV-Gesamtsystem eingegangen. Dabei wird der Umgang mit statistisch sich ändernden Werten und den sie beschreibenden Größen erläutert und dann gezeigt, wie man bei praktischen Problemen zu numerischen Angaben kommt. Solche Zahlen haben sich sowohl bei der Planung als auch im täglichen Betrieb des Rechenzentrums als besondere Hilfe erwiesen. Zunächst seien einige Grundlagen erläutert.

I. Einige Grundlagen

Bezüglich des Einsatzes der Wahrscheinlichkeitsrechnung sei bemerkt, daß die hier verwendeten Formeln genau genommen natürlich nur Zusammenhänge zwischen Zustandswahrscheinlichkeiten (weiter

unten mit fi und vi bezeichnet) und Erwartungswerten von Zeitintervallen für Ausfall- und Betriebsbereitschaft von Systemkomponenten (weiter unten mit ri und bi bezeichnet) angeben. Der Nutzen für die Praxis besteht jedoch darin, daß man meist (das heißt ohne einen das Ergebnis stark beeinträchtigenden Fehler) die gemäß der Wahrscheinlichkeitstheorie nötigen sogenannten Unabhängigkeitsannahmen machen kann; weiterhin kann man (bei "genügend" langer Beobachtungsdauer und/oder "genügend" vielen beobachteten Ereignissen) die in der nachfolgenden Tabelle horizontal nebeneinander aufgeführten Größen als näherungsweise identisch betrachten. Liegen nur relativ wenige Stichproben (beobachtete Ereignisse) vor, dann sind die berechneten Ergebnisse natürlich "weniger sicher", haben aber - wie die Praxis zeigt - doch noch immer einen guten Nutzwert, wenn man diese Unsicherheit dem Ergebnis in angemessener Wertung beistellt.

MTBFi = mittlere Dauer einer Phase der Betriebsbereitschaft der Systemkomponente Nr. i (meantime between failures)

MTTRi = mittlere Dauer einer Reparaturphase der Systemkomponente Nr. i (meantime to repair)

MTTRi / MTTRi + MTBFi = mittlerer relativer Zeitanteil, in der die Systemkomponente Nr. i nicht betriebsbereit ist (relative Ausfallzeit)

MTBFi / MTTRi + MTBFi = mittlerer relativer Zeitanteil, in der die Systemkomponente Nr. i betriebsfähig ist (sog. Verfügbarkeit)

In den nachfolgenden Betrachtungen seien daher immer die Formelzeichen bi, ri, fi und vi für MTBF, MTTR, mittlere relative Ausfallzeit sowie mittlere relative Verfügbarkeit (jeweils der i-ten Systemkomponente) verwendet. Weiter sei fges (vges) für die mittlere relative Ausfallzeit (Verfügbarkeit) des jeweils betrachteten Gesamtsystems verwendet. Außerdem seien drei später immer wieder verwendete Beziehungen genannt:

fi = ri / ri + bi (1), vi = bi / ri + bi (2) und fi + vi = 1 (3)

Diese Angaben mögen zunächst genügen, und es sei im nächsten Abschnitt bereits auf ein praktisches Problem eingegangen. Wer sich genauer für die wahrscheinlichkeitstheoretischen Grundlagen interessiert, für den sei gesagt, daß im Anschluß an die praktischen Beispiele in dieser Hinsicht noch etwas geboten werden wird.

II. Systeme ohne Reserveeinheiten

Es wird folgende Problemstellung betrachtet: Angesichts der in aller Regel hohen Kosten von Systemkomponenten wie Hauptspeicher,

bi = Erwartungswert der Zufallsvariablen "Dauer der Betriebsbereitschaftsphase" der Systemkomponente Nr.i

ri = Erwartungswert der Zufallsvariablen "Reparaturdauer" der System komponente Nr. i

fi = Ausfallwahrscheinlichkeit (= Fehlerwahrscheinlichkeit) der System komponente Nr. i

vi = Zuverlässigkeit der Systemkomponente Nr. i

Prozessoren und Plattenspeicher wird in vielen Rechenzentren die Anlage so gewählt, daß nur die für den Betrieb nötige Mindestkonfiguration vorhanden ist. Damit ist das System nur dann einsatzfähig, wenn alle seine Komponenten von funktionsfähig sind.

Die Gesamtverfügbarkeit vges solcher "Systeme ohne Reserveeinheiten" entspricht der Wahrscheinlichkeit für denjenigen Zustand, in dem keine Komponente ausgefallen ist und die Formel dafür lautet im Fall von n Komponenten:

vges = v1 * v2 * . . . . * vn (4a)

Die Gesamtausfallwahrscheinlichkeit, fges genannt, ist:

fges = 1 - vges (4b)

Beispiel II, 1

Einfache Zentraleinheit

Das betrachtete System sei der zentrale Teil einer DV-Anlage, bestehend aus einem Verarbeitungsprozessor, einer Hauptspeichereinheit und einem E/A-Prozessor. Um Daten verarbeiten zu können müssen alle drei Systemkomponenten funktionieren, in jedem Falle der Störung einer Komponente liegt ein Totalausfall des Systems vor. Aus der Betriebsstatistik liege die Angabe vor, daß der Verarbeitungsprozessor im Laufe eines halben Jahres (24-Stundenbetrieb angenommen) zwei Ausfälle hatte, und zwar einen mit zwei Stunden Dauer und einen mit 15 Minuten Dauer. Dann ist gemäß Gleichung (1) - wobei der Verarbeitungsprozessor Komponente Nr. 1 sei - :

f1 = 2Std. + 0,25Std. / ? * 365Tage * 24Std. = 0,51 10-3.

Beim E/A-Prozessor - er sei Komponente Nr. 2 - seien in derselben Zeit drei Ausfälle mit je sechs Minuten Dauer registriert worden, also ist:

f2 = 3 * 0,1 Std. / ? * 365Tage * 24 Std. = 0,07 10-3.

Für den Hauptspeicher - er sei Komponente Nr. 3 - seien (was beispielsweise von steckerkompatiblen Herstellern für Mixed Hardware erwartet werden kann) die Angaben von MTTR und MTBF bekannt. Es sei

MTTR = 1,3 Stunden und MTBF = 4800 Stunden

Also ist:

f3 = 1,3 Std. / 4800 Std. + 1,3 Std. = 0,27 * 10-3

Für die Gesamtverfügbarkeit gilt Gleichung (4a), und mit Gleichung (3) wird:

vges = (1- f1) * (1-f2) * (1- f3) (5)

Hiermit errechnet sich die Gesamtverfügbarkeit zu

vges = 0,99915

(dementsprechend fges = 0,00085), was bedeutet, daß der zentrale Teil, bestehend aus Bearbeitungs- und E/A-Prozessor sowie Hauptspeicher, während eines vollen Jahres mit Rund-um-die-Uhr-Betrieb voraussichtlich insgesamt rund 7,4 Stunden Ausfall hat.

Beispiel II.2

Plattenspeicher

Das betrachtete System sei ein Plattenspeicher, bestehend aus einem Controller und m (beispielsweise m = 3) Plattenlaufwerken, die alle voll mit Daten belegt sind (etwas für ein Datenbanksystem). Bereits beim Defekt eines Laufwerkes ist die Datenbank nicht mehr funktionsfähig, da dann auf wesentliche Teile der Gesamtinformation nicht mehr zugegriffen werden kann. Dasselbe gilt bei Defekt des Controllers: Es liegt ein Totalausfall des betrachteten Systems vor. Die Summe der Ausfallstunden aller Laufwerke während 5000 Stunden Einsatzzeit (= Betrieb + Reparatur, jedoch vorbeugende Wartung nicht gezählt) sei laut Betriebsstatistik 3,6 Stunden gewesen. Auf ein Laufwerk entfallen im Mittel also 1,2 Stunden Ausfall. Also ist (Komponenten Nr. 2 bis Nr. 4 die Laufwerke) gemäß Gleichung (1):

f2 = f3 = f4 = 1,2 Std. / 5000 Std. = 0,24 * 10-3.

Für den Controller (er sei Komponente Nr. 1) sei auf analoge Weise ermittelt worden, daß f1 = 0,3 * 10-5 ist. Für die Gesamtverfügbarkeit gilt gemäß Gleichung (4a):

vges = v1 * v2³; (6a) mit Gleichung (3) ist: vges = (1-f1) * (1-f2)³ (6b)

Es ergeben sich folgende Zahlenwerte

vges = 0,999277 sowie

fges = 0,723 * 10-3, was bedeutet, daß die Plattenstrecke während 1000 Stunden Einsatzzeit im Mittel 0,723 Stunden ausfällt.

Doppelt genäht hält schlechter

Zum Vergleich sei noch der Fall betrachtet, daß jemand auf die Idee kommt, einen weiteren Controller zu verwenden, etwa in der Hoffnung, das System sicherer zu machen. Es seien dem einen Controller ein Laufwerk zugeordnet und dem anderen zwei Laufwerke. Dann ergibt sich: also

vges = (v1 * v2) * (v1 * v2²),

vges = v1² - v2³, (7a) beziehungsweise

vges = (1 -f1)² * ( 1 -f2)³ (7b)

In den Gleichungen (7a,b) tritt gegenüber (6,a,b) jeweils ein Faktor v1, beziehungsweise (1 -f1) mehr auf. Also ist vges schlechter, wenn man zwei Controller verwendet. Die etwas schlechteren Zahlenwerte für die Gesamtverfügbarkeit bestätigen dies natürlich:

vges = 0, 999274 sowie fges = 0,726 * 10-3.

Sie spiegeln wieder, daß mit dem zweiten Controller ja eine weitere Komponente im System enthalten ist, die ausfallen und die Datenbank funktionsfähig machen kann.

Beispiel II.3

Zentraleinheit mit Doppelprozessor

Zwei gleiche Verarbeitungsprozessoren (Komponenten Nr. 1,2) und ein Hauptspeicher (Komponente Nr. 3) bilden das betrachtete System. Es sei folgende Frage gestellt: Welche Verfügbarkeit müssen die Prozessoren (mindestens) haben, wenn die Gesamtverfügbarkeit vges gleich oder nicht schlechter als 0,9995 sein soll, im Mittel also eine halbe Stunde Ausfall pro 1000 Stunden Laufzeit in Ansatz kommt? Dabei sei für den Speicher die Ausfallwahrscheinlichkeit aus dem obigen Beispiel II.1 angenommen, nämlich f3 = 0,27 * 10-3

Wenn man die Verfügbarkeit der Prozessoren mit v1 = v2 = vp bezeichnet, dann lautet Gleichung (4a) hier:

vges = Vp² * 5 * v3, (8a) und hieraus ist vp= SQRT (vges / v3) (8b)

Als Zahlenwert ergibt sich die von den Prozessoren (mindestens) zu verlangende Verfügbarkeit von vp = 0,999885; das sind im Mittel höchstens 0,115 Stunden Ausfall pro 1000 Stunden Einsatzzeit.

III. Systeme mit (teilweise) redundanten Reserweeinheiten

Es wird folgende Problemstellung betrachtet: Ist die Zuverlässigkeit einzelner Systemkomponenten zu schlecht, um eine gewünschte Gesamtverfügbarkeit des Systems zu erreichen, dann kann man von der im Abschnitt III verwendeten "Mindestkonfiguration" abweichen und zusätzliche Reserveeinheiten einfügen. Diese befinden sich dann jeweils im Bereitschaftszustand und werden betrieben, wenn die eigentlichen (Haupt-)Einheiten ausfallen, wobei im Idealfall die Umschaltung keine Betriebsunterbrechung bedeutet.

Man muß jedoch nicht unbedingt so vorgehen, daß man jeweils ein ganzes Vielfaches der benötigten Leistung oder Kapazität installiert. Eine andere Lösung ist, daß man eine benötigte Nennrechenleistung R durch zwei Prozessoren mit der Leistung R/2 erbringt und als Reserve noch einen R/2-Prozessor hinzunimmt. In diesem Fall ist die installierte Leistung gleich 3 R/2 (Redundanz = R/2), was billiger sein kann, als zwei (große) Prozessoren mit je der Leistung R (also Redundanz = R) einzusetzen.

Ein anderes Beispiel ist ein Plattenspeicher. Wenn etwa als Nennwert S = 1000 MByte Speicherplatz benötigt wird, würde "Verdoppelung" bedeuten, daß zwei komplette Speicher (je bestehend aus einem Controller und einer Anzahl von Laufwerken) zu installieren wären; die Redundanz betrüge dann 1000 MByte. Kostengünstiger ist es aber wohl, nur einen Speicher vorzusehen (beispielsweise einen Controller mit fünf Laufwerken á 200 MByte) und dann noch Laufwerke (etwa x = 2) als Reserve zu installiere. Daß letzteres Erfolg hat, setzt natürlich voraus, daß der Controller, der ja ein zentraler Teil ist, ausreichend zuverlässig ist. Die installierte Redundanz ist dann gleich x * 200MByte.

Erfahrungsgemäß verbessert sich beim Einsatz von Redundanz die Verfügbarkeit des Gesamtsystems. Die Praxis macht dazu Aussagen wie "Mit einer Reserveeinheit wird das System schon sehr gut", oder: "Mit zwei Reserveeinheiten kann nichts mehr passieren". Quantitative Aussagen sind dies jedoch nicht. Solche werden jedoch dringend benötigt; denn wie anders sollte man sonst Fragen klären wie die, ob ein und welcher Unterschied sich in der Gesamtverfügbarkeit ergibt, wenn man zum einen drei Prozessoren mit je der Leistung R/2 und zum anderen zwei Prozessoren mit je der Leistung R installiert? Solche und auch weitergehende Fragen können zahlenmäßig beantwortet werden, wie nachfolgend gezeigt wird.

Anwendungsbeispiele

Beispiel III. 1

Prozessorgruppe mit Reserveprozessoren

Es sei eine Gesamtleistung R gefordert, und es stehen verschiedene Prozessoren zur Wahl, wobei die Verfügbarkeit der Prozessoren mit steigender Leistung etwas abnehme, was der Tatsache Rechnung trägt, daß größere Prozessoren im Regelfall eine höhere Anzahl elektronischer Bauelemente enthalten. Es sei:

Leistung des Prozessors

0,3 * R 0,5 * R 0,6 * R 0,7 * R 1,0 * R

Ausfallwahrscheinlichkeit

f01 = 0,40 * 10-3

f02 = 0,45 * 10-3

f03 = 0,50 *10-3

f04 = 0,55 * 10-3

f05 = 0,70 * 10-3

Verfügbarkeit

v01 = 0,999600

v02 = 0,999550

v03 = 0,999500

v04 = 0,999450

v05 = 0,999300

Fall a): Zwei Prozessoren mit je der Leistung R

Die beiden Prozessoren bilden die zwei Komponenten des betrachteten Systems. In folgenden Zuständen ist das System funktionsfähig: Prozessor in Funktion und Prozessor 2 in Funktion; beide Prozessoren arbeitsfähig.

Die Formel für die Gesamtverfügbarkeit lautet:

vges = v05 * f05 + f05 * v05 + v05´² (9) was mit den Aufgaben aus der obigen Tabelle folgende Werte ergibt: vges = 0,9999995; daraus ergibt sich die Ausfallwahrscheinlichkeit des Gesamtsystems mit fges = 0,5 * 10-6, das bedeutet im Mittel eine Viertelminute Ausfall pro Jahr.

Fall b): Drei Prozessoren mit je der Leistung ?R

Die Formel für die Gesamtverfügbarkeit lautet:

vges = 3 * v02² * f02 + v02³ (10)

Es ergibt sich: vges = 0,9999994 und fges 0,6 * 10-6.

Fall c): Drei verschiedene Prozessoren

Prozessor Nr. 1 habe die Leistung 0,3*R, Nr. 2 habe 0,6*R, und Nr. 3 habe 0,7*R. Das System ist funktionsfähig, wenn es mindestens die Leistung R erbringt. Die Formel lautet:

vges = f01 * v03 * v04 + v01 * f03 * v04 + v01 * v03 * V04, (11)

was ergibt:

vges = 0,9994498 und fges = 550,2 * 10-6.

Vergleich der Fälle a) bis c):

Während die Prozessoren einzeln eine mittlere Ausfallzeit von rund drei bis sechs Stunden pro 365 Betriebstagen (jeweils bei 24-Stundenbetrieb) haben, ergibt sich im Fall a) eine mittlere Ausfallzeit von etwa einer Viertelminute und im Fall b) ein kaum schlechterer Wert. Also bedeuten "a)" und "b)" eine deutliche Verbesserung gegenüber nur einem Prozessor. Da man davon ausgehen kann, daß drei Prozessoren mit je der Rechenleistung R/2 billiger sind als zwei Prozessoren mit je der Leistung R, ist "b)" wohl die günstigere Lösung als "a)". Der Fall c) dagegen ergibt keine besondere Verbesserung gegenüber einem einzigen Prozessor mit der Leistung R; also hätte diese Lösung keinen Vorteil. Eine anschauliche Erklärung dafür ist, daß sich hier nicht alle drei Prozessoren gegenseitig aushelfen können (immer wenn Prozessor Nr. 3 ausfällt wird die Leistung R nicht erreicht).

Beispiel III. 2

Die benötigte Anzahl von Reserveprozessoren zur Erreichung einer gewünschten Gesamtausfallsicherheit

Als Beispiel sei in einem Rechenzentrum verlangt, daß die Prozessorengruppe keine nennenswerte Ausfallursache darstellen soll und ihre Ausfallzeiten unterhalb anderer Störungen (etwa Klimatisierungsausfällen und/oder Stromversorgungsstörungen) bleiben soll.

Weiter sei - einer vielfach geübten Praxis folgend - unterstellt, daß bei "Betrieb rund um die Uhr" eine Ausfallzeit von nicht mehr als 0,1 Std./Jahr gewünscht sei (fges = 0,1142 * 10-4). Für die zur Verfügung stehenden Prozessoren sei angenommen, daß sie je die Leistung R erbringen und eine mittlere Ausfallzeit von einer Dreiviertelstunde pro Woche gegeben ist (fp = 0,45 * 10-2). Die Frage ist, ob durch Hinzufügen eines Reserveprozessors der gewünschte Wert von fges erreicht wird beziehungsweise wieviele Reserveprozessoren nötig sind.

Gesamtausfallwahrscheinlichkeit

Die Wahrscheinlichkeit, daß eine Gruppe von n solcher Prozessoren nicht die Leistung R erbringt, ist diejenige für das Ereignis, daß alle Prozessoren ausgefallen sind, da ja schon einer die geforderte Leistung erbringen kann. Die Formel für die Gesamtausfallwahrscheinlichkeit lautet: fges = fnp (12a)

Hieraus ist: fp = nSQRT(fges) (12b)

Im Fall n=2 (Doppelprozessor, davon einer als Reserveprozessor) ist 0,0034 nötig; im Fall n=3 (Dreifachprozessor, davon zwei als Reserveprozessoren) wäre fp <= 0,022 ausreichend. Da oben davon ausgegangen wurde, daß die vorhandenen Prozessoren fp = 0,0045 haben kann mit einer Doppelprozessorgruppe der geforderte Wert von fges nicht erreicht werden, sondern es sind (mindestens) drei Prozessoren, mithin zwei redundante Reserveprozessoren, nötig. Wird fortgesetzt