|
20 | 20 | \begin{frame}
|
21 | 21 | \frametitle{Queueing Theory}
|
22 | 22 |
|
23 |
| -Literally the theory of queues -- what makes queues appear, how will they behave, and how do we make them go away? |
| 23 | +Literally the theory of queues---what makes queues appear, how will they behave, and how do we make them go away? |
24 | 24 |
|
25 | 25 |
|
26 | 26 | Queueing theory has played a role in your life whether you know it or not.
|
|
48 | 48 | \frametitle{Questions Queueing Theory Helps Answer}
|
49 | 49 |
|
50 | 50 | \begin{itemize}
|
51 |
| - \item Given a choice between a single machine with speed $s$ or $n$ machines, each with speed $s/n$, which should we choose? |
| 51 | + \item Given a choice between a single machine with speed $s$, or $n$ machines, each with speed $s/n$, which should we choose? |
52 | 52 | \item If the arrival rate and service rate double, how does the mean response time change?
|
53 | 53 | \item Should we try to balance load or is that a waste of time/effort?
|
54 | 54 | \item Can we give priority to certain operations without harming another category of job?
|
55 | 55 | \item How do job size variability and heavy-tailed workloads affect our choices of scheduling policy?
|
56 |
| - \item If 12 servers is enough to handle 9 jobs per second, do we need 12~000 servers if we have an arrival rate if 9~000 jobs per second? |
| 56 | + \item If 12 servers is enough to handle 9 jobs per second, do we need 12~000 servers if we have an arrival rate of 9~000 jobs per second? |
57 | 57 | \end{itemize}
|
58 | 58 |
|
59 | 59 | \end{frame}
|
|
64 | 64 | \frametitle{Formal Terms and Bank Analogies}
|
65 | 65 |
|
66 | 66 | \begin{itemize}
|
67 |
| - \item Server - The banking centre fulfilling customer requests. |
68 |
| - \item Customer - Initiator of service requests. |
69 |
| - \item Wait time - The time a customer spends waiting in line. |
70 |
| - \item Service time - The time from when a teller starts to serve a customer up to the time when the next customer is called forward. |
71 |
| - \item Arrival rate - The rate at which customers arrive. |
72 |
| - \item Service rate - the rate at which customer requests are serviced. |
| 67 | + \item Server---the banking centre fulfilling customer requests. |
| 68 | + \item Customer---the initiator of service requests. |
| 69 | + \item Wait time---the time a customer spends waiting in line. |
| 70 | + \item Service time---the time from when a teller starts to serve a customer up to the time when the next customer is called forward. |
| 71 | + \item Arrival rate---the rate at which customers arrive. |
| 72 | + \item Service rate---the rate at which customer requests are serviced. |
73 | 73 |
|
74 | 74 | \end{itemize}
|
75 | 75 |
|
|
81 | 81 | \frametitle{Formal Terms and Bank Analogies}
|
82 | 82 |
|
83 | 83 | \begin{itemize}
|
84 |
| - \item Utilization - The fraction of the teller's time used actually handling customer requests (not idling). |
85 |
| - \item Queue length - The total number of customers waiting, or currently with a teller, or both. |
86 |
| - \item Response time - The sum of wait and service time for a single visit. |
87 |
| - \item Residence time - The total response time if a customer visits several tellers (or the same one multiple times). |
88 |
| - \item Throughput - The rate at which customers get their requests serviced and dealt with. |
| 84 | + \item Utilization---the fraction of the teller's time used actually handling customer requests (not idling). |
| 85 | + \item Queue length---the total number of customers waiting, or currently with a teller, or both. |
| 86 | + \item Response time---the sum of wait and service time for a single visit. |
| 87 | + \item Residence time---the total response time if a customer visits several tellers (or the same one multiple times). |
| 88 | + \item Throughput---the rate at which customers get their requests serviced and dealt with. |
89 | 89 | \end{itemize}
|
90 | 90 |
|
91 | 91 | \end{frame}
|
|
153 | 153 |
|
154 | 154 | Suppose the average service rate $\mu$ is 5 jobs per second.
|
155 | 155 |
|
156 |
| -The system is not overloaded -- 3 jobs per second arriving is less than 5 jobs per second being serviced. |
| 156 | +The system is not overloaded---3 jobs per second arriving is less than 5 jobs per second being serviced. |
157 | 157 |
|
158 | 158 | \end{frame}
|
159 | 159 |
|
|
191 | 191 | \frametitle{Option 3}
|
192 | 192 |
|
193 | 193 |
|
194 |
| -The answer is (3) - we don't need to double the CPU speed. |
| 194 | +The answer is (3)---we don't need to double the CPU speed. |
195 | 195 |
|
196 | 196 | We can see later in formal terms why this is the case, but think for a minute about what it is?
|
197 | 197 |
|
|
304 | 304 | \begin{frame}
|
305 | 305 | \frametitle{Digression on Load Balancing}
|
306 | 306 |
|
307 |
| -Imagine your typical ``server farm'' - you have $n$ servers that are all responsible for handling incoming requests. |
| 307 | +Imagine your typical ``server farm''---you have $n$ servers that are all responsible for handling incoming requests. |
308 | 308 |
|
309 | 309 | Let's imagine all servers are the same (or close enough).
|
310 | 310 |
|
|
321 | 321 | \begin{frame}
|
322 | 322 | \frametitle{Assignment Policies}
|
323 | 323 |
|
324 |
| -There are a few different task assignment policies - ways in which we can assign work to servers: |
| 324 | +There are a few different task assignment policies---ways in which we can assign work to servers: |
325 | 325 |
|
326 | 326 | \begin{itemize}
|
327 | 327 | \item Random
|
|
347 | 347 | You'll never know what you can do\\
|
348 | 348 | Until you get it up as high as you can go''
|
349 | 349 |
|
350 |
| -\hfill - Kenny Loggins |
| 350 | +\hfill -- Kenny Loggins |
351 | 351 |
|
352 | 352 |
|
353 | 353 | \end{frame}
|
|
512 | 512 |
|
513 | 513 | The closed system strategy: set it up so there is always work to do.
|
514 | 514 |
|
515 |
| -In closed systems, there's often consideration given to \textit{think time} -- this is what happens when the user is on the command line and dispatching work to do. |
| 515 | +In closed systems, there's often consideration given to \textit{think time}---this is what happens when the user is on the command line and dispatching work to do. |
516 | 516 |
|
517 | 517 | To keep the system totally busy in the stress test, we need think time to be zero---so additional work is always available.
|
518 | 518 |
|
|
0 commit comments