klaus.tex 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. %-----------------------------------------------------------------------------------------------------------------
  2. \chapter{Abschätzungen und Näherungen}
  3. %-----------------------------------------------------------------------------------------------------------------
  4. \section{Abschätzungen}
  5. %------------------------------------------------------------------------------------------------------------------
  6. Die Ergebnisse des vorigen Abschnittes sind deswegen etwas unbefriedigend, weil die angestrebte Zerlegung nur in
  7. Spezialfällen möglich ist. Im allgemeinen Fall müssen wir uns darauf beschränken, Abschätzungen und
  8. näherungsweise Lösungen zu finden.
  9. Wir gehen wieder von unserer Rekursionsgleichung aus:
  10. \[w_{n+1} = (w_{n}+u_{n})_{+} \]
  11. Wir führen eine neue Zufallsvariable $y_{n}$ ein, die den entsprechenden Negativteil darstellt:
  12. \[y_{n} = (w_{n}+u_{n})_{-} ~ ~ ~ ~ ~ ((x)_{-} := (-x)_{+}) ~. \]
  13. Damit erhalten wir
  14. \[ w_{n+1}-y_{n} = w_{n}+u_{n} ~.\]
  15. Das gibt für die Erwartungswerte:
  16. \[\E(w_{n+1})-\E(y_{n}) = \E(w_{n})+\E(u_{n}) ~.\]
  17. Für $n$ $\rightarrow$ $\infty$ ergibt sich
  18. \[-\E(y) = \E(u) = \E(x) - \E(t) \qquad \mbox{oder} \qquad \E(y) = \E(t) - \E(x) ~.\]
  19. Leider haben wir keine Beziehung für die Wartezeit (Anmerkung: in den letzten Gleichungen steht nur eine Beziehung für die Verteilungen).
  20. Als nächstes quadrieren wir die Ausgangsgleichung
  21. \[ w_{n+1}^{2}+y_{n}^{2}-2w_{n+1}y_{n}=w_{n}^{2}+2w_{n}u_{n}+u_{n}^{2} ~.\]
  22. Wegen \( (x)_{+}(x)_{-} = 0 \) ist \( w_{n+1}y_{n} = 0 ~,\) also
  23. \[w_{n+1}^2 + y_{n}^2 = w_{n}^2+2w_{n}u_{n}+u_{n}^2 ~.\]
  24. Wenn wir wieder die Erwartungswerte berchnen und \(n \rightarrow \infty \) gehen lassen, so ergibt sich
  25. \begin{eqnarray*}
  26. \E(w^{2})+\E(y^{2})&=&\E(w^{2})+2\E(wu)+\E(u^{2}) = \\
  27. &=&\E(w^{2})+2\E(w)\E(u)+\E(u^{2}) \\
  28. \end{eqnarray*}
  29. ($w_{n}$ und $u_{n}$ sind ja unabhängig).
  30. Schließlich haben wir
  31. \[\E(w) = \frac{\E(u^{2})-\E(y^{2})}{-2\E(u)} \qquad [\E(u) \mbox{ ist ja negativ}] ~.\]
  32. Wir erhalten eine obere Abschätzung, wenn wir $\E(y^{2})$ nach unten abschätzen. Dazu verhilft uns die Ungleichung
  33. \[\E(y^{2}) \geq (\E(y))^{2} = (\E(u))^{2} \qquad \mbox{also }\]
  34. \[\E(w^{2}) \leq \frac{{\bf Var}(u)}{-2\E(u)} = \frac{{\bf Var}(x)+{\bf Var}(t)}{-2\E(u)} ~.\]
  35. Für eine obere Abschätzung für $\E(y^{2})$ beachten wir, daß
  36. \[y=(w+u)_{-} \leq (u)_{-} \quad \mbox{da} \quad w \geq 0 ~.\]
  37. Wegen$ \quad u^{2} = ((u)_{+}-(u)_{-})^{2} = ((u)_{+})^{2}+((u)_{-})^{2} \quad $erhalten wir
  38. \[\E(w) \geq \frac{(\E((u)_{+}))^{2}}{-2\E(u)} ~.\]
  39. Ein weiterer Weg, eine untere Abschätzung zu finden ist folgender:
  40. \[\E(w_{n+1}) = \E(w_{n}+u_{n})_{+} = \E[\E((w_{n}+u_{n})_{+}\vert w_{n})] ~.\]
  41. Wenn wir für die Verteilungsfunktion von $u_{n}$
  42. \[C(y)=\PP(u_{n} \leq y) \]
  43. setzen, erhalten wir
  44. \[\E((w_{n}+u_{n})_{+} \vert w_{n} = y) = \int_{-y}^{\infty}(u+z)dC(z) = \int_{-y}^{\infty}(1-C(z))dz =: g(y) ~.\]
  45. Also
  46. \[\E(w_{n+1}) = \E(g(w_{n}))\]
  47. $g$ ist konvex ($g'$ ist monoton), also können wir die JENSEN'sche Ungleichung anwenden:
  48. \[\E(g(w_{n})) \geq g(\E(w_{n}))~.\]
  49. Für $n \rightarrow \infty$ ergibt sich
  50. \[\E(w) \geq g(\E(w)) ~.\]
  51. Wir betrachten die Gleichung
  52. \[g(y) = y ~.\]
  53. Die Funktion $y-g(y)$ hat die Ableitung $G(-y) \geq 0$, ist also monoton.\\
  54. Weiters ist $g(0) = \E((u_{n})_{+}) > 0 \mbox{ falls } W(u_{n} > 0) > 0$ ist (andernfalls ist $w = 0$).\\
  55. Für $n \rightarrow \infty$ ist $g(y) \rightarrow \E(u) < 0$, es gibt also eine eindeutig bestimmte Lösung $y_{0}$, für die $g(y_{0}) = y_{o}$, und
  56. \[\E(w) \geq g(y_{o}) ~.\]
  57. %------------------------------------
  58. \section{Näherungen}
  59. %------------------------------------
  60. \bigskip
  61. Ähnlich wie die Abschätzungen des vorigen Kapitels sollen uns die Näherungen dieses Abschnittes dazu dienen, ungefähre Aussagen über das qualitative
  62. Verhalten einer Warteschlange zu treffen. Eine Möglichkeit besteht darin, die auftretenden Verteilungen durch solche zu ersetzen, für die wir exakte Ergebnisse
  63. kennen. Dazu können wir etwa folgende Klassen von Verteilungen verwenden:
  64. \begin{enumerate}
  65. \item {\bf Verteilungen mit rationaler Laplacetransformation}
  66. Man kann jede Verteilung durch Verteilungen mit rationalen Laplacetransformationen annähern. Für diese Verteilungen kann \\
  67. man die Spektralzerlegung für $G/G/1$ \enquote{leicht} durchführen: \\
  68. man findet die Nullstellen von Zähler und Nenner und ordnet sie, je nachdem in welcher Halbebene sie liegen, entweder
  69. der Funktion $\Psi^{+}$ oder $\Psi^{-}$zu.
  70. \item {\bf Diskrete Verteilungen}
  71. Ähnlich wie unter $1.$ kann man jede Verteilung durch eine diskrete Verteilung annähern. Das folgende Beispiel zeigt, wie die diskreten Verteilungen behandelt
  72. werden können:\\
  73. Es sei
  74. \begin{eqnarray*}
  75. \PP(t_{n}=1)=a, \quad \PP(t_{n}=2)=1-a \\
  76. \PP(x_{n}=1)=b, \quad \PP(x_{n}=2)=1-b
  77. \end{eqnarray*}
  78. [$b>a$].
  79. Für $u_{n}=x_{n}-t_{n+1}$ ergibt sich:
  80. \begin{eqnarray*}
  81. \PP(u_{n}=-1)&=&b(1-a) \\
  82. \PP(u_{n}=1)&=&a(1-b) \\
  83. \PP(u_{n}=0)&=&ab+(1-a)(1-b) ~.
  84. \end{eqnarray*}
  85. Für die stationäre Verteilung der Wartezeit $w$ ergibt sich die Rekursion
  86. \begin{eqnarray*}
  87. p_{k}&=&a(1-b)p_{k-1}+(ab+(1-a)(1-b))p_{k}+b(1-a)p_{k+1} \\
  88. p_{0}&=&(a(1-b)+ab-(1-a)(1-b))p_{0}+b(1-a)p_{1} ~.
  89. \end{eqnarray*}
  90. Wir erhalten
  91. \begin{eqnarray*}
  92. p_{k}&=&p_{0}\left( \frac{a(1-b)}{b(1-a)}\right)^{k} \\
  93. p_{0}&=&1-\frac{a(1-b)}{b(1-a)}=\frac{b-a}{b(1-a)} ~.\\
  94. \end{eqnarray*}
  95. Falls wir mehr als zwei mögliche Werte für $x$ bzw. $t$ haben, müssen wir eine Rekursion höherer Ordnung lösen; dazu sind bekanntlich die Nullstellen des
  96. charakteristischen Polynoms zu bestimmen. Auch hier, ebenso wie im im vorigen Abschnitt, reduziert sich also das Problem auf die Lösung einer algebraischen
  97. Gleichung. Diese Lösung ist für hohe Polynomgrade nur numerisch möglich. Dies und die Tatsache, daß man nicht genau weiß, wie eine \enquote{gute} Näherung zu
  98. wählen
  99. ist, reduziert die Brauchbarkeit dieser beiden Näherungen.
  100. \item {\bf Approximation für starke Auslastung (\enquote{Heavy traffic approximation})}
  101. Wir betrachten den Fall $\rho \approx 1$. \\
  102. Ausgangspunkt unserer Betrachtungen ist die Spektralzerlegung der $G/G/1$:
  103. \[\frac{\Psi^{+}(s)}{\Psi^{-}(s)}=\tilde A (-s)\tilde B (s)-1 ~.\]
  104. Für $s \rightarrow 0$ erhalten wir daraus die Entwicklung
  105. \begin{eqnarray*}
  106. \frac{\Psi^{+}(s)}{\Psi^{-}(s)}&=&(\E(t)-\E(x))s+\frac{s^{2}}{2}\E((x-t)^{2})+o(s^{2})= \\
  107. &=&(1-\rho)s\E(t)+\frac{s^{2}}{2}\E((x-t)^{2})+o(s^{2})= \\
  108. &=&(1-\rho)s\E(t)+\frac{s^{2}}{2}({\bf Var}(x)+{\bf Var}(t)+ \\
  109. &+&(1-\rho)^{2}(\E(t))^{2}) + o(s^{2}) ~.
  110. \end{eqnarray*}
  111. Für $\rho \approx 1$ ist $(1-\rho)^{2}(\E(t))^{2}$ zu vernachlässigen, also
  112. \begin{eqnarray*}
  113. \frac{\Psi^{+}(s)}{\Psi^{-}(s)}&\approx&(1-\rho)s\E(t)+\frac{s^{2}}{2}({\bf Var}(x)+{\bf Var}(t))+o(s^{2}) \approx \\
  114. &\approx&s(s-s_{0}) \frac{{\bf Var}(x)+{\bf Var}(t)}{2} ~.
  115. \end{eqnarray*}
  116. $\Psi^{+}(s)$ ist in der Nähe von $0$ stetig, also haben wir
  117. \[\Psi^{+}(s) \approx Cs(s-s_{o})\]
  118. mit
  119. \[s_{0}=-\frac{2(1-\rho)\E(t)}{{\bf Var}(x)+{\bf Var}(t)} \]
  120. und
  121. \[C=\Psi^{-}(0)\frac{{\bf Var}(x)+{\bf Var}(t)}{2} ~. \]
  122. Wir erhalten daraus
  123. \[\Phi(s) \approx -\frac{s_{0}}{s(s-s_{0})}=\frac{1}{s}-\frac{1}{s-s_{0}} ~.\]
  124. Also ergibt sich für die Verteilungsfunktion der Wartezeit
  125. \[ F(y) \approx 1 - e^{-y\frac{2\E(t)(1-\rho)}{{\bf Var}(x)+{\bf Var}(t)}} ~.\]
  126. Die Wartezeit ist also näherungsweise exponentialverteilt mit Mittel
  127. \[\E(w)=\frac{{\bf Var}(x)+{\bf Var}(t)}{2\E(t)(1-\rho)} ~.\]
  128. Dieses Ergebnis kann man als \index{Satz!Zentraler Grenzwertsatz für Warteschlangen}\enquote{zentralen Grenzwertsatz} für Warteschlangen betrachten.
  129. Das Mittel dieser Exponentialverteilung haben wir bereits als obere
  130. Abschätzung für die mittlere Wartezeit erhalten.
  131. \item{\bf Die Flussapproximation}
  132. Diese Näherung geht von einer einfachen Idee aus:\\
  133. Wir ersetzen die Ankünfte und Bedienvorgänge durch konstante Ströme von $\lambda$ bzw. $\mu$ Kunden
  134. pro Zeiteinheit. In unserem Standardmodell $(\lambda < \mu)$ ergibt sich aus dieser Näherung natürlich, daß die
  135. Schlange stets leer ist, was offensichtlich nicht sehr brauchbar ist.
  136. Für zwei Fälle gibt diese Approximation aber doch interessante Resultate:
  137. \begin{enumerate}
  138. \item Falls $\mu < \lambda$ ist, wächst die Anzahl der Kunden im System um $(\lambda - \mu)$ Kunden pro Zeiteinheit.
  139. \item Falls $\lambda < \mu$ ist, und falls die Anzahl der Kunden groß ist, kann man die Zeit, bis das System wieder leer ist, mit Hilfe dieser
  140. Näherung berechnen.
  141. \end{enumerate}
  142. \item{\bf Die Diffusionsnäherung}
  143. Dies ist wie die vorige Näherung eine Approximation durch einen kontinuierlichen Prozeß. Diesmal wird auch die Varianz betrachtet.
  144. Es sei $N_{a}(u)$ die Anzahl der Kunden, die bis zur Zeit $t$ ankommen.\\
  145. Es gilt die Beziehung
  146. \[ N_{a}(u) \geq n \Leftrightarrow T_{n} \geq u \]
  147. $T_{n}$ ist, wie üblich, die Ankunftszeit des $n$-ten Kunden.
  148. Aus dem Gesetz der großen Zahlen folgt:
  149. \[ T_{n} \approx n\E(t) ~.\]
  150. Das impliziert
  151. \[N_{a}(u) \approx \lambda u ~. \]
  152. Der zentrale Grenzwertsatz gibt uns
  153. \[\PP(T_{n} \leq n\E(t)+z\sqrt{n{\bf Var}(t)}) = \Phi (z) ~. \]
  154. Daraus ergibt sich für großes n
  155. \begin{eqnarray*}
  156. & &\PP(N_{a}\geq\lambda u + y\sqrt{u}) = \\
  157. & & ~ ~=\PP(T_{\lambda u + y\sqrt{u}} \leq u) = \\
  158. & & ~ ~=\PP(T_{\lambda u + y\sqrt{u}} \leq \E(t)(\lambda u + y\sqrt{u}) - y\E(t)\sqrt{u} ) = \\
  159. & & ~ ~=\PP(T_{\lambda u + y\sqrt{u}} \leq \E(t)(\lambda u + y\sqrt{u}) - \\
  160. & & ~ ~ ~ ~ ~- y\sqrt{(\E(t))^{3}(\lambda u + y\sqrt{u})})=\\
  161. & &~ ~=\PP(T_{\lambda u + y\sqrt{u}} \leq \E(t)(\lambda u + y\sqrt{u}) - \\
  162. & & ~ ~ ~ ~ ~-\frac{y}{\sqrt{\lambda ^{3}{\bf Var}(t)}}\sqrt{{\bf Var}(t)(\lambda u + y\sqrt{u})}) \\
  163. & &~ ~=1 - \Phi(\frac{y}{\sqrt{\lambda ^{3}{\bf Var}(t)}}) ~.
  164. \end{eqnarray*}
  165. $N_{a}(u)$ ist also näherungsweise normalverteilt mit Mittel $u\lambda$ und Varianz $u\lambda^{3}{\bf Var}(t)$. Genauso erhält man für die Anzahl $N_{b}(u)$
  166. der
  167. Kunden, die während der Zeit $u$ bedient werden (wenn die Schlange nicht leer ist) eine näherungsweise Normalverteilung mit Mittel $\mu u$ und Varianz
  168. $\mu^{3}u{\bf Var}(x)$. Wir nehmen jetzt an, daß diese Werte durch kontinuierliche Beiträge zustande kommen, d.h. die \enquote{Anzahl} der Ankünfte (bzw.
  169. Bedienvorgänge)
  170. in der kurzen Zeit $\Delta u$ soll normalverteilt mit Mittel $\lambda\Delta u$ (bzw. $\mu\Delta u$) und Varianz $\lambda^{3}\Delta u{\bf Var}(t)$ (bzw.
  171. $\mu^{3}\Delta
  172. u{\bf Var}(x)$) sein. Die Anzahl der Ankünfte bzw. Bedienvorgänge über disjunkten Intervallen sollen natürlich unabhängig sein. Die Änderung der Anzahl der
  173. Kunden
  174. im System während der Zeit $\Delta u$ ist dann normalverteilt mit Mittel $\Delta u(\lambda - \mu)$ und Varianz $\Delta u\sigma^{2}$ mit $\sigma^{2} =
  175. \lambda^{3}{\bf Var}(t) + \mu^{3}{\bf Var}(x)$.\\
  176. (Die letzte Beziehung gilt natürlich nur, wenn die Anzahl der Kunden im System $> 0$ ist).
  177. Es sei nun
  178. \[F(x,u) = \PP(N(u) \leq x) ~.\]
  179. Wir stellen eine Gleichung für $F(x,u+\Delta u)$ auf, dabei sei $X(\Delta u)$ die Änderung der Kunden während $\Delta u$:
  180. \begin{eqnarray*}
  181. F(x,u+\Delta u)&=&\PP(N(u+\Delta u) \leq x) = \\
  182. &=&\PP(N(u)+X(\Delta u) \leq x) = \\
  183. &=&\PP(N(u) \leq x - X(\Delta u)) = \\
  184. &=&\E(F(x-X(\Delta u),u)) = \\
  185. &=&\E(F(x,u)-F_{x}(x,u)X(\Delta u) + \\
  186. & &+ \frac{1}{2}F_{xx}(x,u)X(\Delta u)^{2} + o(\Delta u)) = \\
  187. &=&F(x,u)-F_{x}(x,u)\E(X(\Delta u)) + \\
  188. & &+\frac{1}{2}F_{xx}(x,u)(\E(X(\Delta u)^{2})) + o(\Delta u) = \\
  189. &=&F(x,u)-F_{x}(x,u)\Delta u(\lambda-\mu) + \\
  190. & &+\frac{1}{2}F_{xx}(x,u)\sigma^{2}\Delta u + o(\Delta u) ~.
  191. \end{eqnarray*}
  192. Wenn man $F(x,u)$ nach links bringt, durch $\Delta u$ dividiert, und $\Delta u \rightarrow 0$ gehen läßt, ergibt sich
  193. \begin{eqnarray*}
  194. F_{u}(x,u)&=&(\mu - \lambda)F_{x}(x,u) + \frac{1}{2}\sigma^{2}F_{xx}(x,u) \qquad (x \geq 0) \\
  195. & & \\
  196. F(x,0)&=&1 \qquad (x \geq 0) \\
  197. F(x,0)&=&0 \qquad (x < 0) \\
  198. F(0,u)&=&0 \qquad (u > 0) ~.
  199. \end{eqnarray*}
  200. Die Anfangsbedingung ergibt sich aus der Forderung, daß das System zur Zeit $0$ leer sein soll, und die Randbedingung daraus, daß die Anzahl der Kunden nicht
  201. negativ sein darf.
  202. Man kann sehr leicht die Lösung der Gleichung ohne Randbedingung finden, indem man die Laplace-Transformation anwendet:
  203. \[G(z,u)=\int_{-\infty}^{\infty} e^{-xz}F(x,u)\diff x ~.\]
  204. Wir erhalten nach einigen partiellen Integrationen:
  205. \[G_{u}(z,u) = (\mu-\lambda)zG(z,u)+\frac{1}{2}\lambda^{2}z^{2}G(z,u) ~, \]
  206. also
  207. \[ G(z,u) = G(z,0)e^{\frac{1}{2}\sigma^{2}z^{2}+(\mu - \lambda)z} \]
  208. und, da $G(z,0)=\frac{1}{z}$
  209. \[G(z,u) = \frac{1}{z}e^{\frac{1}{2}\sigma^{2}uz^{2}+(\mu - \lambda)zu} ~.\]
  210. Die Inversion der Laplace-Transformation liefert
  211. \[F(x,u)=\Phi\left(\frac{x+(\mu - \lambda)u}{\sqrt{\sigma^{2}u}}\right) ~. \]
  212. Um die Gleichung mit der Randbedingung zu lösen, suchen wir zuerst die stationäre Verteilung. Diese ergibt sich aus der obigen Gleichung, wenn $F(x,u)$ nicht
  213. von $u$ abhängt. Dann ist natürlich die Ableitung nach $u = 0$, und wir erhalten:
  214. \[ F'_{0}(x)(\mu - \lambda)+\frac{1}{2}\sigma^{2}F''(x)=0 ~. \]
  215. Diese Gleichung hat die allgemeine Lösung
  216. \[F(x) = C_{1}+C_{2}e^{\frac{2(\lambda - \mu)}{\sigma^{2}}x} ~. \]
  217. Da $F(0) = 0$ und $F(\infty) = 1$ sein soll, erhalten wir
  218. \[F(x) = 1-e^{\frac{2(\lambda - \mu)}{\sigma^{2}}x} ~. \]
  219. Es ergibt sich also wieder eine Exponentialverteilung für die Wartezeit. Für $\rho \rightarrow 1$ stimmt diese Verteilung in erster Näherung mit der aus
  220. Abschnitt $3.$ überein. Mit etwas mehr Arbeit kann man die folgende Lösung der partiellen Differentialgleichung erhalten:
  221. \[F(x,u)=\Phi\left(\frac{x+u(\mu - \lambda)}{\sqrt{\sigma^{2}u}}\right)-e^{\frac{2(\mu - \lambda)}{\sigma^{2}}x}\Phi\left(\frac{-x+u(\mu -
  222. \lambda)}{\sigma^{2}}\right) ~.\]
  223. \end {enumerate}
  224. %------------------------------------------------------------------------------------
  225. \chapter{Time-Sharing}
  226. %------------------------------------------------------------------------------------
  227. Wir wollen jetzt unsere Kenntnisse auf eine Analyse von Fragen anwenden, die bei Time-sharing Anwendungen auftreten. \\
  228. Wir betrachten den einfachsten Fall, daß nur eine CPU vorhanden ist, die \enquote{gleichzeitig} mehrere Programme bearbeiten muß.
  229. Dazu wird jeweils eines der wartenden Programme ausgewählt, in den Hauptspeicher geladen, eine kurze Zeit (die sog. \index{Zeitscheibe}\enquote{Zeitscheibe}) gerechnet,
  230. aus dem
  231. Hauptspeicher entfernt, und das Spiel mit dem nächsten Programm fortgesetzt. Jedes Programm braucht eine bestimmte \index{Rechenzeit}Rechenzeit $x$, und sobald
  232. diese Zeit (in
  233. Form von einzelnen Zeitscheiben) abgearbeitet ist, verläßt das Programm das System. Da wir keine a-priori Information über die Rechenzeit eines Programmes
  234. voraussetzen, können wir die Jobs nur aufgrund der schon verbrauchten Rechenzeit klassifizieren, und die Auswahl des nächsten Programms nach dieser verbrauchten
  235. Rechenzeit treffen. Dabei können wir verschiedene Ziele verfolgen:
  236. \begin{enumerate}
  237. \item kurze Programme sollen möglichst schnell erledigt werden. Dadurch wird die Anzahl der Programme im System klein gehalten, was den Verwaltungsaufwand
  238. reduziert; außerdem ist es psychologisch ungünstig, wenn ein Kunde auf ein 2-Sekunden-Programm eine Stunde warten muß.
  239. \item eine möglichst \enquote{gerechte} Verteilung wäre eine, bei der die Zeit, die ein Job im System verbringt, proportional zur Rechenzeit ist; nur dann ist es nicht
  240. möglich, durch Aufteilen eines langen Programmes in mehrere kürzere bzw. durch Zusammenfassen mehrere kürzere Programme einen Zeitgewinn zu erzielen.
  241. \end{enumerate}
  242. Wir machen folgende Annahmen:
  243. \begin{enumerate}
  244. \item Die Ankünfte erfolgen nach einem Poissonprozeß mit Rate $\lambda$, die Rechenzeiten sind unabhängig mit Verteilungsfunktion $B$ (wir haben also eine
  245. $M/G/1$-Situation) mit Dichte $b$.
  246. \item Die Zeitscheibe nehmen wir als infinitesimal an; weiters nehmen wir an, daß wir die Zeit zum Austauschen vernachlässigen können.
  247. \item Wir betrachten nur die stationären Verteilungen.
  248. \end{enumerate}
  249. $N(u)$ sei die mittlere Anzahl von Jobs, deren verbrauchte Rechenzeit $\leq u$ ist. Dazu möge eine Dichte $n(u)$ existieren, sodaß
  250. \[N(u)=\int_{0}^{u}n(s)ds \]
  251. ist.
  252. $T(u)$ sei die Zeit, die im Durchschnitt vergeht, bis ein Job $u$ Sekunden Rechenzeit bekommt. \\
  253. $W(u)$ sei die Wartezeit eines Jobs mit $u$ Sekunden Rechenzeit, also
  254. \[W(u) = T(u) - u ~. \]
  255. Wir betrachten die Jobs, die schon zwischen $u$ und $u+\Delta u$ Sekunden gerechnet haben, als eine eigene Warteschlange. Hier kommen alle Jobs durch, deren
  256. Rechenzeit $\geq u$ ist. Die Ankunftsrate in dieser Schlange ist also $\lambda(1-B(u))$.\\
  257. Die mittlere Aufenthaltsdauer ist $T(u+\Delta u) - T(u)$, und die mittlere Anzahl von Jobs in dieser Schlange ist $\approx n(u)\Delta u$. \\
  258. Mithilfe des Satzes von Little ergibt sich die Beziehung
  259. \[n(u)=\lambda (1-B(u))\frac{\diff T(u)}{\diff u} ~. \]
  260. Wir betrachten die folgende Strategien:
  261. \begin{enumerate}
  262. \item {\bf FCFS} (\enquote{Batch})
  263. \item {\bf LCFS} (prä-emptiv): ein Job, der das System betritt, wird sofort bearbeitet (ein eventuell laufender Job wird dazu unterbrochen); wenn ein Job fertig
  264. ist, wird der zuletzt unterbrochene weiterbearbeitet.
  265. \item {\bf \index{Round Robin}Round Robin (RR)}: alle Jobs, die im System sind, werden der Reihe nach bearbeitet (abwechselnd).
  266. \item Es wird jeweils der Job bearbeitet, der am wenigsten Rechenzeit verbraucht hat.
  267. \end{enumerate}
  268. Es sollte Strategie 4 kurze Jobs am meisten bevorzugen, 1 am wenigsten, 2 und 3 sollten dazwischen liegen.
  269. \begin{enumerate}
  270. \item Kennen wir von früher; hier ist die Wartezeit $W(u)$ konstant, und zwar ist
  271. \[W(u) = \frac{\lambda \E(x^{2})}{2(1-\rho)} \]
  272. und
  273. \[T(u) = u + \frac{\lambda \E(x^{2})}{2(1-\rho)} ~. \]
  274. \item Hier ist $T(u)$ leicht zu bestimmen. Denn $T(u)$ ist gleich der Rechenzeit $u$ plus der Summe der Rechenzeiten aller Programme, die während $T(u)$
  275. ankommen.
  276. Während $T(u)$ kommen $\lambda T(u)$ Programme an, jedes bringt im Schnitt $\E(x)$ Sekunden Rechenzeit mit, also gilt
  277. \[T(u) = u + \lambda T(u)\E(x)=u + \rho T(u) ~,\]
  278. also
  279. \[T(u)=\frac{u}{1-\rho} ~. \]
  280. Wir haben also ein \enquote{gerechtes} Verfahren gefunden.
  281. \item Wenn sich $N$ Programme im System befinden, bekommt ein bestimmtes Programm $\frac{1}{N}$ der gesamten Rechenzeit. \\
  282. Daher ist $\diff T(u) = N \diff u$. Da nur gerechnet wird, wenn das System nicht leer ist, ergibt sich:
  283. \[ T(u)=u\E(N \mid N \not= 0)=Cu, \]
  284. also wieder ein \enquote{gerechtes} System. Um $C$ zu bestimmen, betrachten wir den Fall $u \rightarrow \infty$. Wenn $u$ groß ist, werden die meisten Jobs, die während
  285. $T(u)$ ankommen, auch noch während $T(u)$ das System verlassen. Für großes $u$ ist also das Verhalten ähnlich wie im vorigen Fall, und wir erhalten wieder
  286. \[T(u)=\frac{u}{1-\rho} ~. \]
  287. \item Wenn wir ein Programm betrachten, das genau $u$ Sekunden Rechenzeit benötigt, dann sehen wir, daß für $T(u)$ von der Rechenzeit aller anderen Programme
  288. nur der Teil von Bedeutung ist, der kleiner als $u$ ist. Aus der Sicht dieses Programmes können wir also $x$ durch $(x \land u)$ ersetzen, und die
  289. Verteilungsfunktion $B$ durch:
  290. \[
  291. B_{u}(y) = \left\{
  292. \begin{array}{lc}
  293. B(y) & y<u \\
  294. 1 & y \geq u
  295. \end{array} \right. ~.
  296. \]
  297. $W(u)$ setzt sich jetzt zusammen aus der restlichen Rechenzeit aller Programme, die vor unserem Programm angekommen sind, plus der Summe der Rechenzeiten von
  298. allen Programmen, die während $T(u)$ ankommen. Der erste Teil ist im Mittel gleich der Wartezeit in $M_{\lambda}/B_{u}/1$, also gleich
  299. \[W_{u}=\frac{\lambda \E((x \land u)^{2})}{2(1-\rho _{u})} \]
  300. mit
  301. \[\rho _{u}=\lambda \E(x \wedge u) ~.\]
  302. Für den zweiten Teil ergibt sich
  303. \[\lambda T(u)\E(x \wedge u) = T(u)\rho _{u} ~.\]
  304. Wir bekommen die Gleichung
  305. \[T(u)=u+W_{u}+\rho _{u}T(u) ~, \]
  306. also
  307. \[T(u)=\frac{u+W_{u}}{1-\rho_{u}} ~. \]
  308. Für $u \rightarrow 0$ ergibt sich
  309. \[T(u) \approx u ~, \]
  310. für $u \rightarrow \infty$
  311. \[T(u) \approx \frac{u}{1-\rho} ~. \]
  312. \end{enumerate}
  313. %-------------------------------------------------------------------------------------------
  314. \chapter{Prioritäten}
  315. %----------------------------------------------------------------------------------------------
  316. Wir betrachten den Fall, daß es mehrere \index{Klassen}Klassen von Kunden gibt, die von unserem System unterschiedlich behandelt werden. Genauer gesagt soll es
  317. $p > 0$ Klassen
  318. von Kunden geben. Die Kunden aus Klasse $i$ kommen nach einem Poissonprozeß mit Rate $\lambda_{i}$ an und benötigen eine Bedienzeit mit Verteilungsfunktion
  319. $B_{i}$ (wir betrachten also wieder eine $M/G/1$-Situation). Weiters sei
  320. \begin{eqnarray*}
  321. \lambda &=& \sum_{i=1}^{p}\lambda _{i} \\
  322. B(y) &=& \frac{1}{\lambda}\sum_{i=1}^{p}\lambda _{i}B_{i}(y) \\
  323. \rho _{i} &=& \lambda _{i}\int ydB_{i}(y) \\
  324. \rho &=& \lambda \int ydB(y) ~.
  325. \end{eqnarray*}
  326. Es gibt jetzt eine ganze Reihe von Möglichkeiten, Disziplinen zu definieren, die eine Klasse gegebüber anderen bevorzugen. Wir sprechen von unterschiedlichen
  327. {\bf \index{Prioritäten}Prioritäten}.
  328. Die Disziplinen, die wir untersuchen, sollen folgende Eigenschaften haben:
  329. \begin{enumerate}
  330. \item {\bf Nicht-prä-emptiv}: Ein einmal begonnener Bedienvorgang wird ohne Unterbrechung zu Ende geführt.
  331. \item {\bf Arbeitserhaltend}: Niemand, der wartet, wird weggeschickt, ohne bedient zu worden zu sein.
  332. \end{enumerate}
  333. Weiters soll immer, wenn das System nicht leer ist, bedient werden.
  334. %-------------------------------
  335. \section{Ein Erhaltungssatz}
  336. %------------------------------
  337. $U_{t}$ sei die unverrichtete Zeit im System, d.h. die Zeit, die benötigt wird, um alle anwesenden Kunden fertig zu bedienen. Offensichtlich ist die Verteilung
  338. von $U_{t}$ unabhängig von der Disziplin: \\
  339. $U_{t}$ wächst mit jeder Ankunft eines Kunden um seine Bedienzeit an, und fällt pro Sekunde um $1$ Sekunde, solange $U_{t}>0$ ist. Die stationäre Verteilung
  340. von $U_{t}$ entspricht der Verteilung der Wartezeit eines zufällig ankommenden Kunden bei der FCFS-Disziplin. \\
  341. Insbesondere ist
  342. \[\E(U) = \frac{\lambda \E(x^{2})}{2(1-\rho)} ~ \]
  343. wobei $x$ nach der Funktion $B$ verteilt ist.
  344. Wir berechnen jetzt $\E(U)$ auf eine andere Art. Dazu bezeichnen wir mit $W_{i}$, $i=1, \dots , p$, die mittlere Wartezeit eines Kunden mit Priorität $i$, und
  345. mit
  346. $N_{i}$ die Anzahl der Kunden aus der $i$-ten Prioritätsgruppe in der Warteschlange.
  347. $\E(U)$ setzt sich jetzt aus folgenden Beiträgen zusammen:
  348. \begin{enumerate}
  349. \item $W_{0}$: die mittlere restliche Bedienzeit für den Kunden, der gerade bedient wird.
  350. \item Die Summe der mittleren Bedienzeiten für alle Kunden, die sich in der Warteschlange befinden.
  351. \end{enumerate}
  352. Um $W_{0}$ zu bestimmen, stellen wir fest, daß $W_{0}$ gleich der Zeit ist, die ein zufällig ankommender Kunde warten muß, bis der Kunde fertig ist, der gerade
  353. bedient wird. Mit Wahrscheinlichkeit $(1-\rho)$ findet der ankommende Kunde das System leer vor. Falls der Server besetzt ist, kann man die Verteilung der
  354. restlichen Bedienzeit folgendermaßen bestimmen: \\
  355. Wir betrachten eine große Anzahl $n$ von unabhängigen Variablen mit Verteilung $B$. Ihre Summe ist nach dem Gesetz der großen Zahlen $\approx n\E(x)$. Wenn wir
  356. in dem Intervall der Länge $n\E(x)$ einen Punkt zufällig wählen, ist die Chance, daß wir bis zum Ende des Teilintervalls, in das der zufällig gewählte Punkt
  357. fällt, einen Abstand zwischen $u$ und $u+\Delta u$ haben, gleich $\frac{\Delta u}{n\E(x)}$ mal der Anzahl der Intervalle mit Länge $> u$, also
  358. \[ \approx \frac{\Delta u}{n\E(x)}n(1-B(u)) ~. \]
  359. Für $n \rightarrow \infty$ ergibt sich für die Verteilung der restlichen Wartezeit die Dichte
  360. \[f(u)=\frac{1-B(u)}{\E(x)} ~. \]
  361. Schließlich ist
  362. \[W_{0}=\rho \int_{0}^{\infty}uf(u)du = \frac{\rho \E(x^{2})}{2\E(x)}=\frac{\lambda \E(x^{2})}{2} ~. \]
  363. Die Summe der Bedienzeiten der Kunden in der Warteschlange ergibt sich natürlich aus der Summe der gesamten Bedienzeiten der Kunden in den einzelnen Gruppen.
  364. Es sind im Schnitt $N_{i}$ Kunden aus der $i$-ten Gruppe anwesend. Für jeden wird im Schnitt eine Bedienzeit $\E(x_{i})$ ($x_{i}$ soll eine $ZV$ mit Verteilung
  365. $B_{i}$ sein) benötigt. \\
  366. Damit gilt
  367. \[\E(U)=W_{0}+\sum_{i=1}^{p}\E(x_{i})N_{i}=\frac{W_{0}}{1-\rho} ~. \]
  368. Nach Little gilt $N_{i}=\lambda_{i}W_{i}$, also schließlich
  369. \[ \sum_{i=1}^{p}\rho_{i}W_{i}=\frac{\rho W_{0}}{1-\rho}=\frac{\lambda \rho \E(x^{2})}{2(1-\rho)} ~.\]
  370. Dieses Ergebnis zeigt, daß wir eine Gruppe nur bevorzugen können, indem eine andere Gruppe größere Wartezeiten in Kauf nehmen muß.
  371. %----------------------------------------------------
  372. \section{Eine Methode zur Bestimmung der Wartezeit}
  373. %----------------------------------------------------
  374. Wir betrachten einen Kunden aus der Gruppe $i$, der das System betritt: \\
  375. $N_{ij} \dots$ mittlere Anzahl der Kunden aus Gruppe $j$, die unser Kunde im System antrifft, und die vor ihm bedient werden (ausgenommen der Kunde, der eventuell
  376. gerade bedient werden, wenn unser Kunde ankommt). \\
  377. $M_{ij} \dots$ mittlere Anzahl der Kunden aus Gruppe $j$, die während der Wartezeit unseres Kunden ankommen und vor ihm bedient werden. \\
  378. Damit gilt
  379. \[W_{i}=W_{0}+\sum_{j=1}^{p}(N_{ij}+M_{ij})\E(x_{j}) ~. \]
  380. Wir verwenden diesen Zugang für die einfachste Disziplin: \\
  381. Jeder Kunde aus Gruppe $i$ wird vor allen Kunden aus Gruppe $i-1$ bedient, und innerhalb einer Gruppe wird nach $FCFS$ gearbeitet. \\
  382. Dann ist
  383. \begin{eqnarray*}
  384. N_{ij}&=&0 \qquad j<i \\
  385. M_{ij}&=&0 \qquad j \leq i ~.
  386. \end{eqnarray*}
  387. Für $j \geq i$ ist
  388. \[N_{ij}=N_{j}=\lambda _{j}W_{j} ~. \]
  389. Für $j>i$ ist $M_{ij}$ die Anzahl der Kunden aus Gruppe $j$, die im Mittel während $W_{i} = \lambda _{j}W_{i}$ ankommen.
  390. Wir erhalten
  391. \begin{eqnarray*}
  392. W_{i}&=&W_{0}+\sum_{j=i}^{p}\rho _{j}W_{j}+\sum_{j=i+1}^{p}\rho_{j}W_{i} = \\
  393. &=&W_{0} + W_{i}\sum_{j=i}^{p}\rho_{j} + \sum_{j=i+1}^{p}\rho_{j}W_{j}
  394. \end{eqnarray*}
  395. oder
  396. \[W_{i}(1-\sum_{j=i}^{p}\rho_{j})=W_{0}+\sum_{j=i+1}^{p}\rho_{j}W_{j} ~. \]
  397. Wir schreiben
  398. \[\sigma_{j} = \sum_{j=i}^{p}\rho_{j} \]
  399. und erhalten
  400. \[W_{i-1}(1-\sigma_{i-1})=W_{i}(1-\sigma_{i})+\rho_{i}W_{i}=W_{i}(1-\sigma_{i+1}) ~, \]
  401. und schließlich
  402. \[W_{i}=\frac{W_{0}}{(1-\sigma_{i})(1-\sigma_{i+1})} ~. \]
  403. %----------------------------------------------------------------------------
  404. \begin{appendix}
  405. \chapter{Transformationen}
  406. %----------------------------------------------------------------------------
  407. Für unsere Untersuchungen benötigen wir die folgenden Transformationen:
  408. \begin{enumerate}
  409. \item Die erzeugende Funktion oder \index{erzeugende Funktion}$z$ - Transformierte: Falls $p_{n}$, $n
  410. \geq 0$ eine diskrete Verteilung ist, nennen wir
  411. \begin{displaymath}
  412. P^{*}(z) = \sum_{}^{} p_{n} z^{n}
  413. \end{displaymath}
  414. die erzeugende Funktion von $(p_{n})$. Falls $X$ die Verteilung $(p_{n})$
  415. hat, so gilt
  416. \begin{displaymath}
  417. P^{*}(z) = \E (z^{X}) ~.
  418. \end{displaymath}
  419. $P^{*}(z)$ existiert jedenfalls für $|z|<1$. Bekanntlich kann man aus
  420. $P^{*}$ eindeutig $(p_{n})$ bestimmen:
  421. \begin{displaymath}
  422. p_{n} = \frac{1}{n!} P^{*^{n}} (0) ~.
  423. \end{displaymath}
  424. \item Die Laplace - Transformierte: Falls $f(x)$, $x \geq 0$ eine
  425. Dichtefunktion ist, d.h.
  426. \begin{displaymath}
  427. f \geq 0 \qquad \mbox{und} \qquad \int_{0}^{\infty} f(x)\diff x = 1 ~,
  428. \end{displaymath}
  429. heißt
  430. \begin{displaymath}
  431. \hat F(t) = \int_{0}^{\infty} e^{-xt} f(x) \diff x
  432. \end{displaymath}
  433. die \index{Laplace - Transformierte}Laplace - Transformierte von $f$. Dieses Integral ist für $t \geq 0$
  434. endlich, und es gibt auch hier eine eindeutige Beziehung zwischen $\hat F$
  435. und $f$. Falls $X$ mit der Dichte $f$ verteilt ist, ist
  436. \begin{displaymath}
  437. \hat F(t) = \E (e^{-Xt}) ~.
  438. \end{displaymath}
  439. Diese Beziehung kann man auch verwenden, um die Laplace - Transformierte
  440. für nicht stetige Verteilungen zu definieren.
  441. \end{enumerate}
  442. Es bestehen folgende Eigenschaften der Transformationen:
  443. \begin{enumerate}
  444. \item $P^{*}(z)$ ist regulär für $|z| \leq 1$.
  445. \item $ \hat F(z)$ ist regulär für $ \Re (z) \geq 0$. Falls $X$ eine
  446. Verteilung $(p_{n})$ hat, ist
  447. \begin{displaymath}
  448. \E(X) = (P^{*})^{'}(1) ~.
  449. \end{displaymath}
  450. Falls $X$ Dichte $f$ hat, ist
  451. \begin{displaymath}
  452. \E(X) = -\hat F^{'}(0) ~.
  453. \end{displaymath}
  454. \item Falls $X$, $T$ unabhängig sind, ist die Transformierte der Summe
  455. das Produkt der Transformierten.
  456. \item Weiters sei $N_{t}$ ein \index{Poissonprozeß}Poissonprozeß (d.h. eine Folge von
  457. Ereignissen, wobei die Zeit zwischen zwei Ereignissen nach $M_{\lambda}$
  458. verteilt ist. $N_{t}$ ist die Anzahl dieser Ereignisse im Intervall
  459. $[0,t])$. Für eine zufällige Zeit $T$ wollen wir die Anzahl $N_{T}$ von
  460. Ereignissen in $[0,T]$ bestimmen. Falls $T=t$ ist, ist diese Anzahl
  461. Poisson - verteilt mit Parameter $\lambda t$:
  462. \begin{displaymath}
  463. \PP (N_{T} = n | T = t) = \frac{(\lambda t)^{n}}{n!} e^{- \lambda t} ~,
  464. \end{displaymath}
  465. also ist
  466. \begin{displaymath}
  467. \PP (N_{T} = n) = \E \left[ \frac{( \lambda
  468. T)^n}{n!} e^{- \lambda T} \right] ~.
  469. \end{displaymath}
  470. Die erzeugende Funktion ist
  471. \begin{eqnarray*}
  472. \hat \PP(z) &=& \sum_{}^{} \PP(N_{T} = n) z^{n} = \\
  473. &=& \E \left[ \sum_{}^{} e^{-\lambda T} \frac{(\lambda z T)^{n}}{n!}
  474. \right] = \\
  475. &=& \E (e^{- \lambda (1-z)T}) = \\
  476. &=& \tilde F (\lambda(1-z)) ~,
  477. \end{eqnarray*}
  478. falls $T$ mit Dichte $f$ verteilt ist.
  479. \end{enumerate}
  480. %------------------------------------------------------------------------------
  481. \end{appendix}