Saturday, March 8, 2008

Watch Your Knees and Queues

Beware of optical illusions!

The above plot, showing the normalized response times (R/S) for an M/M/m queue (i.e., a single waiting line with m servers), popped up several times at Hotsos 2008. The M/M/m queue can be employed to model the performance of multiple Oracle processes. Here, the curves correspond to m = 1 (black), 2, 3, 9, 16 (blue) plotted against average server utilization.

Notice how the knee of each curve becomes sharper as m increases. Moreover, it looks like the knees fall along the dashed line and the question arises; Can this feature be used to set SLOs? Unfortunately, the answer is negatory because the dashed line is merely an optical illusion. Here's why.

Part of the problem is that the aspect ratio in the first plot is not 1-to-1. If we change that (plot at left), the dashed line is seen to be nowhere near the knees. This approach fails because the curves all belong to different (dys)functional families. If we decide to change the slope of the dashed line to something more shallow, we are still faced with the problem of deciding where it should intersect the Y-axis because any such choice will be purely arbitrary and the line will not pass through all knees.

To better understand this point, we need to think outside the box. The third figure shows the same functions plotted outside their normal domain of definition; the blue box (which corresponds to the second figure). They look like strands of colored spaghetti because they are actually completely different rational functions whose singularities and points of inflection are determined by the number of servers (m).

No comments: