Rechnerstrukturen Formelsammlung 1

Leistungsbewertung

n: Befehlsanzahl. ¨ T (n): Ausfuhrungszeit der n Befehle. f: Taktfrequenz des Prozessors. Million Instructions Per Second: MIPS =

n T (n) · 106

analog: Million Floating Point Operations Per Second (MFLOPS). Cycles Per Instruction: CPI =

2

f MIPS · 106

Cache

¨ den Cache. rH : Hit-Rate fur tH : Zugriffszeit auf den Cache (beim Cache-Hit). tM : Zugriffszeit auf den Hauptspeicher bzw. die n¨achste Cache-Stufe (beim Cache-Miss). Mittlere Speicherzugriffszeit: tavg = rH · tH + (1 − rH ) · tM ¨ die Adresse k bei verschiedenen CacheAbbildungsvorschriften fur Arten: ¨ • Direkt abgebildet: Indexgroße: i Bits. k wird in die (k mod i)-te Cache-Zeile abgebildet. • Vollassoziativ: In den ersten freien Block abbilden, falls der Cache voll ist wird eine Ersetzungsstrategie (z.B. Least Recently Used) angewandt. ¨ • n-fach satzassoziativ: Indexgroße: j Bits. k wird in den (k mod j)ten Satz abgebildet, innerhalb dieses Satzes wie bei Vollsassoziativit¨at verfahren.

1

3

Maßzahlen fur ¨ parallele Systeme

Die Ausfuhrungszeit ¨ T = Tcomp +Tcomm +Tidle eines parallelen Programmes ¨ ist die Zeit zwischen dem Starten der Programmausfuhrung auf einem der Prozessoren und dem Zeitpunkt, an dem der letzte Prozessor die Arbeit an diesem Programm beendet hat. Sie setzt sich zusammen aus: ¨ Rechenoperationen verwen• Berechnungszeit Tcomp : Die Zeit, die fur det wird. ¨ Sende- und Empfangs• Kommunikationszeit Tcomm : Die Zeit, die fur operationen verwendet wird. • Unt¨atigkeitszeit Tidle : Die Zeit, die mit Warten (z.B. auf Nachrichten) verbracht wird. ¨ ¨ das VerDie Ubertragungszeit Tmsg = ts + tw · L ist die Zeit, die fur schicken einer Nachricht bestehend aus L Datenworten zwischen zwei ¨ Prozess(or)en benotigt wird. Sie setzt sich zusammen aus: • Startzeit ts . ¨ • Transferzeit tw pro ubertragenem Datenwort. P(1): Anzahl der Operationen des Programms auf einem Einprozessorsystem. P(n): Anzahl der Operationen des Programms auf n Prozessoren. ¨ T (1): Ausfuhrungszeit auf einem Einprozessorsystem (in Takten). ¨ T (n): Ausfuhrungszeit auf n Prozessoren (in Takten). Vereinfachend gilt: T (1) = P(1), da auf einem Prozessor jede Operation in einem Takt aus¨ gefuhrt wird. T (n) ≤ P(n), da auf n Prozessoren pro Takt mehr als eine Operation aus¨ gefuhrt werden kann. Beschleunigung T (1) S(n) = T (n) mit 1 ≤ S(n) ≤ n.1) Effizienz E(n) ist die relative Verbesserung pro Prozessor: E(n) = 1)

S(n) n

¨ In der Praxis kann z.B. durch Cache-Effekte auch der theoretisch unmogliche Fall n < S(n) eintreten (sog. superlineare Beschleunigung).

2

Es gilt: n1 ≤ E(n) ≤ 1. Der auf einem n-Prozessor-System erforderliche Mehraufwand R(n) ¨ Kommunikation, Synchronisation und Organisation: fur R(n) =

P(n) P(1)

Es gilt: 1 ≤ R(n). Der Parallelindex I(n) gibt die mittlere Anzahl paralleler Operationen pro Zeiteinheit an: P(n) I(n) = T (n) Die Auslastung U(n) ist der normierte Parallelindex: U(n) =

I(n) P(n) = R(n)E(n) = n n · T (n)

Folgerungen: ¨ die Beschleunigung: • Der Parallelindex ist eine obere Schranke fur 1 ≤ S(n) ≤ I(n) ≤ n ¨ die Effizienz: • Die Auslastung ist eine obere Schranke fur 1 ≤ E(n) ≤ U(n) ≤ 1 n Amdahls Gesetz: Sei a der Bruchteil des Programms, der nur sequentiell bearbeitet werden kann (0 ≤ a ≤ 1). Dann gilt: T (n) =

