229 91 11MB
German Pages 240 Year 1978
Reihe Datenverarbeitung Herausgeber Klaus Becker-Berke, Rudolf Herschel Wolfgang Hilberg, Robert Piloty
Realzeitrechner-Modelle Theorie und Anwendung von Dr.-Ing. Bernhard Walke, AEG-TELEFUNKEN, Forschungsinstitut Ulm
Mit 81 Bildern, 8 Tabellen und 5 ALGOL-Programmen
R. Oldenbourg Verlag München Wien 1978
CIP-Kurztitelaufnahme der Deutschen Bibliothek Walke, Bernhard Realzeitrechner-Modelle : Theorie u. Anwendung. • 1. Aufl. - München, Wien : Oldenbourg, 1978. (Reihe Datenverarbeitung) ISBN 3 - 4 8 6 - 2 1 5 5 1 - 5
© 1978 R. Oldenbourg Verlag GmbH, München Das Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, der Funksendung, der Wiedergabe auf photomechanischem oder ähnlichem Wege sowie der Speicherung und Auswertung in Datenverarbeitungsanlagen, bleiben auch bei auszugsweiser Verwertung vorbehalten. Werden mit schriftlicher Einwilligung des Verlages einzelne Vervielfältigungsstücke für gewerbliche Zwecke hergestellt, ist an den Verlag die nach § 54 Abs. 2 Urh.G. zu zahlende Vergütung zu entrichten, über deren Höhe der Verlag Auskunft gibt. Druck: Esta-Druck, München Bindearbeiten: R. Oldenbourg Graphische Betriebe GmbH, München ISBN 3-486-21551-5
Inhaltsverzeichnis
Zusammenfassung
9
Einleitung
11
Obersicht
15
Teil I: Theorie Modelle und ihre Berechnung
19
1.
2.
3.
Grundlagen Verkehrstheoretische Modellierung, charakteristische Größen, Prioritäten, Strategien und Transformationen
21
1.1
Wichtige Ankunfts- und Endeprozesse
22
1.2
Eigenschaften der negativ exponentiellen Verteilungsfunktion
25
1.3
Charakteristische Größen
26
1.4
Systemeinfluß, Prioritäten und Strategien
26
1.4.1
Abfertigung gleichberechtigter Anforderungen: interne Prioritäten
29
1.4.2
Abfertigung mit externen Prioritäten
35
1.4.3 Unterbrechungseigenschaften von Prioritäten Abkürzungen zur Kennzeichnung eines Modells und der verwendeten Strategien
36
1.5 1.6
Einige Definitionen aus der Wahrscheinlichkeitsrechnung ..
37
Allgemeines zur Ablaufsteuerung in Realzeitrechnern und ihrer Modellierung
36
40
2.1
Typische Belastungsfälle eines Real Zeitrechners und zugehörige verkehrstheoretische Modelle
43
2.2
K r i t i k und Grenzen einfacher Modelle
45
2.3
Optimierungsziele für Realzeitrechner
47
Das Modell M/G/1
49
3.1
Zum Einfluß der Abfertigungsstrategie auf einige charakt e r i s t i s c h e Größen
52
3.2
Allgemeines über Verteilungsfunktionen der Warteschlangenlänge, der Wartezeit sowie der Verweildauer des Modells M/G/1/FCFS
52
6
Inhaltsverzeichnis
3.3
3.4 4.
Hyperexporientielle Approximation der WartezeitVerteilungsfunktion
53
3.2.2
Diffusions-Approximation
55
Beispiele für das Modell M/G/l
56
3.3.1
Das Modell M/Ek/1/FCFS
56
3.3.2
Das Modell M/Hr/1/FCFS
58
3.3.3
Das Modell M/M/1/FCFS
59
3.3.4
Das Modell M/G/1/SÜF
60
3.3.5
Das Modell M/G/1/SRPT
61
3.3.6
Das Modell M/G/1/SET
62
3.3.7
Das Modell M/PM/1/SERPT
64
Arbeitsperiode und Leerzeit-Verteilung
67
Das Modell M/G/1/FCFS/NONPRE; statische Prioritäten 4.1
5.
3.2.1
Minimale gemeinsame mittlere Wartezeit im Modell M/G/1/FCFS/N0NPRE
74
5.1
74
Ergebnisse für die Abfertigungsstrategie PRE-resume
9.
10.
77
Ergebnisse für die Abfertigungsstrategie PRE-repeat
78
5.3
Berücksichtigung von Umschaltzeiten
81
D a s Modell M/G/1/FCFS/PRE-DI; statische Prioritäten; Verwaltungszeit
84
6.1
Unterbrechungen ohne Verwaltungszeit
87
6.2
Unterbrechungen mit Verwaltungszeit; Strategie IPF 6.2.1
8.
Minimale gemeinsame mittlere Wartezeit im Modell M/G/l/FCFS/PRE-resume
5.2
6.1.1
7.
72
D a s Modell M/G/1/FCFS/PRE; statische Prioritäten 5.1.1
6.
68
Modell M/M/1/FCFS/PRE-DI bei der Strategie IPF .... Modell M/Ek/l/FCFS/PRE-DI mit Verwaltungszeit und der Strategie IPF
91 98 99
D a s Modell M/G/1/FCFS/MIX mit Umschaltzeit; statische Prioritäten
101
D a s Modell M/(G)/1/FCFS/PRE-DE; statische Prioritäten
106
8.1
109
Beispiel: M/(G)/1/FCFS/PRE-DE
Das Modell M/G/1/FCFS/CYCLIC mit Umschaltzeit; statische Prioritäten
110
Modelle mit Stapelzugangsprozeß
113
10.1 Stapelzugangsprozeß im Modell M/G/1/FCFS/N0NPRE
116
7
Inhaltsverzeichnis 11.
12.
Periodische Anforderungen; Modelle v o m Typ: Periodisch/G/1 / Strategie
120
11.1 S t a t i s c h e P r i o r i t ä t e n
120
11.2 Dynamische P r i o r i t ä t e n
121
11.3 Vergleich s t a t i s c h e r und dynamischer P r i o r i t ä t e n
123
Dynamische Prioritäten und ereignisgesteuerter Betrieb
124
12.1 Das Modell M/G/1/FCFS/RU-N0NPRE; terminorientierte Abfertigung
124
12.1.1 Das Modell M/M/1/FCFS/RU-N0NPRE
129
12.1.2 Zum Verlauf der Wartezeit-VFn des Modells M/G/1/FCFS/RU-N0NPRE
133
12.2 Das Modell M/G/1/FCFS/RU-PRE; terminorientierte A b f e r t i gung
136
12.3 Das Modell M/M/1/DDP; wartezeitabhängige Abfertigung
138
13.
Statische und dynamische Prioritäten
142
14.
Interne Prioritäten für Realzeitrechner
145
Teil II: A n w e n d u n g e n Wartezeitoptimale Strategien für verschiedene Belastungsbeispiele 15.
149
Zur wartezeitoptimalen Vergabe von statischen Prioritäten bei ereignisgesteuertem Betrieb
153
15.1 Beispiele für ausgewählte Bediendauer-VFn und zwei s t a t i s c h e P r i o r i t ä t e n (PRE)
154
15.1.1 Negativ exponentielle Bediendauer-VFn
154
15.1.2 Konstante Bediendauer-VFn
157
15.1.3 Hyperexponentielle Bediendauer-VFn
160
15.1.4 Stückweise exponentielle Bediendauer-VFn
164
15.1.5 Entartet exponentielle Bediendauer-VFn; B e i s p i e l f ü r das Versagen der Regel nach Gl. (5.6)
164
15.1.6 Zweipunkt-Bediendauer-VFn
166
15.1.7 Verschiedene Bediendauer-VFn
166
15.2 Beispiele für ausgewählte Bediendauer-VFn bei mehr a l s
16.
zwei statischen P r i o r i t ä t e n
166
15.2.1 Nur eine Bediendauer-VF für a l l e Anforderungen ...
167
15.2.2 Verschiedene Bediendauer-VFn
169
15.3 Statische P r i o r i t ä t e n : Resume
171
Ergebnisse für wartezeitoptimale Strategien mit internen Prioritäten bei ereignisgesteuertem Betrieb
172
16.1 B e i s p i e l e mit zwei Bediendauer-VFn vom gleichen Typ entsprechend Abschnitt 15.1
172
8
Inhaltsverzeichnis
16.1.1 Negativ exponentielle Bediendauer-VFn
172
16.1.2 Konstante Bediendauer-VFn
173
16.1.3 Hyperexponentielle Bediendauer-VFn
173
16.1.4 Zusammenfassung der Erfahrungen aus diesen Beispielen
174
16.2 Beispiele mit mehr als zwei Bediendauer-VFn und großem Variationskoeffizienten
175
16.2.1 Hyperexponentielle bzw. stückweise exponentielle Bediendauer-VFn
175
16.2.2 Entartet negativ exponentielle Bediendauer-VFn ...
176
16.2.3 Konstante und entartet exponentielle BediendauerVFn
17.
18.
19.
20.
178
16.3 Interne Prioritäten: Résumé
179
Vergleich statischer und dynamischer Prioritäten bei taktgesteuertem Betrieb und bekannten Bediendauern
181
Vergleich statischer und dynamischer Prioritäten bei ereignisgesteuertem Betrieb
184
Unterschiedlich wichtige Gruppen von Anforderungen
190
19.1 Zur Wartezeitberechnung einer optimal bearbeiteten Gruppe
198
Schlußbemerkungen und Ausblick
200
Abkürzungsverzeichnis
206
Anhang
208
Anhang 1: Beschreibung der Strategie SERPT für in der Praxis vorkommende Bediendauer-Verteilungen
208
Anhang 2: ALGOL-Programm zur Berechnung der ersten beiden Momente der Wartezeit-VF für das Modell M/G/1/SRPT
214
Anhang 3: ALGOL-Programm zur Berechnung der mittleren Wartezeit für das Modell M/G/1/SET
216
Anhang 4: ALGOL-Programm zur Berechnung der ersten beiden Momente der Wartezeit-VF für das Modell M/G/1/FCFS/PRE-DI
218
Anhang 5: ALGOL-Programm zur Berechnung charakteristischer Größen des Modells M/(G)/1/FCFS/PRE-DE
222
Anhang 6: ALGOL-Programm zur Berechnung oberer und unterer Grenzen sowie einer Näherung für die mittlere Wartezeit im Modell M/G/1/FCFS/RU-N0NPRE
224
Literaturverzeichnis
232
Stichwortverzeichnis
238
Zusammenfassung
Realzeitrechner Ubernehmen zunehmend v i e l f ä l t i g e r e Aufgaben. Gleichzeitig nimmt ihre Leistungsfähigkeit zu. Das führt zu komplizierteren Betriebssystemen und höheren Ansprüchen an das Echtzeit-Verhalten dieser Rechner. In fast allen Anwendungen von Realzeitrechnern bietet die verkehrstheoretische Berechnung der Verkehrsflüsse ein wertvolles Hilfsmittel für die Dimensionierung der RechnerBetriebsmittel sowie für die Ablaufsteuerung im Betriebssystem. Es werden unterschiedliche Belastungsfälle betrachtet, verschiedene Rechner-Modelle und Optimierungsziele vorgestellt und Regeln für die optimale Ablaufsteuerung angegeben. Ein Schwerpunkt liegt bei der Berechnung von Modellen bezüglich verschiedener Optimierungsziele, ein anderer beim Vergleich von Abfertigungsstrategien. Die Anwendung der Berechnungsverfahren wird durch viele Beispiele erleichtert. Für einige Modelle liegen komplette ALGOL-Rechenprogramme bei. Englischsprachige Literatur zu diesem Themenkreis i s t veraltet, deutschsprachige Literatur in Buchform fehlt bisher. Der vorliegende Text deckt eine besonders f ü r Betriebs- und Anwendungs-Software-Programmierer spürbare Lücke ab. Daneben i s t das Buch für Informatik-Studenten geeignet. Grundkenntnisse über Wahrscheinlichkeitsrechnung sollten vorhanden sein.
Einleitung
Realzeitrechner unterscheiden sich von anderen Datenverarbeitungsanlagen dadurch, daß sie im Echtzeitbetrieb arbeiten. Dies i s t "ein Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, daß die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können, je nach Anwendungsfall, nach einer z e i t l i c h zufälligen Verteilung oder zu vorbestimmten Zeitpunkten anfallen." [DIN 44 300, Nr. 40]. Dagegen i s t ein Rechenprozeß (kurz Prozeß) die - auf seine Lebensdauer beschränkte - Abwicklung eines Programmes auf einem Rechensystem. Seine Lebensdauer beginnt mit dem Zeitpunkt der Anmeldung des Prozesses und endet mit der Abmeldung. Ein Prozeß e x i s t i e r t demnach nicht nur während der tatsächlichen Bearbeitung in einer Funktionseinheit des Rechensystems, sondern auch schon vor dem Beginn der Bearbeitung und während geplanter oder erzwungener Wartezeiten (vgl. DIN 66 201, Nr. 1.2 und [Bau 1]). Linter Real Zeitrechnern verstehen wir solche Datenverarbeitungsanlagen, die zur Überwachung und Steuerung i n d u s t r i e l l e r Prozesse (z.B. Förderanlagen, Walzwerke, bei der Elektrizitätserzeugung und -Verteilung, in nachrichtentechnischen Anlagen usw.) eingesetzt werden. Realzeitrechner müssen besonders rasch auf g e s t e l l te Anforderungen reagieren können. Das hat dazu geführt, daß für s i e spezielle Strategien der Betriebsmittelverwaltung - insbesondere für den Einsatz des Rechnerkerns - entwickelt worden sind. Im folgenden werden diese Strategien benannt und k l a s s i f i z i e r t sowie ihre speziellen Eigenschaften d i s k u t i e r t . Daneben werden verkehrstheoretische Modelle zur Berechnung des Verhaltens von Realzeitrechnern, abhängig von diesen Strategien, aus der Literatur vorgestellt. Die bekannten Ergebnisse dieser Modelle werden angegeben und anhand von Beispielen diskutiert. Die Steuerung der Bearbeitungsreihenfolge von Programmen geschieht bei Realzeitrechnern heute fast ausnahmslos mit Hilfe von - den Programmen einmalig zugewiesenen - externen statischen Prioritäten. Dabei i s t die Wichtigkeit jedes Programmes für die Bearbeitung durch den Prozessor extern ein für allemal (= statisch) von außen (= extern) festgelegt. Diese Technik s o l l t e , wie hier gezeigt wird, nicht allgemein angewandt werden. Denn sie verlangt, verglichen
12
Einleitung
mit Abfertigungsstrategien mit internen (= zustandsabhängig neu festgesetzten) Prioritäten, u.U. eine überdimensionierung der Realzeitrechner-Zentraleinheit um den Faktor 2 und mehr. Unter verschiedensten Annahmen für die Bediendauer zu bearbeitender Programme werden - im Teil I des Buches - unterschiedliche Modelle von Realzeitrechnern vorgestellt, ihre Berechnung angegeben und - im Teil I I des Buches - Ergebnisse für mittlere Wartezeiten und die Wartezeit-Verteilungsfunktionen bei Strategien mit externen statischen, dynamischen und internen Prioritäten verglichen. Die jeweiligen Ergebnisse sollen zum Nachdenken darüber anregen, ob im Einzelfall "unbedingt" statische Prioritäten verwendet oder ob mögliche Vorteile anderer Strategien genutzt werden sollten. Bei der Berechnung verkehrstheoretischer Modelle i s t es gleichgültig, welcher reale Anwendungsfall im Hintergrund steht. Deshalb haben sich einige anwendungsunabhängige Begriffe eingebürgert. Man spricht von Ankunfts- und Endeprozessen des verkehrstheoretischen Modells und versteht den Begriff "Prozeß" hier wahrscheinlichkeitstheoretisch, nämlich als eine Gesetzmäßigkeit, nach der sich betrachtete Variable verhalten. Obwohl alle Vorgänge bei der Programmbearbeitung in Rechnern deterministisch sind, eignet sich (wegen der Unüberschaubarkeit dieser Vorgänge) die Wahrscheinlichkeitsrechnung a l s Werkzeug zur Untersuchung. Man unterstellt dabei, daß a l l e Vorgänge durch Zufallsprozesse nach festen Gesetzen verursacht werden und benötigt dann nur noch s t a t i s t i s c h e Kenntnisse über Häufigkeiten oder Dauern von interessierenden Ereignissen. Die Erfahrung hat gezeigt, daß diese Betrachtungsweise in der Regel zulässig i s t , d.h. zu rechnerischen Resultaten führt, die sich in der Praxis bestätigen lassen. Dem Rechenprozeß des Real Zeitrechners, der aus einem Programm durch den Anfall von Daten erzeugt wird, entspricht die Bediendauer, die durch eine Anforderung verursacht wird. Das Schwanken der Bediendauer wird durch ihren Endeprozeß bzw. durch die Annahme einer Bediendauerverteilung berücksichtigt. Der Anfall von Daten zur Bearbeitung wird durch den Ankunftsprozeß bzw. die Verteilung der Ankunftsabstände beschrieben. Programme sind in den Modellen nur insofern berücksichtigt, als Anforderungen aus einem Ankunftsprozeß, also Anmeldungen von Rechenprozessen entsprechend dem Anfall von Daten beim Realzeitrechner, zugelassen sind. Existieren nebeneinander verschiedene Endeprozesse und zugehörige Ankunftsprozesse, dann unterscheiden wir durch Indizierung und sprechen von Anforderungen vom Typ i , wobei i ganzzahlig ( I s i s N ) i s t . N i s t die Gesamtzahl zu unterscheidender Prozesse. Tabelle 0 gibt Beispiele für die Zuordnung von Begriffen der Realzeitrechner-Anwendung und der verkehrstheoretisehen Modellierung. Einführungen in die Realzeitrechner-Wirkungsweise und -Anwendung findet man in [An 1], [Grä 1].
Einleitung
13
Man kann bei der M o d e l l b i l d u n g auch so weit gehen, e i n z e l n e B e t r i e b s m i t t e l z e s s o r e n , Z e n t r a l s p e i c h e r , Kanäle, Geräte usw.) und B e l a s t u n g s f ä l l e
(Pro-
(Rechenpro-
z e s s e , A n k u n f t s p r o z e s s e usw.) sehr d e t a i l l i e r t nachzubilden. Dann r e i c h e n jedoch i n der Regel d i e Methoden der V e r k e h r s t h e o r i e n i c h t mehr a u s , um d i e gewünschten Aussagen zu t r e f f e n . Vielmehr i s t dann d i e S i m u l a t i o n angebracht.
T a b e l l e 0:
Zuordnung von B e g r i f f e n der Realzeitrechner-Anwendung der v e r k e h r s t h e o r e t i s e h e n M o d e l l i e r u n g .
Realzeitrechner
und
Model 1
Gesetze f ü r den A n f a l l von Daten ( z . B . in konstanten oder z e i t l i c h z u f ä l l i g e n Abständen)
Ankunftsprozeß
A n f a l l von Daten zur Bearbeitung
E r e i g n i s des A n k u n f t s p r o z e s s e s
Bearbeitungszeit
F e r t i gstel1ungsdauer
Reaktionszeit
W a r t e z e i t (zwischen dem Ende des E i n t r e f f e n s e i n e r Anforderung und dem Beginn der Bearbeitung
Wartepuffer im Zentral spei eher oder i n l o k a l e n Speichern von Geräten
Warteschlange mit Warteplätzen
Verarbeitungseinheit (Zentraleinh e i t , Kanalwerk, M u l t i p l e x e r usw.)
Prozessor
Rechenprozeß (= Programm mit Daten zur V e r a r b e i t u n g ) , z . B . v e r u r s a c h t durch I n t e r r u p t , Alarm, E i n g r i f f , Zeittakt
Anforderung
Gesetze f ü r die Dauer von Rechenprozessen
Endeprozeß
E i n weiteres Unterscheidungsmerkmal
(Zugangsprozeß)
(Bedienungsstation) (Bedienungswunsch)
(Bedienprozeß)
der R e a l z e i t r e c h n e r gegenüber den U n i v e r -
s a l r e c h n e r n i s t , daß eine begrenzte (meist k l e i n e ) Zahl von Programmen zur Vera r b e i t u n g a n f a l l e n d e r Daten s t ä n d i g b e t r i e b s b e r e i t i s t . Nach dem A n f a l l
der zu
verarbeitenden Daten u n t e r s c h e i d e t man aus der S i c h t der B e t r i e b s m i t t e l Verwaltung zwei B e t r i e b s a r t e n : *
z e i t - bzw. t a k t g e s t e u e r t e r
*
e r e i g n i s - ( i n t e r r u p t - ) gesteuerter
Betrieb, Betrieb.
Im erstgenannten F a l l s t e u e r t eine Uhr des R e a l z e i t r e c h n e r s den z e i t l i c h e n Abs t a n d zwischen den Aufrufen desselben Programms, z . B . zur Abfrage von Meßwerten e i n e r i n d u s t r i e l l e n Anlage. Dagegen werden im e r e i g n i s g e s t e u e r t e n
Betrieb
Programmaufrufe zu n i c h t vorherbekannten Zeitpunkten scheinbar z u f ä l l i g
von
14
Einleitung
der industriellen Anlage s e l b s t , also von außerhalb des Real Zeitrechners, erzeugt. Jeder Programmaufruf, bei DIN 44 300 a l s "Anfall von Daten" umschrieben, führt zu einem Rechenprozeß. Der Fall z u f ä l l i g auftretender Anforderungen kann nur mit statistischen Methoden modelliert werden; mit ihm wollen wir uns ausführlich beschäftigen. Bei zeitgesteuert (deterministisch) auftretenden Anforderungen sind die Verhältnisse in der Regel überschaubar, so daß kaum Alternativen für die Betriebsmittelverwaltung diskutiert werden müssen. Hier werden nur die bekannten Methoden wiedergegeben. Das hier vorliegende Material entstand a l s Unterlage für theoretische Arbeiten zur Verbesserung der Ablaufsteuerung in Realzeitrechnern im AEG-TELEFUNKEN Forschungsinstitut, Ulm. Diese Arbeiten wurden und werden im 2. bzw. 3. DVProgramm der Deutschen Bundesregierung gefördert. Ohne diese Förderung wären diese Unterlagen nicht entstanden. Das Kapitel 2, Grundlagen, stützt sich im Aufbau der Teile 1 bis 1.5 auf Einleitungen in Veröffentlichungen [Her 1], [Her 4], [Kü 2] von Mitarbeitern des Institutes für Nachrichtenvermittlung und Datenverarbeitung der Universität Stuttgart (Prof. A. Lotze). Der Inhalt i s t allerdings deutlich erweitert worden. Die Simulationsergebnisse für die Beispiele in den Kapiteln 12 und 15 hat mein Kollege, Herr D i p l . - I n g . W. Rosenbohm, ermittelt. Die Auswahl der Beispiele in Teil I I und die Darstellung des Themas sind durch viele Anregungen aus Diskussionen mit Kollegen aus dem Forschungsinstitut Ulm und der Realzeitrechner-Entwicklung von AEG-TELEFUNKEN in Konstanz beeinflußt worden. Herrn Prof. U. Herzog verdanke ich wertvolle Hinweise für die Darstellung des Kapitels 6. Frau Christa Kuisl besorgte die Reins c h r i f t des Manuskriptes. Bei allen genannten und ungenannten Helfern möchte ich mich herzlich bedanken. Ulm, im Juni 1977
Bernhard Walke
Übersicht Im Teil I des Buches werden zunächst die für die verkehrstheoretische Modellierung notwendigen Begriffe eingeführt, Strategien, Prioritäten und Optimierungsziele definiert, die wichtigsten hier benötigten Begriffe aus der Wahrscheinlichkeitstheorie erläutert und eine Zuordnung von unterschiedlichen Anwendungsf ä l l e n eines Realzeitrechners zu entsprechenden Modellen vorgenommen. Danach werden zunehmend kompliziertere Modelle und zugehörige Abfertigungsstrategien besprochen und interessierende Verkehrsgrößen - soweit das heute möglich i s t berechnet. Zur Erläuterung sind häufig den Modellrechnungen einfache Rechenbeispiele mit zugehörigen Ergebnis-Schaubildern beigegeben. Auf die mathematisch exakte Herleitung wird verzichtet und stattdessen auf die entsprechende Literatur verwiesen. Außerdem werden Regeln für die wartezeitoptimale Vergabe von externen statischen und internen Prioritäten angegeben. Die nachfolgende Graf i k beschreibt die Gliederung in Kapitel und deren Themen. Im einzelnen wird in Kapitel 3 ein Grundmodell der Verkehrstheorie, nämlich ein Prozessor mit unbegrenztem Warteraum, zufälligem Ankunftsprozeß und beliebigem Endeprozeß behandelt. Die Ergebnisse dieses Modells werden später als Bezugswerte zum Vergleich mit den Resultaten komplizierterer Modelle verwendet. Hier wird bereits deutlich, welch großen Einfluß die Bediendauer-Verteilungsfunktion (insbesondere ihre Varianz) auf die (später definierten) Warte- bzw. Verweilzeiten der Anforderungen hat. Dieser große Einfluß g i l t auch für die übrigen Modelle. In Kapitel 4 wird ein Modell mit mehreren Prioritätsebenen behandelt, deren Anforderungen sich gegenseitig nicht unterbrechen dürfen, so daß die hier verwendeten statischen Prioritäten nur die Auswahl der nächsten Anforderung für den Prozessor bestimmen. Das nächste betrachtete Modell (Kapitel 5) erlaubt dagegen eine sofortige Unterbrechung der Arbeit des Prozessors, wenn eine neuangekommene Anforderung eine höhere P r i o r i t ä t hat als die gerade vom Prozessor bearbeitete. Kapitel 6 beschreibt ein kombiniertes Modell mit unterbrechenden und nicht-unterbrechenden statischen Prioritäten und kommt damit manchen in Real Zeitrechnern vorliegenden Verhältnissen sehr nahe. Eine andere Art der Kombination von unterbrechenden und nicht-unterbrechenden Prioritäten, nämlich innerhalb eines Rechenprozesses, wird in Kapitel 7 behandelt. Das nächste Mo-
16
Übersicht
CN "âj '5. (Q
*
d) a; O) Ñ c ví O) c ok_ "55 3o. Su
4> + -> 'r-yCO» CO) 3 g N• i—
CO 1 CO
ro
o «—»
LO V
LO
(Ö
.E SrO CD fsl o s ct) :3 -Q 4S. SIO D) aj a) e3 N> u > +•>
s-
a» 3 rö -o CO CT) e3
3
1 . i . VI QJ 0 ) -r—
"CT E 0>
+->
Sr s i OJ
JD irü
CO• i - 3E C+> cu
CL) CO
o
10
CT)
E
OJ
(0
+->
'-
f0 N
-p (/)
0)
n3 00 £ £
- E i— U W 0 ) CT»
cn E 3 +-»
g
'5 _
o
i— J = 1— o 0) »r-
CT»
E— i .E u
?! o "Ü a i •oF . o i
0) +->
"CT
Q.
"CT
l/l
O =C
a> _q u ro 0) CO a>
L> "< O o
s -p o
CO3 C .Q 3 O iö C 0) E -M 3 O a:
Qi S« 0 ) E O 4 - co 3 JZ - 1 - S CT> (1) o 3 +-» S_ CT) CO d) +J ciÖ Er c •— E aj 3 CT) = C
0)L C CL E 3 a> _ O) CSD 3E 43 1>
E E ic s_
•r- > .E CT> c a j o) oSfö 3
1
E 3
i «—i
c c
CO
co t CT>-M
E P
+
2(TT7)
•
Wegen Gl.(1.12) wächst also die mittlere Länge L der Warteschlange linear mit der Varianz der Bediendauervertei1ung. Bild 3.1 zeigt, daß bei gegebenem Angebot p die mittlere Zahl L von Anforderungen im Modell
(Bild 1.5) deutlich vom
50
3. Das Modell M/G/l
B i l d 3.1:
Erwartungswert der Schlangenlänge im Wartesystem M/G/l i n A b h ä n g i g k e i t von Angebot p und V a r i a t i o n s k o e f f i z i e n t C.
V a r i a t i o n s k o e f f i z i e n t e n der B e d i e n d a u e r - V e r t e i l u n g abhängt. T a b e l l e 3 . 1 e n t h ä l t e i n e Zuordnung von B e d i e n d a u e r - V e r t e i l u n g e n und V a r i a t i o n s k o e f f i z i e n t e n : Tabelle 3.1
Bediendauer-VFn (Tabelle 1.1) und V a r i a t i o n s k o e f f i z i e n t VF
M
C
1
E
k
1/k
D
PM
0
> 1
H
k
> 1
C.
GE ¿1
Man kann auch höhere Momente der W a r t e s c h l a n g e n l ä n g e n - V e r t e i l u n g
berechnen
[Cha 1, S . 4 7 ] . Man begnügt s i c h mit solchen Momenten immer dann, wenn d i e Ver2 t e i l u n g s e l b s t n i c h t angegeben werden kann. Die V a r i a n z o L der Warteschlangenlängen-Verteilung 2
=
l
ist
(2)_l2
L
Nach [ L i t 1] g i l t
=
+
3(l-p) ein
a W
2 )
)
2
+
^(3-2P)ß(2)+p(1.p) _
4(1-p)
E r h a l t u n g s s a t z , der die Verweildauer V e i n e r A n f o r d e -
rung mit der m i t t l e r e n Warteschlangenlänge L über die A n k u n f t s r a t e L = \V
(3.3)
2(1-p)
,
(3.4)
so daß mit G l . ( 3 . 2 ) f ü r die m i t t l e r e Verweildauer V = ß + Pß(1 + c 2 ) 2(1-P)
verknüpft
.
gilt (3.5)
B i l d 3 . 1 macht a l s o auch g l e i c h z e i t i g e i n e Aussage über d i e A b h ä n g i g k e i t der m i t t l e r e n Verweildauer vom V a r i a t i o n s k o e f f i z i e n t e n C. Nimmt man a n , daß die Bediendauer unabhängig von der m i t t l e r e n Wartezeit W i n der Schlange vor dem P r o z e s s o r i s t (normalerweise e r f ü l l t ) , dann g i l t
3. Das Modell M¡G¡1
V = W+ ß .
(3.6)
Die m i t t l e r e W a r t e z e i t W i s t w
=
£
51
f¿ (f1f ~L pj r I
=
v
-
also ß
= T1 2-p-
(3-?)
mit WQ = A ß ( 2 ) / 2
.
(3.8)
WQ i s t die m i t t l e r e r e s t l i c h e Bediendauer f ü r d i e beim E i n t r e f f e n e i n e r neuen Anforderung gerade in A r b e i t b e f i n d l i c h e Anforderung [ K l e i 2, S . 1 9 0 ] . Die m i t t l e r e W a r t e z e i t der Wartenden i s t W" = W/p ,
(3.9)
a l s o größer a l s d i e m i t t l e r e Wartezeit a l l e r Anforderungen. Das 2. Moment der Wartezeit-Verteilungsfunktion (Z)
(xa^h
2
2(1-p)
ist
[Cha 1, S . 4 7 ]
xb17
j
56
3. Das Modell M/G/l
mit C +p Man könnte dieses Ergebnis auch zusammen mit dem Näherungsverfahren von Abs c h n i t t 3.2.1 einsetzen. Außerdem können die Momente der Näherung nach Gl. (3.17) mit den exakt berechneten verglichen werden. In [Rei 1] wird die Genaui g k e i t dieses Approximationsverfahrens untersucht. Dabei s t e l l t sich eine wachsende Genauigkeit der Näherung mit gegen 1 wachsendem Angebot p heraus. Das bedeutet, das Verfahren l i e f e r t bei starker Belastung (heavy t r a f f i c ) besonders gute Ergebnisse. Gerade dieser Fall i s t aber für die praktische Anwendung von besonderem Interesse, denn man wünscht s i c h u.a. Aussagen Uber garantierbare Wartezeiten in Krisensituationen mit besonders hoher Belastung des Realzeitrechners.
3.3
Beispiele für das Modell M/G/1
3.3.1
Das Modell M/E|c/1/FCFS
Die k-Erlang-Verteilungsfunktion eignet sich i n vielen Fällen zur Beschreibung der Bediendauer-Verteilungsfunktion, nämlich wenn der V a r i a t i o n s k o e f f i z i e n t kleiner i s t a l s bei einer negativ exponentieilen Verteilung. Man spricht dann von " u n t e r - z u f ä l l i g " v e r t e i l t e n Bediendauern (die M-Verteilung heißt:
zufälli-
ge Verteilung). Das r - t e Moment i s t in Tabelle 1.1 angegeben. In B i l d 3.3 sind die bezogene mittlere Wartezeit W/ß und die bezogene Standardabweichung a w /ß über dem Angebot p für verschiedene k-Werte d a r g e s t e l l t . Für die k-Erlang-VF i s t nach [Rei 1] die Laplace-Transformierte, Gl.(1.13), an der S t e l l e s = \ ( l - z ) B * U ( l - z ) ] = [ ( # + 1) -
, k woraus f ü r k - °° (konstante Bediendauern) wird
(3.18)
B * U ( l - z ) ] = exp[-p(l-z)]
(3.19)
K
.
Für die 2-Erlang-Verteilung wird die Verteilung der wartenden Anforderungen P{X = n} = a j r " + a 2 rn2
(3.20)
mit r j = l / z j und r ^ l / Z g , wobei Zj ^ die Wurzeln der quadratischen Gleichung p2
z 2 - p ( p + 4) z + 4 =0
3.3 Beispieleßr das Modell M/G/l
Bild 3.3:
57
Modell M/E k /1/FCFS. a)
bezogene mittlere Wartezeit über dem Angebot.
b)
bezogene Standardabweichung über dem Angebot.
mit a,1 = (rL2 + p) (1 - r,) ( r , - ^ ) " 1 I i i a 2 = (r1 + p) ( l - r 2 )
( ^ - ^ f
( 3 2 1 )
1
sind. Die Verteilung, Gl.(3.20), ist eine Überlagerung zweier verschiedener geometrischer Verteilungen
Für die k-Erlang-Vertei1ung besteht P{X = n} aus k Uber-
lagerten geometrischen Verteilungen. Für k-=° erhält man P{X = n} = (1 - p) E ( - l ) n - j j=l ¡ V T Die ,
(•JP) n " J ~ 1 (JP+"-J) (n"J)!
geometrische Verteilung wird in Kapitel schni tt 12.1.1 verwendet.
e
jp
.
10 im Beispiel 10.1 und in Ab-
58
3. Das Modell
M/G/1
Ähnlich wie im folgenden Beispiel kann auch (z.B. für k = 2) die Wartezeit-Di chte bzw. die Verteilungsfunktion berechnet werden. Für k-=° (Modell M/D/l) ist die Wartezeit-Verteilungsfunktion in [Ol 1] tabelliert angegeben. Die LaplaceTransformierte der k-Erlang-Verteilung ist, vgl. Gl.(3.18),
B
3.3.2
*(S)
=
Das Modell
(
7 7 t
) k
mit n = 1/ß •
M/H r /1/FCFS
Bei "Uber-zufällig" verteilten Bediendauern ist die Hyperexponentialvertei1ung r-ter Ordnung als Näherung für die Analyse anwendbar. Entsprechend Gl.(3.18) ist die Laplace-Transformierte dieser Verteilung an der Stelle s = x(l-z)
mi t
B*Ud-z)] = E ^ k=l ( P k + 1) " P k z
(3.22)
P k = x/^ k • Mit Gl.(3.13) ist die Generatorfunktion der Warteschlangen-Längen-Verteilung gegeben. Für die hyperexponentielle Verteilung 2. Ordnung gelten ebenfalls die Gin.(3.20) und (3.21), jedoch sind Z p
z 2 die Wurzeln der quadratischen Glei-
chung p 2 p 2 - [ ( P l + 1) (p 2 + 1) - 1] z + ( P l + P 2 - p + 1) = 0
.
Die Laplace-Transformierte der Bediendauer-Verteilungsfunktion an der Stelle s lautet r p. nB*(s) = L 7 7 - * i=l s +
•
(3.23)
Die Gin.(3.22) und (3.23) unterscheiden sich nur dadurch, daß \(l-z) durch s ersetzt ist. Das folgende Beispiel
[Klei 2, S.196] zeigt, wie für eine hyper-
exponentielle Bediendauer-Verteilung 2. Ordnung die Generatorfunktion Q(z), Gl.(3.13), geschlossen rücktransformiert werden kann. Eine Tafel für z-Transformations-Paare findet man in [Klei 2, S.331], Mit Hilfe der Gin.(3.15) und (3.23) kann die LST der Wartezeit-Vertei1ungsfunktion W*(s) bestimmt werden.
Beispiel
3.1:
Es sei d B(t)/dt
= 0,25 x e " U + 0 , 7 5 ( 2 x )
e~2U
die Wahrscheinlichkeitsdichte von hyperexponentiel1 (r = 2) und ß = 5/(8\) vorausgesetzt. Man berechnet
verteilten Bediendauern
59
3.3 Beispiele fiir das Modell M/G/l
R», 1
0,75 (Zx) _ 7xs + 8\ 2 s + 2x 4(s+\)(s+2\)
, _ 0,25\ ' " s
'
Rücktransformiert ergibt sich daraus mit p = \ ß = 5/8 Pn = P ^ X = n >
(!)"
- 0 . 1 . 2 -
für die Warteschlangen-Längen-Verteilung. Entsprechend Gl.(3.15) erhält man w
*(s)
4S(1-P)(S+A)(S+2\)
4s(l-\)(s+\)(s+2\) + 8 x 3 + 7x 2 s Nach Partialbruchzerlegung wird eine geschlossene Rucktransformation, wie bei Q(z), möglich, und man erhält die Wartezeit-Verteilungsfunktion zu W(st)
= 1 -
16
exp[-l,5\t] -
lb
exp[-0,5\t]
.
Das ist eine entartet hyperexponentielle Verteilung. Der Sprung bei t = 0 ergibt sich deshalb, weil mit der Wahrscheinlichkeit (1-p) = 3/8 eine Anforderung überhaupt nicht warten muß, vgl. Gin.(3.9) und (3.17). Der Verlauf der Verteilungsfunktion hängt hier (bei gegebenem Wert p =5/8) nur noch vom Parameter \ ab, weil die Parameter der Hyperexponentialverteilung als Vielfache der Zugangsrate \ gewählt worden sind. Bild 3.2 zeigt diese Kurve (c).
3.3.3
Das Modell M/M/1/FCFS
Bei "zufällig" verteilten Bediendauern (M-VF) ist die Berechnung der charakteristischen Größen besonders einfach. Die Laplace-Transformierte der M-Vertei1ungsfunktion ist B*(s) = ^
.
(3.24)
Die Generator-Funktion, Gl.(3.13), für die Längenverteilung der Warteschlange vereinfacht sich zu
und kann direkt rücktransformiert werden P{X = n} = ( l - p ) p n
.
(3.25)
Die Laplace-Transformierten der Verweildauer- und Wartezeit-Verteilungsfunktionen sind V*(s) =
s + N(l-p)
bzw.
und die Verteilungsfunktionen selbst
W*(s) = (1-p)
+
S+M.( 1-p )
60
3. Das Modell M/G/l
V(St)
=l-e"^1"p)t
W(st)
= 1-p
(3.26)
bzw. e"^
(1
"p)t
.
(3.27)
Kurve b i n B i l d 3.2 s t e l l t die Funktion W(st)und Kurve a die Funktion V ( s t ) f ü r p= 0.8, n = 5 dar.
3.3.4
Das Modell M/G/1/SJF
Dieses Beispiel l e i t e t zu den Warte-Modellen mit mehreren Warteschlangen
(Bild
1.3) Uber. Sind die Bediendauern der Anforderungen vorausbekannt, dann i s t unter Umständen die Abfertigungsstrategie SJF besonders zweckmäßig. Dabei e r h a l ten kürzere Anforderungen höhere interne P r i o r i t ä t e n a l s längere und die Unterbrechung der Bearbeitung einer Anforderung durch eine andere i s t nicht e r l a u b t . Die Strategie SJF minimiert die mittlere Verweilzeit. Die bedingte Wartezeit W(t) einer Anforderung, die den Prozessor t
Zeiteinhei-
ten benötigt, i s t [Coff 2] / 2»[ 1-x J t d P ( s t ) ] " 2 . o Die m i t t l e r e Wartezeit ergibt sich daraus durch Integration zu W(t) =
X ß(2)
dPUp) p T P=° [1-x J t d P ( s t ) ] o
(3.28)
!
•
(3.29)
Bei negativ exponentiell verteilten Bediendauern berechnet man die bediendauerabhängige mittlere Wartezeit, Bild 3.4, zu W(t) = p / [ n - M l -
B i l d 3.4:
e " ^ (1 + ü t ) ) ] 2 .
Abhängigkeit der bezogenen mittleren Wartezeit für Anforderungen mit t sec Bediendauer vom Angebot p. Kurze Anforderungen werden auch bei p> 1 mit kleiner m i t t l e r e r Wartezeit bedient!
3.3 Beispiele für das Modell M/G/1
3.3.5
Das Modell
61
M/G/1/SRPT
Sind Unterbrechungen der laufenden Prozessorarbeit zugelassen und alle Bediendauern vorausbekannt, dann ist die Strategie SRPT bezüglich der mittleren Verweilzeit optimal
[Coff 2, S.178], [Schra 1]. Die übrigen Bedingungen sind wie
bei der Strategie SJF. Man berechnet das 1. und 2. Moment der Verweilzeitverteilung für die Strategie SRPT nach [Schra 1] für kontinuierliche Verteilungen P ( t ) = P ( s t )
V
mU
p ~ = J ( J
)
P=0
dx
2
)dP(p) +
1
x=0
l-MtdP(t) o t 2 dP(t) + p 2 [ l - P ( t ) ]
J +
p PT [ l - \ J t dP(t)][l- X J t dP(t)] t=o t=o
p=0 v
Bediendauer-
zu
p", p + bedeuten bei Unstetigkeitsstellen
von
)dP(p).
(3.30)
P(t): unterhalb bzw. oberhalb der
Stelle t = p; sonst ist p = p + einzusetzen.
J
p
V
( 2 )
=x
J p
2 7 r + X / [ p=o
+ \
2 T
r
[
p=0
„
y
J [ J y = 0
t=0
[ -
0
t3dP(t)+p3(l-P(p))
^
3[l-\
] dP(p) +
I t dP(t) ] 2 [ 1 - x I t dP (t) ] t=o t=o
{ J t 2 d P ( t ) + p2(l-P(p))} J t 2 d P ( t ) t=o t=o :
P ^ p ? 2[l-\ J t dP(t)] [1-X J t dP(t)] t=o t-o { J t2dP(t)+p2(l-P(p))} J t2dP(t) t=0 t=o P+ J tdP(t)] t=0
P ^ 2[l-\ J t dP(t) ] [ o 2 x'dP(x)dt
M X=
°
t
l-\/xdP(x)
y
n = E P, r ( t - t . ) 1 i=l 1
] dP(p) +
dt
+ { J
^
t=0
1-1 j
} 2 ] dP(y) .
mit
n E i=l
(3.31)
xdP(x)
Bei diskreter Bediendauer-Verteilung mit n Sprungstellen P(st)
] dP(p) +
P, = 1 , 1
(n-Punkt-Verteilung) (3.32)
3. Das Modell
62
M / G / l
wobei r(x)
(0
für
x < 0
( 1
für
s 0
=
die E i n h e i t s - H e a v i s i d e - F u n k t i o n (vgl.
[Coff
»
ist,
b e r e c h n e t man d i e V e r w e i l z e i t m o m e n t e
2]): (1,
( 1 ,
r
"
= E P
P
r = 0
V i
E J = 0
,
J
. H
n
^
+ T E
3
E L i=o
2 r„ = t0 ,
i
aus
r
W
U
^
r-1 _ _ r (1-x E t. p.)(l-A E t. j =o j =o
V p j (3.33)
^ E
=
+ 3(1-*. E t j =0
r = 0
; P Y ( l - X E t. p ) j =0 y
r r
x +
v ^
x
l
r = 0
n
[ £ t i P i
e
1 = 0
r
+
t ? - i ( i - i
.!
2(1-*. E
r = 0
^ t.p.)
j=o j r
l
+ E r =
Daraus
r-1 [ E
°
x
A
Ein
ALGOL-Programm
Bei
kontinuierlichen
und
(3.31)
kontinuierliche
V
i
- ß^ );
zur
P i P r
+
t.p.) J
J
r-1 + { E
W< )
Verteilungen
= V
lassen lösen.
- ß
Ausdrücke sich
•
(3-34)
p.
die
.
liegt
im A n h a n g 2
Integrale
i n den
bei.
Gin.(3.30)
Dann n ä h e r t man z w e c k m ä ß i g e r w e i s e
durch e i n e d i s k r e t e und
, > J P_
i
Wartezeitverteilung 2
Berechnung d i e s e r
Verteilung
V 1-, E t. i =0
1
die Formeln der G i n . ( 3 . 3 3 )
Sind
j=o
J
? t ?
2
immer g e s c h l o s s e n
Das M o d e l l
E
r
^
1 - X E t i p. i =o
= v ^ )
nicht
P i ) i —
(l-x
b e r e c h n e t man d i e Momente d e r „(1)
3.3.6
J
3
t
°
j =
r
[ E t ? Pi (1 - E p j ] E t?p. r 1 i=o 1 1 i =o 1 i =o 1 1 „ ^ p F i r r + 2 2 2(l-x E t . p . ) ( l - x E t. p.) J j=o J J j=o J
Verteilung
an und v e r w e n d e t
die dann
(3.34).
M/G/1/SET
Unterbrechungen
der
laufenden P r o z e s s o r a r b e i t
einer Anforderung jedoch
nicht
keitsverteilung
dann i s t
gegeben,
vorausbekannt, u.U.
zugelassen,
sondern
die Strategie
die
durch eine SET
Bediendauer
Wahrscheinlich-
verwei1zeitoptimal.
3.3 Beispiele für das Modell M/G/l
63
Das t r i f f t genau dann zu, wenn der V a r i a t i o n s k o e f f i z i e n t C der Bediendauer-Vert e i l u n g größer a l s 1 i s t . Die mittlere Wartezeit kann berechnet werden. a)
Diskrete Bediendauer-Verteilung mit äquidistanten S p r u n g s t e l l e n .
p.j
sei die W a h r s c h e i n l i c h k e i t , daß ein Prozeß iQ Einheiten Bediendauer benötigt und
k P ( k ) = E p. i=l 1
sei die Summenhäufigkeits-Verteilung,
E^S)
sei die m i t t l e r e Bediendauer eines P r o z e s s e s , der kQ Einheiten zugeteilt erhielt k E k ( S ) = E (iQ)p, + k Q [ l - P ( k ) ] K 1 i=l sei das zugehörige 2. Moment
E£(Z) ' ( S )
,
E [ 2 ) ( S ) = E ( i Q ) 2 P i + (kQ) 2 [ l - P ( k ) ] , K 1 i=i V^
sei die m i t t l e r e V e r w e i l z e i t einer Anforderung, die k Einheiten benötigt. Nach [Coff 2] E2(S) +Q2 E V.
b)
2
ist
[l-P(i)]
(k-l)Q
^ + + Q • [ 1-X E k _ i ( S ) ] [ l - \ E k ( S ) ] l - i Ek.j(S)
Kontinuierliche
(3.35)
Bediendauer-Verteilung.
Für eine k o n t i n u i e r l i c h e Bediendauer-Verteilung P ( s t ) = 1 - P ( > t ) = P ( t ) e r h ä l t man das entsprechende Ergebnis ( f ü r Q ~ 0 mit t = kQ = konstant) zu V(t) =
1
'
ß ( 2 ) / 2
+
[ l - \ j xdP(x) - ^ t P ( > t ) ] 2 O
1
i
.
(3.36)
l - \ ; xdP(x) - \ tP(>t) 0
Die m i t t l e r e Verweilzeit a l l e r Anforderungen e r h ä l t man aus G l . ( 3 . 3 5 ) durch gewichtete Summation bzw. aus G l . ( 3 . 3 6 ) durch I n t e g r a t i o n V = E p, V. i=l 1 1
bzw.
V = JV(t)dP(st) o
.
(3.37)
Die m i t t l e r e Wartezeit i s t W = V - ß . FLir das B e i s p i e l der stückweise exponentiellen Verteilung 1. und 2. Ordnung wird W e x p l i z i t in [Wal 1] berechnet. Mit den dort gewählten Abkürzungen i s t U = E ( t y ) - ß mit ß = t n + 1 . Für das B e i s p i e l der hyperexponentieilen Verteilung l i e g t ein ALGOL-Programm zur Berechnung von W über die Gin.(3.35) und (3.37) im Anhang 3 bei. Dabei
ist
die k o n t i n u i e r l i c h e Bediendauer-Verteilung durch eine d i s k r e t e Verteilung approximiert worden, weil die I n t e g r a t i o n in G l . ( 3 . 3 7 ) Schwierigkeiten
bereitet.
64
3. Das Modell M/G/l
3.3.7
Das Modell M/PM/1/SERPT
Die Strategie SERPT i s t bezüglich der gemeinsamen mittleren Wartezeit (und auch Verweilzeit) optimal und setzt voraus, daß die Bediendauer-Verteilung bekannt i s t . Wir besprechen diese Strategie am Beispiel einer stückweise negativ exponent i e l l e n Bediendauer-Verteilung n-ter Ordnung (Tabelle 1.1). Diese Verteilung i s t - in der Qualität der Approximation wirklicher Bediendauer-Verteilungen mit Variationskoeffizienten C > 1 - der hyperexponentieilen Verteilung gleichwertig, hat jedoch aus der S i c h t der Abfertigungstheorie einen Vorteil: Wartezeitoptimale Strategien kommen mit sehr viel weniger Unterbrechungen der Prozessorarbeit aus a l s bei Annahme einer hyperexponentiellen Verteilung [Wal 3]. Strategie SERPT:
Für Anforderungen mit einer stückweise exponentiellen Bedien-
dauer-Verteilung n-ter Ordnung werden n + 1 Warteschlangen eingerichtet, B i l d 3.5.
B i l d 3.5:
Interne Prioritäten mit Rückspeisung (feedback) schon teilweise bearbeiteter Anforderungen bei der Strategie SERPT. P = Prozessor; i = Nummer der Warteschlange.
Die erste Warteschlange (i = 1) enthält unbearbeitete Anforderungen, in der zweiten werden solche Anforderungen verwaltet, die nach der Zeit t^j nicht f e r t i g g e s t e l l t und noch nicht die Zeit t g bearbeitet worden sind, vgl. B i l d l . l e , usw., so daß jedem exponentiellen Stück der Bediendauer-Vertei1ung eine Warteschlange zugewiesen wird. Innerhalb jeder Warteschlange g i l t die Strategie FCFS, zwischen den Warteschlangen werden unterbrechende Prioritäten angewandt. Mit zunehmender Bearbeitungsdauer gelangt jede Anforderung von der Warteschlange i = 1 in die Warteschlange i = 2, 3, ... und wird dabei immer unwichtiger. An Anforderungen in der Warteschlange i + 1 wird nur gearbeitet, wenn die Warteschlange i leer i s t . Die Strategie SERPT beurteilt teilweise bearbeitete Anforderungen mit Hilfe der bisher benötigten individuellen Bearbeitungsdauer und benutzt dabei eine Wahrsche inl ichkeits-Prognose über die restliche Bediendauer. In der Praxis begnügt man sich bei der Approximation von Bediendauer-VFn meistens mit stückweisen Verteilungen 1. oder 2. Ordnung. Eine noch bessere Appro-
3.3 Beispiele für das Modell M/G/l
65
ximation führt zu entsprechend mehr exponentiellen Stücken und erhöht die Verwaltungsarbeit, da für jedes Stück eine eigene Warteschlange einzurichten
ist,
bringt sonst aber kaum Vorteile [Wal 1], Bezüglich der Einhaltung einer k l e i n s t möglichen mittleren Verweildauer bei gegebener Belastung i s t die Strategie SERPT (ohne Berücksichtigung von Umschaltzeiten) nachweislich optimal [Oli 1]. Das kann für solche Realzeit-Anforderungen günstig s e i n , die nicht zu vorgegebenen Terminen fertigbearbeitet sein s o l l t e n , für die aber doch kleine mittlere Verweildauern erwünscht s i n d . Man kann zeigen, daß für Bediendauer-Verteilungen mit Variationskoeffizienten C > 1 und Bearbeitung mit H i l f e s t a t i s c h e r P r i o r i t ä t e n die mittlere Verweildauer um Größenordnungen über der mit der Strategie SERPT erreichten liegen kann, näml i c h , wenn s t a t i s c h e P r i o r i t ä t e n praktisch z u f ä l l i g (ohne Rücksicht auf die e r wartete Bediendauer einer Anforderung) zugewiesen werden. Das entspräche einer Abfertigungsstrategie
RANDOM (Abschnitt 1.4.1). B i l d 3.6 zeigt die bezogene
mittlere Wartezeit W/ß über dem Angebot p für eine stückweise exponentielle Bediendauer-Verteilung mit einem Variationskoeffizienten C = 7. Bei RANDOM errech-
B i l d 3.6:
Bezogene mittlere Wartezeit über dem Angebot für Anforderungen mit PM-Bediendauer-VF 2. Ordnung und die Strategien RANDOM bzw. SERPT. Das Ergebnis für RANDOM i s t identisch mit dem für FCFS (Kap. 3.1). V a r i a t i o n s k o e f f i z i e n t der Bediendauer-VF i s t C = 7.
net man die mittlere Verweildauer nach G l . ( 3 . 5 ) . Die mittlere Verweildauer einer Anforderung unter der S t r a t e g i e SERPT berechnet s i c h , wenn eine BediendauerVerteilung n - t e r Ordnung v o r l i e g t , aus [Wal 1] zu V =
n+1 Z i =l
PJW. + E ( t . ) ] ——-—:—-— 1 - x ti_1
mit t
0
=0.
(3.38)
Dabei i s t P.. die Wahrscheinlichkeit, daß die ßediendauer einer Anforderung mit PM-Verteilung, Abschnitt 1.5, zwischen t
und t ^ l i e g t
66
3. Das Modell
M/G/l
P1 = /
dP(st)
,
(3.39)
^(i-l) E { t ^ ) der Bediendauer-Erwartungswert von Anforderungen, deren Bediendauer im Intervall
{tg^.^,
E(tJ
tgi}
1 =^ Pi
liegt
V" J
tdP(st)
,
(3.40)
Vi-D
W^ d i e m i t t l e r e W a r t e z e i t e i n e r Anforderung, bis s i e die Z e i t t ^ verbraucht h a t , wenn s i e vorher n i c h t unterbrochen wurde w. = 1
xtf
1 . 2( 1 - X t . )
,
(3.41)
t - der Bediendauer-Erwartungswert e i n e r Anforderung, d i e weniger a l s oder gerade d i e Z e i t t • verbraucht hat gi ti
= F
tdP(it) +t . I
dP(st)
(3.42)
_2 und t.j das entsprechende 2. Moment t9i -p t. = 1
? 2 t^ d P ( i t ) + r .
"
;
d P(st1
.
(3.43)
Die drei e r s t e n Momente e i n e r stückweise negativ e x p o n e n t i e l l e n V e r t e i l u n g 1. Ordnung lauten
ß(2> = ß (3 > = 6[n~3 + e ^
e
(tg + ^
+ Hg1)] •
(3.44)
" ^i 1 ) + tgi^i 2 " ^l 2 ) + (^i3 "
]-
Neben der garantiert kleinstmöglichen mittleren Verweildauer kann man durch eine einfache Maßnahme erreichen, daß Anforderungen mit kleiner Bediendauer eine (etwa proportional) kleinere mittlere Wartezeit haben als andere mit größerer Bediendauer. Dazu werden Anforderungen der Warteschlangen i =2 bis n+1 (Bild 3.5) nicht nach der Regel FCFS, sondern in der Reihenfolge kleinster bisher verbrauchter Prozessorzeit abgearbeitet [Wal 1]. Ist der Bediendauer-Erwartungswert E(tj) von Anforderungen der ersten Klasse (0 < t s t ) bei einer stückweise exponentiellen Bediendauer-Verteilung 1. Ordnung sehr klein gegen den Bediendauer-Erwartungswert aller Anforderungen ( ß s t g ) , dann i s t für komplizierte Modelle leichter mit der entarteten Exponentialverteilung (Tabelle 1.1,
67
3.4 Arbeitsperiode und Leerzeit-Verteilung
B i l d l . l f ) zu rechnen. Bei Anwendung der Strategie SERPT darf dann sehr ähnl i c h gerechnet werden, alswenneine negativ exponentielle Bediendauer-Vertei1ung vorläge [Wal 2]. Neben der Strategie SERPT g i b t es eine Unzahl weiterer Strategien, die für T e i l nehmer-Rechensysteme entwickelt worden sind und ebenfalls interne P r i o r i t ä t e n verwenden. Dort stehen neben der Verweildauer bzw. der Wartezeit noch andere Gesichtspunkte im Vordergrund (z.B. Auslastung bestimmter Betriebsmittel,
"ge-
rechte" Zuordnung von Wartezeit, abhängig von der Länge der Bediendauer u . a . ) . In [Klei 3] f i n d e t man eine ausgezeichnete Zusammenstellung dieser Strategien e i n s c h l i e ß l i c h des heutigen Analyse-Standes.
3.4
Arbeitsperiode und Leerzeit-Verteilung
I s t das Angebot p < l im Modell M/G/l, dann gibt es Zeiten, während denen der Prozessor leersteht ( i d l e period). Diese Leerzeit i s t , wie die Ankunftsabstände, negativ exponentiell v e r t e i l t . Die Arbeitsperiode (busy period), während der eine oder mehrere Anforderungen vorhanden sind, i s t in ihrer
zeitlichen
Verteilung unabhängig von der Abfertigungsstrategie [Klei 2], Dasselbe g i l t für die Zahl der Anforderungen, die in einer Periode bedient werden. Die Momente der Verteilungsfunktion der Arbeitsperiode sind berechenbar. Näheres dazu in [Jai
1].
4.
Das Modell M/G/1/FCFS/NONPRE; statische Prioritäten
Wir u n t e r s t e l l e n das Modell nach B i l d 1.3 mit mehreren Warteschlangen und unabhängigen Poisson-Ankunftsprozessen f ü r die einzelnen Warteschlangen. Jede Warteschlange hat eine Nummer ( P r i o r i t ä t ) k ( l s k s N ) .
Die A b f e r t i g u n g s r e i h e n -
f o l g e von Anforderungen verschiedener Warteschlangen wird durch n i c h t - u n t e r brechende (nonpreemptive, NONPRE) P r i o r i t ä t e n gesteuert. Das h e i ß t , eine e i n treffende Anforderung unterbricht niemals eine schon in Bearbeitung b e f i n d l i che Anforderung. Deshalb eignet s i c h das Modell unter anderem zur Nachbildung des E/A-Verkehrs r e a l e r Rechner mit ihren Hintergrundspeichern. Anforderungen vom Typ k s i n d hier Anforderungen mit der P r i o r i t ä t k. Wieder betrachten wir nur den Zustand des stationären Gleichgewichtes. Er s t e l l t s i c h flir dieses Modell u.U. auch ein, wenn das Gesamtangebot p > l i s t , a l l e r d i n g s nur für einen T e i l der Anforderungen. Die Z u f a l l s v a r i a b l e n Ankunftsabstand a^ und Bediendauer b^ von Anforderungen vom Typ k werden a l s s t a t i s t i s c h unabhängig u n t e r s t e l l t und haben negativ exponentielle bzw. beliebige V e r t e i l u n g s funktionen. Wenn a l l e Anforderungen, unabhängig von der P r i o r i t ä t s z u g e h ö r i g k e i t ,
dieselbe
Bediendauer-Verteilung haben, dann gelten a l l e b i s h e r für das Modell M/G/1/FCFS besprochenen E r g e b n i s s e genau für die Anforderungen der höchsten P r i o r i t ä t , wobei a n s t e l l e des Gesamtangebots p j e t z t das Angebot pj dieser P r i o r i t ä t
ein-
zusetzen i s t . Die nächstwichtige P r i o r i t ä t hat den Index 2 usw. Bei der Betrachtung von c h a r a k t e r i s t i s c h e n Größen für Anforderungen vom Typ k i s t es zweckmäßig, die Poisson-Ankunftsprozeß-Parameter auch a l l e r wichtigeren P r i o r i t ä t e n in e i n e r Abkürzung zusammenzufassen k A , k = Ii
V, •
(4.1)
Die Summe von Poisson-Prozessen e r g i b t wieder einen Poisson-Prozeß [Cha 1]. Außerdem sei ß(r)
*
K
=
£ i -1
ßjr)
(4-2
1
d e f i n i e r t a l s das r - t e Moment der gewichteten Bediendauer-Vertei1ungen der k zusammengefaßten P r i o r i t ä t e n und
)
69
4. Das Modell M/G/1/FCFS/NONPRE; statische Prioritäten
k
Psk = iK
k
E
Pi 1
i=l
=E i=l
xi ßi 1
(4.3)
1
das zusammengefaßte Angebot der Prioritäten 1 bis k. p £ N entspricht dem Angebot p des Modells M/G/l. Man kann auch hier die Generatorfunktion für die Warteschlangen-Längenverteilung, jetzt der vereinigten Prioritäten 1 bis k, angeben und daraus die Momente durch Differentiation bestimmen. Aus der Laplace-Stieltjes-Transformierten für die Wartezeit-Verteilungsfunktion
[Cha 1, S.54] können die zugehörigen Mo-
mente gewonnen werden, Gl.(1.14). Mit ß (^2 )/ /E Z[2(1 d-P p^s ) SN k]
SN
w +(2)
=
ß(3) 1 ÜSNL Ü SN L_
k
+
ß(2) X ^SN ' SN ä k
ß(2)
ak
(4.5)
2(l-psk)2
3(1 - p s k )
< 1 ergeben sich die beiden ersten Momente zu
unter der Bedingung "k
= W^ " "k
u(2)
_
k
(4-4)
(1)
/ ( 1 - pP ^ ) ' ^ 1 noch endliche mittlere Wartezeiten erzielt. Das liegt daran, daß sie bevorzugt bedient wird und erst dann große mittlere Wartezeiten erfährt, wenn ihr
4. Das Modell M/G/1/FCFS/NONPRE;
70
statische
Prioritäten
1
16
1
/
1 |
„=
2, 'fcfs
k=
1.2
16
5
1.
1
2
21
P*2
—
J
OB
® B i l d 4.1:
/ /
2
1'
/) // Ol
1
w;
/ / 16
21
—32
1.8
5.6
®
Bezogene mittlere Wartezeit von Anforderungen der P r i o r i t ä t k a l s Funktion des Angebots p s N für das Modell M/M/1/FCFS/NONPRE. Es i s t ß j = ß2 = ßk = ß und = x/N bei p = \ ß . Die g e s t r i c h e l t e Kurve g i l t f ü r das Modell M/M/1/FCFS. a)
N=2
b)
N = 5
i n d i v i d u e l l e s Angebot p 1 (im B e i s p i e l i s t Pj = P ä N /N) gegen 1 geht. Für die Berechnung der Wartezeit-Momente bei gesättigtem Ankunftsprozeß p s N > 1, f ü r den in B i l d 4 . 1 e b e n f a l l s Ergebnisse eingetragen s i n d , müssen die Formeln G i n . ( 4 . 4 ) und (4.5) mit e i n e r Nebenbedingung versehen werden: Ein s t a t i o n ä r e s Gleichgewicht s t e l l t s i c h für unser Modell, B i l d 1.3, j e t z t nur noch für die P r i o r i t ä t e n k i j
mit p^j < 1 ein [Cob 1], [Jai 1 ] , Nur für An-
forderungen d i e s e r P r i o r i t ä t e n werden endliche Wartezeiten e r r e i c h t . Anforderungen von P r i o r i t ä t e n i > k müssen im s t a t i s t i s c h e n Mittel mit Wahrscheinlichk e i t 1 unendlich lange warten. Für die Berechnung der Wartezeitmomente ermitt e l t man zunächst die Zahl i s N , f ü r die g i l t p ^
^ c l s p ^ ,
das heißt, man
bestimmt die P r i o r i t ä t , deren Anforderungen das Modell durch i h r Angebot p^ s ä t t i g t . Dann i s t f ü r die Berechnung nach den G i n . ( 4 . 6 ) und (4.7) das Angebot f ü r diese P r i o r i t ä t i so zu begrenzen, daß p ^ = 1 wird. A l l e Angebote in P r i o r i t ä t e n k mit ( i < k s N ) müssen g l e i c h Null gesetzt werden. Diese Vorgehensweise e r g i b t s i c h zwingend aus der Herleitung der Formeln zur Berechnung der Wartezeit-Momente. Bedauerlich i s t , daß die genannte Einschränkung in der L i t e r a t u r manchmal vergessen wird. 2 Die Varianz a^ der Wartezeit von Anforderungen der P r i o r i t ä t k berechnet man mit W^1) =W k aus °k
= W
k2)"Wk-
( 4
"
U )
4. Das Modell M/G/1/FCFS/NONPRE;
statische Prioritäten
71
Bild 4.2 zeigt die auf den Bediendiendauer-Erwartungswert ß bezogene Standardabweichung o k / ß für das in Bild 4.1 verwendete Beispiel und den Fall N = 5 Priori täten.
2C |
20
Ü! ß
16
12 B l
°
O.B
1.6
2.4
12
i
1.8 5.6
P*« Bild 4.2:
Bezogene Standardabweichung für das Modell Parameter wie in Bild 4.1.
M/M/1/FCFS/NONPRE.
Das Einführen von Prioritäten vergrößert immer die Varianz und die höheren M o mente der Wahrscheinlichkeitsverteilung der Wartezeiten aller der Anforderungen, die nicht die höchste Priorität k = l besitzen, gegenüber der Wartezeitvörteilung, die für das System ohne Prioritäten gilt. Selbst für das einfachste Modell M/M/1/FCFS/N0NPRE kann bereits die Wartezeitverteilung des Typs k > l nicht mehr aus der Laplace-Transformierten rücktransformiert werden. Es bleibt allein die Möglichkeit, durch eine hyperexponentielle Verteilung mit gleichen Momenten anzunähern - oder aber die Simulation, um eine Näherung für die Wartezeit-Verteilungsfunktion anzugeben und damit eine Aussage über die Wahrscheinlichkeit für die Einhaltung bestimmter Wartezeiten machen zu können. Beispiele dazu findet man in Kapitel 6 und im Teil II des Buches. Im vorliegenden Modell können Umschaltzeiten für Verwaltungsarbeiten beim Obergang des Prozessors von einer Anforderung zur nächsten dadurch berücksichtigt werden, daß sie in der Bediendauer-Verteilung additiv erfaßt werden.
72
4.1
4. Das Modell M/G/l /FCFS/NONPRE; statische Prioritäten
Minimale gemeinsame mittlere Wartezeit im Modell M/G/1/FCFS/N0NPRE
Es g i b t A n w e n d u n g s f ä l l e , bei denen (neben anderen A n f o r d e r u n g e n ) e i n e Gruppe von N A n f o r d e r u n g e n v o r l i e g t , d i e a l l e g l e i c h r a n g i g s i n d . Man i s t
beispiels-
w e i s e n u r d a r a n i n t e r e s s i e r t , daß i h r e (gemeinsame) m i t t l e r e W a r t e z e i t W ^ ) m ö g l i c h s t k l e i n i s t . Das r - t e Moment d e r gemeinsamen W a r t e z e i t v e r t e i l u n g definiert
ist
durch N E
^
, \ wir)
= ^ — • Für r = 1 s c h r e i b t man auch W ^ .
(4-i2>
Bei n i c h t v o r a u s b e k a n n t e n Bediendauern kann man m i t H i l f e e x t e r n e r
statischer
P r i o r i t ä t e n d i e gemeinsame W a r t e z e i t n u r b e e i n f l u s s e n , wenn z u m i n d e s t d i e e r w a r t e t e n B e d i e n d a u e r n v o r a u s b e k a n n t s i n d . Nach [Con 1 ] , [ J a i 1] w i r d d i e gemeinsame m i t t l e r e W a r t e z e i t (und auch d i e gemeinsame m i t t l e r e V e r w e i l z e i t )
minimal,
wenn man d i e P r i o r i t ä t e n e n t s p r e c h e n d den a u f s t e i g e n d g e o r d n e t e n B e d i e n d a u e r E r w a r t u n g s w e r t e n ß.j z u o r d n e t . Das b e d e u t e t , d i e P r i o r i t ä t e n s i n d so z u z u t e i l e n , daß ß i < ß i + 1 e r f ü l l t
ist.
Nimmt man, a l l g e m e i n e r , e i n e n l i n e a r e n K o s t e n - o d e r W a r t e f a k t o r g^ f ü r A n f o r d e rungen vom Typ i an ( i = 1 , 2 , . . . , N )
und u n t e r s t e l l t , d i e
durchschnittlichen
Kosten p r o A n f o r d e r u n g , d . h . d i e m i t t l e r e n W a r t e k o s t e n , g W S N = X ;J
¿ V i V
< 4 " 13 )
s e i e n zu m i n i m i e r e n , dann i s t f o l g e n d e P r i o r i t ä t s z u w e i s u n g V 9 l
sß
(1 i s t die höchste
2/92
s ß
i
/ 9
i
s
•••
optimal:
s ßN/gN
(4
"14'
Priorität).
F ü r e i n e a l l g e m e i n e B e w e r t u n g s f u n k t i o n g . ( t ) s i n d nach [ O l i 1] d i e
Prioritäten
o p t i m a l z u g e o r d n e t , wenn f ü r zwei Typen i und j von A n f o r d e r u n g e n aus / g..(x)dP (x)
n
1
1
J xdP.(x) 0
/
n
g.(x)dP.(x) J J
(4.15)
J xdP.(x) J 0
s t e t s f o l g t , daß A n f o r d e r u n g e n vom Typ i e i n e höhere P r i o r i t ä t a l s d i e vom Typ j
haben.
V e r z i c h t e t man a u f s t a t i s c h e P r i o r i t ä t e n und a r b e i t e t a l l e A n f o r d e r u n g e n nach d e r S t r a t e g i e FCFS a b , dann e r h ä l t man d i e b e i d e n e r s t e n Momente d e r W a r t e z e i t v e r t e i l u n g , v g l . G i n . ( 3 . 7 ) und ( 3 . 1 0 ) , zu
4.1 Minimale gemeinsame mittlere Wartezeit im Modell M/G/1/FCFS/NONPRE
M
(l)
_
H
FCFS ~ FCFS
2(1-päN) ß(3) u(2) . 2W 2 , "¿M W FCFS Z H F C F S + 3 ( 1 )
73
(4.16)
(4.17)
Damit i s t eine Vergleichsgröße zur Beurteilung des Gewinns optimaler statischer Prioritäten gegenüber der prioritätslosen Abarbeitung eingeführt.
5.
Das Modell M/G/1 /FCFS/PRE; statische Prioritäten
Im Unterschied zu Kapitel 4 unterbricht eine neu eingetroffene Anforderung der Priorität i jede in Arbeit befindliche Anforderung einer Priorität j > i , während Anforderungen der Prioritäten k s i
nicht unterbrochen werden. Wir sprechen hier
von unterbrechender (preemptive, PRE) Priorität. Ankunfts- und Endeprozeß werden als statistisch unabhängig unterstellt mit negativ exponentieller bzw. beliebiger Verteilung der Ankunftsabstände bzw. ßediendauern. Bild 1.3 zeigt das Modell. Wir nehmen stationäres Gleichgewicht an und lassen zu, daß das Angebot p ^ > 1 sein darf. Das Modell eignet sich zur Betrachtung der Abarbeitung konkurrierender Rechenprozesse mit unterschiedlicher Priorität durch den Rechnerkern. Auch die Abarbeitung von Gruppen von Prozessen (im Sinne des Beispiels Bild 2.2) kann hiermit untersucht werden.
5.1
Ergebnisse für die Abfertigungsstrategie PRE-resume
Bei dieser Art von Prioritäten wird eine unterbrochene Anforderung später fortgesetzt, d.h. geleistete Prozessor-Arbeit geht bei einer Unterbrechung nicht verloren. Für Anforderungen der ersten Priorität gelten alle Ergebnisse des Modells M/G/1/FCFS, auch wenn Anforderungen verschiedener Priorität verschiedene Bediendauer-Verteilungsfunktionen haben. Man kann diese Priorität mit dem Angebot pj separat betrachten. Mit den Abkürzungen, Gin.(4.1) bis (4.3), sind die ersten beiden Momente der Wartezeit-Verteilungsfunktion aus den Gin.(4.6) und (4.7) gegeben, wobei jetzt einzusetzen ist W
k(1)
W
(2)
t2(l-p£k)] ,
(5.1)
(5.2)
Diese Momente betreffen nur die Wartezeit auf Beginn der Bearbeitung. Die Gl. (4.10) gi1t weiterhin.
5.1
Ergebnisse
für die Abfertigungsstrategie
PRE-resume
75
Bei einer Strategie mit nicht-unterbrechenden Prioritäten NONPRE (Kap. 4) sind w[ r ) die Momente der insgesamt auftretenden Wartezeitverteilung. Dagegen treten bei unterbrechenden Prioritäten (PRE) weitere Wartezeiten dadurch auf, daß die Bearbeitung vorübergehend ausgesetzt werden darf. Solche Zeiten werden als Verzögerungszeiten bezeichnet und gesondert betrachtet. Die mittlere Verweilzeit einer Anforderung bei unterbrechenden Prioritäten setzt sich zusammen aus der mittleren Wartezeit W^ bis zum Beginn der Bearbeitung, der mittleren Bediendauer ß^ und der mittleren Verzögerung durch die Bearbeitung später eingetroffener, wichtigerer Anforderungen [Jai 1] ß,. V,.
W
k
+ ß
k
+
I T ~J = 1 . Dann hängen die minimale gemeinsame mittlere Wartezeit und die günstigste Prioritätenzuordnung sehr vom Belastungsfall und dem Gesamtangebot p £fJ ab. Die Regel Gl.(5.6), als Faustformel angewandt, i s t so gut wie jede andere Regel. Im Teil
II
wird gezeigt werden, daß hier interne Prioritäten anstelle der externen statischen Prioritäten angewandt werden sollten. c) Eine Mischung von Bediendauer-Vertei 1 ungen mit C < 1 und C> 1 l i e g t vor. Dabei i s t die Anwendung der Gl.(5.6) als Faustformel dann v o r t e i l h a f t , wenn mit aufsteigendem Bediendauer-Erwartungswert ß^ auch der Variationskoeffizient C.j zunimmt. Generell sind aber auch hier interne Prioritäten vorzuziehen, denn die gemeinsame mittlere Wartezeit kann dabei u.U. erheblich kleiner werden als mit statischen (externen) Prioritäten.
78
5.2
5. Das Modell M/G/1/FCFS/PRE; statische Prioritäten
Ergebnisse für die Abfertigungsstrategie PRE-repeat
Bei d i e s e r A b f e r t i g u n g s s t r a t e g i e muß eine unterbrochene Anforderung wieder von vorn b e a r b e i t e t werden, d . h . eine t e i l w e i s e b e a r b e i t e t e Anforderung w i r d durch e i n e Unterbrechung zu e i n e r unbearbeiteten Anforderung - g e l e i s t e t e
Prozessor-
A r b e i t geht v e r l o r e n . I n manchen Real Z e i t r e c h n e r n w i r d d i e Gruppe der H i n t e r grundaufgaben (das s i n d p r i o r i t ä t s l o s e Anforderungen) so behandelt. Für die Modell-Berechnung u n t e r s c h e i d e t man zwei *
Fälle:
Die Bediendauer e i n e r unterbrochenen Anforderung i s t w e i t e r h i n v ö l l i g kannt, a l s o nur durch d i e gemeinsame V e r t e i l u n g s f u n k t i o n a l l e r gen gegeben (PRE-repeat with r e s a m p l i n g ,
*
unbe-
Anforderun-
PRE-ws);
d i e Bediendauer e i n e r unterbrochenen Anforderung i s t schon t e i l w e i s e bekannt, nämlich größer a l s die b i s zur Unterbrechung verbrauchte P r o z e s s o r z e i t (PRE-repeat w i t h o u t resampling, P R E - o s )
Der l e t z t e r e F a l l
i s t der p r a x i s n ä h e r e , macht aber g l e i c h z e i t i g den größten
Aufwand bei der Berechnung. Zur Unterscheidung der E r g e b n i s s e w i r d , f a l l s wendig, neben der Gleichungsnummer die S t r a t e g i e a b k ü r z u n g
not-
(PRE-ws bzw. P R E - o s )
angefügt. Jede Unterbrechung e i n e r Anforderung der P r i o r i t ä t k f ü h r t f ü r s i e zu e i n e r Pause der Dauer T ^ .
Eine Anforderung kann durchaus mehrmals zum P a u s i e r e n ge-
zwungen werden. Die gesamte Bediendauer T ^ e i n e r Anforderung i s t a l s Folge von Unterbrechungen (und dadurch bedingte Wiederholungen) größer a l s d i e u r s p r ü n g l i c h g e f o r d e r t e (und bei der S t r a t e g i e PRE-resume a u f t r e t e n d e )
Bediendauer.
Nach B i l d 5 . 3 kann z . B . die gesamte Bediendauer aus zwei "verschwendeten" Bea r b e i t u n g s d a u e r n b ' l und b ' 2 und e i n e r e r f o l g r e i c h e n Dauer b bestehen. U n t e r s t e l l t man N Unterbrechungen pro A n f o r d e r u n g , dann besteht d i e dauer aus N voneinander unabhängigen Paaren b ' i + T ^
Fertigstel1ungs-
(mit i = 1 , . . N ) und e i n e r
unabhängigen (bei PRE-ws) bzw. e i n e r bestimmten Bediendauer b > m ? x ( b ' i ) .
Unter rechungen
Ani unft
*
. -
Wartezeit
b' 1
- — Pausen — ' — T *
Die
En de _
Zeit b
. Fertigstelldaue r Verweildauer
B i l d 5.3:
B e i s p i e l f ü r die Bearbeitung e i n e r Anforderung unter der S t r a t e g i e PRE-repeat. Die gesamte Bediendauer i s t Tg^ = b 1 1 + b 1 2 + b .
79
5.2 Ergebnisse für die Abfertigungsstrategie PRE-repeat
Wahrscheinlichkeit, daß eine Bedienung ausreicht, um die gesamte Bediendauer b k der Anforderung abzuarbeiten, i s t f ü r die Strategie PRE-ws über die LaplaceStieltjes-Transformierte der Bediendauer-Verteilung B k ( b k s t ) von Anforderungen vom Typ k [Con 1, S. 171] mit, vgl. Gl.(1.13), s = ^