Computer Performance Modeling

When service requests (i.e., for processor, memory or I/O) outnumber the available servers, some must wait. Since each request takes a finite time to satisfy, the wait times, and therefore the response times, will be related to the number waiting in the queue.

The Poisson Distribution describes the number of service requests as a function of time given the average arrival rate (r) and the number of servers (n):

P(t) = C e- r t (r t)n / n!

Here, C is a normalization constant, which determines the overall area under the curve; for a probability distribution, this area is 1, as is C. The exclamation point represents the factorial function: n! = 1 * 2 * 3 * ... * (n-1) * n.

The red plot corresponds to a doubling of r (of the black plot), while the blue plot corresponds to a doubling of n. We can see that response times grow more quickly when the requests arrive at a greater rate, and less quickly when there are more resources to service the requests. The Poisson Distribution is commonly used in simulations of device queuing and access times (for instance, how requests for disk access are handled by an operating system, and how long they take).

The following applet allows you to simulate an operating system under a variety of hardware capabilities and task mixes. It takes a large number of simulations to accumulate enough data to see the Poisson characteristics, but it is relatively easy to see qualitatively how changes in service capacity and load rate mirror the plots above. Note that the applet assumes there is always a task waiting to process, so the CPU will be idle only when all tasks are waiting for I/O or memory.

The scroll bars are used to specify the characteristics of the task mix. The simulation can be very sensitive to some parameters, particularly the I/O boundedness, which describes the relative amount of I/O to CPU processing. So it may take some experimentation to get the task characteristics you want.

Start the simulation using the Start button. After it has finished, you may change any parameters (or not) and start a new simulation using the Start button again. The display indicates processor, i/o and memory utilization as a function of time in black, red and blue, respectively. The message window displays a summary of each simulation. The message window can be cleared using the Clear button.

Note that memory queue statistics can be inconsistent if there is sufficient system memory for all tasks, since every task starts on the memory queue at the beginning of the simulation.

You need a Java-capable browser to be able to work with this applet.



Finally, we will be interested in the exponential distribution:
E(r) = C ed r / b

This is not a probability distribution (although it is closely related to the inverse of the exponential probability distribution) because the area under the plot is infinite. However, it is extremely important in that it describes response times in contention-based environments like wireless networks.

For wireless networks, r is the request rate, C and d are constants, b is the bandwidth and E(r) is the response time. The bandwidth is just the maximum throughput, expressed as a frequency.
The red plot above represents doubling of the bandwidth over that of the black. You can see that for the left side of the plots. the response time is nearly a linear function of the request rate. But as the request rate increases, the response times increase exponentially. By regularly plotting your network response times, you can recognize when they are beginning to rise exponentially, and can upgrade your network resources accordingly.
This applet allows you to perform a 10 second wireless channel simulation as a function of bandwidth, the number of nodes on the channel, packet sizes and packet rates. The display indicates channel utilization as a function of time. Here, the queue depth represents the number of nodes waiting to retry collisions (a collision occurs when two nodes attempt to transmit simultaneously).

For this simulation, we assume that the optional RTS/CTS (request to send/clear to send) sequences are not used.



We hope that you have learned a great deal from this text, and that it will help you to be successful in your future coursework, as well as in your careers.


Go to:Title PageTable of ContentsIndex

©2012, Kenneth R. Koehler. All Rights Reserved. This document may be freely reproduced provided that this copyright notice is included.

Please send comments or suggestions to the author.