next up previous contents
Next: Process Management Up: 4560 Previous: Introduction to OS   Contents

Queueing Laws [18]





Outline



Queues: Single Queue [19]

Model:


\begin{picture}(182,0)(55,40)
\thicklines\put(140,10){\circle{14}}
\put(120,20){...
...(180,-2){\makebox(0,0)[lb]{\raisebox{0pt}[0pt][0pt]{\large sink}}}
\end{picture}


















source



queue



server



sink



response



Queues: Performance Metrics [20]



ratio



ratio



rate



jobs



time



time



time



Networks: probability $p_{ij}$ from device $i$ to $j$ [21]

Series:


\begin{picture}(182,49)(73,760)
\thicklines\put(140,780){\circle*{14}}
\put(120,...
...245,800)\{ makebox(0,0)[lb]\{ raisebox\{0pt\}[0pt][0pt]\{$W$\}\}\}
\end{picture}

Split/Merge:


\begin{picture}(182,134)(73,685)
\thicklines\put(140,710){\circle*{14}}
\put(120...
...put(200,730){\makebox(0,0)[lb]{\raisebox{0pt}[0pt][0pt]{$\mu_3$}}}
\end{picture}

Cycle:


\begin{picture}(117,59)(73,750)
\thicklines\put( 50,780){\circle{14}}
\par\put(1...
...
\put(158,760){\makebox(0,0)[lb]{\raisebox{0pt}[0pt][0pt]{1-$p$}}}
\end{picture}



values



Queues: Operational Laws [22]




\begin{picture}(365,169)(20,660)
\thicklines\put(120,815){\vector(-1,-1){ 60}}
\...
...,740){\makebox(0,0)[lb]{\raisebox{0pt}[0pt][0pt]{2. Utilization}}}
\end{picture}



Queue Stream Law: $\lambda_i = \sum p_{ji}\lambda_j$ [23]



Law



series



split



merge



cycle



VISUAL Queues: Sample Output [24]

SERIES:
Time =    1000.00     (n)   (rho)    (Q)     (lambda)       (R)    (p_ij)
     Type   Rate    # Jobs % Busy  Avg jobs  Job rate     Job time  Prob.
   ------ ------ --------- ------ --------- --------- ------------  -----
1  source   10.0     10030  83.21     3.031    10.030     0.302197  1.00 
2    fifo   15.0     10030  67.31     2.070    10.030     0.206351  1.00 
3    fifo   20.0     10030  49.19     0.961    10.028     0.095828  1.00 
4    sink    0.0     10028  83.21     3.030    10.028     0.302197  

SPLIT/MERGE
1  source   10.0      9994  82.69     2.902     9.994     0.290346  0.67 0.33 
2    fifo   15.0      6717  44.16     0.783     6.717     0.116622  1.00 
3    fifo   20.0      3277  16.42     0.198     3.277     0.060310  1.00 
4    fifo   15.0      9994  66.07     1.920     9.992     0.192176  1.00 
5    sink    0.0      9992  82.69     2.901     9.992     0.290346  

CYCLE:
1  source   10.0     10112  58.51     2.170    10.112     0.214624  1.00 
2    fifo  150.0    101138  67.59     2.170   101.136     0.021456  0.90 0.10 
3    sink    0.0     10110  58.51     2.170    10.110     0.214624



Queue Utilization Law: $\rho_i=\lambda_i/\mu_i$ [25]



Law



series



split/merge



cycle



Queue Visit Law: $V_i=\lambda_i/\lambda$ [26]



Law



series



split/merge



cycle



Queue Bottleneck Law: $\lambda_{max}=\mu_b/V_b$ [27]



Law



step 1



step 2



proof



Queue Bottleneck Law: $\lambda_{max}=\mu_b/V_b$ [28]



series



split/merge



cycle



goal



split/merge



Little's Law: $Q=\lambda R$ [29]




\begin{picture}(320,114)(20,720)
\thicklines\put( 20,760){\vector( 1, 0){ 80}}
\...
...740){\makebox(0,0)[lb]{\raisebox{0pt}[0pt][0pt]{$Q$\ {\em jobs}}}}
\end{picture}



Little's Law



Little's Law: $Q=\lambda R$ [30]


\begin{picture}(450,152)(10,685)
\thicklines\put( 20,720){\vector( 0, 1){100}}
\...
...}}
\put(415,805){\makebox(0,0)[lb]{\raisebox{0pt}[0pt][0pt]{(c)}}}
\end{picture}



rules



Little's Law



Little's Law: $Q=\lambda R$ [31]



series



split/merge



cycle



Queue M/M/1 Law: $R=1/(\mu-\lambda)$ [32]



M/M/c



M/M/1



memoryless (Markov)



Queue M/M/1 Law: $R=1/(\mu-\lambda)$ [33]



response



length



waiting



M/M/1 Law: $R=1/(\mu-\lambda)$ [34]



series



split/merge



cycle



General Response Time Law: $R=\sum R_i V_i$ [35]



Law



series



split/merge



cycle



Case Study: CPU vs. I/O [36]




\begin{picture}(204,145)(11,660)
\thicklines\par\put(190,730){\circle*{14}}
\put...
...box(0,0)[lb]{\raisebox{0pt}[0pt][0pt]{$\mu_1 = 100, \mu_2 = 50$}}}
\end{picture}



1. Stream



2. Visits



Case Study: CPU vs. I/O [37]



3.Utilization



4.Bottleneck



Case Study: CPU vs. I/O [38]



5. M/M/1



6. Little's



7. General Response



question


next up previous contents
Next: Process Management Up: 4560 Previous: Introduction to OS   Contents
Ted Billard 2001-11-17