Modellierung und Bewertung von Kommunikationssystemen Skript zur Vorlesung an der RWTH-Aachen
Lehrstuhl für Informatik IV Prof. Dr. O. Spaniol
Dr. Mesut Güne³
2
Vorwort Die Leistungsbewertung spielt sowohl bei zukünftigen als auch bei existierenden Systemen eine wichtige Rolle. Bei Neuentwicklungen möchte man Vorhersagen bzgl. bestimmter Parameter wie Durchsatz, Skalierbarkeit und Ausfallsicherheit machen, um Fehlentwicklungen oder Fehlentscheidungen zu vermeiden. Existierende Systeme müssen ständig gewartet und regelmäÿig weiterentwickelt werden. Damit Erweiterungen richtig greifen, ist es wichtig, die Schwachpunkte genau zu kennen. Zwei Methoden zur Leistungsbewertung werden besonders gerne eingesetzt: analytische Bewertung und Simulationen. Die analytische Bewertung ist die wissenschaftlich schönere Vorgehensweise, wird jedoch bei konkreten Anwendungsfällen schnell sehr unüberschaubar. Dagegen ist die Leistungsbewertung durch Simulationen die praktikablere, da reale Anwendungen detailliert modelliert werden können. Gegenstand dieses Vorlesungsskriptes sind die Grundlagen der Modellierung und Bewertung mittels Wartesystemen und Wartenetzen. Damit ist dem Studenten ein Werkzeug in die Hand gegeben, um die Leistung von existierenden und zukünftigen Systemen zu bewerten. Die Verfahren werden an Hand von Beispielen aus dem Gebiet der Kommunikationssysteme und verteilten Systeme veranschaulicht. Die vorliegende Version des Skriptes basiert hauptsächlich auf den Vorlesungen der Sommersemester 2000, 2004 und 2006 an der RWTH Aachen von Prof. Otto Spaniol. In der Vorlesung wurde speziell auf die Anwendungsnähe der diskutierten Beispiele Wert gelegt. Den Herren Dr. Dirk Thiÿen, Kai Jakobs und Arnd Hannemann danken wir für die Durchsicht des Skriptes. Aachen im August 2006, Otto Spaniol, Mesut Güne³
i
ii
Inhaltsverzeichnis Abbildungsverzeichnis
vii
1 Einführung in die Modellierung und Bewertung 1.1
1.2
Methodik bei der Modellierung und Leistungsbewertung . . . . . . . . . . .
3
1.1.1
Modellparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.1.2
Bewertungskriterien von Modellen . . . . . . . . . . . . . . . . . . .
5
Analysetechniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2 Stochastik für die Leistungsbewertung 2.1
2.2
1
9
Experimente, Ereignisse und Axiome . . . . . . . . . . . . . . . . . . . . . .
9
2.1.1
Wahrscheinlichkeitsaxiome . . . . . . . . . . . . . . . . . . . . . . . .
9
2.1.2
Bedingte Wahrscheinlichkeit . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3
Stochastische Unabhängigkeit . . . . . . . . . . . . . . . . . . . . . . 11
2.1.4
Bayessche Formel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Zufallsvariablen und Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1
Diskrete Zufallsvariablen . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2
Diskrete Verteilungen und Dichten . . . . . . . . . . . . . . . . . . . 14
2.2.3
Kontinuierliche Zufallsvariablen . . . . . . . . . . . . . . . . . . . . . 17
2.2.4
Kontinuierliche Verteilungen . . . . . . . . . . . . . . . . . . . . . . . 18
2.3
Verteilungen mit Memoryless-Eigenschaft . . . . . . . . . . . . . . . . . . . 20
2.4
Erzeugende Funktionen und Laplace-Transformation . . . . . . . . . . . . . 21
3 Stochastische Prozesse
25
3.1
Stochastische Prozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2
Poissonprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3
Markov-Prozesse und Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . 28 3.3.1
Markov-Prozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.2
Stationarität von Prozessen . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.3
Graphische Darstellung von Markov-Prozessen . . . . . . . . . . . . 31
3.3.4
Lokales und globales Gleichgewicht . . . . . . . . . . . . . . . . . . . 31 iii
iv
Inhaltsverzeichnis 3.4
Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4.1
Zustandsklassikation von Markov-Ketten . . . . . . . . . . . . . . . 34
3.4.2
Stationäre Verteilung von Markov-Ketten . . . . . . . . . . . . . . . 35
4 Wartesysteme 4.1
37
Einfache Wartesysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.1.1
Zustand eines Wartesystems . . . . . . . . . . . . . . . . . . . . . . . 38
4.1.2
Stabilität von Wartesystemen . . . . . . . . . . . . . . . . . . . . . . 38
4.2
Beschreibung von Wartesystemen Kendallsche Notation . . . . . . . . . . 39
4.3
Little's Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.3.1
Informaler Beweis zum Little's Result . . . . . . . . . . . . . . . . . 40
4.3.2
Formaler Beweis zum Little's Result . . . . . . . . . . . . . . . . . . 40
4.3.3
Was ist die Systemzeit? . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4
Deterministische Analyse eines Wartesystems . . . . . . . . . . . . . . . . . 41
4.5
Geburts- und Todesprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.6
Analyse von M/M/1-Systemen . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.7
4.8
4.9
4.6.1
Alternative Herleitung der Zustandswahrscheinlichkeiten . . . . . . . 49
4.6.2
Wahrscheinlichkeit für ein leeres Wartesystem . . . . . . . . . . . . . 50
4.6.3
Eigenschaften von M/M/1-Systemen . . . . . . . . . . . . . . . . . . 50
Varianten von M/M/1-Systemen . . . . . . . . . . . . . . . . . . . . . . . . 51 4.7.1
Das M/M/∞-System . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.7.2
Das M/M/s-System . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.7.3
Das M/M/1/K-System . . . . . . . . . . . . . . . . . . . . . . . . . 53
Analyse von M/G/1-Systemen . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.8.1
Pollazcek-Khinchin-Formel (P-K-Formel) . . . . . . . . . . . . . . . . 54
4.8.2
Eigenschaften von M/G/1-Systemen . . . . . . . . . . . . . . . . . . 55
4.8.3
Zustandsberechnung im M/G/1-System . . . . . . . . . . . . . . . . 56
Analyse von G/M/1-Systemen . . . . . . . . . . . . . . . . . . . . . . . . . 60
5 Wartenetze 5.1
63
Eigenschaften von Wartenetzen . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.1.1
Wartenetze mit Produkteigenschaft . . . . . . . . . . . . . . . . . . . 66
5.2
Jackson-Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3
Gordon-Newell-Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.3.1
5.4
Allgemeine Ergebnisse zu Gorden-Newell-Netzen . . . . . . . . . . . 74
BCMP-Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.4.1
Die Cox-Verteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.4.2
Systemzustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Inhaltsverzeichnis 5.4.3
v
Das BCMP-Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6 Beispielanalyse ALOHA 6.1
6.2
6.3
87
Modellierung von ALOHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.1.1
Pure-ALOHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.1.2
Slotted-ALOHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.1.3
Slotted-ALOHA ohne Poissonannahme . . . . . . . . . . . . . . . . . 90
6.1.4
Berechnung von Wartezeiten
. . . . . . . . . . . . . . . . . . . . . . 91
Stabilitätsdiskussion von Slotted-ALOHA . . . . . . . . . . . . . . . . . . . 92 6.2.1
Steuerung des Inputs neuer Pakete . . . . . . . . . . . . . . . . . . . 94
6.2.2
Steuerung des Wiederholungsvorgangs nach Kollisionen . . . . . . . 94
Erweiterte Analyse von ALOHA . . . . . . . . . . . . . . . . . . . . . . . . 94 6.3.1
Stabilisierung des Systems durch Steuerung . . . . . . . . . . . . . . 98
6.3.2
Optimale Wiederholwahrscheinlichkeit . . . . . . . . . . . . . . . . . 100
A Übersichtstabellen zu Verteilungen und Transformationen
103
A.1 Diskrete Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A.2 Kontinuierliche Verteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Symbolverzeichnis
107
Literaturverzeichnis
109
Index
111
vi
Inhaltsverzeichnis
Abbildungsverzeichnis 1.1
Vorgehensweise beim Modellieren . . . . . . . . . . . . . . . . . . . . . . . .
2.1
Verteilungsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2
Gleichverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3
Dichte der Normalverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1
Klassikation von Prozessen . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2
Prozess mit kontiniuerlichem Indexbereich und diskretem Zustandsraum . . 29
3.3
Intensitätsgraph eines Markov-Prozesses mit n Zuständen . . . . . . . . . . 31
3.4
Prozess mit diskretem Index- und Zustandsraum . . . . . . . . . . . . . . . 32
4.1
Ein Wartesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2
Ankünfte und Abgänge in einem Wartesystem . . . . . . . . . . . . . . . . . 41
4.3
Entwicklung eines Wartesystems über die Zeit. . . . . . . . . . . . . . . . . 42
4.4
Zustände eines Geburts- und Todesprozesses . . . . . . . . . . . . . . . . . . 44
4.5
Ein M/M/1-Wartesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.6
Kunden in einem Wartesystem . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.7
Mittlere Zeit in der sich das System im Zustand 1 bendet . . . . . . . . . . 48
5.1
Aufbau eines Knotens in einem Wartenetz. . . . . . . . . . . . . . . . . . . . 66
5.2
Ein Tandemnetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3
Ein Jackson-Netz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.4
Die Cox-Verteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.1
Durchsatz und Gesamtverkehr bei ALOHA . . . . . . . . . . . . . . . . . . 88
6.2
Kollisionsphase bei Pure- und Slotted-ALOHA . . . . . . . . . . . . . . . . 89
6.3
Zusammenhang zwischen Durchsatz und Gesamtverkehr bei ALOHA . . . . 90
6.4
Zustände bei ALOHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.5
Flow-In nach Zustand n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
vii
3
viii
Abbildungsverzeichnis
KAPITEL 1
Einführung in die Modellierung und Bewertung Die Analyse realer Systeme1 ist aus Komplexitätsgründen oft zu schwierig und zu aufwendig. Um dennoch Aussagen über das Verhalten von Systemen bezüglich ihrer Leistungsfähigkeit oder Wirtschaftlichkeit treen zu können, bedient man sich eines Modells. Ein Modell ist eine vereinfachte Abbildung der Realität. Die Analyse des Modells liefert Aussagen über sein Verhalten bezüglich vorgegebener Start- und Randbedingungen. Die Bewertung des Modells liefert Vergleichsmöglichkeiten zwischen verschiedenen Varianten und dient zur Verbesserung des Systems, z.B. zur Engpassbeseitigung. Anschlieÿend muss der Versuch unternommen werden, die Modelldaten auf die Realität zu übertragen. Beispiel: Das Client/Server-System Es soll ein Client/Server-System untersucht werden. An einem Server sind mehrere Clients angeschlossen. Der Server besitzt mehrere Festplatten, Drucker und andere Peripheriegeräte. Die Clients senden Anfragen an den Server. Diese Anfragen bearbeitet der Server und schickt die Ergebnisse an die jeweiligen Clients zurück. Das Szenario ist in der folgenden Abbildung dargestellt.
Die zentrale Fragestellung bei der Untersuchung eines solchen Systems ist nun:
• Wie viele Clients können gleichzeitig an einen Server angeschlossen werden, ohne dass die 1
Der Begri System stammt aus dem griechischen und bedeutet gegliedertes Ganzes. Im Allgemeinen versteht man unter einem System den ganzheitlichen Zusammenhang von Dingen und Vorgängen, die von der Natur gegeben sind bzw. von Menschen erstellt wurden.
1
2
Kapitel 1. Einführung in die Modellierung und Bewertung mittlere Antwortzeit des Servers einen bestimmten Grenzwert überschreitet, ab dem das ganze System nicht mehr eektiv arbeitet? Hierbei gilt es also zu berechnen, wie hoch die maximal mögliche Auslastung sein kann, ohne dass die Bedienqualität des Systems zu stark darunter leidet. Dabei gibt es einen Konikt zwischen gegensätzlichen Anforderungen, die überwunden werden müssen. Einerseits sollen die Ressourcen des Systems möglichst gut ausgelastet sein (Anforderung des Betreibers), andererseits sollen keine allzu hohen Wartezeiten entstehen (Anforderung des Benutzers). Ein solches Client/Server-System kann zum Zweck der Analyse als so genanntes Wartenetz, ein Netzwerk aus Wartesystemen, modelliert werden. Für jeden Client gibt es ein Wartesystem, in welchem seine Anfragen gesammelt werden. Die Anfragen aller Clients laufen in einem gemeinsamen Wartesystem zusammen, welches die Ankunft der Anfragen beim Server repräsentiert. Je nach Anfrageninhalt werden die Anfragen dann bei den Wartesystemen der jeweils benötigten Systemkomponenten eingereiht, bis sie vollständig abgearbeitet wurden. Dann werden die Ergebnisse an die einzelnen Clients verschickt. Das Modell sieht wie folgt aus. Anfrage nicht vollständig bearbeitet
Anfragen von Client 1
CPU
Anfragen von Client 2
Drucker Alle Anfragen
Anfragen von Client 3
Band
...
Brenner
CD-ROM Anfragen von Client n Internet
Festplatte 0
Anfrage vollständig bearbeitet Ergebnisse zu den Clients schicken
Festplatte 1
... Festplatte n
In einem Wartenetz kann man mit Hilfe der Wartesysteme die gewünschten Zielparameter berechnen, z.B.:
• Durchsatz: Anzahl der Anfragen pro Zeiteinheit • Bedienzeit: Bearbeitungszeit einer Anfrage beim Server • Wartezeit: Zeit von der Ankunft einer Anfrage beim Server bis zum Beginn der Bearbeitung dieser Anfrage • Systemzeit: Summe aus Wartezeit und Bedienzeit einer Anfrage • Antwortzeit: Zeitdierenz zwischen dem Abschicken einer Anfrage durch den Client und dem Zurückkommen des Ergebnisses • Auslastung: Anteil der aktiven Zeit eines Servers als Summe der Auslastungen von CPU, Festplatten, Druckern, usw. Zur Berechnung dieser Zielparameter werden Systemparameter gebraucht, die ein Wartenetz eindeutig charakterisieren:
• Ankunftsprozess: Mit welcher Charakteristik treen Anfragen beim Server ein?
1.1. Methodik bei der Modellierung und Leistungsbewertung • Bedienprozess: Wie arbeitet der Server die Anfragen ab? • Bedienermenge: Anzahl der eingesetzten Server • Warteplatz: Gröÿe des Warteplatzes beim Server • Zuverlässigkeit: Wahrscheinlichkeit für das Auftreten eines Fehlers in einem bestimmten Zeitintervall • Abarbeitungsstrategie: Reihenfolge, in der der Server die eintreenden Anfragen bearbeitet
1.1 Methodik bei der Modellierung und Leistungsbewertung Die Modellierung und Leistungsbewertung von realen Systemen ist eine komplizierte und langwierige Arbeit, die aus mehreren Schritten besteht. Die einzelnen Schritte sind in Abbildung 1.1 dargestellt und werden mehrmals durchlaufen.
Abstraktion
Reale Welt
ng eru fein
Modell
r Ve Validierung
Analyse
Bewertung
Abbildung 1.1: Vorgehensweise beim Modellieren
• Modellbildung Unter Modellbildung versteht man die Abstraktion von realen Gegebenheiten durch das Weglassen unwesentlicher und die Berücksichtigung wesentlicher Parameter, die das zu untersuchende System beschreiben. Die Schwierigkeit besteht darin, zu entscheiden, welche Parameter vernachlässigbar sind und welche unbedingt beachtet werden müssen. Die Güte der Aussagen, die anschlieÿend gemacht werden können, wird von dieser Auswahl sehr stark beeinusst.
• Modellanalyse Unter Analyse versteht man die systematische Untersuchung eines Gegenstandes oder Sachverhaltes hinsichtlich der ihn bestimmenden Komponenten oder Faktoren. Mit
3
4
Kapitel 1. Einführung in die Modellierung und Bewertung Hilfe der Analyse wird das Verhalten des Modells bezüglich bestimmter Eingabeparameter untersucht. Zusätzlich kann auch eine analytische Überprüfung des erstellten Modells erfolgen.
• Modellbewertung Die durch die Analyse des Modells mit unterschiedlichen Eingabeparametern erhaltenen Daten müssen miteinander verglichen und in Bezug auf ihre Aussagefähigkeit bewertet werden. Dabei kann sich durchaus herausstellen, dass die erst genannten Schritte mit neuen Parametern wiederholt werden müssen.
• Modellvalidierung Nach der Bewertung werden die Ergebnisse überprüft und ggf. wird das Modell dann modiziert.
1.1.1 Modellparameter Um Aussagen über das Verhalten eines Modells unter bestimmten Startbedingungen treen zu können, müssen ausgewählte Parameter, die Modellparameter, bewertet werden. Es gibt drei Kategorien solcher Parameter:
1. Objektive Parameter Objektive Parameter besitzen u.a. einige der folgenden Eigenschaften:
• physikalische Messbarkeit • mathematische Fassbarkeit • mathematische Interpretierbarkeit • mathematische Vergleichbarkeit Beispiele objektiver Parameter sind:
• Zeit: Wie lange dauert etwas?
Abfertigungsdauer von Jobs Antwortzeit eines Systems Verweilzeit von Kunden (Jobs, Anfragen) in einem System • Raum: Wie viel Speicher, wie viel Leistungskapazität?
Speicherbedarf eines Programms Anzahl der Umspeicherungen eines Sortieralgorithmus Gröÿe des Puers eines Routers Die objektiven Parameter bilden aufgrund ihrer Eigenschaften für den Bereich der Modellierung und Bewertung von Kommunikationssystemen die wichtigste Gruppe. Damit erfüllen sie die für eine theoretische Analyse wichtigen Voraussetzungen der Allgemeingültigkeit und Übertragbarkeit.
1.1. Methodik bei der Modellierung und Leistungsbewertung
2. Subjektive Parameter Die subjektiven Parameter entziehen sich im Allgemeinen der genauen Erfassung durch Messungen oder Tests. Sie werden in der Regel durch empirische oder soziologische Untersuchungen erfasst. Sie sind nicht oder nur unzureichend fassbar und können daher für Berechnungs- oder Testzwecke kaum verwendet werden. Hierzu gehören beispielsweise:
• Akzeptanz eines Systems durch die Benutzer • Zukunftssicherheit einer Entwicklung • Bedienerfreundlichkeit einer Benutzeroberäche
3. Intermediäre Parameter Unter intermediären Parametern versteht man Kenngröÿen, die sowohl subjektive als auch objektive Eigenschaften besitzen. Sie sind daher keiner dieser beiden Klassen zuzuordnen. Da sie aber einige Merkmale der objektiven Parameter aufweisen, können sie bei der Modellierung von Kommunikationssystemen durchaus eine Rolle spielen. Zu dieser Gruppe gehören:
• Datendurchsatz • Datensicherheit • Kosten Man kann sich vorstellen, dass intermediäre Parameter anwendungsabhängig die Entscheidung zugunsten eines bestimmten Systems beeinussen können. Im Folgenden werden hauptsächlich objektive Parameter betrachtet.
1.1.2 Bewertungskriterien von Modellen Bei der Modellbildung lassen sich nicht alle Parameter berücksichtigen. Es ist auch nicht möglich, alle Parameter gleichzeitig zu optimieren. Deshalb muss man sich auf einige besonders wichtige Parameter beschränken und diese der Modellbildung und Bewertung zugrundelegen. Dabei muss eine Aussage immer die folgende Form haben: System A ist besser als System B bzgl. Parameter C In konkreten Fällen kann es sogar sein, dass die Aussage nur in einem bestimmten Wertebereich des Parameters C gilt. Daher sind Aussagen der Form: System A ist besser als System B sehr gefährlich, da sie die Beurteilung der Systeme bzgl. aller Parameter voraussetzen. Ein System kann auch bzgl. unterschiedlicher Kriterien und somit bzgl. unterschiedlicher Parameter untersucht werden, wobei es sich dann bzgl. einiger Parameter als optimal, bzgl. anderer Parameter aber als pessimal erweisen kann. Insbesondere gibt es Parameter, deren Optimierungsrichtungen gegensätzlich verlaufen, so dass die Optimierung eines Parameters eine Verschlechterung bzgl. eines anderen Parameters bewirkt.
5
6
Kapitel 1. Einführung in die Modellierung und Bewertung Beispiel: Verhältnis zwischen Durchsatz und Wartezeit Der Durchsatz und die Wartezeit eines Systems lassen sich im Allgemeinen nicht gleichzeitig verbessern. Die Durchsatzmaximierung ist meistens nicht verträglich mit der Wartezeitminimierung.
Wartezeit minimieren
Mittlere Wartezeit
Die Betreiber eines Kommunikationssystems wollen einen maximalen Durchsatz, also eine hohe Last. Dies verursacht jedoch eine längere Wartezeit, da das System mehr Aufträge bearbeiten muss. Im Gegensatz dazu wünscht sich der Kunde eine schnelle Bedienung, welche nur durch wenig Last erreichbar ist. Der typische Zusammenhang ist in der folgenden Abbildung dargestellt.
Durchsatz maximieren
Last
1.2 Analysetechniken Die Modellierung dient zur Bewertung eines Systems bzgl. bestimmter Parameter. Daher muss man versuchen, eine möglichst realitätsnahe Systemumgebung zu entwickeln. Dazu braucht man Informationen über das zu bewertende System, die man durch die folgenden Methoden erhalten kann:
• Messungen in realen Systemen • Instruction Mix: Messprogramme, die aus einer Mischung der unterschiedlichen Befehle (IO-Befehle, Arithmetik-Befehle) eines Rechners bestehen. • Kernprogramme: Messprogramme, die aus den häugsten vorkommenden Befehlssequenzen bestehen. • Benchmarks: Spezielle Messumgebungen, die aus einem repräsentativen Programmpaket bestehen, z.B. Benchmark für Compiler, Benchmark für Oce-Anwendungen, Benchmark für Spiele. • Synthetische Jobs • Stochastische Modelle, die gute Näherungen an bestimmte Verhalten wiedergeben. Man unterscheidet zwei Arten von Analysetechniken:
• Exakte mathematische Analyse Die Vorteile der exakten mathematischen Analyse liegen in
der formalen Beschreibung des Systems
1.2. Analysetechniken
der Erstellung eines Formelsystems, welches das Erkennen der Zusammenhänge erleichtert
der Berechnung einzelner Parameter und daraus die Berechnung abgeleiteter Parameter
der Darstellung von Zusammenhängen, z.B. in graphischer Form Allerdings ist die Realität oft zu komplex, d.h. mathematisch nur unzureichend fassbar. Entweder sind die Formeln zu komplex oder die Vereinfachungen zu groÿ. In Kapitel 6 wird anhand des ALOHA-Protokolls ein Beispiel zur exakten Analyse vorgestellt und vollständig diskutiert.
• Simulationstechniken Im Gegensatz zur mathematischen Analyse versuchen die Simulationstechniken die Realität detailliert nachzubilden, um daraus Eigenschaften abzuleiten. Hierzu werden spezielle Simulationsprogramme entwickelt. Durch Simulationsläufe wird das zeitliche Verhalten, also die Dynamik, des Systems nachgebildet. Auch bei Simulationstechniken müssen vereinfachende Annahmen gemacht werden, welche die Güte der Simulationen stark beeinussen. Simulationstechniken besitzen im Allgemeinen folgende Probleme:
Simulationsparameter: Welche Aspekte des Systems sollen nachgebildet werden? Laufzeit: Simulationen können sehr lange dauern. Vertrauensintervalle (Kondenzintervall): Die Ergebnisse aus Simulationen hängen typischerweise stark mit der Simulationslänge zusammen. Lange Simulationen liefern bessere/zuverlässigere Ergebnisse als kurze.
Einschwingzeiten: Erste Simulationswerte sind oft mit groÿen Schwankungen und Fehlern behaftet.
7
8
Kapitel 1. Einführung in die Modellierung und Bewertung
KAPITEL 2
Stochastik für die Leistungsbewertung In diesem Kapitel sind einige Grundlagen der Wahrscheinlichkeitsrechnung zusammengestellt, die für den Sto des Skriptes notwendig sind. Es gibt jedoch nur eine Zusammenfassung wieder, die zur Aurischung des Materials dienen soll und kann kein Lehrbuch über Wahrscheinlichkeitsrechnung bzw. Stochastik ersetzen.
2.1 Experimente, Ereignisse und Axiome Ausgangsbasis jeder stochastischen Betrachtung sind Experimente. Ein Experiment hat mögliche Ergebnisse. Ein Ereignis ist eine Menge von Ergebnissen. Die Menge aller möglichen Ereignisse bildet den Ereignisraum Ω. Jedem Ereignis wird dabei eine Wahrscheinlichkeit zugeordnet. Beispiel: n-facher Münzwurf Der Ereignisraum beim Experiment n-facher Münzwurf ist gegeben durch Ω = {(x1 , . . . , xn ) | xi ∈ {0, 1}}. Dabei bedeutet 1=Kopf und 0=Zahl. Das Ereignis A = {2 mal Kopf in 4 Würfen} ist durch die folgende Menge der Ergebnisse deniert:
A = {(1, 1, 0, 0), (1, 0, 1, 0), (1, 0, 0, 1), (0, 1, 1, 0), (0, 1, 0, 1), (0, 0, 1, 1)}
2.1.1 Wahrscheinlichkeitsaxiome Es gelten folgende Axiome: (1) Gegeben sei eine nicht leere Menge Ω. Die Elemente ω von Ω werden Elementarereignisse genannt. (2) Es sei eine Menge A = {A1 , A2 , . . .} von Teilmengen Ai ⊆ Ω, eine so genannte σAlgebra, ausgezeichnet. Die Elemente Ai von A heiÿen zufällige Ereignisse und genügen den folgenden Bedingungen: (a) Ω ∈ A (b) Ist A ⊆ Ω ein Element von A, also A ∈ A, dann enthält A auch das Komplement dazu, also Ω \ A ∈ A. 9
10
Kapitel 2. Stochastik für die Leistungsbewertung (c) Für jede Folge A1 , A2 , . . . ∈ A muss gelten: ! ∞ [ B := Ai ⇒ B ∈ A i=1
(3) Jedem Element A ∈ A sei eine Zahl P(A), die so genannte Wahrscheinlichkeit von A, mit 0 6 P(A) 6 1, zugeordnet. (4) Es gilt P(Ω) = 1 (Normierungsaxiom). (5) Für jede Folge A1 , A2 , . . . , An ∈ A, wobei die Ai paarweise disjunkt sind, gilt:
P(A1 ∪ A2 ∪ . . . ∪ An ) = P(A1 ) + P(A2 ) + . . . + P(An ) Seien A und B Ereignisse. Dann lassen sich mit den oben aufgeführten Axiomen folgende Behauptungen zeigen: (i) P(A) 6 1 (ii) P(A) + P(A) = 1, wobei A := Ω \ A = {ω ∈ Ω | ω 6∈ A} (iii) P(∅) = 0 (iv) P(A ∪ B) = P(A) + P(B) − P(A ∩ B) Beispiel: Anwendung der Wahrscheinlichkeitsaxiome Beweis zu Behauptung (iv): (a) A = (A ∩ B) ∪ (A ∩ B) (b) B = (A ∩ B) ∪ (A ∩ B) (c) A ∪ B = (A ∩ B) ∪ (A ∩ B) ∪ (A ∩ B) Mit (a), (b), (c) und Axiom (5) erhält man:
P(A ∪ B) = P(A ∩ B) + P(A ∩ B) + P(A ∩ B) = P(A ∩ B) + P(B) − P(A ∩ B) + P(A) − P(A ∩ B) = P(A) + P(B) − P(A ∩ B)
2.1.2 Bedingte Wahrscheinlichkeit Oft treten Ereignisse nicht einzeln und unabhängig, sondern in bestimmten Abhängigkeiten voneinander auf. In diesem Fall spricht man von bedingter Wahrscheinlichkeit. Die bedingte Wahrscheinlichkeit eines Ereignisses A unter der Voraussetzung, dass Ereignis B eingetreten ist, ist deniert durch:
P(A | B) =
P(A ∩ B) , P(B)
falls P(B) > 0
(2.1)
Wenn A und B disjunkt sind, gilt P(A | B) = 0. Dies folgt direkt aus der Tatsache, dass dann P(A ∩ B) = P(∅) = 0 ist.
2.1. Experimente, Ereignisse und Axiome
11
2.1.3 Stochastische Unabhängigkeit Die Ereignisse A und B sind stochastisch unabhängig, wenn das Stattnden eines der Ereignisse nichts über das Stattnden des anderen Ereignisses aussagt. Es gilt also für Ereignisse A und B: P(A | B) = P(A) sowie P(B | A) = P(B) Die Unabhängigkeit zweier Ereignisse kann also nach Gleichung (2.1) wie folgt ausgedrückt werden:
P(A ∩ B) = P(A|B) · P(B) = P(A) · P(B)
(2.2) (2.3)
Falls Gleichung (2.3) gilt, sind die Ereignisse A und B per Denition stochastisch unabhängig.
2.1.4 Bayessche Formel Gegeben sei eine Folge von paarweise disjunkten Ereignissen B1 , B2 , . . . , Bn , Bi ⊆ Ω mit P(Bi ) > 0, die den Ereignisraum Ω zerlegen. Es gelte also
Ω=
n [
Bi
i=1
Wir betrachten nun ein beliebiges Ereignis A, dann gilt für dieses Ereignis ! n n [ [ A=A∩Ω=A∩ Bi = (A ∩ Bi ) i=1
i=1
Aus der Additivität der Wahrscheinlichkeiten folgt daraus
P(A) =
n X
P(A ∩ Bi )
(2.4)
i=1
Die totale Wahrscheinlichkeit für Ereignis A ist dann gegeben durch:
P(A) =
n X
P(A | Bi ) · P(Bi )
(2.5)
i=1
Man erhält Gleichung (2.5) aus Gleichung (2.4) durch Ausnutzen des Zusammenhangs von Gleichung (2.2). Wenn P(A) > 0, dann gilt für die bedingte Wahrscheinlichkeit des Ereignisses Bi unter der Bedingung A:
P(Bi | A) =
P(A | Bi ) · P(Bi ) P(A | Bi ) · P(Bi ) = Pn P(A) j=1 P(A | Bj ) · P(Bj )
(2.6)
Die Ereignisse Bi (i = 1, 2, . . .) sind Ergebnismengen, die mit Wahrscheinlichkeit P(Bi ) (Apriori-Wahrscheinlichkeit) auftreten. Ist bei einem Zufallsexperiment das Ereignis A eingetreten, so interessiert man sich oft für die Wahrscheinlichkeiten P(Bi | A), dass nämlich unter der Voraussetzung, dass A eingetreten ist, die Bedingung Bi erfüllt ist. Die Bayessche Formel gestattet es, bei Kenntnis von P(A | Bi ) die Wahrscheinlichkeiten P(Bi | A) (Aposteriori-Wahrscheinlichkeit von Bi ) zu berechnen.
12
Kapitel 2. Stochastik für die Leistungsbewertung Beispiel: Bedingte Wahrscheinlichkeit Ein Test zeige mit 95% Sicherheit an, ob ein getestetes System richtig funktioniert. Er zeigt allerdings auch in 1% der Fälle an, dass das System korrekt arbeitet, obwohl Fehler auftreten. Angenommen, insgesamt 99% der Systeme arbeiten korrekt, wie hoch ist dann die Wahrscheinlichkeit, dass ein getestetes System fehlerhaft ist, wenn das Testergebnis dieses anzeigt?
• Sei A das Ereignis: Testergebnis Fehler und • B das Ereignis: System fehlerhaft Die Apriori-Wahrscheinlichkeiten sind also P(A | B) = 0, 99 und P(A | B) = 0, 05. Gesucht ist P(B | A). Mit der Gleichung (2.6) ergibt sich:
P(B) · P(A | B) P(B) · P(A | B) + P(B) · P(A | B) 0, 01 · 0, 99 = 0, 01 · 0, 99 + 0, 99 · 0, 05 = 0, 16
P(B | A) =
Das bedeutet, nur in knapp 17% der Fälle ist ein System wirklich fehlerhaft, wenn das Testergebnis dies anzeigt!
2.2 Zufallsvariablen und Verteilungen Bei einem Experiment mit zufälligem Ausgang interessiert man sich häug nicht nur für die zufälligen Ausgänge selbst, sondern auch für allgemeinere mathematische Gröÿen, die durch den zufälligen Ausgang des Experiments bestimmt werden. Solche Gröÿen nennt man zufällige Gröÿen oder Zufallsvariablen. Beispiel: Zufallsvariable Beim n-fachen Werfen eines Würfels ist die erzielte Augenzahl eine Zufallsvariable. Denition: Zufallsvariable Eine Zufallsvariable ist eine Abbildung X : Ω −→ R aus dem Ereignisraum in die reellen Zahlen. Es wird jedem Elementarereignis ω ∈ Ω aus dem Ereignisraum Ω eine reelle Zahl X(ω) ∈ R zugeordnet.
Man unterscheidet zwischen diskreten Zufallsvariablen und kontinuierlichen Zufallsvariablen.
2.2.1 Diskrete Zufallsvariablen Diskrete Zufallsvariablen nehmen Werte aus dem Bereich der natürlichen Zahlen oder aus einem anderen endlichen bzw. abzählbaren Bereich an.
2.2. Zufallsvariablen und Verteilungen
13
Erwartungswert einer diskreten Zufallsvariable Der Erwartungswert E[X] einer diskreten Zufallsvariablen X ist die mit Wahrscheinlichkeiten gewichtete Summe über alle Ausgänge des Experiments:
E[X] = µ =
k X
xi · P(X = xi ) =
k X
i=1
xi · pi
i=1
pi := P(X = xi ) gibt dabei die Wahrscheinlichkeit an, dass die Zufallsvariable X den Wert xi annimmt. Der Erwartungswert der Summe von zwei Zufallsvariablen ist gleich der Summe der Erwartungswerte dieser Zufallsvariablen:
E[X + Y] = E[X] + E[Y] n-tes Moment einer diskreten Zufallsvariable Weitere Informationen über die Zufallsvariablen liefern die Momente der Verteilung. Das n-te Moment Mn ist deniert durch:
Mn [X] =
k X
xn i
· P(X = xi ) =
k X
xn i · pi
i=1
i=1
Das erste Moment liefert den Erwartungswert der Verteilung.
Zentrale Momente einer diskreten Zufallsvariable Von Wichtigkeit ist eine weitere Klasse von Momenten, die zentralen Momente. Sie unterscheiden sich von den einfachen Momenten dadurch, dass der Erwartungswert in den Ursprung verlegt wird. k X 0 Mn [X] = (xi − E[X])n · pi i=1
Varianz einer diskreten Zufallsvariable Das zweite zentrale Moment, die Varianz, gibt die mittlere quadratische Abweichung einer Zufallsvariablen X von ihrem Erwartungswert an:
M20 [X] = V[X] = Es gilt:
k X
(xi − E[X])2 · pi
i=1
V[X] = σ2 = E[X2 ] − (E[X])2
Standardabweichung einer diskreten Zufallsvariable Die Streuung einer Zufallsvariablen X ist die positive Wurzel aus der Varianz der Zufallsvariablen. Man schreibt daher auch oft σ2 [X] für die Varianz. p σ[X] = + V[X]
14
Kapitel 2. Stochastik für die Leistungsbewertung
Variationskoezient einer diskreten Zufallsvariable Der Variationskoezient ist die auf den Erwartungswert normierte Standardabweichung, d.h. der Quotient aus Streuung und Erwartungswert: p + V[X] σ[X] cx = = E[X] E[X]
2.2.2 Diskrete Verteilungen und Dichten Eine Zähldichte ist eine Abbildung, die den Ausgängen einer diskreten Zufallsvariablen ihre Wahrscheinlichkeit zuordnet, also eine Zahl aus dem Intervall [0, 1]. Dazu genügt die Angabe der Wahrscheinlichkeiten pi := P(X = xi ) für alle natürlichen Zahlen i.
x1 x2 x3 ··· Werte von X P(X = xi ) P(X = x1 ) P(X = x2 ) P(X = x3 ) · · · Die zugehörige Verteilung F(x) einer diskreten Zufallsvariable X gibt die Wahrscheinlichkeit an, mit der die Zufallsvariable X einen bestimmten Wert x nicht übersteigt. X F(x) = P(X 6 x) = P(X = xi ) xi 6x
Im Folgenden werden einige Beispiele für diskrete Dichten anhand der zugehörigen Experimente hergeleitet.
Bernoulli-Experiment Ein Bernoulli-Experiment ist ein Experiment mit zwei möglichen Ausgängen, z.B. 1=Erfolg und 0=Misserfolg. Ein Münzwurf kann als Bernoulli-Experiment angesehen werden. Die Wahrscheinlichkeit für 1=Kopf sei p und das Komplementärereignis 0=Zahl 1 − p. Die Wahrscheinlichkeitsverteilung ist hier also wie folgt gegeben:
P(1 = Kopf) = p
P(0 = Zahl) = 1 − p
Binomialverteilung Wir betrachten nun Folgen von n stochastisch unabhängigen Bernoulli-Experimenten. Es gibt 2n verschiedene solcher Folgen. Jedem Ereignis mit k Erfolgen wird die Wahrscheinlichkeit
pk · (1 − p)n−k |{z} | {z }
k Erfolge n−k Misserfolge
zugewiesen. Es gibt n über k solcher Ereignisse. Die Wahrscheinlichkeit π(n, k), dass bei n Experimenten k Erfolge in beliebiger Reihenfolge auftreten, beträgt also: n π(n, k) = · pk · qn−k ∀ 0 6 k 6 n, q = (1 − p) (2.7) k
2.2. Zufallsvariablen und Verteilungen
15
Gleichung (2.7) beschreibt eine Wahrscheinlichkeitsverteilung, denn es gelten die Axiome (3) und (4):
P(Ω) =
n X
π(n, k) =
k=0
n X n k=0
k
· pk · qn−k = (p + q)n = 1
Der Erwartungswert der Binomialverteilung ist:
E[X] =
n X
k · π(n, k) =
k=0
n X k=0
n · pk · qn−k = n · p k· k
Für die Varianz der Binomialverteilung gilt:
V[X] = n · p · (1 − p)
Geometrische Verteilung Wir betrachten nun unendliche Folgen von Bernoulli-Experimenten. Bei einer idealen Münze sollte man nun annehmen, dass jede Folge von Würfen gleich wahrscheinlich ist. Den einzelnen Ereignissen können jedoch keine identischen Wahrscheinlichkeiten zugeordnet werden, da es sich um eine unendliche Menge von Ereignissen handelt, und die unendliche Summe einer (auch noch so kleinen) Konstante divergiert. Es wäre also P(Ω) = ∞ > 1. Eine Lösung besteht darin, den Ereignissen Zufallsvariablen zuzuordnen, und Mengen von Ereignissen mit Wahrscheinlichkeiten zu versehen. Sei
X := Anzahl der Wurfversuche bis zum ersten Erfolg Die Ereignismenge {X = i} umfasst also alle Folgen über {0, 1}, die mit (i − 1) Nullen beginnen. Da die Ereignisse/Versuche unabhängig voneinander sind, treten Erfolge mit Wahrscheinlichkeit p und Misserfolge mit Wahrscheinlichkeit q := 1 − p auf. Es gilt somit:
P(X = i) = (1 − p)i−1 · p = qi−1 · p ∀i > 1. Es handelt sich um eine Wahrscheinlichkeitsverteilung, denn es gilt:
P(Ω) =
∞ X i=1
P(X = i) =
∞ X
qi−1 · p = p ·
i=1
∞ X
qi−1 = p ·
i=1
1 1 =p· =1 1−q p
Diese Wahrscheinlichkeitsverteilung ist die geometrische Verteilung mit Parameter p. Der Erwartungswert und die Varianz der geometrischen Verteilung sind wie folgt:
E[X] =
1 p
und
V[X] =
1−p p2
Negative Binomialverteilung Eine weitere wichtige Verteilung ist die negative Binomialverteilung. Hier wird die Zufallsvariable X als die Anzahl n der Misserfolge deniert, die dem k-ten Erfolg voraus-
16
Kapitel 2. Stochastik für die Leistungsbewertung gegangen sind. Man erhält dann für:
n+k−1 p P(n Misserfolge bis zum k-ten Erfolg) = P(n, k) = · qn · pk−1 · |{z} k−1 {z } k−ter Erfolg | n Misserfolge und (k−1) Erfolge
n+k−1 = · qn · pk−1 · p n n+k−1 = · qn · pk n Erwartungswert und Varianz ergeben sich wie folgt:
E[X] =
k p
und
V[X] =
k(1 − p) p2
Poissonverteilung Für die Modellierung und Bewertung von Rechensystemen mittels Wartesystemen ist die Poissonverteilung von groÿer Bedeutung: Treten Ereignisse unabhängig voneinander mit der Rate λ auf, und gibt die Zufallsvariable X die Anzahl dieser Ereignisse an, dann ist X poissonverteilt, und die Wahrscheinlichkeit für das Auftreten von k Ereignissen beträgt:
P(X = k) =
λk −λ ·e , k!
k ∈ N0 , 0 < λ < ∞
Der Erwartungswert und die Varianz der Poissonverteilung sind gegeben durch:
E[X] = λ
und V[X] = λ
Im Rahmen dieser Vorlesung betrachten wir das Auftreten von Ereignissen in einem bestimmten Zeitintervall. In diesem Fall ändert sich der Parameter λ zu λ · t. Treten beliebige Ereignisse unabhängig voneinander mit Rate λ Ereignisse pro Zeiteinheit auf, und gibt die Zufallsvariable X die Anzahl dieser Ereignisse bis zur Zeit t an, dann ist X poissonverteilt, und die Wahrscheinlichkeit für k Ereignisse in einem Zeitintervall der Länge t beträgt:
P(X = k) =
(λ · t)k −λ·t ·e , k!
k ∈ N0 , 0 < λ < ∞
Der Erwartungswert und die Varianz der Poissonverteilung sind dann in diesem Fall gegeben durch:
E[X] = λ · t
und V[X] = λ · t
Es gibt viele zufallsbedingte Vorgänge, deren Einzelereignisse unabhängig voneinander sind. In diesem Fall kann die Anzahl der Ereignisse in einem vorgegebenen Zeitraum (zumindest näherungsweise) durch eine Poissonverteilung modelliert werden.
2.2. Zufallsvariablen und Verteilungen
17
Beispiel: Reale Vorgänge, die einer Poissonverteilung unterliegen
• Geburten in einer Stadt • vorbeifahrende Fahrzeuge an einem bestimmten Punkt • eingehende Anrufe in einem Fernsprechnetz • ankommende Jobs in einem Rechensystem
2.2.3 Kontinuierliche Zufallsvariablen Für die Beschreibung gewisser Wahrscheinlichkeitsräume sind diskrete Zufallsvariablen nicht geeignet. Wenn man die Anzahl der Sonnentage pro Jahr betrachtet, so ist der Ergebnisbereich diskretisierbar. Will man aber z.B. Temperaturverläufe oder Sonnenaufgangsbzw. -untergangszeiten verfolgen, kommt man mit maximal abzählbar vielen Ergebnissen nicht mehr aus. Daher die Forderung nach der Einführung kontinuierlicher Zufallsvariablen.
Verteilungsfunktion Eine kontinuierliche Zufallsvariable wird durch eine Verteilungsfunktion (siehe Abbildung 2.1) beschrieben. Die Verteilungsfunktion muss folgenden Bedingungen genügen: (1) F(x1 ) 6 F(x2 ) falls x1 6 x2 (2) F(x) → 0
falls x → −∞
(3) F(x) → 1
falls x → ∞
(4) F ist rechtsseitig stetig
1
F
x
Abbildung 2.1: Verteilungsfunktion
F(x) gibt die Wahrscheinlichkeit an, mit der die zugrundeliegende Zufallsvariable X Werte kleiner oder gleich x annimmt, also P(X 6 x).
Dichtefunktion Die Ableitung einer Verteilungsfunktion ist die Dichtefunktion:
f(x) =
dF(x) dx
18
Kapitel 2. Stochastik für die Leistungsbewertung Integriert man über die Dichtefunktion über das Intervall [a, b], so erhält man die Wahrscheinlichkeit, mit der X im Intervall [a, b] liegt, wie folgt:
P(a 6 X 6 b) = P(X 6 b) − P(X 6 a) Zb Za = f(t) · dt − f(t) · dt −∞
−∞
Zb
Zb f(t) · dt = dF(t)
= a
a
= F(b) − F(a)
Erwartungswert einer kontinuierlichen Zufallsvariablen Der Erwartungswert einer kontinuierlichen Zufallsvariablen mit Verteilungsfunktion F kann wie folgt berechnet werden: Z ∞
x · f(x)dx
E[X] = −∞
n-tes Moment einer kontinuierlichen Zufallsvariable Die höheren und zentralen Momente für kontinuierliche Zufallsvariablen werden analog zu denen der diskreten Zufallsvariablen deniert. ∞ Z
xn · f(x)dx
Mn [X] = −∞ ∞ Z
(x − E[X])n · f(x)dx
0 [X] = Mn −∞
Die Unabhängigkeit von Zufallsvariablen wird analog zu der von Ereignissen deniert.
2.2.4 Kontinuierliche Verteilungen Gleichverteilung Eine Zufallsvariable ist im Intervall [a, b] gleichverteilt, wenn sie die folgende Verteilungsfunktion besitzt (siehe Abbildung 2.2):
0 F(x) =
x−a b−a
1
für x < a für a 6 x 6 b für x > b
Die Dichtefunktion f hat folgende Form (siehe Abbildung 2.2): 1 für a 6 x 6 b f(x) = b−a 0 sonst
2.2. Zufallsvariablen und Verteilungen
19
1 b-a
1
a
b
x
a
(a) Verteilungsfunktion
b
x
(b) Dichtefunktion
Abbildung 2.2: Gleichverteilung Der Erwartungswert und die Varianz der Gleichverteilung sind:
E[X] =
a+b 2
und
V[X] =
(b − a)2 12
Normalverteilung Eine weitere wichtige Verteilung ist die Normalverteilung (oder Gauÿ-Verteilung). Die Dichte der Normalverteilung ist gegeben durch: (x−µ) 1 · e− ·σ , f(x) = √ 2·π·σ 2
2
2
x∈R
Der Graph der Dichtefunktion ist als Gauÿ`sche Glockenkurve bekannt (siehe Abbildung 2.3). Der Maximalwert wird im Punkt x = µ angenommen, wobei µ der Erwartungswert ist. In x = µ ± σ bendet sich je ein Wendepunkt. Die Varianz σ2 ist daher ein Maÿ für die Breite der Glockenkurve. Innerhalb des Bereichs ±σ um den Mittelwert µ liegen etwa 65% der Zufallsvariablen. f
μ−σ
μ
μ+σ
x
Abbildung 2.3: Dichte der Normalverteilung
Exponentialverteilung Eine der wichtigsten Verteilungen für die Modellierung und Bewertung von Rechensystemen ist die Exponentialverteilung. Die Dichtefunktion f(x) und die Verteilungsfunktion F(x) einer Exponentialverteilung mit Parameter µ sind gegeben durch:
f(x) = µ · e−µ·x
F(x) = 1 − e−µ·x
∀x > 0
20
Kapitel 2. Stochastik für die Leistungsbewertung Der Erwartungswert und die Varianz der Exponentialverteilung sind gegeben durch:
E[X] =
1 µ
und
V[X] =
1 µ2
2.3 Verteilungen mit Memoryless-Eigenschaft Die Memoryless-Eigenschaft, Gedächtnislosigkeit, spielt in der Modellierung und Bewertung eine sehr wichtige Rolle. Prozesse mit dieser Eigenschaft sind leicht berechenbar und analysierbar. Denition: Verteilung mit Memoryless-Eigenschaft Sei A(t) = P(X 6 t) eine Verteilungsfunktion. Die Verteilungsfunktion A(t) heiÿt memoryless genau dann, wenn folgendes gilt:
P(X > t + s|X > t) = P(X > s|X > 0)
Die Memoryless-Eigenschaft sagt also für eine Verteilung aus, dass die Wahrscheinlichkeit für das Eintreten eines Ereignisses nur von dem aktuellen Zeitpunkt abhängt und nicht von den Ereignissen in der Vergangenheit. Beispiel: Memoryless-Eigenschaft Die Memoryless-Eigenschaft bewirkt, dass etwa bei einem Ankunftsprozess, der einer Verteilung mit dieser Eigenschaft unterliegt, die Zeit bis zur Ankunft des nächsten Kunden nicht davon abhängt, wie lange seit dem letzten Kunden bereits gewartet wurde.
P(Restwartezeit bis zum nächsten Ereignis 6 t) = P(Wartezeit bis nächstes Ereignis 6 t)
Exponentialverteilung Die Exponentialverteilung besitzt die Memoryless-Eigenschaft, und sie ist die einzige kontinuierliche Verteilung mit dieser Eigenschaft. Nachweis der Gedächtnislosigkeit für die Exponentialverteilung:
P(X > t + s | X > t) =
P(X > t + s ∧ X > t) P(X > t)
e−λ·(t+s) = e−λ·s e−λ·t = P(X > s)
=
Sei umgekehrt u(s) = P(X > s) dann folgt
2.4. Erzeugende Funktionen und Laplace-Transformation
u(t + s) = P(X > t + s) = P(X > t + s | X > t) · P(X > t) = P(X > s) · P(X > t) = u(s) · u(t) Die einzige Lösung der Funktionalgleichung u(t + s) = u(t) · u(s) ist u(t) = e−λ·t .
Geometrische Verteilung Das diskrete Analogon zur Exponentialverteilung ist die geometrische Verteilung. Beispiel: Würfeln bis eine bestimmte Augenzahl fällt Die Anzahl der Würfe mit einem fairen Würfel, bis zum ersten Mal die 3 fällt, ist z.B. geometrisch verteilt mit Parameter p = 1/6. Die Wahrscheinlichkeit, dass man k Würfe bis zur ersten 3 benötigt, ist also gegeben durch:
P(Wurfanzahl = k) = qk−1 · p =
k−1 5 1 · 6 6
Die Wahrscheinlichkeit, dass mehr als k Würfe benötigt werden, ergibt sich zu:
P(Wurfanzahl > k) = qk−1 Damit ist:
P(noch mind. j weitere Würfe | bereits i erfolglose) qi+j−1 = P(Wurfanzahl > i + j | Wurfanzahl > i + 1) = qi j−1 = q = P(Wurfanzahl > j) Das bedeutet, die unter dem Ereignis mind. i + 1 Würfe bedingte Verteilung des Ereignisses noch j weitere Würfe führt genau auf die Ursprungsverteilung P(Wurfzahl > j). Diese Eigenschaft gilt im diskreten Fall nur für die geometrische Verteilung.
2.4 Erzeugende Funktionen und Laplace-Transformation Die Bestimmung von Mittelwert, Varianz und höheren Momenten einer Zufallsvariablen ist rechnerisch aufwendig. Eine Möglichkeit, diese Schwierigkeiten zu umgehen, ist die Benutzung von Transformationen. Eine Transformation liefert eine andere Möglichkeit zur Beschreibung von Zufallsvariablen und legt ihre Wahrscheinlichkeits- bzw. Dichtefunktion eindeutig fest. Haben zwei Zufallsvariablen die gleiche Transformierte, dann besitzen sie auch die gleiche Verteilungsfunktion. Die Prozedur bei der Verwendung einer Transformation sieht im Allgemeinen wie folgt aus:
• Transformation aus dem Zeit- in den Bildbereich • Algebraische Lösung im Bildbereich • Rücktransformation aus dem Bild- in den Zeitbereich
21
22
Kapitel 2. Stochastik für die Leistungsbewertung Der Bildbereich zeichnet sich insbesondere dadurch aus, dass algebraische Berechnungen einfacher durchzuführen sind als im Zeitbereich. Beispiel: Transformation als Hilfsmittel bei Berechnungen Das Prinzip der Transformation ist analog zur früher üblichen Nutzung von Logarithmentafeln bei der Multiplikation zweier Zahlen:
• Transformation der Faktoren in ihre Logarithmen • Addition der Logarithmen durchführen • Rücktransformation des Logarithmus des Resultats
Da man zwischen diskreten und kontinuierlichen Zufallsvariablen unterscheidet, nden auch zwei verschiedene Transformationsmethoden Anwendung. Die erzeugenden Funktionen für diskrete Zufallsvariablen und die Laplace-Transformation für kontiniuerliche Zufallsvariablen.
Erzeugende Funktionen Sei X eine diskrete Zufallsvariable über den natürlichen Zahlen mit Dichte fX (k) = P(X = k) = pk . Die Potenzreihe GX : [0, 1] → R mit
GX (z) = E[zX ] =
∞ X
pk · zk
für |z| 6 1
k=0
heiÿt wahrscheinlichkeitserzeugende Funktion oder erzeugende Funktion P(EF) der Zufallsvariablen X. Der obige Ausdruck ist wohldeniert, da 0 6 pk 6 1 und pk = 1. Die erzeugende Funktion besitzt u.a. folgende Eigenschaften: a) Die Abbildung X → GX ist injektiv. Zur Bestimmung der Einpunktwahrscheinlichkeiten pk aus GX berechnet man die k-te Ableitung an der Stelle 0:
pk = P(X = k) =
1 (k) · GX (0) k!
b) Faltung (Addition stochastisch unabhängiger Zufallsvariablen): X1 , . . . , Xn seien stochastisch unabhängige Zufallsvariablen. Dann gilt:
GX
1
+...+Xn (z) =
n Y
GXi (z)
i=1
c) Berechnung von Erwartungswert und Varianz: 0 E[X] = GX (1)
00 0 E[X2 ] = GX (1) + GX (1)
00 0 0 V[X] = GX (1) + GX (1) − [GX (1)]2
2.4. Erzeugende Funktionen und Laplace-Transformation
23
Beispiel: Berechnung des Erwartungswerts mit erzeugenden Funktionen Gegeben sei die folgende diskrete Wahrscheinlichkeitsverteilung X:
xi pi := P(X = xi )
1 1/6
2 1/6
3 3/6
4 1/6
Wir berechnen zunächst den Erwartungswert auf die normale Art:
E[X] =
4 X
xi · P(X = xi ) = 1 ·
i=1
1 3 1 16 1 +2· +3· +4· = 6 6 6 6 6
Nun berechnen wir den Erwartungswert mit Hilfe der erzeugenden Funktion. Zunächst berechnen wir die erzeugende Funktion G(z): 4 X
G(z) =
pk · zk
k=1
1 1 3 1 · z + · z2 + · z3 + · z4 6 6 6 6
=
Um den Erwartungswert zu berechnen, müssen wir die erste Ableitung G 0 (z) bilden:
G 0 (z) =
1 2 9 4 + · z + · z2 + · z3 6 6 6 6
Der Erwartungswert ergibt sich zu:
E[X] = G 0 (1) =
1 2 9 4 16 + ·1+ ·1+ ·1= 6 6 6 6 6
Laplace-Transformation Die Laplace-Transformation wird für die Berechnung der Wahrscheinlichkeits- bzw. Dichtefunktion von kontinuierlichen Zufallsvariablen benutzt und ist wie folgt deniert.
X sei eine kontinuierliche Zufallsvariable mit Dichtefunktion fX (x) über der positiven reellen Achse, d.h. es gelte fX (x) = 0 für alle x < 0. Die Funktion:
∞ Z
e−s·x · fX (x) · dx für s > 0
LX (s) = 0
heiÿt Laplace-Transformierte der Zufallsvariablen X. Eigenschaften der Laplace-Transformation: a) Die Abbildung X → LX ist injektiv: Falls LX (s) = LY (s), so gilt X = Y . b) Faltung: LX+Y (s) = LX (s) · LY (s) für stochastisch unabhängige Zufallsvariablen X und Y . c) Berechnung von Erwartungswert und Varianz (auch höhere Momente können mittels der Transformation berechnet werden): 0 E[X] = −LX (0)
und
00 0 V[X] = LX (0) − [LX (0)]2
24
Kapitel 2. Stochastik für die Leistungsbewertung Beispiel: Laplace-Transformierte der Exponentialverteilung Die Dichte einer exponentialverteilten Zufallsvariable X ist gegeben durch:
fX (x) = µ · e−µ·x Der Erwartungswert der Zufallsvariablen X ist dann:
E[X] =
1 µ
Wir berechnen nun den Erwartungswert der Zufallsvariablen X mit der Laplace-Transformation. Dazu berechnen wir zuerst die Laplace-Transformierte LX (s): Z∞ Z∞ LX (s) = e−s·x · fX (x)dx = e−s·x · µ · e−µ·x dx 0 0 Z∞ = µ e−x·(s+µ) dx 0
= µ·
1 s+µ
Für den Erwartungswert benötigen wir die erste Ableitung:
LX0 (s) = µ ·
−1 (s + µ)2
Durch die oben angegebene Beziehung erhalten wir für den Erwartungswert der Zufallsvariablen schlieÿlich wieder das Bekannte:
E[X] = −LX0 (0) = −µ ·
−1 1 = µ2 µ
KAPITEL 3
Stochastische Prozesse Die Modellierung und Leistungsbewertung von Systemen geschieht im Allgemeinen über die Betrachtung des Systemverhaltens über die Zeit. Zufallsprozesse erlauben eine sinnvolle Modellierung und Analyse des Systemverhaltens. In diesem Kapitel werden stochastische Prozesse, Poissonprozesse, Markov-Prozesse und Markov-Ketten vorgestellt.
3.1 Stochastische Prozesse Ein stochastischer Prozess ist ein sich zeitlich verändernder Zufallsprozess. Denition: Stochastischer Prozess Ein stochastischer Prozess ist eine Menge von Zufallsvariablen {X(t) | t ∈ T } über die Zeit T . Für jedes t bildet X(t) eine Zufallsvariable.
Alle Zufallsvariablen sind über einem gemeinsamen Wertebereich S (State = Zustand) deniert. Der Indexbereich T wird oft als eine Menge von einzelnen Zeitpunkten interpretiert. Falls T abzählbar ist, handelt es sich um einen zeitdiskret-stochastischen Prozess. Falls T ein Intervall aus dem Bereich der reellen Zahlen ist, spricht man von zeitkontinuierlichstochastischen Prozessen. X(t) ∈ S gibt den Zustand des Prozesses zum Zeitpunkt t an. Abbildung 3.1 stellt die möglichen Kombinationen von Index- und Wertebereichen für Prozesse grasch dar. Beispiel: Kunden im Supermarkt Die Anzahl der Kunden in einem Supermarkt ist ein stochastischer Prozess. Der Prozess ist abhängig vom Ankunftsverhalten der Kunden im Supermarkt und dem Bedienverhalten an den verschiedenen Theken und Kassen.
3.2 Poissonprozesse Ein Poissonprozess ist ein stochastischer Prozess, der Ereignisse in einem gegebenen Zeitintervall zählt. Die Anzahl n der auftretenden Ereignisse ist bei einem Poissonprozess proportional zur Länge des Intervalls t und zur Intensität λ, mit der die Ereignisse auftreten. 25
26
Kapitel 3. Stochastische Prozesse
S
S
T
T
a)
b)
S
S
T c)
T d)
Abbildung 3.1: Klassikation von Prozessen: a) zustandskontinuierlich, zeitkontinuierlich, b) zustandsdiskret, zeitkontinuierlich, c) zustandskontinuierlich, zeitdiskret, d) zustandsdiskret, zeitdiskret Denition: Poissonprozess Ein Prozess, bei dem Ereignisse mit Rate λ auftreten, heiÿt Poissonprozess. Für Poissonprozesse gelten die folgenden Eigenschaften. (1) P(ein Ereignis tritt im Intervall der Länge ∆t auf) = λ · ∆t + o(∆t) (2) P(mehr als ein Ereignis tritt im Intervall der Länge ∆t auf) = o(∆t)
o(∆t) ist ein Störterm, der von der Länge des Intervalls abhängt und sowohl positiv als auch negativ sein kann. Damit sind gleichzeitige Ereignisse ausgeschlossen, da mit ∆t → 0 auch o(∆t) → 0 geht, sogar schneller als ∆t. Aus (1) und (2) ergibt sich: (3) P(kein Ereignis tritt im Intervall der Länge ∆t auf) = 1 − λ · ∆t + o(∆t) Satz: Poissonverteilung Sei Pn (t) = P(n Ankünfte im Intervall [0, t]). Mit der Denition P0 (0) := 1 gilt:
Pn (t) =
(λ · t)n −λ·t ·e n!
(3.1)
Beweis: Poissonverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Intervall [0, t] wird in m gleichgroÿe, disjunkte Teilintervalle (m > n) aufgeteilt. Entweder tritt in n der m Teilintervalle jeweils ein Ereignis und in den verbleibenden (m − n) Intervallen kein Ereignis auf, oder es gibt einige Intervalle mit mehr als einem
3.2. Poissonprozesse
27
a (t) bzw. P b (t) die Wahrscheinlichkeiten für die erwähnten Fälle. Es gilt Ereignis. Seien Pn n damit für Pn (t): a b Pn (t) = Pn (t) + Pn (t)
Es werden nun die n Teilintervalle ausgewählt, in denen je ein Ereignis auftritt. Es gilt dann:
P(in n Intervallen je ein Ereignis und in (m − n) Intervallen kein Ereignis) n m−n t t t t +o · 1−λ· +o = λ· m m m m Man kann die n Intervalle auf m n Arten auswählen. Damit ergibt sich: a Pn (t)
n m−n m t t t t · 1−λ· = · λ· +o +o n m m m m für m → ∞ erhält man (λ · t)n −λ·t = ·e n!
Da Pn (t) eine Wahrscheinlichkeitsverteilung ist, muss sie der Normierungsbedingung 1 genügen. Da Pn (t) aus den beiden Fällen zusammengesetzt ist, folgt also: ∞ X n=0
Pn (t) =
∞ X
a Pn (t) +
n=0
= e−λ·t ·
∞ X n=0
∞ X
= 1+
n=0 Pn (t)
b Pn (t)
n=0
∞ (λ · t)n X b + Pn (t) n!
= e−λ·t · eλ·t + ∞ X
P∞
∞ X
n=0
b Pn (t)
n=0
!
b Pn (t) = 1
n=0
P∞ b b b Es ist also n=0 Pn (t) = 0 und mit Pn (t) > 0 folgt Pn (t) = 0. Pn (t) ist damit eine Poissonverteilung mit Parameter λ · t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die Poissonverteilung ist faltungsstabil, d.h.:
• Die Überlagerung zweier Poissonprozesse mit Parametern λ1 und λ2 führt auf einen Poissonprozess mit Parameter λ1 + λ2 . • Die Aufspaltung eines Poisson-λ-Prozesses mittels eines Bernoulli-Experiments mit Parameter p liefert zwei Poissonprozesse mit Parametern λ · p bzw. λ · (1 − p).
Zusammenhang zwischen Poisson- und Exponentialverteilung Treten Ereignisse gemäÿ eines Poissonprozesses mit Parameter λ auf, ist also gemäÿ Gleichung (3.1) die Anzahl der Ereignisse in einem Intervall der Länge t poissonverteilt mit
=
28
Kapitel 3. Stochastische Prozesse Parameter λ · t, so sind die Zwischenankunftszeiten dieser Ereignisse exponentialverteilt mit Parameter λ und umgekehrt.
Beweis: Zusammenhang zwischen Poisson- und Exponentialverteilung . . . . . . . . . . . . . . . . . . . ⇒: Gegeben sei ein Poissonprozess, dann gilt für die Wahrscheinlichkeit, dass im Intervall [0 : t] kein Ereignis auftritt P0 (t) = e−λt = P(T > t). Also ist P(T 6 t) = 1 − e−λt ; dies ist gerade die Exponentialverteilung. ⇐: P(> 1 Ereignis im Intervall [t : t + h]) = P(T 6 h) = 1 − e−λh
−λh = 1− 1+ + ··· 1! = λh + o(h)
P(0 Ereignisse im Intervall [t : t + h]) = P(T > h) = 1 − λh + o(h) P(> 2 Ereignisse im Intervall [t : t + h]) = P(T1 6 h ∧ T2 6 h) = P(T1 6 h) · P(T2 6 h) = (λh) · (λh) + o(h) = o(h) Diese Eigenschaften hat nach Denition gerade ein Poissonprozess. . . . . . . . . . . . . . . . . . .
3.3 Markov-Prozesse und Markov-Ketten Markov-Prozesse sind eine Verallgemeinerung der Poissonprozesse. Ein Markov-Prozess ist ein stochastischer Prozess, bei dem die zukünftige Verteilung der Zufallsvariablen nur vom aktuellen Zustand abhängt, jedoch nicht davon, wie dieser Zustand erreicht wurde. Denition: Markov-Prozess Ein stochastischer Prozess X(t) heiÿt Markov-Prozess, wenn gilt:
P(X(t) = x|X(tn ) = xn , . . . , X(t0 ) = x0 ) = P(X(t) = x|X(tn ) = xn ) für alle Folgen von Zeitpunkten t0 < t1 < · · · < tn < t
Der Wertebereich von X wird Zustandsraum S genannt; er kann diskret oder kontinuierlich sein. Auÿerdem können die Werte des Indexbereiches T diskret oder kontinuierlich sein.
3.3.1 Markov-Prozesse In diesem Abschnitt betrachten wir Markov-Prozesse mit kontinuierlichem Indexbereich und diskretem Zustandsraum (siehe Abbildung 3.2). Ein Markov-Prozess mit n Zuständen kann durch seine so genannte Generatormatrix Q = (qi,j ) beschrieben werden.
q1,1 .. Q= . qn,1
. . . q1,n .. .. . . . . . qn,n
3.3. Markov-Prozesse und Markov-Ketten
29
Abbildung 3.2: Prozess mit kontiniuerlichem Indexbereich und diskretem Zustandsraum
Der Prozess bende sich zum Zeitpunkt t im Zustand i. Er wird durch die folgenden Gleichungen eindeutig charakterisiert:
P (X(t + ∆t) = j | X(t) = i) = qi,j · ∆t + o(∆t),
(3.2)
i 6= j
Die Gleichung (3.2) sagt aus, dass der Prozess mit Rate qi,j von Zustand i in Zustand j wechselt. o(∆t) ist hierbei ein Störterm, der schneller als ∆t gegen Null geht. Die Diagonalelemente qi,i der Generatormatrix Q sind deniert durch:
n X
qi,i := −
(3.3)
qi,j
j=1; j6=i
qi,i gibt die Rate an, mit welcher der Zustand i verlassen wird. Zu beachten ist hier, dass sich die Zeilen von Q zu Null aufsummieren. Einige Autoren bezeichnen qi,i auch als qi . Die Wahrscheinlichkeit, dass sich der Prozess zum Zeitpunkt t im Zustand k bendet, wird mit pk (t) bezeichnet. Die Verteilung der Zustände nach einem Zeitintervall ∆t ist dann:
pk (t + ∆t) = pk (t) · 1 −
n X j=1; j6=k
qk,j · ∆t +
n X
qi,k · pi (t) · ∆t + o(∆t) (3.4)
i=1; i6=k
Die erste Summe steht für zur Zeit t im Zustand k und kein Wechsel, die zweite Summe steht für zur Zeit t im Zustand i und es erfolgt ein Wechsel von i nach k. Aus Gleichung (3.3) und Gleichung (3.4) ergibt sich die Verteilung der Zustände nach einem
30
Kapitel 3. Stochastische Prozesse Zeitintervall ∆t wie folgt:
n X
pk (t + ∆t) = pk (t) · 1 −
qk,j · ∆t +
j=1; j6=k
qk,j +
j=1; j6=k
|
qi,k · pi (t) · ∆t + o(∆t)
i=1; i6=k
n X
= pk (t) − pk (t) · ∆t
n X
{z
n X
qi,k · pi (t) · ∆t + o(∆t)
i=1; i6=k
}
−qk,k
= pk (t) + pk (t) · ∆t · qk,k +
n X
qi,k · pi (t) · ∆t + o(∆t)
i=1; i6=k
pk (t + ∆t) = pk (t) +
n X
! qi,k · pi (t)
· ∆t + o(∆t)
i=1
pk (t + ∆t) − pk (t) = pk (t + ∆t) − pk (t) ∆t
=
n X i=1 n X
! qi,k · pi (t)
· ∆t + o(∆t)
! qi,k · pi (t)
+
i=1
o(∆t) ∆t
Mit dem Grenzübergang ∆t → 0 erhält man:
pk (t + ∆t) − pk (t) X = lim = qi,k · pi (t) t→0 ∆t n
pk0 (t)
i=1
Mit der Notation p(t) = (p1 (t), p2 (t), . . . , pn (t)) kann der letzte Ausdruck auch in Matrixschreibweise dargestellt werden:
pk0 (t) = p(t) · Q
(3.5)
Die Gleichung (3.5) erlaubt die Berechnung der Wahrscheinlichkeitsverteilung zu einem bestimmten Zeitpunkt t. Für die Leistungsbewertung ist man oft an Gleichgewichtsverteilungen interessiert, die gegeben sind, wenn sich der Prozess im stationären Zustand bendet.
3.3.2 Stationarität von Prozessen Eine entscheidende Rolle bei der Analyse von Wartesystemen kommt dem Begri der Stationarität zu. Beispiel: Flüssigkeit in einem Gefäÿ Der Begri der Stationarität kann am Beispiel eines Gefäÿes veranschaulicht werden, in das zu jedem Zeitpunkt soviel Wasser einieÿt wie abieÿt. Die Flüssigkeitsmenge im Gefäÿ bleibt also konstant.
Ein mathematischer Prozess bendet sich im stationären Zustand, wenn ein zufälliger Beobachter zu jedem Zeitpunkt dieselbe Zustandsverteilung, z.B. bezüglich der Anzahl der Kunden in einem Wartesystem, antrit. Dies bedeutet, dass die Wahrscheinlichkeit für
3.3. Markov-Prozesse und Markov-Ketten
31
einen bestimmten Prozesszustand zeitunabhängig ist, also Einschwingvorgänge des Prozesses abgeschlossen sind. Damit ist die zeitliche Dynamik eines Systems aufgelöst, was die mathematische Analyse vereinfacht und oft erst ermöglicht. Die Gleichgewichtswahrscheinlichkeit πk eines Zustandes k ergibt sich durch die Betrachtung des Prozesses über eine sehr lange Zeit, also durch den Grenzübergang t → ∞:
πk = lim pk (t) t→∞
Die stationäre Wahrscheinlichkeit πk ist nun nicht mehr von der Zeit t abhängig. Wenn bei einem Markov-Prozess ein stationärer Zustand erreicht wird, muss
pk0 (t) = 0 und damit auch π · Q = 0 Die Verteilung im stationären Zustand ist durch den Vektor π = (π1 , . . . , πn ) gegeben. Um die stationäre Verteilung zu erhalten, reicht es aus, das folgende Gleichungssystem zu lösen: n X π · Q = 0 mit der Normierungsbedingung πi = 1 i=1
3.3.3 Graphische Darstellung von Markov-Prozessen Ein Markov-Prozess kann durch seinen Intensitätsgraph dargestellt werden. Die Knoten des Intensitätsgraphen stellen die Zustände des Markov-Prozesses und die gewichteten Kanten die Übergangsraten pro Zeiteinheit zwischen den einzelnen Zuständen dar (siehe Abbildung 3.3).
q1,n
q2,n
q1,2
1
2 q2,1
. . .
n qn,2 qn,1
Abbildung 3.3: Intensitätsgraph eines Markov-Prozesses mit n Zuständen
3.3.4 Lokales und globales Gleichgewicht Einige Markov-Prozesse besitzen die so genannte Local-Balance-Eigenschaft (lokales Gleichgewicht). Diese sagt aus, dass der Fluss von Zustand i nach Zustand j, d.h. das Produkt aus Übergangsrate qi,j und Gleichgewichtszustandswahrscheinlichkeit πi , dem Fluss von Zustand j nach Zustand i entspricht:
πi · qi,j = πj · qj,i
∀ Zustände i, j
(3.6)
Aus diesem System von lokalen Flussgleichungen kann oft auf sehr einfache Weise eine Lösung für die Zustandswahrscheinlichkeiten πi ermittelt werden.
32
Kapitel 3. Stochastische Prozesse Summiert man Gleichung (3.6) über alle Zustände j 6= i, erhält man Gleichung (3.7): n X
πi
qi,j =
j=1; j6=i
|
{z
}
n X
(3.7)
πj · qj,i
j=1; j6=i
−qi,i
Diese Gleichungen heiÿen globale Flussgleichungen und ein Markov-Prozess, der diese Gleichungen erfüllt, besitzt die Global-Balance-Eigenschaft. Sie ist notwendig und hinreichend für die Existenz eines stationären Zustands. Bemerkenswert ist, dass die Erfüllung der lokalen Flussgleichungen (3.6) wegen der gerade gezeigten Beziehung (3.7) ebenfalls hinreichend für die Existenz eines stationären Zustands ist und dass diese viel einfacher ausgewertet werden können. Leider erfüllen nur relativ wenige Markov-Prozesse die lokalen Flussgleichungen.
3.4 Markov-Ketten In diesem Abschnitt betrachten wir Markov-Prozesse mit diskretem Indexbereich und diskretem Zustandsraum (siehe Abbildung 3.4).
Abbildung 3.4: Prozess mit diskretem Index- und Zustandsraum Denition: Markov-Kette Ein Markov-Prozess mit diskretem Zustandsraum und Indexbereich wird nannt. Für Markov-Ketten gilt:
Markov-Kette
P(Xn+1 = m|Xn = xn , Xn−1 = xn−1 , . . . , X0 = x0 ) = P(Xn+1 = m|Xn = xn )
ge-
(3.8)
Das bedeutet also, dass die Wahrscheinlichkeit für den nächsten Zustand Xn+1 nur vom aktuellen Zustand Xn abhängt. Diese Wahrscheinlichkeiten können vom Zeitpunkt n abhängen.
Die rechte Seite der Gleichung (3.8) gibt die Übergangswahrscheinlichkeiten der MarkovKette an. Sie kann auch wie folgt angegeben werden:
pi,j (s, t) := P(X(t) = j|X(s) = i),
t>s
(3.9)
pi,j (s, t) ist die bedingte Wahrscheinlichkeit, dass sich der Prozess zum Zeitpunkt t im Zustand j bendet, wenn er zum Zeitpunkt s in Zustand i war.
3.4. Markov-Ketten
33
Denition: Homogene Markov-Kette Hängen die Übergangswahrscheinlichkeiten in einer Markov-Kettte nur von der Zeitdierenz τ = (t − s) und nicht vom Zeitpunkt t ab, ist die Markov-Kette homogen und Gleichung (3.9) kann folgendermaÿen geschrieben werden:
P(X(t) = j|X(s) = i) = P(X(s + τ) = j|X(s) = i) = P(X(τ) = j|X(0) = i) = pi,j (τ)
Homogene Markov-Ketten besitzen einige interessante Eigenschaften:
• Die Übergangswahrscheinlichkeit zwischen zwei Zuständen ist gröÿer oder gleich Null: pi,j (τ) > 0,
∀i, j ∈ S
• Die Zeilen der Übergangsmatrix summieren sich zu 1: n X
pi,j (τ) = 1 ∀i ∈ S
j=1
• Aufsummierung der Übergangswahrscheinlichkeiten: pi,j (τ) =
∞ X
pi,k (τ − υ) · pk,j (υ),
∀i, j ∈ S
(3.10)
k=0
Die Gleichung (3.10) ist unter dem Namen Chapman-Kolmogorov-Gleichung für homogene Markov-Ketten bekannt. Sie sagt aus, dass die τ-Schritt-Übergangswahrscheinlichkeiten von Zustand i in Zustand j berechnet werden können, indem man über alle erreichbaren Zwischenzustände k summiert. Die Wahrscheinlichkeit, in einem Schritt von Zustand i in Zustand j zu wechseln, ist gegeben durch: (1) pi,j = pi,j = P(Xm+1 = j|Xm = i) Die Verallgemeinerung, nämlich die Wahrscheinlichkeit, in n Schritten von Zustand i in Zustand j zu wechseln, ist gegeben durch: (n)
pi,j = P(Xm+n = j|Xm = i) Die Übergangswahrscheinlichkeiten können auch aufsummiert werden, so dass die Wahrscheinlichkeit, in (n + m) Schritten von Zustand i in Zustand j zu wechseln, gegeben ist durch: ∞ X (n+m) (n) (m) pi,j = pi,k pk,j k=0
Die Einschrittwahrscheinlichkeiten pi,j können als Matrix P = (pi,j ) geschrieben werden. Die Matrix P ist eine stochastische Matrix, d.h. die Zeilen summieren sich zu 1. Beispiel: Betriebssystem als Markov-Kette In der folgenden Abbildung ist ein Modell für die Zustandsübergänge eines Multitasking-Systems
34
Kapitel 3. Stochastische Prozesse dargestellt. Prozesse belegen die CPU (Zustand 1), warten auf die CPU (Zustand 2), oder sind aufgrund einer E/A-Anforderung blockiert (Zustand 3). "running"
1-p
"ready"
1
2 1
p
q
3 "blocked" 1-q
Ist das System getaktet (etwa in Prozessor-Zyklen), kann man es als Markov-Kette wie folgt modellieren. Die
Übergangsmatrix
P der Markov-Kette ist wie folgt gegeben:
P = (pi,j )16i,j63
0 = 1 0
1−p p 0 0 q 1−q
Diese Übergangsmatrix ist nicht vom aktuellen Zeitpunkt abhängig, es handelt sich also um eine homogene Markov-Kette. Wesentlich für Markov-Ketten ist, dass Zustandsübergänge nur vom aktuellen Zustand abhängen und nicht von der Vergangenheit. Dies bedeutet, dass etwa das zukünftige Verhalten eines Prozesses, der sich aktuell im Zustand 2 bendet, nicht davon abhängt, ob er davor in Zustand 1 oder Zustand 3 war.
P(X(5) = running|X(0) = ready) = = = =
(5)
p2,1 p2,1 p1,2 p2,1 p1,2 p2,1 + p2,1 p1,3 p3,3 p3,2 p2,1 1 · (1 − p) · 1 · (1 − p) · 1 + 1 · p · (1 − q) · q · 1 (1 − p)2 + p · q · (1 − q)
3.4.1 Zustandsklassikation von Markov-Ketten Die Zustände von Markov-Ketten können unterschiedliche Eigenschaften aufweisen, wodurch eine Klassikation möglich ist. Im Folgenden betrachten wir Zustände i, j und die (n) Wahrscheinlichkeit pi,j . Damit ergeben sich folgende Charakterisierungen:
• Der Zustand j ist von i aus erreichbar, wenn pi,j > 0 für ein beliebiges n ist. (n)
• Falls j von i und i von j erreichbar ist, so kommunizieren i und j miteinander. Zustände, die kommunizieren, bilden eine Äquivalenzklasse. • Wenn alle Zustände einer Markov-Kette zu derselben Äquivalenzklasse gehören, so ist die Markov-Kette irreduzibel.
3.4. Markov-Ketten
35
• Ein Zustand i hat die Periode d als d(i) bezeichnet genau dann, wenn (d)
(k)
pi,i > 0 und pi,i = 0 mit k = 1, 2, . . . , d − 1 Ist d(i) > 1, so wird der Zustand i periodisch mit Periode d(i) genannt. Ist jedoch d(i) = 1 wird der Zustand i als aperiodisch bezeichnet. Die Zustände einer Äquivalenzklasse haben alle die gleiche Periode. Gibt es nur eine Äquivalenzklasse, heiÿt die MarkovKette periodisch mit Periode d. Ist d gleich 1 heiÿt die MarkovKette aperiodisch. Beispiel: Betriebssystem als Markov-Kette (Fortsetzung) Im obigen Beispiel ergibt sich für p = q = 1 die Periode d = 3. Ist p = 0, dann ist d(1) = d(2) = 2.
• Ein Zustand heiÿt rekurrent, falls er mit Wahrscheinlichkeit 1 wieder irgendwann erreicht wird. • Falls ein Zustand mit einer Wahrscheinlichkeit kleiner 1 wieder erreicht wird, nennt man ihn transient. • Rekurrente Zustände werden unterschieden in
positiv-rekurrente Zustände: die erwartete Anzahl von Schritten, um den Zustand wieder zu erreichen, ist endlich
null-rekurrente Zustände: die erwartete Anzahl von Schritten, um den Zustand wieder zu erreichen, ist unendlich
• Eine ergodische Markov-Kette ist eine irreduzible, aperiodische und positivrekurrente MarkovKette.
3.4.2 Stationäre Verteilung von Markov-Ketten Eine Wahrscheinlichkeitsverteilung π = (π1 , π2 , . . . , πn ) heiÿt stationäre Verteilung der MarkovKette, falls folgende Bedingung erfüllt ist:
π·P =π P bezeichnet die Übergangsmatrix der MarkovKette, πi ist die stationäre Wahrscheinlichkeit, dass der Prozess in Zustand i ist. Stationarität sagt also aus, dass sich im nächsten Schritt (Multiplikation der aktuellen Verteilung mit P) nichts an der Verteilung ändert. Falls existent, gilt für πi : πi = lim P(Xn = i) n→∞
Satz: Eigenschaften von irreduziblen und aperiodischen MarkovKetten Für irreduzible und aperiodische Markov-Ketten gilt: a) Die stationären Zustandswahrscheinlichkeiten πi existieren und sind unabhängig von der Startverteilung X0 . b) Entweder sind
(b1 ) alle Zustände transient oder null-rekurrent. In diesem Fall ist πi = 0 für alle i, d.h.,
36
Kapitel 3. Stochastische Prozesse es gibt keine stationäre Verteilung.
(b2 ) alle Zustände sind ergodisch. In diesem Fall ist πi > 0 für alle i. πi =
1 < ∞ und mittlere Rückkehrzeit in Zustand i
∞ X
πi = 1
i=0
wobei man die πi als eindeutige Lösung des folgenden Gleichungssystems erhält:
π=π·P
⇐⇒
πj =
∞ X
πi · pi,j
für alle j
(3.11)
i=0
c) Wenn die Markov-Kette nur endlich viele Zustände hat, gilt (b2 ), d.h., die stationäre Verteilung existiert immer. Beispiel: Betriebssystem als Markov-Kette (Fortsetzung) Falls p = 0, ist Zustand 3 unerreichbar. Falls p > 0, aber q = 0, sind die Zustände 1 und 2 von Zustand 3 aus nicht erreichbar. In beiden Fällen ist die Matrix nicht irreduzibel. Im zweiten Fall sind die Zustände 1 und 2 null-rekurrent. Falls p > 0 und q > 0, sind alle Zustände erreichbar und kommunizieren miteinander. Damit ist die Kette irreduzibel. Die Markov-Kette ist aperiodisch, und alle Zustände sind positiv-rekurrent. Die stationäre Verteilung existiert und kann wie folgt berechnet werden. Nach Gleichung (3.11) gilt:
0 (π1 , π2 , π3 ) = (π1 , π2 , π3 ) · 1 0
1−p p 0 0 q 1−q
und
π1 + π2 + π3 = 1
Hieraus ergibt sich die Lösung durch einfache Umformungen und Vereinfachungen zu:
π1
= π2 =
π3
=
q 2·q+p
p 2·q+p
KAPITEL 4
Wartesysteme In diesem Kapitel werden Wartesysteme vorgestellt und Verfahren zu ihrer Analyse diskutiert. Wartesysteme kommen in der realen Welt sehr häug vor, z.B. im Supermarkt an der Kasse. Grundsätzlich entsteht eine Warteschlange von Kunden, wenn diese von einem oder mehreren Bedienern abgearbeitet werden. In Kommunikationssystemen und Computern gibt es viele Komponenten, die sequenziell eine Menge von Kunden abarbeiten müssen. Synonyme, die oft für Kunde verwendet werden, sind Job und Paket. Oft benutzte Synonyme für Bediener sind Server und Bedienung. Beispiel: Wartesysteme Beispiele für Wartesysteme in Computersystemen sind:
• die Liste aller aktuell auf Abarbeitung wartenden Prozesse • die Menge der auf den Ausdruck wartenden Druckaufträge • die Liste der Datenpakete, die auf Übertragung warten
Bei der Analyse solcher Systeme interessiert man sich für die Parameter, die das Verhalten des Systems oder einer bestimmten Komponente beschreiben. Hierzu gehören die durchschnittliche Anzahl der wartenden Jobs, die durschnittliche Wartezeit bis ein Job bedient wird und die durschnittliche Zeit, die ein Job im System verbringt.
4.1 Einfache Wartesysteme Ein Wartesystem besteht aus einem Warteraum, der endlich bzw. unendlich groÿ sein kann und einer Anzahl von Bedienstationen. Abbildung 4.1 stellt ein Wartesystem graphisch dar. Ein Rechner oder eine Kommunikationsstrecke kann im einfachsten Fall als eine Black-Box modelliert werden, wobei die Black-Box dann durch ein Wartesystem dargestellt wird. Das Bedienverhalten des Wartesystems ist abhängig von vielen Faktoren wie Bedieneranzahl und Abarbeitungsstrategie. Die Analyse eines Wartesystems ist abhängig von der
• Charakteristik der Ankünfte (Ankunftsrate λ) • Charakteristik der Bediener (Bedienrate µ) 37
38
Kapitel 4. Wartesysteme
Abbildung 4.1: Genereller Aufbau eines Wartesystems bestehend aus Ankunftsprozess, Warteraum und Bedienung. Der Warteraum kann endlich oder unendlich groÿ sein. Den einfachsten Fall erhält man, indem man exponentialverteilte Zwischenankunftszeiten und Bedienzeiten annimmt. Eine Bedienstation bedient, wann immer sie kann.
4.1.1 Zustand eines Wartesystems Der Zustand eines Wartesystems zu einem bestimmten Zeitpunkt t ist durch die Anzahl der Kunden N(t) gegeben, die sich zu diesem Zeitpunkt im Wartesystem benden. Dabei ist es egal, ob ein Kunde gerade wartet oder bedient wird. Die Zustandswahrscheinlichkeit, mit der sich das Wartesystem zu einem gegebenen Zeitpunkt t im Zustand k bendet, wird mit pk (t) bezeichnet und ist gegeben durch:
pk (t) = P(N(t) = k)
4.1.2 Stabilität von Wartesystemen In realen Systemen ist die Anzahl der Plätze im Warteraum endlich. Deshalb kann es passieren, dass das System überläuft, wenn mehr Kunden ankommen, als bedient werden können. In diesem Fall können keine weiteren Kunden mehr angenommen werden. Ein Wartesystem wird stabil genannt, wenn das Überlaufen des Wartesystems nicht möglich ist. Dieses Kriterium wird erreicht, wenn die Ankunftsrate λ kleiner ist als die Bedienrate µ. Dieses Verhältnis wird auch als die Last ρ des Wartesystems bezeichnet und ist gegeben durch: λ ρ= µ Für ein stabiles System muss im Allgemeinen ρ < 1 gelten. Eine Ausnahme stellt das D/D/1 System dar, das auch bei ρ = 1 stabil funktioniert.
4.2. Beschreibung von Wartesystemen Kendallsche Notation
4.2 Beschreibung von Wartesystemen Kendallsche Notation Die Kendallsche Notation wird für die Beschreibung von beliebigen Wartesystemen verwendet. Ein Wartesystem ist dabei ein Tupel: Ankunftsprozess / Bedienprozess / # Bediener / # Warteplätze / Abarbeitungsstrategie Für die Ankunfts- und Bedienprozesse werden die folgenden Abkürzungen verwendet:
• M: Exponentialverteilung, das M steht für memoryless bzw. markovsch • D: Deterministische Verteilung, d.h. konstante Zeitintervalle • G: Allgemeine Verteilung, das G steht für general • En : Erlang-n-Verteilung Wenn die Anzahl der Warteplätze fehlt, nimmt man unendlich viele Warteplätze an. Wenn die Anzahl der Warteplätze K ist, dann benden sich K − 1 Plätze im Warteraum und ein Platz im Bediener. Die Abarbeitungsstrategie beschreibt das Abarbeitungsverhalten des Servers auf dem Warteraum. Oft wird die Abarbeitungsstrategie nicht angegeben, dann wird implizit FIFO angenommen. Die häugsten Abarbeitungsstrategien sind:
• First-In-First-Out (FIFO): Die Kunden werden in der Reihe ihrer Ankunft bedient. • Last-In-First-Out (LIFO): Der zuletzt angekommene Kunde wird als nächstes bedient. • Round-Robin (RR): Die Kunden werden prinzipiell nach FIFO abgearbeitet, jedoch bekommt jeder Kunde eine bestimmte Bearbeitungszeit. Wenn der Kunde innerhalb dieser nicht zu Ende bedient werden konnte, wird er erneut in den Warteraum gesetzt. Der Bediener merkt sich die Position der Abarbeitung und beginnt beim nächsten mal an dieser Stelle. • Service-In-Random-Order (SIRO): Die Kunden werden zufällig ausgewählt und bedient. • Shortest-Processing-Time (SPT): Der Kunde mit der kürzesten Bedienzeit wird als nächstes bedient. Beispiel: Wartesysteme M/M/1: beschreibt ein Wartesystem mit exponentialverteiltem Ankunfts- und Bedienprozess. Das Wartesystem besteht aus einem Server und einem Warteraum mit unendlich vielen Plätzen. Der Server arbeitet den Warteraum nach dem FIFO-Prinzip ab. M/G/2//LIFO: beschreibt ein Wartesystem mit exponentialverteiltem Ankunftsprozess und einem Bedienprozess mit beliebiger Verteilung. Das System besteht aus zwei Servern und einem Warteraum mit unendlich vielen Plätzen. Der Server arbeitet den Warteraum nach dem LIFO-Prinzip ab. D/G/1/10: beschreibt ein Wartesystem mit einem deterministischen Ankunftsprozess und einem Bedienprozess mit beliebiger Verteilung. Das System besteht aus einem Server und einem Warteraum mit 10 Plätzen. Der Server arbeitet den Warteraum nach dem FIFO-Prinzip ab.
39
40
Kapitel 4. Wartesysteme
4.3 Little's Result Ein zentrales Ergebnis für sehr allgemeine Wartesysteme ist Little's Result. Hierbei wird eine direkte Beziehung zwischen der mittleren Systemzeit S, der Ankunftsrate λ und der hergestellt. mittleren Kundenanzahl im System N Mittlere Kundenanzahl = Ankunftsrate · Systemzeit = λ·S N ist also das Produkt aus Ankunftsrate λ und mittlerer Die mittlere Kundenanzahl N Systemzeit S im System. Durch Umformung kann man auch eine Beziehung zwischen der Anzahl der Kunden im q , Ankunftsrate λ und mittlerer Wartezeit W herstellen. Warteraum N Mittlere Anzahl der Kunden im Warteraum = Ankunftsrate · Mittlere Wartezeit q = λ · W N Beispiel: Little's Result 20 Sei die Ankunftsrate eines Wartesystems λ = Stunde und die Systemzeit S = 15 Minuten = 1 1 Stunde. Dann benden sich im Mittel N = 20 · = 5 Kunden im System. 4 4
4.3.1 Informaler Beweis zum Little's Result Kunden im System vornden. Beim Verlassen Ein neuer Kunde wird bei seiner Ankunft N Kunden im System zurücklassen. Während des Systems wird dieser Kunde wiederum N seiner Systemzeit S werden λ · S andere Kunden im System angekommen sein. Hieraus = λ · s. folgt, dass N
4.3.2 Formaler Beweis zum Little's Result Sei A(t) die Anzahl der Kunden, die in der Zeit [0 : t] im System angekommen sind und D(t) die Anzahl der Kunden, die in dieser Zeit vom System weggegangen sind (siehe Abbildung 4.2). Wir nehmen an, dass A(0) = 0 gelte. Dann ist die Anzahl der Kunden N(t) im System zur Zeit t durch N(t) = A(t) − D(t) gegeben. Sei G(t) als die Fläche zwischen A(t) und D(t) deniert. G(t) ist als Kunde-Zeit-Produkt zu verstehen. Dann gelten:
λt := St := t := N
A(t) = Normalisierte Ankunftsrate im Zeitintervall [0 : t] t G(t) = Normalisierte Systemzeit pro Kunde im Zeitintervall [0 : t] A(t) G(t) = Normalisierte Anzahl der Kunden t
Aus diesen Beziehungen folgt:
t = λt · St N
4.4. Deterministische Analyse eines Wartesystems
41
A(t) G(t)
D(t)
t
Abbildung 4.2: Graphische Darstellung der Ankünfte und Abgänge in einem Wartesystem mit t → ∞ erhält man
=λ·S N
4.3.3 Was ist die Systemzeit? Es gibt unterschiedliche Interpretationen der Systemzeit von Kunden. Da die Anzahl der Kunden in einem Wartesystem durch die Systemzeit bestimmt wird, ist es wichtig, hier ein klares Verständnis zu haben. Wir wollen hier einige gängige Interpretationen der Systemzeit in einem Wartesystem besprechen.
• Systemzeit = Wartezeit + Bedienzeit = Anzahl der Kunden im Wartesystem, die warten oder bedient werden. N
= λ·S • Systemzeit = Wartezeit q N |{z}
Mittlere Anzahl wartender Kunden
=λ·
W |{z}
Mittlere Wartezeit
• Systemzeit = Bedienzeit 1 S = λ · x =λ N µ 1 = Nq + N µ 1 S = W+ µ
= mit x
1 µ
4.4 Deterministische Analyse eines Wartesystems In diesem Abschnitt werden wir ein Wartesystem deterministisch analysieren. Dazu betrachten wir den Systemverlauf über die Zeit zwischen zwei Zeitpunkten a und b, zu denen
42
Kapitel 4. Wartesysteme das Wartesystem keine Kunden enthält (siehe Abbildung 4.3). Wir denieren den Zustand des Systems als: N(t) = Anzahl der Kunden zur Zeit t Wir nehmen an, dass es keine Mehrfachankünfte gibt, d.h. Ereignisse treten immer hintereinander auf. Die Bediendauer ist > 0 und die Zeitachse ist sehr exakt, d.h. es treten keine Doppelereignisse auf. N(t)
t a
T=b-a
b
Abbildung 4.3: Entwicklung eines Wartesystems über die Zeit. Betrachtet wird ein Zeitintervall T = [a : b]. Das System ist zu den Zeitpunkten a und b leer. Wir wollen den Zustand nun genauer betrachten. Dazu führen wir folgende Bezeichnungen ein:
T
= b − a, Länge des Betrachtungsintervalls [a : b]
T (n) = Zeit in [a : b], wenn N(t) = n α(n) = Anzahl der Ankünfte in [a : b], wenn N(t) = n β(n) = Anzahl der Abgänge in [a : b], wenn N(t) = n α(n) bezeichnet die Anzahl der Ankünfte im Zeitintervall [a : b], wenn sich das System im Zustand n bendet. β(n) bezeichnet analog die Anzahl der Abgänge im Zeitintervall [a : b], wenn sich das System im Zustand n bendet. Wegen der Voraussetzung N(a) = N(b) = 0 und der Unmöglichkeit von Mehrfachereignissen erhalten wir eine Beziehung zwischen den Abgängen und Ankünften im Zustand n:
α(n) = β(n + 1) Diese Beziehung ist klar, denn die Anzahl der Abgänge von Zustand n + 1 in den Zustand n, also β(n+ 1), muss gleich der Anzahl der Ankünfte von Zustand n in den Zustand n+ 1, d.h. α(n), sein, da das System in den Zeitpunkten a und b leer ist. Der relative Anteil des Zustandes n in der Zeitspanne T ist:
pn =
T (n) T
4.4. Deterministische Analyse eines Wartesystems
43
pn kann als die relative Wahrscheinlichkeit des Zustandes n im Zeitintervall T betrachtet werden. Nun kennen wir die Wahrscheinlichkeit pn , mit der sich ein System im Zustand n bendet. Wir interessieren uns auch für die Wahrscheinlichkeit, mit der ein System vom Zustand n in den Zustand n + 1 übergeht. Bendet sich ein System im Zustand n, dann bezeichnen wir die Anzahl der Ankünfte pro Zeiteinheit mit λn und die Anzahl der Abgänge pro Zeiteinheit mit µn .
α(n) T (n) β(n) T (n)
λn = µn =
(4.1) (4.2)
Das System geht von Zustand n in den Zustand n+1 über, wenn ein neuer Kunde ankommt. Analog dazu geht das System von Zustand n + 1 in den Zustand n über, wenn ein Kunde vom System abgeht. Damit erhalten wir die Beziehung:
pn
α(n) β(n + 1) = pn+1 T (n) T (n + 1)
(4.3)
Die Gleichung (4.3) sagt aus, dass die Anzahl der Übergänge von Zustand n in den Zustand n + 1 und umgekehrt gleich ist. Durch Umformung der Gleichung (4.3) und einsetzen der Gleichung (4.1) und Gleichung (4.2) erhalten wir:
pn+1 =
λn · pn µn+1
(4.4)
Diese Berechnung hat jedoch den Nachteil, dass man für die Berechnung von pn+1 vorher pn , d.h. die Wahrscheinlichkeit für den Zustand n, kennen muss und um diesen zu berechnen, die Wahrscheinlichkeit von Zustand n − 1, also pn−1 usw. Dies ist jedoch nicht praktisch. Die Gleichung (4.4) kann nun rekursiv weiter aufgelöst werden und man erhält die folgende Formel:
λn · pn µn+1 λn λn−1 = · · pn−1 µn+1 µn λn λn−1 λ0 = · ··· · p0 µn+1 µn µ1 n+ Y1 λi−1 = p0 · µi
pn+1 =
pn+1
i=1
Um die Formel für pn zu erhalten, müssen wir nur die Indizes anpassen!
pn = p0 ·
n Y λi−1 i=1
µi
Nun hängt die ganze Berechnung nur noch mit der Wahrscheinlichkeit von Zustand 0, also
44
Kapitel 4. Wartesysteme p0 , zusammen. Man bestimmt p0 mit Hilfe der Normierungsbedingung ∞ X
1 =
pn
n=0
= p0 +
∞ X
p0 ·
n=1
µi
i=1 ∞ Y n X
= p0 + p0 · = p0 ·
n Y λi−1
n=1 i=1 ∞ Y n X
λi−1 µi
1+
n=1 i=1
und erhält
p0 =
1+
λi−1 µi
!
1 Qn
P∞
n=1
λi−1 i=1 µi
Damit ergibt sich für die Zustandswahrscheinlichkeit:
pn =
1+
P∞
1 Qn
n=1
λi−1 i=1 µi
·
n Y λi−1
(4.5)
µi
i=1
Mit der Gleichung (4.5) ist die Berechnung von Zustandswahrscheinlichkeiten nun sehr einfach. Die operationale Analyse kommt immer a posteriori. Sie erlaubt keine Vorhersage. Daher basiert die Leistungsvorhersage auf statistischen Annahmen.
4.5 Geburts- und Todesprozesse In diesem Abschnitt betrachten wir eine sehr bekannte Klasse von Prozessen, die als Geburts- und Todesprozesse (Birth Death Process, B/D-Process ) bezeichnet werden. Dabei ist der Zustand des Prozesses durch die Anzahl der Kunden beschrieben. Der Zustand ändert sich durch die Ankunft eines neuen Kunden im System bzw. durch den Abgang eines Kunden vom System. Abbildung 4.4 stellt die Zustände eines Geburts- und Todesprozesses graphisch dar. Eine Ankunft wird in diesem Kontext als Geburt und ein Abgang als Tod bezeichnet. l0 0
l1
...
1
m1
lk-1
m2
k-1
lk k
mk
k+1
mk+1
Abbildung 4.4: Zustände eines Geburts- und Todesprozesses Denition: Geburts-/Todesprozess Ein homogener Markov-Prozess X(t) mit diskretem Zustandsraum heiÿt Geburts-/Todesprozess genau dann, wenn folgende Beziehungen gelten:
4.5. Geburts- und Todesprozesse
45
P(X(t + h) = k + 1|X(t) = k) P(X(t + h) = k − 1|X(t) = k) P(X(t + h) = k|X(t) = k) P(X(t + h) 6= k + 1, k, k − 1|X(t) = k)
λk · h + o(h) µk · h + o(h) 1 − (λk + µk ) · h + o(h) o(h)
= = = =
In einem Geburts-/Todesprozess kommen keine Mehrfachereignisse vor, da o(h) mit h → 0 schneller als h gegen 0 geht. Des Weiteren sind von einem bestimmten Zustand k nur Übergänge zu den Nachbarzuständen möglich.
Sei Pk (t) = P(X(t) = k), dann
Pk (t + h)
Pk (t + h) − Pk (t) h Pk0 (t)
=
Pk (t)(1 − (λk + µk ) · h + o(h))
+
Pk−1 (t)(λk−1 h + o(h))
+
Pk+1 (t)(µk+1 h + o(h))
=
(−λk − µk )Pk (t) + λk−1 Pk−1 (t) + µk+1 Pk+1 (t) +
k > 0; λ−1 = µ0 = 0
h→0 =
o(h) h
(−λk − µk )Pk (t) + λk−1 Pk−1 (t) + µk+1 Pk+1 (t)
Eine stationäre Lösung erhält man, falls sie existiert, durch:
pk = lim P(X(t) = k) = lim Pk (t) t→∞
(4.6)
t→∞
Wenn Gleichung (4.6) existiert, dann gilt Pk0 (t) = 0 und deshalb 0 = (−λk − µk )Pk (t) + λk−1 Pk−1 (t) + µk+1 Pk+1 (t)
(λk + µk )Pk (t) = λk−1 Pk−1 (t) + µk+1 Pk+1 (t)
k = 0, 1, 2, . . .
Sei pk := Pk (t). Durch die Betrachtung von Flow-In = Flow-Out erhalten wir: Flow-In zum Zustand k = Flow-Out vom Zustand k
λk−1 pk−1 + µk+1 pk+1 = (λk + µk )pk Durch Umformung erhält man:
λ p − µk pk = λk pk − µk+1 pk+1 } | {z } | k−1 k−{z1 gk
gk+1
gk = gk+1
Mit λ−1 = 0 und µ0 = 0 folgt hieraus:
g0 = g1 = g2 = . . . = gk = gk+1 = 0 und weiterhin
gk+1 = λk pk − µk+1 pk+1 = 0
46
Kapitel 4. Wartesysteme Hieraus folgt:
λk µk+1 λk−1 λk pk−1 · µk µk+1 ··· λ0 λk p0 · · · · µ1 µk+1 k Y λi p0 µi+1
pk+1 = pk = = = =
i=0
Nach Anpassung der Indizes erhält man folgende Formel für die Zustandswahrscheinlichkeit pk :
pk = p0
k− Y1 i=0
Die Normierungsbedingung
P∞
k=0 pk
p0 =
λi µi+1
(4.7)
= 1 erlaubt die Berechnung von p0 zu
1+
P∞
k=1
1 Qk−1
λi i=0 µi+1
Damit ergibt sich für die Zustandswahrscheinlichkeit:
pk =
1+
P∞
k=1
1 Qk−1
λi i=0 µi+1
·
k− Y1 i=0
λi µi+1
4.6 Analyse von M/M/1-Systemen Wir betrachten ein M/M/1-System, d.h. wir haben exponentialverteilte Zwischenankunftszeiten und Bedienzeiten, einen Warteraum mit unendlich vielen Warteplätzen und eine Bedienstation im System (siehe Abbildung 4.5). Dieses Wartesystem wird sehr oft benutzt und eignet sich zur Modellierung eines einzelnen Prozessors oder einzelner Geräte in einem Rechnersystem.
Abbildung 4.5: Ein M/M/1-Wartesystem Wir untersuchen einen Zyklus [a : b] mit N(a) = N(b) = 0 und N(a+ ) > 0, N(b+ ) > 0, d.h. zu den Zeiten a und b kommt jeweils ein Kunde im System an. Zwischen a und b werde das System genau einmal leer (siehe Abbildung 4.6).
4.6. Analyse von M/M/1-Systemen
47
N(t)
t a
b
Abbildung 4.6: Anzahl der Kunden in einem Wartesystem. Das System wird in einem Intervall [a : b] betrachtet. Zu den Zeitpunkten a und b kommt jeweils ein Kunde und das System wird in der betrachteten Zeit genau einmal leer. Die Übergangswahrscheinlichkeiten vom Zustand i zum Zustand j bezeichnen wir mit:
pi,j = P(System geht durch Ankunft oder Abgang von Zustand i nach Zustand j) Es sei angemerkt, dass pi,j = 0 ist, falls |i − j| > 2, da Mehrfachereignisse unmöglich sind. Die Anzahl der Vorgänge zwischen den Zeitpunkten a und b, in der das System den Zustand n passiert, wird mit m(n) bezeichnet. Damit erhalten wir die Gleichung:
m(n) = pn+1,n · m(n + 1) + pn−1,n · m(n − 1)
(4.8)
Hier haben wir angenommen, dass die Übergänge nur vom Zustand und nicht von der Bedienzeit abhängen. Des Weiteren bezeichnen wir den exponentialverteilten Ankunftsprozess mit Parameter λ mit I und den exponentialverteilten Bedienprozess mit Parameter µ mit S. Für die Wahrscheinlichkeit, dass das nächste Ereignis eine Ankunft ist, ohne dass zwischenzeitlich ein Kunde fertig bedient wird, erhalten wir:
pi,i+1 = P(Das nächste Ereignis ist eine Ankunft und es ndet kein Abgang statt) Z∞ = P(S > y) P(y < I < y + dy) · | {z } | {z } y=0 Z∞ = =
y=0
Interarrivaltime I≈y
Servicezeit S dauert länger
λ · e−λ·y · e−µ·y dy
λ λ+µ
(4.9)
Analog erhält man für die Wahrscheinlichkeit, dass im nächsten Ereignis ein Kunde fertig bedient wird: µ pi,i−1 = (4.10) λ+µ Nun kann die Gleichung (4.8) durch die Verwendung der Gleichung (4.9) und Gleichung (4.10) wie folgt geschrieben werden:
m(n) =
µ λ · m(n + 1) + · m(n − 1) λ+µ λ+µ
(4.11)
48
Kapitel 4. Wartesysteme Es sei T (n) die mittlere Zeit im Zustand n im Intervall [a : b] und T n die mittlere Zeit im Zustand n bis dieser Zustand verlassen wird (siehe Abbildung 4.7).
N(t)
T(1)
t
Abbildung 4.7: Mittlere Zeit in der sich das System im Zustand 1 bendet Dann gilt oensichtlich:
T (n) = T n · m(n)
(4.12)
T n ist abhängig von der Zufallsvariable, welche die Zeit bis zum nächsten Ereignis (Ankunft oder Abfertigung) angibt. Die Zufallsvariable dafür ist min(I, S), d.h. die kürzere Zeit von Zwischenankunkftszeit und Zwischenabgangszeit. Wir erhalten damit: Z∞ 1 Tn = y · P(y < min(I, S) < y + dy) = (4.13) λ+µ y=0 Mit den Beziehungen
P(I < x) = 1 − e−λx
und
P(S < x) = 1 − e−µx
erhalten wir
P(min(I, S) > x) = P(I > x und S > x) = P(I > x) · P(S > x) = e−λx · e−µx = e−(λ+µ)x Damit ist min(I, S) eine Exponentialverteilung mit Parameter (λ + µ) und Mittelwert Aus Gleichung (4.12) und Gleichung (4.13) folgt:
T (n) =
1 · m(n) λ+µ
1
λ+µ .
(4.14)
Nach Umformen der Gleichung (4.14) und einsetzen in Gleichung (4.11) erhält man:
(λ + µ) · T (n) = µ · T (n + 1) + λ · T (n − 1)
für n > 0
(4.15)
4.6. Analyse von M/M/1-Systemen
49
Durch rekursives Auösen der Gleichung (4.15) mit T (1) =
1
µ
und T (0) =
1
λ
erhält man:
λ λ T (n) + T (n) − T (n − 1) µ µ T (n + 1) = ρT (n) + T (n) − ρT (n − 1) .. . ρT (0) − T (1) T (1) − T (0) n T (n) = + ρ ρ−1 ρ−1 1 1 ρ λ1 − µ1 µ − λ n + ρ = ρ−1 ρ−1 1 = ρn λ n λ · T (0) = µ
T (n + 1) =
T (0) ist die mittlere Zeit im Zustand 0, d.h. die Zeit nachdem das System leer wurde bis zur nächsten Ankunft. T (1) ist die mittlere Zeit im Zustand 1, d.h. es bendet sich nur ein Kunde im System, der bedient wird. Damit gilt:
T (n) =
n λ 1 · µ λ
und man erhält
T
= E(b − a) = =
∞ 1X λ λ µ n=0
∞ X
n=0 n
=
T (n) µ λ−1 = λ λ(µ − λ) 1− µ
falls
Für die Zustandswahrscheinlichkeiten erhalten wir: n T (n) λ λ pn = = 1− · T µ µ n = (1 − ρ) · ρ
λ <1 µ
(4.16)
λ Die Zustandswahrscheinlichkeiten sind also geometrisch verteilt mit Parameter ρ = µ , falls ρ < 1. Für den Fall ρ > 1 gibt es keine stationäre Lösung, da das Wartesystem immer voller wird. Das Intervall [a : b] ist ein Erneuerungsintervall. Dadurch wiederholt sich der Prozess im stochastischen Sinn. Die Vergangenheit ist vergessen! Wir haben also einen regenerativen Prozess, der auch als Erneuerungsprozess bezeichnet wird.
4.6.1 Alternative Herleitung der Zustandswahrscheinlichkeiten Ein M/M/1-System kann als Geburts-/Todesprozess angesehen werden, wobei die Geburtsund Todesraten wie folgt sind:
λk = λ
k = 0, 1, 2, . . .
µk = µ
k = 1, 2, 3, . . .
50
Kapitel 4. Wartesysteme Mit der Gleichung (4.7) erhält man für die stationären Zustandswahrscheinlichkeiten pk
λ0 λ1 λk−1 · · ··· · µ1 µ2 µk λ λ λ = p0 · · · · · · µ µ µ k λ = p0 µ
pk = p0
= p0 ρk P∞ λ < 1 und der Normierungsbedingung Mit der Voraussetzung µ k=0 pk = 1 kann p0 bestimmt werden. Es ergibt sich p0 = 1 − ρ. Dadurch erhalten wir wiederum das Bekannte aus Gleichung (4.16): pk = (1 − ρ) · ρk
(4.17)
4.6.2 Wahrscheinlichkeit für ein leeres Wartesystem Aus pk = (1 − ρ) · ρk ist ein Spezialfall erkennbar, der für viel allgemeinere Systeme gilt:
p0 = (1 − ρ) · ρ0 = 1 − ρ Die Wahrscheinlichkeit, dass das System leer ist, beträgt 1 - Auslastung.
4.6.3 Eigenschaften von M/M/1-Systemen Mit Hilfe der Zustandswahrscheinlichkeit pn aus Gleichung (4.16) und Gleichung (4.17) lassen sich eine Vielzahl von Eigenschaften von M/M/1-Systemen berechnen. : • Mittlere Anzahl von Kunden N = E[N] = N
∞ X
n · pn =
n=0
∞ X
n · (1 − ρ) · ρn =
n=0
ρ 1−ρ
• Varianz der Kundenanzahl: Var[N] = E[N2 ] − (E[N])2 =
∞ X
n2 · (1 − ρ) · ρn
!
n=0
=
−
∞ X n=0
ρ (1 − ρ)2
Die Standardabweichung ist deshalb gegeben durch:
σN =
p
Var[V] =
1 √ ρ 1−ρ
!2 n · (1 − ρ) · ρn
4.7. Varianten von M/M/1-Systemen
51
• Mittlere Systemzeit S: = λ · S ergibt sich Mit Little's Result N S = = =
ρ 1 N = λ 1−ρλ 1 1 · µ 1−ρ 1 µ−λ
• Mittlere Wartezeit W : W = Systemzeit − Bedienzeit 1 = S− µ 1 1 = − µ−λ µ λ = µ(µ − λ) ρ = =ρ·S (µ − λ) • Verteilung der Systemzeit S(t) := P(Systemzeit 6 t mit FIFO-Strategie) =
1 − e−µ(1−ρ)t
• Verteilung der Wartezeit W(t) := P(Wartezeit 6 t mit FIFO-Strategie) =
1 − ρ · e−µ(1−ρ)t
• Die Wahrscheinlichkeit, dass n oder mehr Kunden im System sind, beträgt: P(> n Kunden im System) =
∞ X i=n
p(i) =
∞ X
(1 − ρ) · ρi = ρn
i=n
4.7 Varianten von M/M/1-Systemen In diesem Abschnitt betrachten wir einige ausgewählte Varianten des M/M/1-Systems.
4.7.1 Das M/M/∞-System Hierbei handelt es sich um ein Wartesystem mit unendlich vielen Servern und Warteplätzen. Jedem ankommenden Kunden steht sofort ein Server zur Verfügung, also sind bei K Kunden im System genau K Server aktiv. Sowohl der Ankunfts- als auch die Bedienprozesse sind Poissonprozesse. Der Parameter des Ankunftsprozesses sei λ, der der Bedienprozesse sei µ.
52
Kapitel 4. Wartesysteme
λi = λ i>0 µi = i · µ i > 1 Man erhält
1 pi = p0 · i!
i λ ρi = p0 · µ i!
λ
und damit p0 = e− µ und schlieÿlich λ −µ
pi = e
1 · i!
i λ λ ρi ρi = e− µ · = e−ρ · µ i! i!
Hieraus lassen sich folgende Eigenschaften von M/M/∞-Systemen ableiten. = ρ N N 1 S = = λ µ 1 W = S− µ
4.7.2 Das M/M/s-System Mit Hilfe des M/M/s-Wartesystems können Multiprozessorsysteme oder einzelne Geräte mit mehreren identischen Servern modelliert werden. Bedingung dabei ist, dass sich alle Kunden vor der Bedienung durch einen der s Server in einem einzigen Warteraum benden. Abhängig vom aktuellen Zustand des Systems ergeben sich folgende Beziehungen für λi und µi :
λi = λ i>0 i·µ i6s µi = s·µ i>s Man erhält für die Zustandswahrscheinlichkeit pk k λ · k1! p · 0 µ
pk =
k p0 · λ · µ
k6s 1
s!·sk−s
k>s
Setzt man die Last ρ = λ/(sµ) ein, erhält man unter der Normalisierungsbedingung für p0
p0 =
1 1+
(sρ)s s!(1−ρ)
+
Ps−1 i=1
(sρ)i i!
Für die Wahrscheinlichkeit, dass ein neuer Kunde warten muss, erhält man
P(Ein neuer Kunde muss warten) =
1+
1 Ps−1 (ks )k!(1−ρ) k=0
sk
(4.18)
4.8. Analyse von M/G/1-Systemen
53
Die Gleichung (4.18) ist unter dem Namen Erlang-C-Formel bekannt. Diese Formel war wichtig für die Planung von Telefonsystemen. Sie wurde angewendet, um die benötigte Anzahl von Telefonleitungen zu bestimmen, so dass die Kunden mit der Dienstqualität zufrieden sind. Dabei wurde angenommen, dass Telefonanrufe mit Rate λ getätigt werden und die Bediendauer, d.h. die Anrufdauer, im Mittel µ Zeiteinheiten beträgt. Eine aktuelle Anwendung könnte die Bestimmung der notwendigen Anzahl der Agenten in einem CallCenter sein.
4.7.3 Das M/M/1/K-System Bei diesem System gibt es einen Server und einen eingeschränkten Warteraum. Von den vorhandenen K Plätzen benden sich (K− 1) Plätze im Warteraum und ein Platz im Server. Ein Kunde, der bei seiner Ankunft keinen Platz im System ndet, wird ohne Bedienung abgelehnt und verlässt das System. Dadurch ergeben sich die Ankunftsraten λi und die Bedienraten µi wie folgt.
λ i = 0, . . . , K − 1 λi = 0 i>K
µ i = 1, . . . , K µi = 0 i>K
Man erhält für die Zustandswahrscheinlichkeit pi i λ p0 µ i6K pi = 0 i>K
(4.19)
Unter der Normalisierungsbedingung erhält man für p0
p0 = 1 −
∞ X
pi =
i=1
1−ρ 1 − ρK+1
(4.20)
Aus Gleichung (4.19) und Gleichung (4.20) erhält man schlieÿlich die geschlossene Formel für die Zustandswahrscheinlichkeit pi .
pi =
1−ρ · ρi 1 − ρK+1
4.8 Analyse von M/G/1-Systemen Bei einem M/G/1-System sind die Zwischenankunftszeiten exponentialverteilt, d.h. der Ankunftsprozess besitzt die Memoryless-Eigenschaft wie bei M/M/1-Systemen. Im Gegensatz zu M/M/1-Systemen besitzt der Bedienprozess keine Memoryless-Eigenschaft, d.h. die Zeit bis zum nächsten Abgang hängt von der schon verstrichenen Bedienzeit des aktuellen Kunden ab. Die Bedienzeiten sind zwar bekannt, können aber beliebig krumm sein; dies wird durch das G ausgedrückt, welches für General steht. Im M/G/1-System haben wir einen Server, der den Warteraum nach dem FIFO-Prinzip abarbeitet. Die Ankünfte und Abfertigungen sind unabhängig voneinander. Die Frage, im M/G/1-System sind. Mit diesem die sich stellt, ist, wie viele Kunden im Mittel (N) Ergebnis kann man mit Little's Result weitere Gröÿen wie die Systemzeit berechnen.
54
Kapitel 4. Wartesysteme
4.8.1 Pollazcek-Khinchin-Formel (P-K-Formel) Im Folgenden wollen wir die Wartezeit W eines Kunden herleiten. Dazu betrachten wir das System im besetzten bzw. leeren Zustand. Wir bezeichnen mit Sb den Zustand, in dem das System besetzt ist, und mit Sl , den Zustand, in dem das System leer ist.
W = P(Sb ) · E[W|Sb ] + P(Sl ) · E[W|Sl ] | {z } =0
= P(Sb ) · E[W|Sb ] (4.21)
= ρ · E[W|Sb ]
Aus der Gleichung (4.21) ist ersichtlich, dass sich die mittlere Wartezeit W aus der Last ρ und der mittleren Wartezeit im Zustand besetzt ergibt. Die mittlere Wartezeit bei einem besetzten System ergibt sich durch die mittlere Restbedienzeit E[R] des aktuell bedienten Kunden und durch die Bedienzeiten der schon wartenden Kunden.
E[W|Sb ] = E[R] + Bedienzeit der wartenden Kunden} | {z
(4.22)
SNq
Die mittlere Bedienzeit der Wartenden Kunden bei einem besetztem System ist gegeben durch 1 SNq = E[Nq |Sb ] · µ Die mittlere Anzahl der wartenden Kunden E[Nq ] ist gegeben durch
E[Nq ] = E[Nq |Sb ] · ρ + E[Nq |Sl ] ·(1 − ρ) | {z } =0
Hieraus ergibt sich die mittlere Anzahl der wartenden Kunden bei besetztem System zu
E[Nq |Sb ] =
E[Nq ] ρ
und daraus ergibt sich die Bedienzeit der wartenden Kunden zu
SNq =
E[Nq ] 1 · ρ µ
Schlieÿlich ist Gleichung (4.22) gegeben durch
E[W|Sb ] = E[R] +
E[Nq ] 1 · ρ µ
(4.23)
4.8. Analyse von M/G/1-Systemen
55
Aus Gleichung (4.21) und Gleichung (4.23) folgt für die mittlere Wartezeit W
W = ρ · E[W|Sb ] 1 1 = ρ E[R] + · E[Nq ] µ ρ 1 µ = ρ E[R] + · E[Nq ] µ λ 1 = ρ E[R] + E[Nq ] λ 1 = ρ E[R] + λW λ = ρ (E[R] + W) ρ · E[R] ⇒W = 1−ρ Aus der Erneuerungstheorie ist bekannt, dass die mittlere Restbedienzeit E[R] gegeben ist durch σ2 x2 x 1 2 und x = E[R] = = + b mit σ2b = x2 − x 2 x 2 2 x µ für E[R] >
x 2
⇔ σ2b = 0 und somit W=
ρ · E[R] ρ · x2 λx2 = = 1−ρ 2 x(1 − ρ) 2(1 − ρ)
4.8.2 Eigenschaften von M/G/1-Systemen Mit Hilfe von Little's Result kann man andere Pollazcek-Khinchin-Formeln herleiten:
• Mittlere Anzahl von Kunden im System =ρ+ N
λ2 · x2 2 · (1 − ρ)
• Systemzeit S=
1 λ · x2 + µ 2 · (1 − ρ)
• Mittlere Wartezeit W=
λ · x2 2 · (1 − ρ)
• Durchschnittlich Anzahl der Kunden im Warteraum q = λ · W = N
λ2 · x2 2 · (1 − ρ)
56
Kapitel 4. Wartesysteme
4.8.3 Zustandsberechnung im M/G/1-System Man interessiert sich normalerweise für die Zustandsverteilung eines Wartesystems. Diese gibt Auskunft darüber, mit welcher Wahrscheinlichkeit das System einen bestimmten Zustand annehmen wird. Die Verteilung der Kundenanzahl im System erhält man durch die Betrachtung des Systems über eine sehr lange Zeit:
πi := lim P(i Kunden im System zur Zeit t) t→∞
Dies gilt natürlich nur, wenn die Verteilung existiert. Bei M/M/1-Systemen bekommt man durch die Betrachtung der Gleichgewichtsbezie-
hung
Flow-In nach Zustand i = Flow-Out aus Zustand i ein Gleichungssystem, das mit der Normierungsbedingung zu einer Lösung führt. Das Verfahren ist korrekt, da sowohl für die Ankunftsprozesse als auch für die Bedienprozesse Exponentialverteilungen angenommen werden, d.h. die Prozesse besitzen die MemorylessEigenschaft. Bei M/G/1-Systemen ist die Memoryless-Eigenschaft nicht mehr generell gültig, denn die Bediendauer im aktuellen Zustand beeinusst die Restbediendauer und damit das Übergangsverhalten des Wartesystems. Um die Abhängigkeit von der Zeit, eigentlich der Vergangenheit, aufzulösen, betrachtet man das System nur zu bestimmten Zeitpunkten. Im Folgenden betrachten wir das System nur zu den Zeitpunkten unmittelbar nach Verlassen eines Kunden. Damit spielt die Bediendauer des Kunden zu diesem Zeitpunkt keine Rolle. Wir denieren die Zufallsvariablen Xi mit
Xi := X(ti ) := Anzahl der zur Zeit ti zurückgelassenen Kunden Damit ist X1 , X2 , X3 , . . . eine Markov-Kette. Es gilt:
P(Xi = j|Xi−1 = i1 , Xi−2 = i2 , · · · , X1 = α) = P(Xi = j|Xi−1 = i1 ) Dies ist eine eingebettete Markov-Kette, d.h. eingebettet in die kontinuierliche Zeitachse. Die Lösung:
πi := P(ein Kunde lässt bei seinem Abgang i Kunden hinter sich) =
lim P(X(tk ) = i)
k→∞
ist über ein Gleichungssystem durch die Beziehung Flow-In = Flow-Out erhältlich. Mit pij = P(Xk+1 = j|Xk = i) lautet das Gleichungssystem
πj =
∞ X
pij · πi
j = 0, 1, 2, . . .
i=0
wobei die Normierungsbedingung
P∞
i=0 πi
= 1 gelten muss.
Zur Lösung dieses Gleichungssystems benötigt man die Übergangswahrscheinlichkeiten pij . Dazu unterscheidet man zwei Fälle:
4.8. Analyse von M/G/1-Systemen
57
Fall 1: i > 0, d.h. das System war nicht leer
• Falls j < i − 1 ist, ist pij = 0, denn es geht genau ein Kunde weg. • Falls j > i − 1 ist, dann ist pij = qj−i+1 , wobei qr := P(r neue Kunden in einer Serviceperiode).
Fall 2: i = 0 Dieser Fall bedeutet, dass wir eine idle -Periode hatten, so dass der nächste Kunde sofort vom Server bedient werden kann. Dabei hinterlässt er so viele Kunden, wie während seiner Bedienung neu angekommen sind. Das gleiche gilt auch für i = 1. Damit erhalten wir
p0j = p1j = qj
j>0
Insgesamt erhält man
qj pij = qj−i+1 0
i=0 i > 0; j > i − 1 i > 0; j < i − 1
Eine geschlossene Lösung der Gleichung
πj =
∞ X
pij · πi
(4.24)
i=0
ist nicht möglich. Man erhält jedoch eine Lösung, indem man die z-Transformation benutzt. Die z-Transformation ist gegeben durch:
π(z) :=
∞ X
πj zj
j=0
Dazu multipliziert man die k-te Gleichung von Gleichung (4.24) mit zk und summiert die Terme auf. Mit der Substitution
Q(z) =
∞ X j=0
p0j · zj
58
Kapitel 4. Wartesysteme erhalten wir
π(z) =
=
∞ X
πj · zj
j=0 ∞ X ∞ X j=0 i=0 ∞ X
= π0 ·
pij πi zj j
p0j z +
j=0
∞ X i=1
= π0 · Q(z) +
∞ X
πi
i=1
= π0 · Q(z) + = π0 · Q(z) +
∞ X i=1 ∞ X
πi
∞ X
πi
pij zj
j=0 ∞ X
qj−i+1 zj
j=i−1 ∞ X
qj zj+i−1
j=0
πi zi−1
i=1
∞ X
qj zj
j=0
π(z) − π0 · Q(z) = π0 · Q(z) + z Daraus folgt die Gleichung:
π(z) = π0
(1 − z) · Q(z) Q(z) − z
(4.25)
Wir müssen also noch Q(z) und π0 berechnen. Für den Fall λ < µ gilt allgemein
π0 = 1 − ρ
(4.26)
Für Q(z) haben wir folgende Beziehung:
Q(z) =
∞ X
qj zj
j=0
=
∞ X
P(j Kunden kommen in einer Serviceperiode an) · zj
j=0
Da die Kundenankünfte exponentialverteilt sind, erhalten wir:
Q(z) =
=
=
∞ Z∞ X j=0 0
Z∞ X ∞ 0 j=0
Z∞ X ∞ 0 j=0
Z∞ = =
Z0∞ 0
P(j Benutzer in [0 : x])b(x)dx · zj (λx)j −λx e b(x)zj dx j! (λxz)j −λx e b(x)dx j!
eλxz e−λx b(x)dx e−(λ−λz)x b(x)dx
= B∗ (λ − λz)
(4.27)
4.8. Analyse von M/G/1-Systemen
59
wobei B∗ (s) die Laplace-Transformierte von b(t) ist mit Z∞ ∗ B (s) = e−s·x · b(x)dx 0
Die Gleichung (4.25) ergibt sich mit Gleichung (4.26) und Gleichung (4.27) zu
π(z) =
(1 − ρ)(1 − z)B∗ (λ − λz) B∗ (λ − λz) − z
Zur Kontrolle vergleichen wir das obige Resultat mit den Ergebnissen aus dem M/M/1System. Die Laplace-Transformierte der Exponentialverteilung ist: Z∞ ∗ B (s) = e−s·x · b(x)dx 0 Z∞ = e−s·x µe−µx dx 0
=
µ µ+s
Analog erhält man
B∗ (λ − λz) =
µ µ + λ − λz
und damit gilt
(1 − ρ)(1 − z) · µ µ − z(µ + λ − λz) = ··· 1−ρ = 1 − ρz
π(z) =
Des Weiteren erhält man die πi durch Koezientenvergleich bzgl. zi aus den Gleichungen ∞ X
πi zi = (1 − ρ)(1 + ρz + (ρz)2 + · · · )
i=0
und
πi = (1 − ρ)ρi
Bisher haben wir nur Lösungen für speziell eingebettete Punkte. Wir haben die Zeitpunkte unmittelbar nach Abgang eines Kunden betrachtet. Aber auch die Betrachtung anderer Zeitpunkte ist interessant, wie z.B.:
πi := ri := pi :=
lim P(Abfertigung zur Zeit t lässt i Kunden zurück)
t→∞
lim P(Ankunft zur Zeit t ndet i Kunden vor)
t→∞
lim P(zufälliger Beobachter trit i Kunden an)
t→∞
Wie sind die Zusammenhänge zwischen diesen Gröÿen? a) Für alle Systeme mit exponentialverteilter Ankunft gilt pi = ri . b) Für Systeme, bei denen Mehrfachereignisse in [t : t + h] nur mit Wahrscheinlichkeit o(h) vorkommen, d.h. es gibt keine gleichzeitigen Ereignisse, gilt πi = ri .
60
Kapitel 4. Wartesysteme c) Für das M/G/1-System ist beides erfüllt, also gilt πi = pi = ri . Damit liefern eingebettete Punkte überraschend weitreichende Ergebnisse.
Beweis: pi = ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Im Folgenden wird der Beweis zu a) gezeigt. Sei hierzu A(t, t+h) das Ereignis der Ankunft eines Kunden im Intervall [t, t + h]. Dann gilt:
rk (t) = P(Ankunft zur Zeit t ndet k Kunden) =
lim P(X(t) = k|A(t, t + h))
h→0
P(X(t) = k ∧ A(t, t + h)) h→0 P(A(t, t + h)) P(X(t) = k) · P(A(t, t + h)) = lim h→0 P(A(t, t + h)) = P(X(t) = k)
=
lim
= pk (t) ......................................................................................
Beweis: πi = ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die Gültigkeit von b) ergibt sich wie folgt. Wenn Mehrfachereignisse ausgeschlossen sind, dann unterscheidet sich die Anzahl der Übergänge von k nach k + 1 von der Anzahl der Übergänge von k + 1 nach k höchstens um 1. Also gilt rk = πk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Beweis: πi = pi = ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Zusammenhang c) folgt aus a) und b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Man sollte beachten, dass die Beziehung pi = ri , d.h. die Sicht des idealen Beobachters ist die gleiche wie des des verlassenden Kunden, nicht immer gilt. Beispiel: Gegenbeispiel zur Gültigkeit von pi = ri Gegeben ist ein D|D|1-System mit λ < µ, siehe folgende Abbildung. 1/l
1/l
t 1/m
1/m
Es gelten r0 = 1, d.h. das System war vor dem Eintreen leer, und ri = 0 für i > 0. Ebenfalls gelten π0 = 1 und πi = 0 für i > 0. Man erhält dann p0 = 1 − ρ bzw. p1 = ρ, d.h. ein idealer Beobachter ndet mit Wahrscheinlichkeit ρ einen Bedienvorgang vor. Also erhält man r0 6= p0 .
4.9 Analyse von G/M/1-Systemen Die G/M/1-Systeme sind dual zu den M/G/1-Wartesystemen. Es wird hier von einem Server mit exponentialverteilten Abfertigungsdauern und einem Ankunftsstrom mit Zwi-
4.9. Analyse von G/M/1-Systemen
61
schenankunftszeiten aus einer beliebigen, aber bekannten Verteilungsfunktion A(t), t > 0, ausgegangen. Um ein G/M/1-System zu analysieren, muss, wie im letzten Abschnitt, die Abhängigkeit des stochastischen Prozesses von der Vergangenheit eliminiert werden. Dies geschieht hier, indem eine eingebettete Markovkette auf den Zeitpunkten unmittelbar vor Systemankünften wie folgt konstruiert wird:
• ti : Zeitpunkte unmittelbar vor einer Ankunft • X(ti ): Systemzustand = Anzahl der Kunden zur Zeit ti • ri : limk→∞ P(X(tk ) = i) stationäre Zustandswahrscheinlichkeit Wenn die stationären Zustandswahrscheinlichkeiten existieren, müssen sie Lösung des folgenden Gleichungssystems (globale Flussgleichungen) sein:
rj =
∞ X
∀j > 1
pi,j ri
sowie
i=0
∞ X
ri = 1
i=0
pi,j gibt dabei die Wahrscheinlichkeit an, von Zustand i nach Zustand j zu wechseln. Analog zu M/G/1 können die pi,j bestimmt werden:
pi,j
βi+1−j = 0 ?
16j6i+1 j>i+1 j=0
wobei βr = P(r Abgänge zwischen zwei Ankünften) =
R∞ 0
(µt)r −µt a(t)dt r! e
Satz: Satz von Takacs Für eine Systemlast von ρ < 1 hat das Gleichungssystem σ = A∗ (µ(1 − σ)) im Intervall (0, 1) genau eine eindeutig bestimmte Lösung τ. Die Zustandswahrscheinlichkeiten ri sind geometrisch verteilt mit: ri = (1 − τ) · τi ∀i > 0
Falls die Zustandswahrscheinlichkeiten geometrisch verteilt sind, gilt:
rj = (1 − τ) · τ = j
∞ X i=j−1
βi+j−1 · ri =
∞ X
βi+1−j · (1 − τ) · τi
i=j−1
Dies ist eine bei Wartesystemen häug angewandte Methode: Versuche, eine Lösung zu erraten, und veriziere anschlieÿend die getroene Wahl.
62
Kapitel 4. Wartesysteme Daraus folgt: ∞ X
τ=
= =
βi+1−j · τi+1−j
i=j−1 ∞ X
βi · τi
i=0 ∞ Z∞ X i=0 0
Z∞ =
0
Z∞ =
0
(µtτ)i −µt ·e a(t)dt i!
e−µt a(t)
∞ X (µtτ)i i=0
i!
dt
e−(µ−µτ)t a(t)dt
= A∗ (µ − µτ) = A∗ (µ(1 − τ)) Der Ansatz der geometrischen Verteilung führt also zum gewünschten Ziel. Wie die Pollazcek-Khinchin-Formel soll nun auch dieses Ergebnis am Spezialfall des M/M/1Systems veriziert werden. Hier gilt für die Laplace-Transformierte der Ankunftsverteilung:
A∗ (t) =
λ ,t > 0 λ+t
Mit dem Satz von Takacs fährt man fort wie folgt:
τ = A∗ (µ(1 − τ)) ⇔ λ τ= ⇔ λ + µ(1 − τ) 0 = (1 − τ) · (τµ − λ) Diese Gleichung hat zwei Lösungen, die unzulässige Lösung τ = 1 und die einzige gültige Lösung:
τ=
λ = ρ ⇒ ri = (1 − ρ) · ρi µ
Hiermit haben wir das Bekannte erhalten.
KAPITEL 5
Wartenetze Wir haben in Kapitel 4 einzelne Wartesysteme betrachtet. In der Realität sind Systeme komplexer aufgebaut und bestehen meistens aus mehreren Wartesystemen. So kann ein Supermarkt aus den einzelnen Theken, die als Bedienstationen zu verstehen sind, modelliert werden. Genauso besteht auch ein Rechnersystem oder Kommunikationssystem aus mehreren Komponenten, die als Wartesysteme modelliert werden können. Deshalb beschäftigen wir uns in diesem Kapitel mit gekoppelten Wartesystemen, die auch als Wartenetze bezeichnet werden. Beispiel: Wartenetz Die folgende Abbildung zeigt ein Wartenetz, welches aus mehreren Knoten besteht. Jeder Knoten im Wartenetz ist ein Wartesystem. Die Knoten besitzen unterschiedliche Funktionen. Die Knoten 0 und N + 1 stellen die Verbindung zur Auÿenwelt her. Die Neuankünfte gelangen über den Knoten 0 ins Wartenetz und verlassen das System über den Knoten N + 1.
1
4
N+1
3
0
N
2
5.1 Eigenschaften von Wartenetzen Zunächst führen wir in diesem Abschnitt einige Begrie und Notationen ein, die in den späteren Abschnitten benötigt werden. Die betrachteten Wartenetze bestehen aus einer Menge von Knoten 0, 1, 2, . . . , N, N + 1. Die Knoten 1, 2, . . . , N werden alls innere Knoten bezeichnet. Ein neuer Job betritt das Wartenetz über den Knoten 0. Ein Job kann das Wartenetz über den Knoten N + 1 verlassen. 63
64
Kapitel 5. Wartenetze
Übergänge zwischen den Knoten Während seines Aufenthalts kann ein Job mehrere Knoten im Wartenetz besuchen. Die Übergangswahrscheinlichkeit eines Jobs von einem Knoten zum nächsten ist wie folgt:
• pi,j ist die Wahrscheinlichkeit, dass ein Job von Knoten i nach Knoten j wechselt (für 1 6 i, j 6 N). • p0,r ist die Wahrscheinlichkeit, dass ein Job Knoten r besucht, nachdem er über den Knoten 0 das Wartenetz betreten hat. • ph,N+1 ist die Wahrscheinlichkeit, dass ein Job den Knoten h zuletzt besucht, bevor er das Wartenetz über den Knoten N + 1 verlässt. • Des Weiteren gilt p0,N+1 = 0, d.h. es ist nicht möglich vom Knoten 0 zum Knoten N + 1 zu gelangen.
Eigenschaften der Knoten Die einzelnen Knoten des Wartenetzes sind Wartesysteme wie sie in Kapitel 4 eingeführt wurden.
• Die Warteräume in den Knoten sind unbegrenzt und die Bedienung in den einzelnen Knoten erfolgt nach dem FIFO-Prinzip. • Der Weg eines Kunden durch das Wartenetz hängt nur vom aktuell besuchten Knoten ab und nicht von den vorher besuchten. • Die Zeit, die ein Kunde beim Knotenwechsel benötigt, wird vernachlässigt. Um eine gröÿere Realtitätsnähe zu gewährleisten sind folgende Betrachtungen möglich, die aber mit Nachteilen verbunden sind:
Man addiert die Übergangszeit zu der Bedienzeit am Vorgängerknoten hinzu. Dies kann aber die Verteilungsannahmen der Bedienzeiten stören.
Man fügt zwischen zwei Knoten noch einen Laufzeitknoten ein. Allerdings führt dies zu einer Zustandsexplosion.
j
i
i
i,j
j
Laufzeitknoten
Zustand des Wartenetzes • Sei ki die aktuelle Kundenanzahl in Knoten i. Der Zustand eines Wartenetzes mit N Knoten ist gegeben durch: k = (k1 , k2 , . . . , kN )
5.1. Eigenschaften von Wartenetzen
Typen von Wartenetzen Wir werden zwei Arten von Wartenetzen betrachten: oene Wartenetze und geschlossene Wartenetze.
• In einem oenen Wartenetz sind Zugänge von und Abgänge nach auÿen möglich, d.h. die Anzahl der Kunden im Wartenetz ist nicht konstant. • In einem geschlossenen Wartenetz gibt es keine Zugänge von und Abgänge nach auÿen. Die Gesamtanzahl der Kunden K im Wartenetz ist konstant.
Eigenschaften der Kunden • Der Pfad eines Kunden durch das Wartenetz werde mit Y1 , Y2 , . . . bezeichnet. Dabei ist Y1 der Startknoten und Yi der i-te besuchte Knoten. Nach Annahme gilt die Markovbedingung: P(Yi+1 |Yi , Yi−1 , . . . , Y1 ) = P(Yi+1 |Yi ) Die Vergangenheit, d.h. die Betrachtung der vorher besuchten Knoten, kann in störendem Maÿe berücksichtigt werden. Allerdings erhält man eine Zustandsexplosion.
• Der Weg durch das Wartenetz sei nicht kundenspezisch. In der Realität gibt es Fälle, in denen Kunden spezielle Wege, d.h. bestimmte Nachfolgeknoten bevorzugen. • Die Bediendauer sei nicht kundenspezisch. Es gibt Modelle, die diese Einschränkungen beseitigen. Man kann z.B. Klassen einführen, so dass jede einzelne Klasse eine spezielle Bedienverteilung und Übergangswahrscheinlichkeit zugeordnet bekommt. Man bezeichnet in diesem Fall mit pi,r;j,s die Wahrscheinlichkeit, dass ein Kunde der Klasse r den Knoten i verlässt und im Knoten j als Kunde der Klasse s erscheint. Allerdings steigt der Aufwand bei dieser Betrachtungsweise enorm. • Die Bedienzeiten in Knoten i seien exponentialverteilt mit Parameter µi (ki ). Dabei bezeichnet ki die aktuelle Anzahl von Kunden im Knoten i. Wenn die Kundenanzahl irrelevant ist, dann schreiben wir für die Bedienzeiten in Knoten i vereinfachend µi . • Bei der Betrachtung von oenen Wartenetzen seien Neuankünfte von auÿen als Poissonprozess mit Parameter λ beschrieben. Die Ankunftsrate von auÿen zum Knoten i P ist poissonverteilt mit Parameter λ · p0,i und N p = 1. i=1 0,i
Beispiel: Rechnersystem als Wartenetz In der folgenden Abbildung ist ein Rechnersystem mit mehreren Komponenten als Wartenetz dargestellt. Neue Jobs werden zuerst von der CPU bearbeitet bevor sie auf Eingabe- oder Plattenzugrisoperationen zugreifen dürfen. Ein Job wird zuletzt immer von der CPU verarbeitet.
65
66
Kapitel 5. Wartenetze
Eingabe
neu
CPU Drucker
fertig Platte
5.1.1 Wartenetze mit Produkteigenschaft Ein Wartenetz mit Produkteigenschaft ist durch die folgende Eigenschaft beschrieben. Die Wahrscheinlichkeit P(k), dass sich das Wartesystem im Zustand k = (k1 , . . . , ki , . . . , kN ) bendet, ist gegeben durch:
P(k = (k1 , . . . , ki , . . . , kN )) =
N Y
f(ki ),
ki = Anzahl der Kunden im Knoten i
i=1
Die Wahrscheinlichkeit P(k) kann als Produkt von Einzeltermen in Isolation berechnet werden. Dabei kann der Knoten i so analysiert werden, als ob er ein M/M/c-Knoten wäre (siehe Abbildung 5.1). Ankünfte von 1
Abgänge nach 1
Ankünfte von 2
Abgänge nach 2
...
... Ankünfte von N
Gesamtankunftsprozess
Knoten i exponentialverteilte Bedienung
Abgänge nach N
Abgänge nach N+1 (d.h. nach außen)
Abbildung 5.1: Aufbau eines Knotens in einem Wartenetz. Der Ankunftsprozess am Knoten i ergibt sich durch Überlagerung der Abfertigungsprozesse von Knoten j (j = 1, . . . , N) jeweils mit Wahrscheinlichkeit pji . Dabei sind zwei wichtige Punkte zu beachten. Auch wenn die Bedienzeiten exponentialverteilt und die Neuankünfte poissonverteilt sind, ist im Allgemeinen der Ankunftsprozess an einem Knoten nicht poissonverteilt. Man darf aber trotzdem für die stationären Wahrscheinlichkeiten so rechnen, als ob der Gesamtankunftsprozess exponentialverteilt wäre! Es gibt jedoch eine Ausnahme, das so genannte Tandemnetz (siehe Abbildung 5.2). Bei einem Tandemnetz zieht sich der Poissonprozess von vorn bis hinten durch.
5.2. Jackson-Netze
67
Abbildung 5.2: Ein Tandemnetz
5.2 Jackson-Netze Ein Jackson-Netz ist ein oenes Wartenetz, d.h. es gibt Ankünfte von und Abgänge nach auÿen. Ein neuer Job betritt das Wartenetz über den Knoten 0. Ein Job kann das Wartenetz über den Knoten N P + 1 verlassen. Ein neuer Job von auÿen geht mit Wahrscheinlichkeit p0,i zum Knoten i, N i=1 p0,i = 1, d.h. der Knoten i bekommt von auÿen Jobs mit der Rate λ · p0,i . Abbildung 5.3 stellt ein Jackson-Netz dar.
p0,1
p0,2 0
k1
1(k1)
k2
2(k2)
l
N+1
kN
p0,N
N(kN)
Abbildung 5.3: Ein Jackson-Netz. Jackson-Netze besitzen folgende Eigenschaften:
• Die Bedienzeiten im Knoten i sind exponentialverteilt mit Parameter µi (ki ). Dabei bezeichnet ki die aktuelle Anzahl von Kunden im Knoten i. • Der Pfad eines Kunden durch das Wartenetz werde mit Y1 , Y2 , . . . bezeichnet. Dabei ist Y1 der Startknoten und Yi der i-te besuchte Knoten im System. Nach Annahme gilt die Markovbedingung: P(Yi+1 |Yi , Yi−1 , . . . , Y1 ) = P(Yi+1 |Yi ) Die Übergangswahrscheinlichkeit von Knoten i zum Knoten j ist deniert als:
pi,j = P(Ym+1 = j|Ym = i) Wir haben also eine homogene Markovkette.
• Neue Kunden kommen poissonverteilt mit Parameter λ an. • Die Abarbeitungsstrategie ist FIFO.
68
Kapitel 5. Wartenetze
Deterministische Analyse von Jackson-Netzen Wir betrachten ein groÿes Intervall der Länge T , in der Anfangs- und Endzustand gleich sind. Wir bezeichnen mit D(k, k 0 ) die Anzahl der Übergänge vom Zustand k = (k1 , . . . , kN ) 0 ). Mit der Flow-In = Flow-Out -Regel erhalten wir für alle nach Zustand k 0 = (k10 , . . . , kN Zustände k die Beziehung: X X D(k, k 0 ) = D(k 0 , k) k0
k0
Es sei T (k) der Anteil im Intervall T , in der man sich im Zustand k bendet. Dann ist die
Übergangsrate vom Zustand k zum Zustand k 0 gegeben durch: d(k, k 0 ) = Es sei p(k) =
T (k) T
D(k, k 0 ) T (k)
der Zeitanteil vom Zustand k. Dann gilt: X X p(k 0 ) · d(k 0 , k) = p(k) · d(k, k 0 ) k0
(5.1)
k
Es stellt sich die Frage nach einer Lösung für p(k) und wie diese aussieht? Die Lösung für p(k) erhält man, wenn man den stationären Systemzustand berechnet. Hierzu machen wir einige vereinfachende Annahmen bzgl. d(k, k 0 ).
Begrenzte Übergänge: Wir lassen keine Mehrfachereignisse zu, d.h. d(k, k 0 ) = 0, auÿer wenn
• k 0 = a(k, i) = (k1 , . . . , ki + 1, . . . , kN ) d.h. der Wechsel von k 0 nach k erfolgt durch einen Abgang nach aussen am Knoten i. • k 0 = b(k, i) = (k1 , . . . , ki − 1, . . . , kN ) d.h. der Wechsel von k 0 nach k erfolgt durch einen Neuzugang von auÿen am Knoten i. • k 0 = c(k, i, j) = (k1 , . . . , ki + 1, . . . , kj − 1, . . . , kN ) d.h. der Wechsel von k 0 nach k erfolgt durch einen Kundenwechsel vom Knoten i zum Knoten j.
Lokale Abhängigkeit: Die Wechselrate am Knoten i soll nur vom Knoten i und seiner Belegung mit den Kunden abhängen, d.h. 0 pi,N+1 µi (ki + 1) falls k = a(k, i) d(k, k 0 ) = p0,i λ falls k 0 = b(k, i) pi,j µi (ki + 1) falls k 0 = c(k, i, j)
Die Wechselrate ist also nur abhängig von pi,j und µi (ki ) mit µi (ki ) > 0. Unter diesen Annahmen hat das Gleichungssystem (5.1) die eindeutig bestimmte Lösung:
N ki 1 YY ei · λ p(k) = · G µi (m) i=1 m=1
Dabei ist G die Normierungskonstante und die ei sind die Lösungen des Gleichungssystem:
ei = p0,j +
N X j=1
ej · pj,i
5.2. Jackson-Netze
69
ei ist die mittlere Anzahl von Besuchen eines Jobs am Knoten i, während dieser Job das System besucht. Die Formel p(k) hat Produktform, d.h. p(k) = f1 (k1 ) · . . . · fN (kN ) Die Lösungen für ei sind eindeutig, wenn p0,j 6= 0 für mindestens ein j.
Stochastische Analyse von Jackson-Netzen Die Wahrscheinlichkeit, dass sich das System zum Zeitpunkt t im Zustand k = (k1 , . . . , kN ) bendet, werde mit p(k, t) bezeichnet. Wir wollen nun die stationäre Lösung ermitteln, falls diese existiert: p(k) = lim p(k, t) t→∞
Die Änderung von p(k, t) mit der Zeit lässt sich mit der Chapman-Kolmogorow-Gleichung beschreiben: ! N X d p(k, t) = − λ + µi (ki )(1 − pi,i ) · p(k, t) dt i=1
+
N X
λ · p0,i · p(b(k, i), t)
i=1
+
+
N X
µi (ki i=1 N X
+ 1) · pi,N+1 · p(a(k, i), t)
µi (ki + 1) · pi,j · p(c(k, i, j), t)
i,j=1;i6=j
Für die stationäre Lösung müssen die folgenden Bedingungen erfüllt sein: X d p(k, t) = 0 und p(k) = 1 dt k
Die Lösung lautet:
ki N Y Y λ · ei p(k) = p(0) · µi (m) i=1 m=1
Dabei sind die ei 's die eindeutige Lösung des Gleichungssystems
ei = p0,i +
N X
ej · pj,i
i = 1, . . . , N
j=1
und p(0) ist eine Normierungskonstante. Für den Fall, dass p(0) nicht existiert, gibt es keine stationäre Lösung.
Spezialfall ·/M/1 Alle Knoten haben die Eigenschaft ·/M/1, d.h. es gibt einen Bediener und die Bedienraten µi (ki ) = µi sind unabhängig von der Kundenzahl. Siehe Abschnitt 4.6 und Gleichung (4.16). Dann gilt:
p(k1 , . . . , kN ) = p1 (k1 ) · . . . · pN (kN )
70
Kapitel 5. Wartenetze wobei
λ · ei µi Wir haben eine Formel für das M/M/1-System mit Ankunftsrate λ · ei und Bedienrate µi . ei ist die eindeutig bestimmte Lösung von i pi (ki ) = (1 − ρi ) · ρk i
mit
N X
ei = p0,i +
ρi =
eh ph,i
h=1
Die Lösung hat Produktform mit der Normierungskonstante 1. Eine Lösung existiert nur, wenn ρi < 1 für alle i gilt.
Zusammenfassung für Jackson-Netze Ein Wartenetz muss die folgenden Eigenschaften besitzen, um als Jackson-Netz bezeichnet zu werden, siehe Abbildung 5.3.
• Die Lösung hat Produktform, d.h. die Knoten sind voneinander isoliert betrachtbar. • Die Produktform ist besonders einfach, wenn nur ein Server am Knoten i ist, d.h. µi (ki ) = µi In diesem Fall entfällt die Normierungskonstante.
• Die isolierte Behandlung von Knoten i: Der Knoten i hat die ·/M/ri -Eigenschaft. ri bedeutet, dass eventuell mehrere Server vorhanden sind, d.h. µi ist evtl. abhängig von ki . Man kann den Knoten i auch als M/M/ri -System analysieren, obwohl der Ankunftsprozess keineswegs poissonverteilt ist. Die Ankunftsrate ist hier λ·ei . Eine Ausnahme bilden die Tandemnetze, in denen der Ankunftsprozess tatsächlich poissonverteilt ist. Beispiel: Jackson-Netz Gegeben sei das folgende Jackson-Netz. 1/3
2 1/4
1/3 1/3
1/8l
1
1
3
1/4
1/2
1/2 4 1/4l
1/2
5/8l
5.2. Jackson-Netze
71
Um e1 , . . . , e4 zu bestimmen, müssen wir das folgende Gleichungssystem p1,1 p1,2 p1,3 p2,1 p2,2 p2,3 (e1 , . . . , e4 ) = (p0,1 , . . . , p0,4 ) + (e1 , . . . , e4 ) · p3,1 p3,2 p3,3 p4,1 p4,2 p4,3
p1,4 p2,4 p3,4 p4,4
oder auch in Kurzform
e=p+e·P lösen. Nach dem Einsetzen erhalten wir:
1 5 2 , 0, , 8 8 8
0
1 4
0
1
2
1 0 1 0 3 3 + (e1 , . . . , e4 ) · 1 0 0 0 0 0 21 0 1 5 2 e2 e1 e2 e4 e1 = , 0, , + + e3 , , + , 8 8 8 3 4 3 2 2
(e1 , . . . , e4 ) =
Wir haben damit ein Gleichungssystem mit 4 Gleichungen und 4 Unbekannten, welches die folgende Lösung besitzt: 12 3 10 (e1 , . . . , e4 ) = , , ,1 8 8 8 Es sei λ = 8, d.h. (λ · e1 , λ · e2 , λ · e3 , λ · e4 ) = (12, 3, 10, 8). Dann ist die stationäre Lösung bei einem exponentialverteiltem Server an der Station i mit Bedienrate µi gegeben durch:
p(k1 , . . . , k4 ) =
4 Y (1 − ρi ) · ρki i
mit ρi =
i=1
λ · ei µi
Eine stationäre Lösung existiert aber nur, wenn ρi < 1 für i = 1, . . . , 4 gilt, d.h. in diesem Fall
λ · e1 λ · e2 λ · e3 λ · e4
= = = =
12 < µ1 3 < µ2 10 < µ3 8 < µ4
also also also also
µ1 µ2 µ3 µ4
> 12 >3 > 10 >8
Nun können wir die Wahrscheinlichkeiten für bestimmte Konstellationen berechnen, z.B.
p(5, 3, 9, 1000) = (1 − ρ1 )ρ51 · (1 − ρ2 )ρ32 · (1 − ρ3 )ρ93 · (1 − ρ4 )ρ1000 4 oder, den Fall, wenn das Wartenetz leer ist, also
p(0, 0, 0, 0) = (1 − ρ1 ) · (1 − ρ2 ) · (1 − ρ3 ) · (1 − ρ4 ) Beispiel: Tandemnetz Wir erhalten als Übergangsmatrix P der inneren Knoten
p1,1 p2,1 P= . ..
p1,2 p2,2 .. .
··· ··· .. .
pN,1
pN,2
···
0 1 p1,N p2,N 0 0 .. = . ... ... pN,N 0 0
··· 0 .. . 0 .. . 1 0 0
72
Kapitel 5. Wartenetze sowie das Gleichungssystem
ei = p0,i +
N X
eh · ph,i
h=1
d.h. wir erhalten
p0,1 = 1 = 0 + ei−1 = ei−1
ei = 1
für i = 1 für i > 1
∀i
Als stationäre Lösung erhalten wir damit
p(k1 , . . . , kN ) = p1 (k1 ) · . . . · pN (kN ) mit
pi (ki ) = (1 − ρi ) · ρki i
und
ρi =
λ · ei λ = <1 µi µi
i = 1, . . . , N
5.3 Gordon-Newell-Netze Gordon-Newell-Netze sind geschlossene Netze, d.h. die Gesamtanzahl der Kunden K
bleibt im Wartenetz konstant. Wir wollen nun die stationäre Verteilung von Gordon-NewellNetzen untersuchen. Es werden die gleichen Voraussetzungen wie bei Jackson-Netzen getroen.
Die Änderungen des Zustands k = (k1 , . . . , kN ) ist durch die folgende Chapman-KolmogorowGleichung beschrieben:
# "N X d µi (ki ) · (1 − pi,i ) · p(k, t) + p(k, t) = − dt i=1
N X
µi (ki + 1) · pi,j · p(c(k, i, j), t)
i,j=1; i6=j
Dabei beschreibt c(k, i, j) den Fall, dass ein Kunde in Knoten j weniger und in Knoten i mehr wird. c(k, i, j) = (k1 , . . . , ki + 1, . . . , kj − 1, . . . , kN ) Die Bedingung für die stationäre Lösung lautet:
d p(k, t) = 0 dt Mit dieser Bedingung erhalten wir die Gleichung: N X
µi (ki ) · (1 − pi,i ) · p(k, t) =
i=1
N X
µi (ki + 1) · pi,j · p(c(k, i, j), t)
(5.2)
i,j=1;i6=j
Die stationäre Lösung p(k) = limt→∞ p(k, t) ist gegeben durch:
ki ki N N 1 Y ki Y 1 1 Y Y ei 1 p(k) = ei = = f(k1 )·. . .·f(kN ) (5.3) G(K) µi (j) G(K) µi (j) G(K) i=1
j=1
i=1
j=1
5.3. Gordon-Newell-Netze
73
G(K) ist eine von der Gesamtanzahl der Kunden K abhängige Normierungskonstante. Dabei bilden e1 , . . . , en irgendeine nichtverschwindende Lösung von: (e1 , . . . , eN ) = (e1 , . . . , eN ) ·
p1,1 p2,1 .. .
p1,2 p2,2 .. .
··· ··· .. .
p1,N p2,N .. .
pN,1 pN,2 · · · pN,N
Beweis: Nachweis der Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Man setzt die Lösung (5.3) für p(k) in die Gleichung (5.2) ein.
0 =
1 G(K)
N Y
r ek r
r=1
kr Y
1 µr (h)
h=1
N X µi (ki )(1 − pi,i ) − i=1
N X
µi (ki + 1) · pi,j · p(c(k, i, j), t) ⇐⇒
i,j=1;i6=j
ei µj (kj ) ej µi (ki + 1) kr N Y 1 X µi (ki )(1 − pi,i ) − µr (h)
mit p(c(k, i, j), t) = 1 Y kr er G(K) N
0 =
r=1
0 =
N X
i=1
h=1
µi (ki )(1 − pi,i ) −
i=1
N X
pi,j
i,j=1;i6=j
N X i,j=1;i6=j
ei pi,j · µj (kj ) ⇐⇒ ej
ei · µj (kj ) ⇐⇒ ej
Trick:µi (ki )pi,i in die zweite Summe übernehmen und in der ersten Summe Index umbenennen! N X
N X
ei · µj (kj ) ⇐⇒ ej i,j=1 j=1 " # N N X X ei 0 = µj (kj ) 1 − pi,j ⇐⇒ ej j=1 i=1 " # N X ei 0 = 1− pi,j ej
0 =
µj (kj ) −
pi,j
(5.4)
i=1
Es können sich im geschlossenen Wartenetz mit positiver Wahrscheinlichkeit alle Jobs gleichzeitig in einem Knoten aufhalten, d.h. es kann für alle bis auf einen Knoten gelten:
µj (kj ) = 0 Aus Gleichung (5.4) erhält man eine Lösung für (e1 , . . . , eN ).
ej −
N X
pi,j · ei = 0
i=1
ej =
N X
pi,j · ei
j = 1, . . . , N
i=1
Wenn die ei so berechnet werden, dann stimmt die Lösung. . . . . . . . . . . . . . . . . . . . . . . . . .
74
Kapitel 5. Wartenetze
Spezialfall ·/M/rm Knoten m sei von der Form ·/M/rm mit
j · µm µm (j) = m · µm
j 6 µm j > µm
Dann ergibt sich die Lösung zu: 1 Y G(K) N
p(k) =
i=1
mit
ei µi
ki ! βi = i −ri ri !rk i
ki
1 βi (ki )
ki < ri ki > ri
Spezialfall ·/M/1 Wenn für alle Knoten rm = 1 gilt, dann ergibt sich die Lösung zu:
p(k) =
N Y ei ki 1 · G(K) µi i=1
5.3.1 Allgemeine Ergebnisse zu Gorden-Newell-Netzen Seien ρ1 > ρ2 > ρ3 · · · > ρN , wobei ρi =
ei µi
die Last an Knoten i ist.
Für die Zustandswahrscheinlichkeit p(k1 , . . . , kN ) gilt für ki < ∞
p(k1 , . . . , kN ) −−−−−−−−−−−−→ 0 k1 +...+kN =K→∞
Wir betrachten nun die Wahrscheinlichkeitsverteilung der Randknoten p(k2 , . . . , kN ). Wir erhalten hierfür:
p(k2 , . . . , kN ) = p2 (k2 ) · . . . · pN (kN ) Das Ergebnis ist wie das von Jackson-Netzen. Wenn man ein geschlossenes Wartenetz mit 1, 2, . . . , N Knoten und sehr vielen Kunden hat, dann ist dieses Wartenetz ähnlich zu einem oenen Wartenetz mit den Knoten 2, 3, . . . , N. Dabei übernimmt der Knoten 1 die Rolle der Auÿenwelt. Beispiel: Ringnetz Wir betrachten ein
Ringnetz,
welches in folgender Abbildung dargestellt ist.
5.3. Gordon-Newell-Netze
75 1
N
2
N-1
..............
3
Die dazugehörigen Wahrscheinlichkeiten lauten:
pi,i+1 pN,1 pi,j Aus der Gleichung
= 1 = 1 = 0
i = 1, . . . , N − 1 sonst
(e1 , . . . , eN ) = e = e · P = (eN , e1 , . . . , eN−1 )
erhalten wir
e1 = e2 = . . . = eN = 1
oder auch gleich c für c 6= 0. Damit erhalten wir als stationäre Lösung:
p(k) = Dabei ist
N 1 Y 1 · G µki i=1 i
G = G(k1 , . . . , kN ) = G(k1 + . . . + kN ) = G(K)
Wir betrachten hier einen konkreten Fall mit N = 3 Knoten und K = 2 Kunden. Seien weiterhin µ1 = µ2 = µ und µ3 = 2µ, d.h. Knoten 3 bearbeitet die Kunden schneller. Die Aufgabe ist nun K Kunden auf N Knoten zu verteilen. Mögliche Belegungen sind:
p(2, 0, 0) = p(0, 2, 0) = p(0, 0, 2) =
p(1, 0, 1) = p(0, 1, 1) = p(1, 1, 0) = Aus der Normalisierungsbedingung
P
1 G 1 G
1 µ2 1 · (2µ)2
·
1 G 1 G
1 2µ2 1 · 2 µ
·
p(· · · ) = 1 folgt 3 1 2 1 + + 1 = G µ2 4µ2 2µ2 1 4µ2 = G 17
Durch Einsetzen erhält man die Wahrscheinlichkeiten:
76
Kapitel 5. Wartenetze
p(2, 0, 0) = p(0, 2, 0) = p(1, 1, 0) = p(0, 0, 2) = p(1, 0, 1) = p(0, 1, 1) =
4 17 1 17 2 17
Beispiel: Vier-Knotennetz Wir betrachten das Wartenetz, welches wir schon bei den oenen Netzen betrachtet haben und in der folgenden Abbildung dargestellt ist.
2 1/2
1/2 1/3
1
3
1 2/3
1 4
Um die ei 's zu berechnen müssen wir das Gleichungssystem 0 13 0 23 1 0 1 0 2 2 (e1 , . . . , e4 ) = (e1 , . . . , e4 ) · 1 0 0 0 0 0 1 0 e2 e1 e2 2e1 = + e3 , , + e4 , 2 3 2 3
lösen. Eine Lösung erhält man, indem man z.B e1 = 6 setzt. Daraus folgen dann:
e2 = 2 Normiert man den Lösungsvektor, so gilt
e4 = 4
e3 = 5
P
ei = 1 und man erhält in diesem Fall 6 2 5 4 (e1 , e2 , e3 , e4 ) = , , , 17 17 17 17 i
Im normierten Fall ist ei die relative Häugkeit, mit der ein Job aktuell am Knoten i ist. Als stationäre Lösung erhalten wir: 1 Y G 4
p(k1 , . . . , k4 ) =
i=1
• Betrachten wir den Spezialfall K = 1:
ei µi
ki
5.3. Gordon-Newell-Netze
77
Nehmen wir an, dass alle Bedienraten µi gleich groÿ sind, d.h. µi = µ, dann erhalten wir
X
p(k1 , k2 , k3 , k4 ) = 1 =
Also gilt die Beziehung
G=
1 1 (6 + 2 + 5 + 4) Gµ
17 µ
Wir erhalten damit:
p(1, 0, 0, 0) =
6 17
p(0, 1, 0, 0) =
2 17
p(0, 0, 1, 0) =
4 17
p(0, 0, 0, 1) =
5 17
Man sieht, dass die Zustandswahrscheinlichkeiten unabhängig von der Bedienrate µ sind.
• Betrachten wir den Spezialfall K = 2: Wir nehmen wieder an, dass alle Bedienraten µi gleich groÿ sind. Wir erhalten z.B. folgende Zustandswahrscheinlichkeiten: 2 1 e1 36 p(2, 0, 0, 0) = = G µ Gµ2 1 e2 e4 2·4 8 p(0, 1, 0, 1) = = = G µ µ Gµ2 Gµ2 Auch in diesem Fall sind die Zustandswahrscheinlichkeiten unabhängig von µ und damit auch von G: X 1 p(k1 , k2 , k3 , k4 ) = 1 = · SUM Gµ2 Dabei ist SUM die Zählersumme der Elementarwahrscheinlichkeiten, also (36 + 8 + . . .)
p(2, 0, 0, 0)
=
p(0, 1, 0, 1)
= ...
36 SUM 8 SUM
Beispiel: Central-Server-Modell Wir betrachten nun das Central-Server-Modell aus der folgenden Abbildung.
1
p2
p3
2
3
......
p1
pN
N
78
Kapitel 5. Wartenetze Die Übergangswahrscheinlichkeiten sind wie folgt:
p1,i pi,1 pi,j
i = 1, . . . , N i = 2, . . . , N sonst
= pi = 1 = 0
Damit erhalten wir als Gleichungssystem:
(e1 , . . . , eN ) ·
(e1 , . . . , eN ) =
p1 1 .. .
··· ··· .. .
p2 0 .. .
1
0
···
pN 0 .. . 0
(e1 p1 + e2 + . . . + eN , e1 p2 , e1 p3 , . . . , e1 pN )
= oder anders geschrieben:
= e1 p1 + e2 + . . . + eN = e1 p2
e1 e2 .. . eN
= e1 pN
Wir erhalten als Lösungsvektor:
(e1 , e1 p2 , . . . , e1 pN )
Setzt man e1 = 1, so erhält man
(1, p2 , . . . , pN )
Setzt man e1 = µ1 , so dass der erste Produktterm in der Lösung wegfällt, dann erhält man:
(µ1 , µ1 p2 , . . . , µ1 pN ) Die stationäre Lösung lautet dann: 1 Y G N
p(k1 , . . . , kN ) =
i=1
ei µi
ki =
Für den Fall, dass µi = µ1 und p1 = p2 = . . . = pN =
p(k1 , . . . , kN ) =
k N 1 Y µ1 pi i · G µi i=2
1
N
gelten, haben wir als stationäre Lösung:
ki K−k1 N 1 1 1 Y 1 · = G N G N i=2
Setzen wir z.B. N = 3 und K = 2, dann erhalten wir als Zustandswahrscheinlichkeiten:
p(0, 1, 1) = p(0, 2, 0) = p(0, 0, 2) = p(1, 0, 1) = p(2, 0, 0) =
1 p(1, 1, 0) = · G 0 1 1 1 = G 3 2
1 · G
2 1 3
1 1 3
Damit erhalten wir G = 2. Oft ist man an einzelnen Wahrscheinlichkeiten nicht interessiert, sondern an der Randverteilung bzw. an abgeleiteten Parametern. Diese können aus p(k1 , . . . , kN ) ermittelt werden.
5.3. Gordon-Newell-Netze
79
Als Beispiel betrachten wir im Central-Server-Modell die Belegung der Station 3. 1/3
2
1/3
1
1/3
p(k3 = i) =
X
3
p(k3 = i; k1 , k2 , k4 , . . .)
k1 ,k2 ,...
p(k3 = 0) = p(0, 2, 0) + p(1, 1, 0) + p(2, 0, 0) = p(k3 = 1) = p(k3 = 2) =
4 18 1 18
13 18
Die mittlere Kundenanzahl an Station 3 ist dann: k = 0 · 13 + 1 · 4 + 2 · 1 = 1 N 3 18 18 18 3 Die mittlere Systemzeit Sk3 an Station 3 erhält man mit Little's Result: k N 3 λk3
Sk3 = Es gilt:
λk3 = µk1 · p3 · P(k1 6= 0) = µ · Also erhalten wir
Sk3 =
1 5 5 · =µ· 3 6 18
6 1 · 5 µ
Die mittlere Wartezeit an Station 3 ist dann:
Wk3 = Sk3 −
1 1 1 = · µ 5 µ
Dabei ist µ1 die mittlere Bediendauer an Station 3. Die mittlere Wartezeit an der Station ist vergleichsweise klein, da an dieser Station nur gewartet wird, wenn sich dort beide Kunden
80
Kapitel 5. Wartenetze benden. Für die anderen Stationen erhalten wir:
λk2 k N 2 λk1
Sk1 k N 1
= λk3 k = N 3 = µk1 · P(k1 6= 0) + µk2 · P(k2 6= 0) + µk3 · P(k3 6= 0) 2 1 1 15 µ + ·µ+ ·µ = 3 18 18 6 5 = µ 6 k 8 1 N 1 = · = λk1 5 µ 3 2 1 4 = 0· +1· +2· = 18 6 2 3
5.4 BCMP-Netze In diesem Abschnitt betrachten wir allgemeine Wartenetze mit Produktform als stationäre Lösung. Diese Wartenetze werden auch als BCMP-Netze bezeichnet. Folgende Erweiterungen im Vergleich zu den bisher betrachteten Wartenetzen werden eingeführt:
• Wir werden andere Bedienzeitverteilungen als die Exponentialverteilung betrachten. • Wir werden andere Abfertigungsdisziplinen als FIFO betrachten. Leider ist die CoxVerteilung nur verträglich mit den anderen Disziplinen auÿer FIFO. Wenn FIFO gewählt wird, dann muss die Exponentialverteilung als Bedienzeitverteilung genommen werden. • Wir werden unterschiedliche Jobklassen einführen. • Wir werden Mischungen von Disziplinen, Verteilungen und Klassen an verschiedenen Knoten zulassen. Die Netze mit diesen Eigenschaften heiÿen BCMP-Netze, die von Baskott, Chandy, Muntz und Palacios untersucht wurden.
Eigenschaften von BCMP-Netzen Verallgemeinerung der Sätze von Jackson und Gordon-Newell auf Wartenetze mit
• allgemeineren Abfertigungsstrategien an den einzelnen Knoten • allgemeineren Abfertigungsverteilungen an den einzelnen Knoten • unterschiedlichen Jobklassen Es werden folgende Voraussetzungen gemacht: (1) Das Wartenetz hat N innere Knoten (1, 2, . . . , N). Bei oenen Wartenetzen gibt es zusätzlich einen Knoten 0 für die Zugänge und einen Knoten N + 1 für die Abgänge.
5.4. BCMP-Netze
81
(2) Es gibt x Jobklassen. Die Klassenzugehörigkeit eines Jobs kann sich auf dem Weg durch das Wartenetz ändern. (3) Es existiert eine Übergangsmatrix P = pi,c;j,d zu den Markov-Übergängen. Dabei bezeichnet pi,c;j,d die Wahrscheinlichkeit, dass ein Job der Klasse c nach Abfertigung am Knoten i nach Knoten j geht und dort ein Job der Klasse d wird. (4) Neuankünfte sind poissonverteilt mit Rate λ(K) und K = k1 + . . . + kN ist die aktuelle Gesamtanzahl an Kunden im Wartenetz. Das Wartenetz kann oen oder geschlossen sein. Möglich ist auch, dass das Wartenetz bzgl. einer Klasse oen und bzgl. einer anderen Klasse geschlossen ist. (5) Die inneren Knoten sind von einem der folgenden vier Typen: Typ
Disziplin
Serveranzahl pro Knoten
1 2 3 4
FIFO PS IS LIFO-PR
1 1 ∞ 1
Abfertigungsverteilung Kunden der Klasse c
der
expi Coxi,c Coxi,c Coxi,c
Erläuterungen:
• expi bedeutet exponentialverteilt mit Parameter µi (ki ). Für alle Klassen c gilt die gleiche Verteilung. • PS: Processor Sharing • IS: Innite Server • LIFO-PR: Last In First Out with Preemptive Resume • Coxi,c ist die klassenabhängige Cox-Verteilung.
5.4.1 Die Cox-Verteilung Die Cox-Verteilung Coxi,c ist eine klassenabhängige Verteilung und wird charakterisiert durch:
• Si,c : Anzahl der Positionen der Cox-Verteilung • µi,c,m : Parameter der Exponentialverteilung der m-ten Stufe dieser Verteilung • br,i,c : die Wahrscheinlichkeit, dass nach Stufe r auch noch Stufe r + 1 betreten wird bi bezeichnet die Wahrscheinlichkeit, dass ein Job nach der i-ten exponentialverteilten Station zur Station (i + 1) geht. (1 − bi ) ist die Wahrscheinlichkeit, dass die Bediendauer beendet wird (siehe Abbildung 5.4). P(Bi 6 t) = 1 − e−µi t µi B∗i (s) = Laplace-Transformierte s + µi Es sei Y die Zufallsvariable, welche die Zeit zwischen A und B angibt. Dann ist Y coxverteilt. Es gilt:
82
Kapitel 5. Wartenetze
A
b0
b1
m1
m2
1-b0
b2
1-b1
...
bN-1
1-b2
mN
1-bN-1
bN
1-bN B
Abbildung 5.4: Die Cox-Verteilung (1) Die Wahrscheinlichkeit, dass ein Job das System nach Station i verlässt ist
b0 · b1 · . . . · bi−1 ·(1 − bi ) = ai (1 − bi ) | {z } ai
(2) Für Y = 0 ergibt sich:
P(Y = 0) = 1 − b0 = L∗0 (s) (3) Es sei L∗i die Laplace-Transformierte eines Jobs, der bei Station i aufhört. Dann ist die Summe von i exponentialverteilten Zeiten
L∗i (s) =
i Y j=1
µj s + µj
(4) Für die Laplace-Transformierte Y ∗ (s) einer Cox-Verteilung gilt: ∗
Y (s) = 1 − b0 +
N X
ai (1 − bi )
i=1
i Y j=1
µj s + µj
Hieraus ergibt sich
E(Y) = −Y 0∗ (0) =
N X ai i=1
µi
Var(Y) = Y 00∗ (0) − (Y 0∗ (0))2 =
N X ai µ2i i=1
Y ∗ (s) ist eine rationale Funktion, die aus einem Zähler- und einem Nennerpolynom besteht. Durch Einstellen der Parameter N, µi , bi kann jede rationale Funktion beliebig genau approximiert werden, da Cox-Verteilungen fast beliebig allgemein sind. Es sei F(t) die Verteilungsfunktion einer Zufallsvariablen mit endlichem Erwartungswert und F(t) = 0 für t < 0. Dann gibt es zu jedem ε > 0 eine Verteilungsfunktion φ(t) vom Cox-Typ mit: Z∞ |F(t) − φ(t)|dt < ε 0
5.4. BCMP-Netze
83
und
Z∞ 0
mit
t · |F(t) − φ(t)|dt < ε
|E(F) − E(φ)| = t|F(t) − φ(t)|
Verteilungen vom Cox-Typ sind besonders interessant, weil der Zustand durch eine ganze Zahl beschrieben werden kann.
5.4.2 Systemzustand = (k 1 , . . . , k N ) ist charakterisiert durch: Der Systemzustand k
• Anzahl der Kunden an dieser Station und ggf. durch • ihre Klassenzugehörigkeit • ihre erreichte Position bzgl. ihrer Cox-Verteilung (vor allem bei LIFO-PR) Für die Servertypen erhalten wir
• für Typ 1 wird der Systemzustand durch: i = (ki , . . . , ki ) k ki 1
mit kir als Klasse des r-ten Kunden an Station i (bei FIFO) beschrieben.
• für Knoten vom Typ 4 erhalten wir: i = [(ki , pi ), . . . , (ki , pi )] k ki ki 1
1
kir beschreibt bei LIFO-PR die Klasse des r-ten Kunden und pir ist die aktuell erreichte Stufe (1 6 pir 6 Si,c ) in seiner Cox-Verteilung. • für die Knoten vom Typ 2 und Typ 3 erhalten wir: i = {(ki , pi ), . . . , (ki , pi )} k ki ki 1
1
Für die Typen 2,3 und 4 bezeichnet ki,c,m die Anzahl der Kunden der Klasse c an Station i, welche aktuell die Stufe m erreicht haben. Alle 4 Servertypen haben die Memoryless ⇔Memoryless Eigenschaft, d.h. wenn die Ankünfte poissonverteilt sind, dann ist auch das Abgehen poissonverteilt. Diese Eigenschaft ist charakteristisch für die Produktform der stationären Lösung.
5.4.3 Das BCMP-Theorem 1 , . . . , k N ) bendet ist geDie Wahrscheinlichkeit, dass sich ein Wartenetz im Zustand (k geben durch: 1 , . . . , k N )) = C · d(K) · f1 (k 1 ) · . . . · fN (k N ) P(Systemzustand = (k Wobei die Terme in obiger Gleichung wie folgt gegeben sind:
84
Kapitel 5. Wartenetze • C ist die Normierungskonstante, die wie folgt berechnet wird: −1 N X Y i ) C= d(K) · fi (k k
i=1
• d(K) ergibt sich in Abhängigkeit des Wartenetztyps: Q K−1 m=0 λ(m) falls Wartenetz oen d(K) = 1 falls Wartenetz geschlossen i ): • Die Terme für die inneren Knoten fi (k
Q ki ei ki j j=1 µi (j) Qx Qsi c h ei c ·Ai c m iki c m ki ! · c=1 m=1 · µi c m ,
,
,
, ,
, ,
, ,
i ) = fi (k
Qx Qsi c h ei c ·Ai c m iki c m · c=1 m=1 µi c m Q e ·A ki i ki j i ki j pi j ,
,
, ,
, ,
, ,
,
j=1
Typ 1 (FIFO)
,
,
,
, ,
1
ki,c,m !
1
ki,c,m !
Typ 2 (PS) Typ 3 (IS) Typ 4 (LIFO-PR)
,
µi,ki,j ,pi,j
mit
Ai,c,m := b0,i,c · b1,i,c · . . . · bm−1,i,c und ej,c ist die Lösung des Gleichungssystems
ej,c =
x X N X
ei,d · pi,d;j,c + p0,∗;j,c
d=1 i=1
Die allgemeinen BCMP-Formeln sind meist zu komplex, weil zu viele uninteressante bzw. wenig interessante Teilzustände vorhanden sind. Es genügt in der Regel, die Anzahl yic der Kunden einer Klasse c an Station i zu ermitteln. Diese erhält man durch das Zu . Die zugehörigen Formeln haben sammenfassen entsprechender Wahrscheinlichkeiten p(k) Produktform und sind viel einfacher: Es seiPyic die Anzahl der Kunden der Klasse c an Station i, yi = (yi , . . . , yix ) und ki = xc=1 yi,c die Gesamtanzahl der Kunden an der Station i. Dann gilt: 1
P((y1 , . . . , yN )) = C · d(K) · g1 (y1 ) · g2 (y2 ) · . . . · gN (yN ) mit
ki Px yic 1 1 k ! · · e · i c=1 yic ! ic µi yic P eic gi (yi ) = ki ! · xc=1 y1 ! · µ ic ic yic Qx eic 1 · c=1 yi ! µi c
c
falls i vom Typ 1 falls i vom Typ 2 oder 4 falls i vom Typ 3
5.4. BCMP-Netze
85
Wir betrachten nun den Spezialfall, dass das Wartenetz oen ist und dass λ = λ(K) = const ist. Sei
ki = Gesamtanzahl der Kunden in Knoten i x X = yi,c c=1
und die Last an Knoten i
ρi =
x X λei,c
µi,c
c=1
Dann erhalten wir:
p(k1 , . . . , kN ) = p1 (k1 ) · p2 (k2 ) · . . . · pN (kN ) mit
pi (ki ) =
(1 − ρi ) · ρki i
falls i vom Typ 1,2,4
e−ρi ·
falls i vom Typ 3
k
ρi i ki !
Für i vom Typ 1 ist µic = µi = const. Dies ist eine direkte Übertragung des Satzes von Jackson. Die Randverteilungen werden berechnet mit:
• M/M/1-Lösung bei Typ 1,2,4 • M/G/∞-Lösung bzw. M/M/∞-Lösung bei Typ 3 Die Last ρi ist natürlich geeignet anzupassen (Mittelung über alle Klassen 1, . . . , x). Beispiel: Oenes Wartenetz Wir betrachten ein oenes Wartenetz, das N = 3 Knoten und R = 2 Auftragsklassen hat. LIFO-PR m2 Processor Sharing m1
Quelle 0
m3 LIFO-PR
Senke 4
Der erste Knoten hat den Typ 2, der zweite und dritte Knoten den Typ 4. Die Bedienzeiten seien exponentialverteilt mit den Raten:
µ11 = 8 sec−1 µ12 = 24 sec−1
µ21 = 12 sec−1 µ22 = 32 sec−1
µ31 = 16 sec−1 µ32 = 36 sec−1
86
Kapitel 5. Wartenetze Die Zwischenankunftszeiten seien ebenfalls exponentiell verteilt mit den Ankunftsraten für Aufträge der Klassen 1 und 2: λ1 = λ2 = 1 Auftrag/sec. Die Übergangswahrscheinlichkeiten seien gegeben durch:
p0,11 = 1 p11,21 = 0.4 p11,31 = 0.3 p11,4 = 0.3
p21,11 p21,31 p31,11 p31,21
= 0.6 p0,12 = 1 = 0.4 p12,22 = 0.3 = 0.5 p12,32 = 0.6 = 0.5 p12,4 = 0.1
p22,12 p22,32 p32,12 p32,22
= 0.7 = 0.3 = 0.4 = 0.6
d.h. Klassenwechsel von Aufträgen ndet nicht statt. Wir wollen die Wahrscheinlichkeit für den Netzwerkzustand (k1 , k2 , k3 ) = (3, 2, 1) mit Hilfe des BCMP-Theorems ermitteln. Schritt 1:
Berechnung der Besuchshäugkeiten eir für alle i = 1, . . . , N und alle r = 1, . . . , R
e11 e21 e31
= p0,11 + e11 p11,11 + e21 p21,11 + e31 p31,11 = 3.333 = p0,21 + e11 p11,21 + e21 p21,21 + e31 p31,21 = 2.292 = p0,31 + e11 p11,31 + e21 p21,31 + e31 p31,31 = 1.917
Ähnlich erhalten wir
e12 = 10, Schritt 2:
e22 = 8.049,
e32 = 8.415
Berechnung der Einzelauslastungen:
ρ1 ρ2 ρ3
e11 e12 + λ2 = ρ11 + ρ12 = 0.833 µ11 µ12 e21 e22 = λ1 + λ2 = ρ21 + ρ22 = 0.442 µ21 µ22 e31 e32 = λ1 + λ2 = ρ31 + ρ32 = 0.354 µ31 µ32 = λ1
und Berechnung der benötigten Randwahrscheinlichkeiten
p1 (3) = (1 − ρ1 )ρ31 = 0.0965 p2 (2) = (1 − ρ2 )ρ22 = 0.1093 p3 (1) = (1 − ρ3 )ρ3 = 0.2287 Schritt 3:
Berechnung der gesuchten Zustandswahrscheinlichkeit für das Wartenetz
p(3, 2, 1) = p1 (3) · p2 (2) · p3 (1) = 0.00241 Für die mittleren Auftragsanzahlen gilt: 11 k 12 k
ρ11 21 = ρ21 = 0.342 = 2.5 k 1 − ρ1 1 − ρ2 22 = 0.5 32 = 0.362 = 2.5 k k =
31 = k
ρ31 = 0.186 1 − ρ3
KAPITEL 6
Beispielanalyse ALOHA Als Beispiel für die exakte mathematische Methode wird in diesem Kapitel das Kommunikationssystem ALOHA diskutiert. Im betrachteten Szenario gibt es mehrere Benutzer, die um einen Kanal konkurrieren, um Nachrichten über einen geostationären Satelliten zu versenden. Ein Benutzer kann jederzeit mit dem Senden einer Nachricht beginnen. Allerdings können sich dann Sendungen ganz oder teilweise überlappen, was als Kollision bezeichnet wird und wodurch die Nachrichten vollständig zerstört werden. Nach einer Kollision warten die Benutzer eine zufällige Zeit und versuchen, die Nachricht erneut zu senden. Aus Optimierungszwecken vereinbaren die Benutzer eine einheitliche Nachrichtenlänge, so dass die Übertragung einer Nachricht T = 1 Zeiteinheit erfordert. Es gibt folgende Varianten von ALOHA, die wir im Folgenden betrachten werden:
• Pure-ALOHA • Slotted-ALOHA Bei Slotted-ALOHA ist die Zeitachse mit einer Taktlänge T = 1 getaktet, d.h., pro Takt kann genau eine Nachricht übertragen werden. Ein Takt entspricht also einem Slot. Ein sendebereiter Benutzer muss dann auf den nächsten Slot warten. Der Vorteil von SlottedALOHA ist, dass in einem Slot entweder eine oder keine Kollision auftreten kann. Allerdings müssen dafür die Benutzer snychronisiert werden, was im Allgemeinen bei der Bewertung nicht berücksichtigt wird. Gegenstand der Analyse ist die Frage, wie viel Prozent der Daten ohne Kollision übertragen werden. Der Zusammenhang zwischen dem Durchsatz S und dem Gesamtverkehr G ist in Abbildung 6.1 dargestellt. Ein Benutzer bendet sich in einem der zwei möglichen Zustände:
• Denkend: Der Benutzer erzeugt gerade eine Nachricht. • Blockiert: Der Benutzer hatte eine Kollision und ist nun mit der Kollisionsauösung beschäftigt. Nun interessiert man sich für das Verhalten des Durchsatzes S im Vergleich
• zur bestehenden Last an neuen Aufträgen bzw. • zum Gesamtverkehr G. 87
88
Kapitel 6. Beispielanalyse ALOHA
Erfolg
Durchsatz S
denkender Benutzer
blockierter Benutzer
Kanal Konflikt
Gesamtverkehr G
Abbildung 6.1: Durchsatz und Gesamtverkehr bei ALOHA Dazu gibt es folgende heuristische Antwort:
• Ist die Last sehr gering, dann wird es kaum Konikte geben, so dass der Durchsatz S etwas kleiner als der Gesamtverkehr G ist. • Bei einer hohen Last wird es sehr viele Konikte geben, die zu Folgekonikten führen. Dadurch ist der Gesamtverkehr G sehr hoch, so dass der Durchsatz S gegen 0 konvergiert. Dies kann man sehr leicht zeigen, wenn man die vereinfachende Annahme einführt, dass der Gesamtverkehr ein Poissonprozess mit Parameter G ist.
6.1 Modellierung von ALOHA Mit Hilfe des Poissonprozesses können wir nun den Durchsatz für Pure- und SlottedALOHA berechnen. Dabei gehen wir, wie anfangs gesagt, von normierten Paketen der Länge T = 1 aus. Um die Leistung beider Varianten zu bestimmen, werden zuerst die Zeitperioden bestimmt, in denen Kollisionen auftreten können.
6.1.1 Pure-ALOHA Bei Pure-ALOHA können die Benutzer zu beliebigen Zeiten mit dem Senden von Paketen beginnen. Die Kollisionsphase, in der sich zwei unterschiedliche Pakete überschneiden können, ist in Abbildung 6.2 dargestellt. Dabei entsteht eine Kollision, wenn während der Übertragung eines Pakets ein zweiter Benutzer mit der Übertragung eines zweiten Pakets anfängt. Da alle Pakete die Länge T = 1 besitzen, kann die Kollision am Anfang, in der Mitte oder am Ende einer Übertragung stattnden. Daher hat Pure-ALOHA eine Kollisionsphase der Länge 2. Angenommen, der Gesamtverkehr ist ein Poissonprozess mit Parameter G, dann erhalten wir: (G · t)i −G·t P(i Sendungen in t Zeiteinheiten) = ·e i! Mit der Beziehung: Durchsatz = Gesamtverkehr · P(ungestörte Zeit zur Übertragung)
6.1. Modellierung von ALOHA
89
Paket der Länge 1 Paket der Länge 1 Paket der Länge 1 Paket der Länge 1
Slot i
Slot i
Slot i+1
Slot i+1
Kollisionsphase der Länge 1
Kollisionsphase der Länge 2
(a) Pure-Aloha
(b) Slotted-Aloha
Abbildung 6.2: Kollisionsphase bei Pure- und Slotted-ALOHA erhalten wir für Pure-ALOHA:
S = G · P(keine andere Übertragung in 2 Zeiteinheiten) (2 · G)0 −2G = G· ·e 0! = G · e−2G
6.1.2 Slotted-ALOHA Bei Slotted-ALOHA dürfen die Benutzer nur zu festgelegten Zeitpunkten mit der Übertragung von Paketen beginnen, d.h., eine Kollision kann nur am Anfang einer Übertragungsphase auftreten (siehe Abbildung 6.2). Daher hat Slotted-ALOHA eine Kollisionsphase der Länge einer Zeiteinheit. Also erhalten wir hier:
S = G · P(keine andere Übertragung in einer Zeiteinheit) (1 · G)0 −1·G = G· ·e 0! = G · e−G Der Zusammenhang zwischen dem Durchsatz S und dem Gesamtverkehr G ist in Abbildung 6.3 dargestellt. Dieses Modell hat einige interessante Eigenschaften:
Positive Seiten: Die Ergebnisse für den Schwachlastfall sind sehr realistisch, denn: S = G
e−2G e−G
bei Pure-ALOHA bei Slotted-ALOHA
Für G gegen 0 konvergiert der Term gegen 1, also Gesamtverkehr und Durchsatz sind fast identisch. Damit hat man wenige Konikte im Nichtlastfall. Für groÿes G S konvergiert G gegen 0, was ebenfalls realistisch ist.
Problematische Aspekte: Ein Problem ist, dass dieses Modell nicht zwischen Kunden unterscheidet (Innite-User-Modell). Das ist auch eine pessimistische Annahme,
denn bei unterschiedlicher Nutzeraktivität ist der Gesamtdurchsatz im Allgemeinen besser. Der Extremfall: es gibt immer nur einen aktiven Benutzer, d.h., S = 1. Nun ist die Poissonannahme für den Gesamtverkehr sehr problematisch bzw. falsch, da die Annahme:
90
Kapitel 6. Beispielanalyse ALOHA
S MAX = 1/e
0,38 0,36 0,34 0,32 0,30 0,28 0,26 0,24 0,22 0,20 0,18 0,16 0,14 0,12 0,10 0,08 0,06 0,04 0,02
MAX = 1/(2e) SLOTTED ALOHA
PURE ALOHA
0
1/2
1
2
3
4
5
G
Abbildung 6.3: Zusammenhang zwischen Durchsatz und Gesamtverkehr bei Pure- und Slotted-ALOHA Gesamtverkehr = neue Ankünfte + Wiederholungen kein Poissonprozess ist. Denn für S = 1 gibt es keine Wiederholungen. Um den Durchsatz S zu maximieren, kann man leicht in Versuchung geraten, G = 1 anzustreben. Für diesen Fall wird zwar S maximal, aber man erhält
G = mittlere Zahl von Übertragungsversuche pro Paket = eG = e S Jedes Paket muss im Mittel dreimal übertragen werden, wenn der Durchsatz maximal ist. Also hat man im Idealfall 2 Konikte pro Paket, was unerwünscht ist.
6.1.3 Slotted-ALOHA ohne Poissonannahme Das Resultat von oben kann man für Slotted-ALOHA auch ohne Poissonannahme herleiten. Dazu seien N unabhängige statistisch identische Benutzer gegeben. Weiterhin gelte:
• Si =
S N
= Durchsatz von Benutzer i
• Gi =
G N
= Gesamtverkehr von Benutzer i
Damit erhält man wegen der stochastischen Unabhängigkeit der Benutzer:
Si = P(Benutzer i erfolgreich) = P(Benutzer i sendet; Benutzer j (i 6= j) sendet nicht) = P(Benutzer i sendet) · P(Benutzer j (i 6= j) sendet nicht) =
Gi |{z}
Benutzer i sendet
N Y
·
(1 − Gj )
j=1;j6=i
|
{z
}
Kein anderer Benutzer sendet
6.1. Modellierung von ALOHA und
91
G G N−1 S = · 1− N N N
bzw.
G N−1 S=G· 1− N
Für groÿe N konvergiert der letzte Term wie folgt:
G N−1 lim 1 − = e−G N→∞ N Dadurch erhält man für den Durchsatz:
S = G · e−G
6.1.4 Berechnung von Wartezeiten Die Wartezeit ist die Summe aller Zeiten bis zur erfolgreichen Übertragung eines Pakets, d.h., sie besteht aus der Zeit bis zum ersten Sendeversuch und den Zeiten aller Folgeversuche. Dabei wird angenommen, dass nach einer Kollision vor dem nächsten Versuch eine bestimmte Zeit lang gewartet wird. Diese Zeit wird aus dem Intervall [1 : k] gleichverteilt ausgewählt. Die Wartezeit ist wie folgt deniert: Wartezeit = Zeit für Erstversuch + Zeit für Folgeversuche
Zeit für Erstversuch Die Zeit für den Erstversuch setzt sich zusammen aus der Zeit für den Sendeslot und der Zeit, die vergeht bis man über den Sendeerfolg Bescheid weiÿ (Round-Trip-Time1 = R). Es gilt also: Zeit für Erstversuch = |{z} 1 + Sendeslot
R |{z}
Zeit, bis man über Erfolg Bescheid weiÿ
Zeit für Folgeversuche Im Koniktfall würfelt jeder beteiligte Benutzer eine Zahl aus dem Intervall [1 : k]. Ist diese Zahl i, dann wird im i-ten Intervall gesendet. Damit ergibt sich eine mittlere zusätzliche 1 Wartezeit von k+ 2 Slots. Die mittlere Dauer bis zur erfolgreichen Übertragung ist dann: k+1 ∗ S = 1 + R + mittlere Zahl von Wiederholungen · 1 + R + 2
1
Die Round-Trip-Time ist abhängig von der Paketlänge, der Kanalkapazität und der Leitungslänge. Bei geostationären Satelliten (Streckenlänge ≈ 72.000 km) und nicht allzu hoher Kapazität ist R ungefähr 0,3 Sekunden. Bei lokalen Netzen ist R ≈ 50 µs. Beachte: 1 s = 106 µs. Zudem wird man bei lokalen Netzen etwas intelligenter arbeiten, z.B. mithören und Abbruch nach Konikten.
92
Kapitel 6. Beispielanalyse ALOHA Mit der Erfolgswahrscheinlichkeit p = ∞ X
S G
erhält man für die mittlere Anzahl von Versuchen
i · p · (1 − p)i−1 =
i=1
G 1 = p S
Also beträgt die mittlere Zeit bis zur erfolgreichen Übertragung: G k+1 ∗ S = 1| {z + R} + −1 · 1+R+ S 2 {z } Erstversuch | Fehlversuche
Eine mögliche Verfeinerung ist die folgende Betrachtung: Die Erfolgschance p ist davon abhängig, ob es sich um den Erstversuch oder um eine Wiederholung handelt. Im zweiten Fall könnte der Kanal überlastet sein, also ist die Erfolgschance niedriger als sonst.
Allgemeine Kritik am bisherigen Modell • Falls k < ∞, dann ist der Gesamtverkehr kein Poissonprozess. Ist k sehr klein, dann gibt es viele Konikte, d.h., das System wird instabil. Ist k sehr groÿ, dann hat man eine unzumutbare Wartezeit. • Poissonprozesse haben die implizite Voraussetzung von unendlich vielen Nutzern.
6.2 Stabilitätsdiskussion von Slotted-ALOHA Wir betrachten nun Slotted-ALOHA mit gewissen Stabilitätsanforderungen. Dabei gehen wir von N statistisch identischen und unabhängigen Benutzern aus. Die Benutzer arbeiten im Dialogbetrieb und benden sich in einem der beiden Zustände: denkend oder blockiert. Weiterhin gelten die folgenden Vereinbarungen:
N = Gesamtanzahl der Benutzer n = Anzahl der blockierten Benutzer zur Zeit t ⇒ n(t) N − n = Anzahl der denkenden Benutzer σ = P(denkender Benutzer erzeugt neue Nachricht pro Slot) Es gelten nun die folgenden Beziehungen: 1) Neuer Input pro Slot beträgt:
Sin = (N − n) · σ 2) Die Wahrscheinlichkeit, dass ein blockierter Benutzer einen neuen Versuch startet, ist: = p
1 1+R+
k+1
2
3) Für den Durchsatz pro Slot erhält man:
Sout = P(ein neues Paket; keine Wiederholung) + P(kein neues Paket; genau eine Wiederholung) )n · (N − n) · σ · (1 − σ)N−n−1 + n · p · (1 − p )n−1 · (1 − σ)N−n = (1 − p
6.2. Stabilitätsdiskussion von Slotted-ALOHA
93
Wir betrachten nun den Übergang bzw. die Approximation zum Innite-User-Modell:
N → ∞,
Unendlich viele Benutzer
σ → 0 (N − n) · σ → Sin Mit der Abschätzung
(1 − σ)N−n ≈ 1 − (N − n)σ ≈ 1 − Sin ≈ e−S
in
erhalten wir )n · Sin · e−S + n · p · (1 − p )n−1 · e−S Sout ≈ (1 − p in
(6.1)
in
Es gibt damit eine Beziehung zwischen Sin (die Neuankünfte) und Sout (das, was das System verkraftet). Wir betrachten drei Fälle: 1) Sin < Sout In diesem Fall ist das System nicht ausgelastet und die Anzahl der Blockierenden sollte sich tendenziell verringern. 2) Sin > Sout In diesem Fall ist das System überlastet und die Tendenz zu mehr blockierten Benutzern nimmt zu. 3) Sin = Sout = Sgrenz In diesem Fall haben wir einen Gleichgewichtszustand.
Sgrenz ist aus Gleichung (6.1) numerisch ermittelbar. Dabei ist Sgrenz u.a. abhängig von R und k. ALOHA-Systeme sind bei groÿer Benutzerzahl instabil (siehe Abbildung 6.4). gutes stabiles Gleichgewicht (N-n)×s
Sin > Sgrenz
labiles Gleichgewicht
Sin<Sgrenz also Abbau der Blockiertenzahl Sin = (N-n)×s Gleichgewicht des Schreckens n
Abbildung 6.4: Zustände bei ALOHA Auf lange Sicht ist das Gleichgewicht des Schreckens unvermeidbar. Das System ist stabilisierbar z.B. durch Begrenzung von N bzw. durch die Änderung von σ. In Abbildung 6.4 ist
94
Kapitel 6. Beispielanalyse ALOHA ein System mit nur einem stabilem Gleichgewicht dargestellt. Ist Sin beim Innite-UserModell unabhängig von der Anzahl der blockierten Benutzer Sin = const > 0, dann ist das System immer instabil, denn irgendwann springt das System in den Bereich schlecht und kommt dort nicht mehr heraus. Nun stellt sich die Frage, wie man ein zur Instabilität neigendes System stabilisieren kann. Hierzu betrachten wir im Folgenden unterschiedliche Ansätze.
6.2.1 Steuerung des Inputs neuer Pakete Ein System kann dadurch stabilisiert werden, dass der Inputstrom gesteuert wird. Ab einem bestimmten Schwellwert θ werden keine neuen Pakete mehr angenommen. Dadurch wird ein Zustand inhibited für überzählige Pakete erzeugt, wenn n > θ. Diese Methode hat die folgenden Nachteile:
• Die Anzahl der blockierten Benutzer muss geschätzt werden, was aufwendig bzw. ungenau ist. • Die Kunden im Zustand inhibited haben zusätzliche Wartezeit.
6.2.2 Steuerung des Wiederholungsvorgangs nach Kollisionen Diese Variante ist praktikabler als die Inputsteuerung. Die einfachste Idee sieht wie folgt aus. Sei Ki die maximale Anzahl von Slots, die man nach dem i-ten Konikt zufällig wartet. Weiter setzt man:
[1 : Ki ] = Würfelintervall nach i-ter Kollision Zusätzlich berücksichtigt man
K1 < K2 < K3 < · · · Diese Vorgehensweise hat den Nachteil, dass bereits lange Wartende immer länger warten müssen, weil sie im Mittel immer gröÿere Zahlen würfeln, d.h. das System besitzt die LIFO-Charakteristik. Bei Ethernet ist die Wahl der Wartezeitintervalle wie i 2 Ki = 210 System kaputt, d.h. Abbruch
folgt: falls i = 1, 2, · · · , 10 falls i = 11, · · · , 16 falls i > 16
In den ersten zehn Versuchen vergröÿert sich das Warteintervall exponentiell. Danach wird das Warteintervall nicht mehr erhöht, jedoch versucht ein Knoten maximal 16 Wiederholungen, danach geht er von einem Systemfehler aus und beendet die Wiederholungsversuche. Weil sich bei Ethernet der Konikt immer nur auf einen (Bruch-)teil des Pakets begrenzt, sind dort Durchsatzwerte von e1 möglich.
6.3 Erweiterte Analyse von ALOHA In unserer erweiterten Analyse betrachten wir zwei Modelle:
6.3. Erweiterte Analyse von ALOHA
95
Oenes System: Die Inputrate ist unabhängig von der Anzahl der blockierten Benutzer. Beispielsweise Innite-User-Modell bzw. endlich viele Benutzer, die trotz Blockade weiter erzeugen.
Geschlossenes System: N < ∞ unabhängig voneinander arbeitende Benutzer. Hier erzeugen die blockierten Benutzer nichts Neues.
Für die Analyse vereinbaren wir die folgenden Bezeichnungen:
Xk = Anzahl der Neuankünfte in Slot k Yk = Anzahl der Wiederholer in Slot k nk = Anzahl der blockierten Benutzer in Slot k ai (n) = P(Xk = i|nk = n) ai (n) ist die Wahrscheinlichkeit, dass bei n blockierten Benutzern in Slot k i Neuankünfte auftreten. Da beim oenen Model die Inputrate von der Anzahl der blockierten Benutzer unabhängig ist, gilt für das oene Modell: ai (n) = ai Für das geschlossene Modell gilt:
N−n ai (n) = · σi · (1 − σ)N−n−i i Für die Wiederholwahrscheinlichkeiten werden folgende Bezeichnungen gewählt:
f(n) = Wiederholwahrscheinlichkeit eines blockierten Benutzers Bei ungesteuerten Systemen gilt: f(n) = f > 0.
bi (n) = Wahrscheinlichkeit für i Wiederholungen n = · f(n)i · (1 − f(n))n−i i Damit erhält man für den bedingten Gesamtverkehr Gn (f) bzw. Durchsatz Sn (f):
Gn (f) = E(Xk |nk = n) + E(Yk |nk = n) =
N−n X
i · ai (n) +
i=1
n X
i · bi (n)
i=1
Sn (f) = P(Xk = 0 ∧ Yk = 1) + P(Xk = 1 ∧ Yk = 0) = a0 (n) · b1 (n) + a1 (n) · b0 (n)
Denition: Instabilität von oenen Systemen Ein oenes System heiÿt instabil genau dann, wenn
πi = lim P(nk = i) = 0 k→∞
∀i < ∞
Das bedeutet, dass die Anzahl der blockierten Benutzer über alle Grenzen wächst.
96
Kapitel 6. Beispielanalyse ALOHA Denition: Instabilität von geschlossenen Systemen Ein geschlossenes System heiÿt instabil genau dann, wenn dieselbe Bedingung auch für den Grenzübergang von N → ∞ gilt, d.h., die Anzahl der blockierten Benutzer bei N Kunden pendelt sich bei ≈ N ein.
Wir zeigen, dass jedes oene und jedes geschlossene ungesteuerte Slotted-ALOHA-System instabil ist. Satz: Instabilität von Systemen Es sei f = P(Blockierter Benutzer wiederholt). Falls f > 0, dann ist das System instabil.
Beweis: Instabilität von Systemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zuerst der Beweis für oene Systeme. Dazu sehen wir uns an, wie sich die Situation von Slot zu Slot ändert. Zur Abkürzung verwenden wir
pn (k) = P(nk = n) Nun ergibt sich die Wahrscheinlichkeit, dass es im (k + 1)-ten Slot genau n Blockierte gibt, zu
pn (k + 1) =
n X
pn−j (k) · aj
j=2
|
{z
}
j>2 Neue (die alle blockieren) und n−j Alte
+
pn−1 (k)[1 − b0 (n − 1)] · a1 {z } |
n−1 Alte; >1 Wiederholungen; 1 Neuer
+
pn (k) · (1 − b1 (n)) · a0 | {z }
(6.2)
n Alte; kein Neuer; kein Blockierter erfolgreich
+
p (k) · b0 (n) · a1 |n {z }
n Alte; keiner wiederholt; ein Neuer
+
pn+1 (k) · b1 (n + 1) · a0 {z } |
n+1 Alte; einer wiederholt erfolgreich; kein Neuer
Es sei n = aktuelle Blockiertenanzahl = Zustand des Systems. Der Flow-In in den Zustand n ist in Abbildung 6.5 dargestellt. Der Prozess n0 , n1 , n2 , · · · , d.h., die Änderung der Blockiertenanzahl von Slot zu Slot ist nach Voraussetzung eine Markov-Kette.
P(nk+1 = n|nk = ik , nk−1 = ik−1 , · · · , n0 = i0 ) |{z} = P(nk+1 = n|nk = ik ) Markov
Ist die Markov-Kette irreduzibel und aperiodisch, dann gelten für die Grenzwahrscheinlichkeiten πi = lim P(nk = i) k→∞
Diese existieren und sind unabhängig von n0 . Die Markov-Theorie sagt, dass es für die πi (i = 0, 1, 2, · · · , ∞) nur zwei Möglichkeiten gibt. (1) Im ersten Fall sind alle Zustände rekurrent nonnull, d.h., sie haben endliche mittlere Wiederkehrzeiten. In diesem Fall gilt dann
πi > 0
∀i
6.3. Erweiterte Analyse von ALOHA
97
an an-1 an-2 (1-b1(n))a0+b0(n)a1
0
1
2
n
n-1
(1-b0(n-1))a1
n+1
b1(n+1)a0
Abbildung 6.5: Flow-In nach Zustand n wegen
πi =
1 E[Rekurrenzzeit]
Die πi 's sind aus der FlowIn = FlowOut-Beziehung berechenbar, d.h., aus dem Gleichungssystem
πj |{z}
=
∞ X i=0
|
Flow-Out aus Zustand j
πi · pij {z
j = 0, 1, 2, · · ·
}
Flow-In nach Zustand j ∞ X
πi = 1
Normierungsbedingung
i=1
Dabei ist
pij = P(nk+1 = j|nk = i) (2) Im zweiten Fall sind alle Zustände transient bzw. rekurrent null, d.h., in keinen der Zustände wird zurückgekehrt, also E(Wiederkehrzeit) = ∞. In diesem Fall gibt es keine stationäre Verteilung und es gilt:
πi = 0
∀i
Wir zeigen, dass der zweite Fall gilt. Dazu bilden wir den Grenzübergang lim pn (k + 1) = πn
k→∞
Eingesetzt in Gleichung (6.2) erhält man hier
πn =
n X
πn−j · aj
j=0
− πn−1 a1 b0 (n − 1) − πn a0 b1 (n) + πn a1 b0 + πn+1 a0 b1 (n + 1)
98
Kapitel 6. Beispielanalyse ALOHA Wir möchten nun zeigen, dass eine Lösung nur durch πn = 0 möglich ist. Zu diesem Zweck genügt es, nachzuweisen, dass die πi ab P einem gewissen Wert immer gröÿer werden, P falls ein πj < ∞ gröÿer als 0 ist. Damit wäre πi = ∞, was keine Verteilung ist, da πi = 1 gelten müsste. Um zuPzeigen, dass die πi schlieÿlich steigen, benutzt man folgenden Trick. Man setzt Sn = n i=0 πi und erhält nach einiger Rechnung
Sn =
n X
πj =
j=0
n X j=0
Sn−j · aj + πn · b0 (n) · a1 + πn+1 · b1 (n + 1) · a0 | {z } =:cn
Sn (1 − a0 )
=
n X
Sn−j · aj + cn
j=1
6 |{z}
Sn−1 ·
aj + cn
j=1
Brutalabschätzung
6
n X
Sn−1 (1 − a0 ) + cn
Also gilt damit:
(Sn − Sn−1 ) · (1 − a0 ) 6 πn · b0 (n) · a1 + πn+1 b1 (n + 1)a0 Ungesteuertes System:
b0 (n) = (1 − f)n
b1 (n) = n · f · (1 − f)n−1
Somit erhält man:
πn+1 πn
> =
(1 − a0 ) − b0 (n)a1 b1 (n + 1)a0 (1 − a0 ) − (1 − f)n a1 −→ ∞ (n + 1)f(1 − f)n a0 |{z} n→∞
P Schlieÿlich wird πn+1 > πn , sofern πn 6= 0 ist. Damit erhält man i πi = ∞, was ein Widerspruch zur Existenz einer Verteilung mit πi > 0 ist. Damit erhält man für i < ∞ πi = 0, d.h., das System ist instabil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1 Stabilisierung des Systems durch Steuerung Wie in der vorangegangenen Diskussion möchten wir auch hier Stabilitätsaspekte betrachten. Es bieten sich zwei Arten der Stabilisierung an. Die Stabilisierung durch die Steuerung des Systems durch Inputbegrenzung, was jedoch schwer zu realisieren ist. Die Alternative ist die Stabilisierung durch die Steuerung der Beeinussung der Wiederholer, d.h., f = f(n). Wir betrachten im Folgenden die zweite Möglichkeit der Stabilisierung. Der bedingte Durchsatz im zweiten Fall ist gegeben durch n Sn (f) = a0 · b1 (n) + a1 · b0 (n) mit bi (n) = f(n)i (1 − f(n))n−i i
6.3. Erweiterte Analyse von ALOHA
99
Der Grenzwert, falls er existiert, sei
d = lim Sn (f) n→∞
Ist
λ =
∞ X
i · ai
i=1
= mittlere Anzahl neuer Pakete pro Slot dann gilt:
• Das System ist stabil, falls λ < d • Das System ist instabil, falls λ > d • Für den Fall λ = d ist die Frage ungeklärt (allerdings ist das System wahrscheinlich instabil) Satz: Bedingung für Stabilität Notwendige Bedingungen für Stabilität sind: 1. limn→∞ f(n) = 0, d.h., mit wachsender Blockiertenanzahl nimmt die Wiederholwahrscheinlichkeit ab. 2. limn→∞ n · f(n) > 0, d.h. f(n) = O( n1 )
Beweis: Bedingung für Stabilität. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1) Annahme 1. sei nicht erfüllt, d.h. limn→∞ f(n) > 0. Dann wäre
d = =
lim (a0 b1 (n) + a1 b0 (n))
n→∞
lim a0 · n · f(n) (1 − f(n))n−1 +a1 (1 − f(n))n | {z } | {z }
n→∞
→0
= 0
→0
d.h. wenn λ > 0 ist, dann wäre λ > d = 0, also instabil. 2) Annahme 1) sei erfüllt, aber Annahme 2. nicht, d.h. limn→∞ n · f(n) = 0. Dann erhält man
d =
lim a0 · n · f(n) · (1 − f(n))n−1 + a1 (1 − f(n))n | {z } | {z }
n→∞
→0
→a1
= a1 Es ist aber λ =
P
ii
· ai > a1 . Also folgt λ > d. Widerspruch!
......................................................................................
100
Kapitel 6. Beispielanalyse ALOHA
6.3.2 Optimale Wiederholwahrscheinlichkeit Um den Gesamtdurchsatz
Sn (f) = a0 nf(n)(1 − f(n))n−1 + a1 (1 − f(n))n zu maximieren, kann man durch
!
∂Sn (f) z}|{ = 0 ∂f die Wiederholwahrscheinlichkeit optimieren. Man erhält also: fopt (n) =
a0 − a1 na0 − a1
Sn (fopt ) = a0
n−1 n− a a
!n−1
1 0
n−1 = a0 n− a a | {z
!n−1
1 0
limn→∞ a1
= a0 · e a
0
a1 −1 e a0
}
−1
Dieses Ergebnis überprüfen wir für den Spezialfall, dass der Input ein Poissonprozess mit Parameter λ ist:
λi −λ e i! 1−λ fopt (n) = n−λ 1−λ 1 = +O n n2 λ − 1 n−1 −λ Sn (fopt ) = e 1+ n−1 {z } | ai =
limn→∞ eλ−1 λ−1
= e−λ · e = e−1
Also ist e−1 eine untere Schranke für den Slotted-ALOHA-Durchsatz.
Heuristische Bestätigung Wiederholwahrscheinlichkeit: 1−λ fopt (n) = +O n
1 n2
n Blockierte ⇒ Gesamtwiederholrate: 1 n · fopt (n) = 1 − λ + O n
6.3. Erweiterte Analyse von ALOHA Gesamtrate neu: λ ⇒ Insgesamt:
1 G ≈ λ+1−λ+O n 1 ≈ 1+O n
101
102
Kapitel 6. Beispielanalyse ALOHA
ANHANG A
Übersichtstabellen zu Verteilungen und Transformationen A.1
Diskrete Verteilungen Gleichverteilung Parameter
k = 1, . . . , n
Zähldichte
pk =
E[X]
n+1
V[X]
n2 −1
z-Transformierte
G(z) =
1
n
2
12
zn+1 −z n(z−1)
Bernoulli Parameter
0
Zähldichte
p0 = 1 − p, p1 = p
E[X]
p
V[X]
p(1 − p)
z-Transformierte
G(z) = 1 − p + pz
Binomialverteilung Parameter Zähldichte
0 < p < 1, 1 6 n, 0 6 k 6 n k n−k pk = n k p (1 − p)
E[X]
np
V[X]
np(1 − p)
z-Transformierte
G(z) = (1 − p + pz)n 103
104
Anhang A. Übersichtstabellen zu Verteilungen und Transformationen
Negative Binomialverteilung Parameter Zähldichte
0 < p < 1, r > 1, k > 0 1 r k pk = k+r− r−1 p (1 − p)
E[X]
r(1−p) p
V[X]
r(1−p) p2
z-Transformierte
G(z) =
p 1−(1−p)·z
r
Geometrische Verteilung Parameter
0 < p < 1, , k > 0
Zähldichte
pk = (1 − p)k p
E[X]
1−p
V[X]
1−p
z-Transformierte
G(z) =
p p2
p
1−(1−p)z
Poissonverteilung Parameter
λ > 0, k > 0
Zähldichte
pk =
E[X]
λ
V[X]
λ
z-Transformierte
G(z) = e−λ(1−z)
λk k!
· e−λ
A.2 Kontinuierliche Verteilung
Gleichverteilung Parameter
a, b beliebig fest
Dichtefunktion
f(x) =
E[X]
a+b
V[X]
1
b−a ,
a6x6b
2
(b−a)2
12
Laplace-Transform. L(s) =
e−sa −e−sb s(b−a) ,
s beliebig
A.2. Kontinuierliche Verteilung
105
Exponentialverteilung Parameter
λ>0
Dichtefunktion
f(x) = λe−λx , x > 0
E[X]
λ
V[X]
λ2
1
1
Laplace-Transform. L(s) =
λ λ+s , s
>0
Gammaverteilung Parameter
λ > 0, α>0
Dichtefunktion
f(x) =
E[X]
α λ
V[X]
α λ2
Laplace-Transform. L(s) =
λα α−1 λx e Γ (α) x
α λ , λ+s
s>0
Normalverteilung Parameter
µ > 0, σ>0
Dichtefunktion
f(x) =
E[X]
µ
V[X]
σ2
2
(x−µ) √ 1 e− 2σ2 2πσ
Laplace-Transform. L(s) = e−sµ+
s2 σ2 2
106
Anhang A. Übersichtstabellen zu Verteilungen und Transformationen
Symbolverzeichnis λ
Ankunftsrate
µ
Bedienrate
µi (ki )
Bedienrate des Knoten i mit ki Jobs
π = (π1 , . . . , πn )
Stationäre Zustandswahrscheinlichkeiten
ρ=
λ µ
Last
σ
Streuung
E[X]
Erwartungswert der Zufallsvariablen X
G(z)
Erzeugende Funktion, z-Transformation
k = (k1 , . . . , kN )
Zustand eines Wartenetzes mit N Knoten; Knoten i hat ki Kunden
L(s)
Laplace-Transformation
0 [X] Mn
n-tes zentrales Moment der Zufallsvariablen X
Mn [X]
n-tes Moment der Zufallsvariablen X
N
Anzahl der Kunden im System
N
Mittlere Anzahl der Kunden im System
Nq
Anzahl der Kunden im Warteraum
q N
Mittlere Anzahl der Kunden im Warteraum
P
Übergangsmatrix
p(k1 , . . . , kN )
Wahrscheinlichkeit, dass ein Wartenetz im Zustand (k1 , . . . , kN ) ist
pi,j
Übergangswahrscheinlichkeit von Zustand i nach Zustand j bzw. von Knoten i nach Knoten j 107
108
Symbolverzeichnis Q
Generatormatrix
S
Systemzeit
S
Zustandsraum eines stochastischen Prozesses
T
Indexbereich eines stochastischen Prozesses
V[X]
Varianz der Zufallsvariablen X
W
Wartezeit
Literaturverzeichnis [1] Otto Spaniol, Lokale Netze, Vorlesungsskript, Lehrstuhl für Informatik IV, RWTHAachen [2] Otto Spaniol, Datenkommunikation I und II, Vorlesungsskript, Lehrstuhl für Informatik IV, RWTH-Aachen [3] Otto Spaniol, Simon Ho, Ereignisorientierte Simulation: Konzepte und Systemrealisierung, International Thomson Publishing, 1995 [4] Haverkort, Boudewijn, R., Performance of computer commnication systems: a modelbased approach, John Wiles & Sons, 1998 [5] Gunter Bolch, Stefan Greiner, Hermann de Meer, Kishor S. Triverdi, Queueing Networks and Markov Chains, John Wiles & Sons, 1998 [6] Tanenbaum, A., Computernetzwerke, Prentice Hall, München, 1997 [7] Fishwick, Paul, A., Simulation model design and executtion: building digital worlds, Prentice Hall, 1995 [8] Karl Bosch, Statistik-Taschenbuch, Oldenbourg-Verlag, 1993 [9] Bernd Page, Diskrete Simulation. Eine Einführung mit Modula-2, Springer-Verlag, 1991 [10] Jain, Raji, The art of computer systems performance analysis: techniques for experimental design, measurement, simulation, and modeling, 1991 [11] Bolch, Gunter, Leistungsbewertung von Rechensystemen mittels analytischer Warteschlangenmodelle, Teubner Verlag, Stuttgart, 1989
109
110
Literaturverzeichnis
Index Abarbeitungsstrategie, 39 FIFO, 39 LIFO, 39 Round-Robin, 39 SIRO, 39 SPT, 39 ALOHA, 87 Pure, 87 Slotted, 87 BCMP-Netze, 80 BCMP-Theorem, 83 Chapman-Kolmogorov-Gleichung, 33 Dichtefunktion, 17 Ereignis, 9 Elementarereignis, 9 Ereignisraum, 9 Erlang-C-Formel, 53 Erneuerungsprozess, 49 FIFO, siehe Abarbeitungsstrategie Flussgleichungen globale-, 32 lokale-, 31 Geschlossenes System, 95 Gleichgewicht globales-, 32 lokales, 31 Gleichgewichtsbeziehung, 56 Global Balance, siehe Gleichgewicht Innite-User-Modell, 89, 93, 95 Jackson-Netz, 67 Kendallsche Notation, 39 LIFO, siehe Abarbeitungsstrategie Little's Result, 40
Local Balance, siehe Gleichgewicht M/M/1, 46 Markov-Kette, 32, 56, 96 Äquivalenzklasse, 34 Übergangsmatrix, 34 Übergangswahrscheinlichkeit, 32 aperiodisch, 35 eingebettete, 56 ergodische, 35 erreichbarer Zustand, 34 homogene, 33 irreduzible, 34 kommunizierende Zustände, 34 null-rekurrenter Zustand, 35 Periode, 35 positiv-rekurrenter Zustand, 35 rekurrenter Zustand, 35 stationäre Verteilung, 35 transienter Zustand, 35 Markov-Prozess, 28 Übergangsrate, 31 Global Balance, 32 globale Flussgleichungen, 32 globales Gleichgewicht, 32 Local Balance, 31 lokale Flussgleichungen, 31 lokales Gleichgewicht, 31 Stationarität, 31 Zustandsraum, 28 Memoryless-Eigenschaft, 20 Modell, 1 -analyse, 3 -bewertung, 4 -bildung, 3 -parameter, 4 -validierung, 4 Oenes System, 95 Poissonprozess, 25, 88 111
112
Index Chapman-Kolmogorow-Gleichung, 69 Produktform, 69 stationärer Systemzustand , 68 Wartesystem, 2, 37, 39 D/D/1, 60 D/G/1/10, 39 M/G/1, 53, 56 M/G/2, 39 M/M/1, 39 Übergangswahrscheinlichkeit, 47, 56 Ankunftsrate, 37, 40 Round-Robin, siehe Abarbeitungsstrategie Bedienrate, 37 Round-Trip-Time, 91 Bedienzeit, 38 Doppelereignisse, 42 SIRO, siehe Abarbeitungsstrategie Gleichgewichtsbeziehung, 56 SPT, siehe Abarbeitungsstrategie Kundenanzahl, 40 Stationarität, 30 Last, 38 System, 1 Little's Result, 40 geschlossenes, siehe Geschlossenes SysM/M/1, 46 tem Mehrfachankünfte, 42 oenes, siehe Oenes System Systemzeit, 40 Wartezeit, 37, 40 Verteilung Zustand, 38 Bernoulli-Experiment, 14 Zustandsverteilung, 56 Binomial-, 14 Zustandswahrscheinlichkeit, 38 Cox-Verteilung, 81 Zwischenankunftszeiten, 38 diskrete-, 14 Wartesysteme Exponential-, 19 Wartenetze, siehe Wartenetze Gauÿ-, 19 Wartezeit, 2 geometrische-, 15, 21 Gleich-, 18 Zähldichte, 14 negative Binomial-, 15 Zufallsvariable, 12 Normal-, 19 Zähldichte, 14 Poisson-, 16 Zustand, 42 Verteilungsfunktion, 17 stationär, 30 Prozess -zustand, 25 Erneuerungs-, 49 Poissonprozess, 25 regenerativer, 49 Stationarität, 30 stochastischer-, 25 zeitdiskret-stochastischer, 25 zeitkontinuierlich-stochastischer, 25 Zustandswahrscheinlichkeit, 31
Wahrscheinlichkeit bedingte-, 10 totale-, 11 Wartenetz, 2, 63 Übergangsmatrix, 81 BCMP-Theorem, 83 geschlossene, 65 Gordon-Newell-Netze, 72 Jackson-Netze, 71 oene, 65, 85 Ringnetze, 74 Tandemnetze, 66 Zustand, 64 Wartenetze Übergangsrate, 68