📚 The CoCalc Library - books, templates and other resources
License: OTHER
1%-----------------------------------------------------------------------------------------------------------------2\chapter{Abschätzungen und Näherungen}3%-----------------------------------------------------------------------------------------------------------------4\section{Abschätzungen}5%------------------------------------------------------------------------------------------------------------------6Die Ergebnisse des vorigen Abschnittes sind deswegen etwas unbefriedigend, weil die angestrebte Zerlegung nur in7Spezialfällen möglich ist. Im allgemeinen Fall müssen wir uns darauf beschränken, Abschätzungen und8näherungsweise Lösungen zu finden.910Wir gehen wieder von unserer Rekursionsgleichung aus:11\[w_{n+1} = (w_{n}+u_{n})_{+} \]12Wir führen eine neue Zufallsvariable $y_{n}$ ein, die den entsprechenden Negativteil darstellt:13\[y_{n} = (w_{n}+u_{n})_{-} ~ ~ ~ ~ ~ ((x)_{-} := (-x)_{+}) ~. \]14Damit erhalten wir15\[ w_{n+1}-y_{n} = w_{n}+u_{n} ~.\]16Das gibt für die Erwartungswerte:17\[\E(w_{n+1})-\E(y_{n}) = \E(w_{n})+\E(u_{n}) ~.\]18Für $n$ $\rightarrow$ $\infty$ ergibt sich19\[-\E(y) = \E(u) = \E(x) - \E(t) \qquad \mbox{oder} \qquad \E(y) = \E(t) - \E(x) ~.\]20Leider haben wir keine Beziehung für die Wartezeit (Anmerkung: in den letzten Gleichungen steht nur eine Beziehung für die Verteilungen).2122Als nächstes quadrieren wir die Ausgangsgleichung23\[ w_{n+1}^{2}+y_{n}^{2}-2w_{n+1}y_{n}=w_{n}^{2}+2w_{n}u_{n}+u_{n}^{2} ~.\]24Wegen \( (x)_{+}(x)_{-} = 0 \) ist \( w_{n+1}y_{n} = 0 ~,\) also25\[w_{n+1}^2 + y_{n}^2 = w_{n}^2+2w_{n}u_{n}+u_{n}^2 ~.\]26Wenn wir wieder die Erwartungswerte berchnen und \(n \rightarrow \infty \) gehen lassen, so ergibt sich27\begin{eqnarray*}28\E(w^{2})+\E(y^{2})&=&\E(w^{2})+2\E(wu)+\E(u^{2}) = \\29&=&\E(w^{2})+2\E(w)\E(u)+\E(u^{2}) \\30\end{eqnarray*}31($w_{n}$ und $u_{n}$ sind ja unabhängig).3233Schließlich haben wir34\[\E(w) = \frac{\E(u^{2})-\E(y^{2})}{-2\E(u)} \qquad [\E(u) \mbox{ ist ja negativ}] ~.\]35Wir erhalten eine obere Abschätzung, wenn wir $\E(y^{2})$ nach unten abschätzen. Dazu verhilft uns die Ungleichung36\[\E(y^{2}) \geq (\E(y))^{2} = (\E(u))^{2} \qquad \mbox{also }\]37\[\E(w^{2}) \leq \frac{{\bf Var}(u)}{-2\E(u)} = \frac{{\bf Var}(x)+{\bf Var}(t)}{-2\E(u)} ~.\]38Für eine obere Abschätzung für $\E(y^{2})$ beachten wir, daß39\[y=(w+u)_{-} \leq (u)_{-} \quad \mbox{da} \quad w \geq 0 ~.\]40Wegen$ \quad u^{2} = ((u)_{+}-(u)_{-})^{2} = ((u)_{+})^{2}+((u)_{-})^{2} \quad $erhalten wir41\[\E(w) \geq \frac{(\E((u)_{+}))^{2}}{-2\E(u)} ~.\]42Ein weiterer Weg, eine untere Abschätzung zu finden ist folgender:43\[\E(w_{n+1}) = \E(w_{n}+u_{n})_{+} = \E[\E((w_{n}+u_{n})_{+}\vert w_{n})] ~.\]44Wenn wir für die Verteilungsfunktion von $u_{n}$45\[C(y)=\PP(u_{n} \leq y) \]46setzen, erhalten wir47\[\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) ~.\]48Also49\[\E(w_{n+1}) = \E(g(w_{n}))\]50$g$ ist konvex ($g'$ ist monoton), also können wir die JENSEN'sche Ungleichung anwenden:51\[\E(g(w_{n})) \geq g(\E(w_{n}))~.\]52Für $n \rightarrow \infty$ ergibt sich53\[\E(w) \geq g(\E(w)) ~.\]54Wir betrachten die Gleichung55\[g(y) = y ~.\]56Die Funktion $y-g(y)$ hat die Ableitung $G(-y) \geq 0$, ist also monoton.\\57Weiters ist $g(0) = \E((u_{n})_{+}) > 0 \mbox{ falls } W(u_{n} > 0) > 0$ ist (andernfalls ist $w = 0$).\\58Fü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}$, und59\[\E(w) \geq g(y_{o}) ~.\]6061%------------------------------------62\section{Näherungen}63%------------------------------------64\bigskip65Ähnlich wie die Abschätzungen des vorigen Kapitels sollen uns die Näherungen dieses Abschnittes dazu dienen, ungefähre Aussagen über das qualitative66Verhalten einer Warteschlange zu treffen. Eine Möglichkeit besteht darin, die auftretenden Verteilungen durch solche zu ersetzen, für die wir exakte Ergebnisse67kennen. Dazu können wir etwa folgende Klassen von Verteilungen verwenden:68\begin{enumerate}6970\item {\bf Verteilungen mit rationaler Laplacetransformation}7172Man kann jede Verteilung durch Verteilungen mit rationalen Laplacetransformationen annähern. Für diese Verteilungen kann \\73man die Spektralzerlegung für $G/G/1$ \enquote{leicht} durchführen: \\74man findet die Nullstellen von Zähler und Nenner und ordnet sie, je nachdem in welcher Halbebene sie liegen, entweder75der Funktion $\Psi^{+}$ oder $\Psi^{-}$zu.7677\item {\bf Diskrete Verteilungen}7879Ähnlich wie unter $1.$ kann man jede Verteilung durch eine diskrete Verteilung annähern. Das folgende Beispiel zeigt, wie die diskreten Verteilungen behandelt80werden können:\\81Es sei82\begin{eqnarray*}83\PP(t_{n}=1)=a, \quad \PP(t_{n}=2)=1-a \\84\PP(x_{n}=1)=b, \quad \PP(x_{n}=2)=1-b85\end{eqnarray*}86[$b>a$].8788Für $u_{n}=x_{n}-t_{n+1}$ ergibt sich:89\begin{eqnarray*}90\PP(u_{n}=-1)&=&b(1-a) \\91\PP(u_{n}=1)&=&a(1-b) \\92\PP(u_{n}=0)&=&ab+(1-a)(1-b) ~.93\end{eqnarray*}94Für die stationäre Verteilung der Wartezeit $w$ ergibt sich die Rekursion95\begin{eqnarray*}96p_{k}&=&a(1-b)p_{k-1}+(ab+(1-a)(1-b))p_{k}+b(1-a)p_{k+1} \\97p_{0}&=&(a(1-b)+ab-(1-a)(1-b))p_{0}+b(1-a)p_{1} ~.98\end{eqnarray*}99Wir erhalten100\begin{eqnarray*}101p_{k}&=&p_{0}\left( \frac{a(1-b)}{b(1-a)}\right)^{k} \\102p_{0}&=&1-\frac{a(1-b)}{b(1-a)}=\frac{b-a}{b(1-a)} ~.\\103\end{eqnarray*}104Falls 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 des105charakteristischen Polynoms zu bestimmen. Auch hier, ebenso wie im im vorigen Abschnitt, reduziert sich also das Problem auf die Lösung einer algebraischen106Gleichung. 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 zu107wählen108ist, reduziert die Brauchbarkeit dieser beiden Näherungen.109110\item {\bf Approximation für starke Auslastung (\enquote{Heavy traffic approximation})}111112Wir betrachten den Fall $\rho \approx 1$. \\113Ausgangspunkt unserer Betrachtungen ist die Spektralzerlegung der $G/G/1$:114\[\frac{\Psi^{+}(s)}{\Psi^{-}(s)}=\tilde A (-s)\tilde B (s)-1 ~.\]115Für $s \rightarrow 0$ erhalten wir daraus die Entwicklung116\begin{eqnarray*}117\frac{\Psi^{+}(s)}{\Psi^{-}(s)}&=&(\E(t)-\E(x))s+\frac{s^{2}}{2}\E((x-t)^{2})+o(s^{2})= \\118&=&(1-\rho)s\E(t)+\frac{s^{2}}{2}\E((x-t)^{2})+o(s^{2})= \\119&=&(1-\rho)s\E(t)+\frac{s^{2}}{2}({\bf Var}(x)+{\bf Var}(t)+ \\120&+&(1-\rho)^{2}(\E(t))^{2}) + o(s^{2}) ~.121\end{eqnarray*}122Für $\rho \approx 1$ ist $(1-\rho)^{2}(\E(t))^{2}$ zu vernachlässigen, also123\begin{eqnarray*}124\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 \\125&\approx&s(s-s_{0}) \frac{{\bf Var}(x)+{\bf Var}(t)}{2} ~.126\end{eqnarray*}127128$\Psi^{+}(s)$ ist in der Nähe von $0$ stetig, also haben wir129\[\Psi^{+}(s) \approx Cs(s-s_{o})\]130mit131\[s_{0}=-\frac{2(1-\rho)\E(t)}{{\bf Var}(x)+{\bf Var}(t)} \]132und133\[C=\Psi^{-}(0)\frac{{\bf Var}(x)+{\bf Var}(t)}{2} ~. \]134Wir erhalten daraus135\[\Phi(s) \approx -\frac{s_{0}}{s(s-s_{0})}=\frac{1}{s}-\frac{1}{s-s_{0}} ~.\]136Also ergibt sich für die Verteilungsfunktion der Wartezeit137\[ F(y) \approx 1 - e^{-y\frac{2\E(t)(1-\rho)}{{\bf Var}(x)+{\bf Var}(t)}} ~.\]138Die Wartezeit ist also näherungsweise exponentialverteilt mit Mittel139\[\E(w)=\frac{{\bf Var}(x)+{\bf Var}(t)}{2\E(t)(1-\rho)} ~.\]140Dieses Ergebnis kann man als \index{Satz!Zentraler Grenzwertsatz für Warteschlangen}\enquote{zentralen Grenzwertsatz} für Warteschlangen betrachten.141142Das Mittel dieser Exponentialverteilung haben wir bereits als obere143Abschätzung für die mittlere Wartezeit erhalten.144145\item{\bf Die Flussapproximation}146147Diese Näherung geht von einer einfachen Idee aus:\\148Wir ersetzen die Ankünfte und Bedienvorgänge durch konstante Ströme von $\lambda$ bzw. $\mu$ Kunden149pro Zeiteinheit. In unserem Standardmodell $(\lambda < \mu)$ ergibt sich aus dieser Näherung natürlich, daß die150Schlange stets leer ist, was offensichtlich nicht sehr brauchbar ist.151152Für zwei Fälle gibt diese Approximation aber doch interessante Resultate:153\begin{enumerate}154\item Falls $\mu < \lambda$ ist, wächst die Anzahl der Kunden im System um $(\lambda - \mu)$ Kunden pro Zeiteinheit.155\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 dieser156Näherung berechnen.157\end{enumerate}158159\item{\bf Die Diffusionsnäherung}160161Dies ist wie die vorige Näherung eine Approximation durch einen kontinuierlichen Prozeß. Diesmal wird auch die Varianz betrachtet.162163Es sei $N_{a}(u)$ die Anzahl der Kunden, die bis zur Zeit $t$ ankommen.\\164Es gilt die Beziehung165\[ N_{a}(u) \geq n \Leftrightarrow T_{n} \geq u \]166$T_{n}$ ist, wie üblich, die Ankunftszeit des $n$-ten Kunden.167168Aus dem Gesetz der großen Zahlen folgt:169\[ T_{n} \approx n\E(t) ~.\]170Das impliziert171\[N_{a}(u) \approx \lambda u ~. \]172Der zentrale Grenzwertsatz gibt uns173\[\PP(T_{n} \leq n\E(t)+z\sqrt{n{\bf Var}(t)}) = \Phi (z) ~. \]174Daraus ergibt sich für großes n175\begin{eqnarray*}176& &\PP(N_{a}\geq\lambda u + y\sqrt{u}) = \\177& & ~ ~=\PP(T_{\lambda u + y\sqrt{u}} \leq u) = \\178& & ~ ~=\PP(T_{\lambda u + y\sqrt{u}} \leq \E(t)(\lambda u + y\sqrt{u}) - y\E(t)\sqrt{u} ) = \\179& & ~ ~=\PP(T_{\lambda u + y\sqrt{u}} \leq \E(t)(\lambda u + y\sqrt{u}) - \\180& & ~ ~ ~ ~ ~- y\sqrt{(\E(t))^{3}(\lambda u + y\sqrt{u})})=\\181& &~ ~=\PP(T_{\lambda u + y\sqrt{u}} \leq \E(t)(\lambda u + y\sqrt{u}) - \\182& & ~ ~ ~ ~ ~-\frac{y}{\sqrt{\lambda ^{3}{\bf Var}(t)}}\sqrt{{\bf Var}(t)(\lambda u + y\sqrt{u})}) \\183& &~ ~=1 - \Phi(\frac{y}{\sqrt{\lambda ^{3}{\bf Var}(t)}}) ~.184\end{eqnarray*}185$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)$186der187Kunden, die während der Zeit $u$ bedient werden (wenn die Schlange nicht leer ist) eine näherungsweise Normalverteilung mit Mittel $\mu u$ und Varianz188$\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.189Bedienvorgänge)190in 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.191$\mu^{3}\Delta192u{\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 der193Kunden194im 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} =195\lambda^{3}{\bf Var}(t) + \mu^{3}{\bf Var}(x)$.\\196(Die letzte Beziehung gilt natürlich nur, wenn die Anzahl der Kunden im System $> 0$ ist).197198Es sei nun199\[F(x,u) = \PP(N(u) \leq x) ~.\]200Wir stellen eine Gleichung für $F(x,u+\Delta u)$ auf, dabei sei $X(\Delta u)$ die Änderung der Kunden während $\Delta u$:201\begin{eqnarray*}202F(x,u+\Delta u)&=&\PP(N(u+\Delta u) \leq x) = \\203&=&\PP(N(u)+X(\Delta u) \leq x) = \\204&=&\PP(N(u) \leq x - X(\Delta u)) = \\205&=&\E(F(x-X(\Delta u),u)) = \\206&=&\E(F(x,u)-F_{x}(x,u)X(\Delta u) + \\207& &+ \frac{1}{2}F_{xx}(x,u)X(\Delta u)^{2} + o(\Delta u)) = \\208&=&F(x,u)-F_{x}(x,u)\E(X(\Delta u)) + \\209& &+\frac{1}{2}F_{xx}(x,u)(\E(X(\Delta u)^{2})) + o(\Delta u) = \\210&=&F(x,u)-F_{x}(x,u)\Delta u(\lambda-\mu) + \\211& &+\frac{1}{2}F_{xx}(x,u)\sigma^{2}\Delta u + o(\Delta u) ~.212\end{eqnarray*}213Wenn man $F(x,u)$ nach links bringt, durch $\Delta u$ dividiert, und $\Delta u \rightarrow 0$ gehen läßt, ergibt sich214\begin{eqnarray*}215F_{u}(x,u)&=&(\mu - \lambda)F_{x}(x,u) + \frac{1}{2}\sigma^{2}F_{xx}(x,u) \qquad (x \geq 0) \\216& & \\217F(x,0)&=&1 \qquad (x \geq 0) \\218F(x,0)&=&0 \qquad (x < 0) \\219F(0,u)&=&0 \qquad (u > 0) ~.220\end{eqnarray*}221Die Anfangsbedingung ergibt sich aus der Forderung, daß das System zur Zeit $0$ leer sein soll, und die Randbedingung daraus, daß die Anzahl der Kunden nicht222negativ sein darf.223224Man kann sehr leicht die Lösung der Gleichung ohne Randbedingung finden, indem man die Laplace-Transformation anwendet:225\[G(z,u)=\int_{-\infty}^{\infty} e^{-xz}F(x,u)\diff x ~.\]226Wir erhalten nach einigen partiellen Integrationen:227\[G_{u}(z,u) = (\mu-\lambda)zG(z,u)+\frac{1}{2}\lambda^{2}z^{2}G(z,u) ~, \]228also229\[ G(z,u) = G(z,0)e^{\frac{1}{2}\sigma^{2}z^{2}+(\mu - \lambda)z} \]230und, da $G(z,0)=\frac{1}{z}$231\[G(z,u) = \frac{1}{z}e^{\frac{1}{2}\sigma^{2}uz^{2}+(\mu - \lambda)zu} ~.\]232Die Inversion der Laplace-Transformation liefert233\[F(x,u)=\Phi\left(\frac{x+(\mu - \lambda)u}{\sqrt{\sigma^{2}u}}\right) ~. \]234Um 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)$ nicht235von $u$ abhängt. Dann ist natürlich die Ableitung nach $u = 0$, und wir erhalten:236\[ F'_{0}(x)(\mu - \lambda)+\frac{1}{2}\sigma^{2}F''(x)=0 ~. \]237Diese Gleichung hat die allgemeine Lösung238\[F(x) = C_{1}+C_{2}e^{\frac{2(\lambda - \mu)}{\sigma^{2}}x} ~. \]239Da $F(0) = 0$ und $F(\infty) = 1$ sein soll, erhalten wir240\[F(x) = 1-e^{\frac{2(\lambda - \mu)}{\sigma^{2}}x} ~. \]241Es ergibt sich also wieder eine Exponentialverteilung für die Wartezeit. Für $\rho \rightarrow 1$ stimmt diese Verteilung in erster Näherung mit der aus242Abschnitt $3.$ überein. Mit etwas mehr Arbeit kann man die folgende Lösung der partiellen Differentialgleichung erhalten:243\[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 -244\lambda)}{\sigma^{2}}\right) ~.\]245\end {enumerate}246%------------------------------------------------------------------------------------247\chapter{Time-Sharing}248%------------------------------------------------------------------------------------249Wir wollen jetzt unsere Kenntnisse auf eine Analyse von Fragen anwenden, die bei Time-sharing Anwendungen auftreten. \\250Wir betrachten den einfachsten Fall, daß nur eine CPU vorhanden ist, die \enquote{gleichzeitig} mehrere Programme bearbeiten muß.251Dazu wird jeweils eines der wartenden Programme ausgewählt, in den Hauptspeicher geladen, eine kurze Zeit (die sog. \index{Zeitscheibe}\enquote{Zeitscheibe}) gerechnet,252aus dem253Hauptspeicher entfernt, und das Spiel mit dem nächsten Programm fortgesetzt. Jedes Programm braucht eine bestimmte \index{Rechenzeit}Rechenzeit $x$, und sobald254diese Zeit (in255Form von einzelnen Zeitscheiben) abgearbeitet ist, verläßt das Programm das System. Da wir keine a-priori Information über die Rechenzeit eines Programmes256voraussetzen, können wir die Jobs nur aufgrund der schon verbrauchten Rechenzeit klassifizieren, und die Auswahl des nächsten Programms nach dieser verbrauchten257Rechenzeit treffen. Dabei können wir verschiedene Ziele verfolgen:258259\begin{enumerate}260\item kurze Programme sollen möglichst schnell erledigt werden. Dadurch wird die Anzahl der Programme im System klein gehalten, was den Verwaltungsaufwand261reduziert; außerdem ist es psychologisch ungünstig, wenn ein Kunde auf ein 2-Sekunden-Programm eine Stunde warten muß.262\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 nicht263möglich, durch Aufteilen eines langen Programmes in mehrere kürzere bzw. durch Zusammenfassen mehrere kürzere Programme einen Zeitgewinn zu erzielen.264\end{enumerate}265266Wir machen folgende Annahmen:267\begin{enumerate}268\item Die Ankünfte erfolgen nach einem Poissonprozeß mit Rate $\lambda$, die Rechenzeiten sind unabhängig mit Verteilungsfunktion $B$ (wir haben also eine269$M/G/1$-Situation) mit Dichte $b$.270\item Die Zeitscheibe nehmen wir als infinitesimal an; weiters nehmen wir an, daß wir die Zeit zum Austauschen vernachlässigen können.271\item Wir betrachten nur die stationären Verteilungen.272\end{enumerate}273$N(u)$ sei die mittlere Anzahl von Jobs, deren verbrauchte Rechenzeit $\leq u$ ist. Dazu möge eine Dichte $n(u)$ existieren, sodaß274\[N(u)=\int_{0}^{u}n(s)ds \]275ist.276277$T(u)$ sei die Zeit, die im Durchschnitt vergeht, bis ein Job $u$ Sekunden Rechenzeit bekommt. \\278$W(u)$ sei die Wartezeit eines Jobs mit $u$ Sekunden Rechenzeit, also279\[W(u) = T(u) - u ~. \]280Wir betrachten die Jobs, die schon zwischen $u$ und $u+\Delta u$ Sekunden gerechnet haben, als eine eigene Warteschlange. Hier kommen alle Jobs durch, deren281Rechenzeit $\geq u$ ist. Die Ankunftsrate in dieser Schlange ist also $\lambda(1-B(u))$.\\282Die mittlere Aufenthaltsdauer ist $T(u+\Delta u) - T(u)$, und die mittlere Anzahl von Jobs in dieser Schlange ist $\approx n(u)\Delta u$. \\283Mithilfe des Satzes von Little ergibt sich die Beziehung284\[n(u)=\lambda (1-B(u))\frac{\diff T(u)}{\diff u} ~. \]285Wir betrachten die folgende Strategien:286\begin{enumerate}287\item {\bf FCFS} (\enquote{Batch})288\item {\bf LCFS} (prä-emptiv): ein Job, der das System betritt, wird sofort bearbeitet (ein eventuell laufender Job wird dazu unterbrochen); wenn ein Job fertig289ist, wird der zuletzt unterbrochene weiterbearbeitet.290\item {\bf \index{Round Robin}Round Robin (RR)}: alle Jobs, die im System sind, werden der Reihe nach bearbeitet (abwechselnd).291\item Es wird jeweils der Job bearbeitet, der am wenigsten Rechenzeit verbraucht hat.292\end{enumerate}293Es sollte Strategie 4 kurze Jobs am meisten bevorzugen, 1 am wenigsten, 2 und 3 sollten dazwischen liegen.294295\begin{enumerate}296\item Kennen wir von früher; hier ist die Wartezeit $W(u)$ konstant, und zwar ist297\[W(u) = \frac{\lambda \E(x^{2})}{2(1-\rho)} \]298und299\[T(u) = u + \frac{\lambda \E(x^{2})}{2(1-\rho)} ~. \]300\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)$301ankommen.302Während $T(u)$ kommen $\lambda T(u)$ Programme an, jedes bringt im Schnitt $\E(x)$ Sekunden Rechenzeit mit, also gilt303\[T(u) = u + \lambda T(u)\E(x)=u + \rho T(u) ~,\]304also305\[T(u)=\frac{u}{1-\rho} ~. \]306Wir haben also ein \enquote{gerechtes} Verfahren gefunden.307\item Wenn sich $N$ Programme im System befinden, bekommt ein bestimmtes Programm $\frac{1}{N}$ der gesamten Rechenzeit. \\308Daher ist $\diff T(u) = N \diff u$. Da nur gerechnet wird, wenn das System nicht leer ist, ergibt sich:309\[ T(u)=u\E(N \mid N \not= 0)=Cu, \]310also 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ährend311$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 wieder312\[T(u)=\frac{u}{1-\rho} ~. \]313\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 Programme314nur 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 die315Verteilungsfunktion $B$ durch:316\[317B_{u}(y) = \left\{318\begin{array}{lc}319B(y) & y<u \\3201 & y \geq u321\end{array} \right. ~.322\]323$W(u)$ setzt sich jetzt zusammen aus der restlichen Rechenzeit aller Programme, die vor unserem Programm angekommen sind, plus der Summe der Rechenzeiten von324allen Programmen, die während $T(u)$ ankommen. Der erste Teil ist im Mittel gleich der Wartezeit in $M_{\lambda}/B_{u}/1$, also gleich325\[W_{u}=\frac{\lambda \E((x \land u)^{2})}{2(1-\rho _{u})} \]326mit327\[\rho _{u}=\lambda \E(x \wedge u) ~.\]328Für den zweiten Teil ergibt sich329\[\lambda T(u)\E(x \wedge u) = T(u)\rho _{u} ~.\]330Wir bekommen die Gleichung331\[T(u)=u+W_{u}+\rho _{u}T(u) ~, \]332also333\[T(u)=\frac{u+W_{u}}{1-\rho_{u}} ~. \]334Für $u \rightarrow 0$ ergibt sich335\[T(u) \approx u ~, \]336für $u \rightarrow \infty$337\[T(u) \approx \frac{u}{1-\rho} ~. \]338\end{enumerate}339340%-------------------------------------------------------------------------------------------341\chapter{Prioritäten}342%----------------------------------------------------------------------------------------------343Wir betrachten den Fall, daß es mehrere \index{Klassen}Klassen von Kunden gibt, die von unserem System unterschiedlich behandelt werden. Genauer gesagt soll es344$p > 0$ Klassen345von Kunden geben. Die Kunden aus Klasse $i$ kommen nach einem Poissonprozeß mit Rate $\lambda_{i}$ an und benötigen eine Bedienzeit mit Verteilungsfunktion346$B_{i}$ (wir betrachten also wieder eine $M/G/1$-Situation). Weiters sei347\begin{eqnarray*}348\lambda &=& \sum_{i=1}^{p}\lambda _{i} \\349B(y) &=& \frac{1}{\lambda}\sum_{i=1}^{p}\lambda _{i}B_{i}(y) \\350\rho _{i} &=& \lambda _{i}\int ydB_{i}(y) \\351\rho &=& \lambda \int ydB(y) ~.352\end{eqnarray*}353Es gibt jetzt eine ganze Reihe von Möglichkeiten, Disziplinen zu definieren, die eine Klasse gegebüber anderen bevorzugen. Wir sprechen von unterschiedlichen354{\bf \index{Prioritäten}Prioritäten}.355356Die Disziplinen, die wir untersuchen, sollen folgende Eigenschaften haben:357\begin{enumerate}358\item {\bf Nicht-prä-emptiv}: Ein einmal begonnener Bedienvorgang wird ohne Unterbrechung zu Ende geführt.359\item {\bf Arbeitserhaltend}: Niemand, der wartet, wird weggeschickt, ohne bedient zu worden zu sein.360\end{enumerate}361Weiters soll immer, wenn das System nicht leer ist, bedient werden.362363%-------------------------------364\section{Ein Erhaltungssatz}365%------------------------------366367$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 Verteilung368von $U_{t}$ unabhängig von der Disziplin: \\369$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 Verteilung370von $U_{t}$ entspricht der Verteilung der Wartezeit eines zufällig ankommenden Kunden bei der FCFS-Disziplin. \\371Insbesondere ist372\[\E(U) = \frac{\lambda \E(x^{2})}{2(1-\rho)} ~ \]373wobei $x$ nach der Funktion $B$ verteilt ist.374375Wir 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$, und376mit377$N_{i}$ die Anzahl der Kunden aus der $i$-ten Prioritätsgruppe in der Warteschlange.378379$\E(U)$ setzt sich jetzt aus folgenden Beiträgen zusammen:380\begin{enumerate}381\item $W_{0}$: die mittlere restliche Bedienzeit für den Kunden, der gerade bedient wird.382\item Die Summe der mittleren Bedienzeiten für alle Kunden, die sich in der Warteschlange befinden.383\end{enumerate}384Um $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 gerade385bedient wird. Mit Wahrscheinlichkeit $(1-\rho)$ findet der ankommende Kunde das System leer vor. Falls der Server besetzt ist, kann man die Verteilung der386restlichen Bedienzeit folgendermaßen bestimmen: \\387Wir 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 wir388in 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 Punkt389fä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$, also390\[ \approx \frac{\Delta u}{n\E(x)}n(1-B(u)) ~. \]391Für $n \rightarrow \infty$ ergibt sich für die Verteilung der restlichen Wartezeit die Dichte392\[f(u)=\frac{1-B(u)}{\E(x)} ~. \]393Schließlich ist394\[W_{0}=\rho \int_{0}^{\infty}uf(u)du = \frac{\rho \E(x^{2})}{2\E(x)}=\frac{\lambda \E(x^{2})}{2} ~. \]395Die Summe der Bedienzeiten der Kunden in der Warteschlange ergibt sich natürlich aus der Summe der gesamten Bedienzeiten der Kunden in den einzelnen Gruppen.396Es 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 Verteilung397$B_{i}$ sein) benötigt. \\398Damit gilt399\[\E(U)=W_{0}+\sum_{i=1}^{p}\E(x_{i})N_{i}=\frac{W_{0}}{1-\rho} ~. \]400Nach Little gilt $N_{i}=\lambda_{i}W_{i}$, also schließlich401\[ \sum_{i=1}^{p}\rho_{i}W_{i}=\frac{\rho W_{0}}{1-\rho}=\frac{\lambda \rho \E(x^{2})}{2(1-\rho)} ~.\]402Dieses Ergebnis zeigt, daß wir eine Gruppe nur bevorzugen können, indem eine andere Gruppe größere Wartezeiten in Kauf nehmen muß.403404%----------------------------------------------------405\section{Eine Methode zur Bestimmung der Wartezeit}406%----------------------------------------------------407408Wir betrachten einen Kunden aus der Gruppe $i$, der das System betritt: \\409$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 eventuell410gerade bedient werden, wenn unser Kunde ankommt). \\411$M_{ij} \dots$ mittlere Anzahl der Kunden aus Gruppe $j$, die während der Wartezeit unseres Kunden ankommen und vor ihm bedient werden. \\412Damit gilt413\[W_{i}=W_{0}+\sum_{j=1}^{p}(N_{ij}+M_{ij})\E(x_{j}) ~. \]414Wir verwenden diesen Zugang für die einfachste Disziplin: \\415Jeder Kunde aus Gruppe $i$ wird vor allen Kunden aus Gruppe $i-1$ bedient, und innerhalb einer Gruppe wird nach $FCFS$ gearbeitet. \\416Dann ist417\begin{eqnarray*}418N_{ij}&=&0 \qquad j<i \\419M_{ij}&=&0 \qquad j \leq i ~.420\end{eqnarray*}421Für $j \geq i$ ist422\[N_{ij}=N_{j}=\lambda _{j}W_{j} ~. \]423Fü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.424425Wir erhalten426\begin{eqnarray*}427W_{i}&=&W_{0}+\sum_{j=i}^{p}\rho _{j}W_{j}+\sum_{j=i+1}^{p}\rho_{j}W_{i} = \\428&=&W_{0} + W_{i}\sum_{j=i}^{p}\rho_{j} + \sum_{j=i+1}^{p}\rho_{j}W_{j}429\end{eqnarray*}430oder431\[W_{i}(1-\sum_{j=i}^{p}\rho_{j})=W_{0}+\sum_{j=i+1}^{p}\rho_{j}W_{j} ~. \]432Wir schreiben433\[\sigma_{j} = \sum_{j=i}^{p}\rho_{j} \]434und erhalten435\[W_{i-1}(1-\sigma_{i-1})=W_{i}(1-\sigma_{i})+\rho_{i}W_{i}=W_{i}(1-\sigma_{i+1}) ~, \]436und schließlich437\[W_{i}=\frac{W_{0}}{(1-\sigma_{i})(1-\sigma_{i+1})} ~. \]438439%----------------------------------------------------------------------------440\begin{appendix}441\chapter{Transformationen}442%----------------------------------------------------------------------------443Für unsere Untersuchungen benötigen wir die folgenden Transformationen:444\begin{enumerate}445\item Die erzeugende Funktion oder \index{erzeugende Funktion}$z$ - Transformierte: Falls $p_{n}$, $n446\geq 0$ eine diskrete Verteilung ist, nennen wir447\begin{displaymath}448P^{*}(z) = \sum_{}^{} p_{n} z^{n}449\end{displaymath}450die erzeugende Funktion von $(p_{n})$. Falls $X$ die Verteilung $(p_{n})$451hat, so gilt452\begin{displaymath}453P^{*}(z) = \E (z^{X}) ~.454\end{displaymath}455$P^{*}(z)$ existiert jedenfalls für $|z|<1$. Bekanntlich kann man aus456$P^{*}$ eindeutig $(p_{n})$ bestimmen:457\begin{displaymath}458p_{n} = \frac{1}{n!} P^{*^{n}} (0) ~.459\end{displaymath}460\item Die Laplace - Transformierte: Falls $f(x)$, $x \geq 0$ eine461Dichtefunktion ist, d.h.462\begin{displaymath}463f \geq 0 \qquad \mbox{und} \qquad \int_{0}^{\infty} f(x)\diff x = 1 ~,464\end{displaymath}465heißt466\begin{displaymath}467\hat F(t) = \int_{0}^{\infty} e^{-xt} f(x) \diff x468\end{displaymath}469die \index{Laplace - Transformierte}Laplace - Transformierte von $f$. Dieses Integral ist für $t \geq 0$470endlich, und es gibt auch hier eine eindeutige Beziehung zwischen $\hat F$471und $f$. Falls $X$ mit der Dichte $f$ verteilt ist, ist472\begin{displaymath}473\hat F(t) = \E (e^{-Xt}) ~.474\end{displaymath}475Diese Beziehung kann man auch verwenden, um die Laplace - Transformierte476für nicht stetige Verteilungen zu definieren.477\end{enumerate}478Es bestehen folgende Eigenschaften der Transformationen:479\begin{enumerate}480\item $P^{*}(z)$ ist regulär für $|z| \leq 1$.481\item $ \hat F(z)$ ist regulär für $ \Re (z) \geq 0$. Falls $X$ eine482Verteilung $(p_{n})$ hat, ist483\begin{displaymath}484\E(X) = (P^{*})^{'}(1) ~.485\end{displaymath}486Falls $X$ Dichte $f$ hat, ist487\begin{displaymath}488\E(X) = -\hat F^{'}(0) ~.489\end{displaymath}490\item Falls $X$, $T$ unabhängig sind, ist die Transformierte der Summe491das Produkt der Transformierten.492\item Weiters sei $N_{t}$ ein \index{Poissonprozeß}Poissonprozeß (d.h. eine Folge von493Ereignissen, wobei die Zeit zwischen zwei Ereignissen nach $M_{\lambda}$494verteilt ist. $N_{t}$ ist die Anzahl dieser Ereignisse im Intervall495$[0,t])$. Für eine zufällige Zeit $T$ wollen wir die Anzahl $N_{T}$ von496Ereignissen in $[0,T]$ bestimmen. Falls $T=t$ ist, ist diese Anzahl497Poisson - verteilt mit Parameter $\lambda t$:498\begin{displaymath}499\PP (N_{T} = n | T = t) = \frac{(\lambda t)^{n}}{n!} e^{- \lambda t} ~,500\end{displaymath}501also ist502\begin{displaymath}503\PP (N_{T} = n) = \E \left[ \frac{( \lambda504T)^n}{n!} e^{- \lambda T} \right] ~.505\end{displaymath}506Die erzeugende Funktion ist507\begin{eqnarray*}508\hat \PP(z) &=& \sum_{}^{} \PP(N_{T} = n) z^{n} = \\509&=& \E \left[ \sum_{}^{} e^{-\lambda T} \frac{(\lambda z T)^{n}}{n!}510\right] = \\511&=& \E (e^{- \lambda (1-z)T}) = \\512&=& \tilde F (\lambda(1-z)) ~,513\end{eqnarray*}514falls $T$ mit Dichte $f$ verteilt ist.515\end{enumerate}516%------------------------------------------------------------------------------517\end{appendix}518519520