T (1) · (1 − a) + T (1) · a n

Es folgt: S(n) =

T (1) = T (n)

1 1 =⇒ S(n) ≤ a +a

1−a n

3

4

Dynamische Verbindungstrukturen - Permutationen

Seien bn , bn−1 , ..., b2 , b1 Adressbits. Mischpermutation M(bn , bn−1 , ..., b2 , b1 ) = (bn−1 , ..., b2 , b1 , bn ) (Rotieren nach links). Kreuzpermutation2) K(bn , bn−1 , ..., b2 , b1 ) = (b1 , bn−1 , ..., b2 , bn ) ¨ (Vertauschen des hochstwertigen mit dem niedrigstwertigen Adressbit). Tauschpermutation T (bn , bn−1 , ..., b2 , b1 ) = (bn , bn−1 , ..., b2 , ¬b1 ) (b1 wird negiert). Umkehrpermutation U(bn , bn−1 , ..., b2 , b1 ) = (b1 , b2 , ..., bn−1 , bn ) (Reihenfolge der Bits umkehren).

5

Statische Verbindungsstrukturen

Verbindungsgrad g: Anzahl der Kanten an den Knoten. Durchmesser d: Maximale Pfadl¨ange zwischen zwei Knoten. (Minimale) Bisektionsbreite B: Zerlegt man einen Graphen in zwei gleich große, zusammenh¨angende Teile, und betrachtet die Anzahl der Kanten, die diesen Schnitt kreuzen, so ist B die kleinste solche Anzahl un¨ ter allen moglichen Schnitten. . Diskonnektivit¨at: D = # Knoten B Kosteneffektivit¨at: Eff = g · max{d, D}.

6

Zuverl¨assigkeit

Nichtnegative reelle Zufallsvariablen und ihre Dichtefunktionen: • L Lebensdauer mit Dichte fL . • B Fehlerbehandlungsdauer mit Dichte fB . • D Sicherheitsdauer mit Dichte fD . Dazu die Verteilungen

Zt FX (t) =

fX (s)ds 0

¨ X = L, B, D. fur 2)

auch: Butterfly.

4

Fehlerwahrscheinlichkeit FL (t): Die Wahrscheinlichkeit, dass ein zu Beginn fehlerfreies System innerhalb des Zeitraums [0, t] fehlerhaft wird. Es gilt FL (0) = 0 und lim FL (t) = 1. t→∞ ¨ Uberlebenswahrscheinlichkeit R(t) = 1 − FL (t) mit R(0) = 1 und lim R(t) = 0, wobei R monoton fallend ist. t→∞

Mittlere Lebensdauer E(L) ist der Erwartungswert der Zeitdauer bis zum ersten Fehler: Z∞ Z∞ t · fL (t)dt = R(t)dt E(L) = 0

0

Ausfallrate z(t): Die pro Zeiteinheit ausfallenden Komponenten bezogen auf die noch fehlerfreien Komponenten: dF (t)

L fL (t) dt z(t) = = = R(t) R(t)

d(1−R(t)) dt

R(t)

=−

dR(t) dt

R(t)

¨ Ist die Ausfallrate z(t) = λ konstant, so ergibt sich folgende Losung der Differentialgleichung: −λ · R(t) =

dR(t) =⇒ R(t) = e−λt dt

Verfugbarkeit ¨ V ist die Wahrscheinlichkeit, ein System zu einem beliebigen Zeitpunkt fehlerfrei anzutreffen: V=

E(L) E(L) + E(B)

¨ die Reparatur eines SyDabei ist E(B) die mittlere Behandlungsdauer fur ¨ stems. Die Verfugbarkeit also der mittlere Zeitanteil, in dem ein System funktionsf¨ahig ist, im Verh¨altnis zur mittleren Zeit, die ein System funktionsf¨ahig ist oder repariert wird. Gef¨ahrdungswahrscheinlichkeit FD (t): Wahrscheinlichkeit, dass ein zu Beginn sicheres System im Zeitintervall [0, t] in einen gef¨ahrlichen Zustand ger¨at. Sicherheitswahrscheinlichkeit S(t) = 1 − FD (t) 5

