Realzeitrechner-Modelle: Theorie und Anwendung [Mit 5 ALGOL-Programmen. Reprint 2019 ed.] 9783110656046, 9783486215519


204 87 11MB

German Pages 240 Year 1978

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Inhaltsverzeichnis
Zusammenfassung
Einleitung
Übersicht
Teil I. Theorie Modelle und ihre Berechnung
1. Grundlagen Verkehrstheoretische Modellierung, charakteristische Größen, Prioritäten, Strategien und Transformationen
2. Allgemeines zur Ablaufsteuerung in Realzeitrechnern und ihrer Modellierung
3. Das Modell M/G/1 Das
4. Das Modell M/G/1/FCFS/NONPRE; statische Prioritäten
5. Das Modell M/G/1 /FCFS/PRE; statische Prioritäten
6. Das Modell M/G/1/FCFS/PRE-DI; statische Prioritäten; Verwaltungszeit
7. Das Modell M/G/1/FCFS/MIX mit Umschaltzeit; statische Prioritäten
8. Das Modell M/(G)/1/FCFS/PRE-DE; statische Prioritäten
9. Das Modell M/G/1 /FCFS/CYCLIC mit Umschaltzeit; statische Prioritäten
10. Modelle mit Stapelzugangsprozeß
11. Periodische Anforderungen; Modelle vom Typ: Periodisch/G/1 /Strategie
12. Dynamische Prioritäten und ereignisgesteuerter Betrieb
13. Statische und dynamische Prioritäten
14. Interne Prioritäten für Realzeitrechner
Teil II: Anwendungen Wartezeitoptimale Strategien für verschiedene Belastungsbeispiele
Einleitung
15. Zur wartezeitoptimalen Vergabe von statischen Prioritäten bei ereignisgesteuertem Betrieb
16. Ergebnisse für wartezeitoptimale Strategien mit internen Prioritäten bei ereignisgesteuertem Betrieb
17. Vergleich statischer und dynamischer Prioritäten bei taktgesteuertem Betrieb und bekannten Bediendauern
18. Vergleich statischer und dynamischer Prioritäten bei ereignisgesteuertem Betrieb
19. Unterschiedlich wichtige Gruppen von Anforderungen
20. Schlußbemerkungen und Ausblick
Abkürzungsverzeichnis
Anhang
Literaturverzeichnis
Stichwortverzeichnis
Recommend Papers

Realzeitrechner-Modelle: Theorie und Anwendung [Mit 5 ALGOL-Programmen. Reprint 2019 ed.]
 9783110656046, 9783486215519

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

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



(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 = ^