Mittlere Sicherheitsdauer E(D) ist der Erwartungswert der Zeitdauer, bis ein unsicherer Zustand auftritt. ¨ Funktionswahrscheinlichkeit ϕ(S) (bzw. ϕ(S, t) zum Zeitpunkt t) fur ein System aus S, bestehend aus den (voneinander unabh¨angigen) Komponenten Ki : • Nichtfunktionswahrscheinlichkeit ϕ(¬S) = 1 − ϕ(S) • Reihenschaltung der Ki : ϕ(

^ Y Ki ) = ϕ(Ki ) i

i

• Parallelschaltung zweier Komponenten K1 , K2 (d.h. nur eine muss funktionieren): ϕ(K1 ∨K2 ) = 1−[(1−ϕ(K1 ))·(1−ϕ(K2 ))] = ϕ(K1 )+ϕ(K2 )−ϕ(K1 )ϕ(K2 ) Allgemeiner: ϕ(

_

Ki ) = 1 −

i

Y

(1 − ϕ(Ki ))

i

¨ ϕ(K1 ∨ K2 ) nehmen, Man darf hier nicht ϕ(K1 ) + ϕ(K2 ) als Wert fur ¨ dass K1 und K2 beide funktioda hier die Wahrscheinlichkeit dafur, ¨ nieren doppelt eingehen wurde. • n-von-m-Systeme: Gegenseitige (statische) Redundanz, n von ins¨ gesamt m Komponenten mussen funktionieren, damit das Gesamt¨ alle Komponenten K: system S funktioniert; ϕ(K, t) ist gleich fur m   X m ϕ(S, t) = ϕ(K, t)i (1 − ϕ(K, t))m−i i i=n ¨ Hier werden die Wahrscheinlichkeiten aller moglichen Ereignisse sum¨ miert, bei deren Eintreten das System S noch funktionieren wurde. Das sind diejenigen Ereignisse, bei denen mehr als n Komponenten m ¨ n + j funktionierende Komponenten gibt es n+j funktionieren. Fur ¨ Moglichkeiten, welche der m Komponenten diese n + j funktionie¨ renden Komponenten sein konnten. In jedem dieser F¨alle betr¨agt die n+j ¨ n + j funktionierende) multipliWahrscheinlichkeit ϕ(K, t) (fur m−(n+j) ¨ m − (n + j) nicht funktionierende ziert mit (1 − ϕ(K, t)) (fur Komponenten). 6

¨ eine Komponente K0 • Dynamisch redundante Systeme: Es gibt fur Ersatzkomponenten K1 , ..., Kn , vor die jeweils eine Diagnosekompo¨ alle i = 1, ..., n: nente Di geschaltet ist mit ϕ(Di ) = c fur ! n i−1 X Y ϕ(S, t) = (1 − ϕ(Kj , t)) · ci · ϕ(Ki , t) i=0

j=0

¨ mindestens Es werden die Wahrscheinlichkeiten summiert, dass fur ein i die Komponente Ki funktioniert, jeweils unter der Voraussetzung, Q dass die vorherigen i Komponenten nicht funktioniert haben ( (1 − ϕ(Kj , t))) und dass die ersten i Diagnosekomponenten funktioniert haben (ci ). ¨ Zuverl¨assigkeitsverbesserung ΦS1 →S2 beim Ubergang vom System S1 zum System S2 : 1 − ϕ(S1 ) ϕ(¬S1 ) = ΦS1 →S2 = ϕ(¬S2 ) 1 − ϕ(S2 )

7

Vektorrechner - Pipeline

n: Anzahl der Verabreitungsauftr¨age (Vektorl¨ange). k: Anzahl der Pipelinestufen. ¨ τi : Ausfuhrungszeit der i-ten Pipelinstufe. ¨ τreg : Verzogerung durch Zwischenspeicherung. Taktperiode τ = max{τ1 , ...τk } + τreg Ausfuhrungszeit ¨ Tk von n Verarbeitungsauftr¨agen: • Mit Pipelining: Tk = n + k − 1 • Ohne Pipelining: T1 = n · k Beschleunigung Sk =

T1 nk = = Tk n+k−1

k +1

k−1 n

und es gilt lim Sk = k. n→∞

Effizienz Ek =

Sk nk = = k k(n + k − 1) 7

1 +1

k−1 n

und es gilt lim Ek = 1. n→∞

Der Durchsatz Dk gibt an, wieviele Verarbeitungsauftr¨age in einem Be¨ obachtungszeitraum Tk · τ tats¨achlich ausgefuhrt werden: Dk = und es gilt lim Dk = n→∞

1 τ

n 1 n = = k−1 τ · Tk τ(n + k − 1) τ( n + 1) (Taktfrequenz).

8