Let's see if I can put this to bed numerically, starting with 2 key observations:
- The algebra of your "derivation" requires that R (for "rate") be Poisson distributed: avg(R) = var(R) or avg(r) = var(r); your notation is inconsistent. In the notation of my books, X is the thruput or arrival rate (in steady state) and S is the service time, so that Little's law is U = X * S. In your notation LL is U = m * R. BTW, U = m * R and avg(U) = m * avg(R) is the same thing b/c LL is a statement about mean values.
- In my first response, I pointed out that the RHS of your proposed equation avg(R) = avg(U)^2 / var(U) is the inverse of the squared coeff of variaton: iSCoV.
Elaborating on Point 1:
The Poisson dsn is a discrete dsn b/c it has to do with counts or events, not rates. It can be thought of as the large-N approx to a Binomial dsn. It gives the prob that there will be, e.g., N phone calls arriving at a help center every minute.
The Poisson dsn is expressed in terms of a single parameter, α > 0, which is dimensionless. Why? It is the average NUMBER of events occurring in the chosen interval of space or time; it is sometimes referred to as the "strength." The Poisson pmf contains a factor, exp(-α), so it has to be dimensionless b/c probabilities are dimensionless.
Compare this with the Exp dsn (the continuous dsn of time intervals b/w events). If for any time t > 0 the number of arrivals in the time interval [0, t] follows the Poisson distribution with mean α replaced by λt, then the inter-arrival periods are iid Exp random variables with mean 1/λ. The Exp pdf parameter λ must have the dimensions of inverse time in order that the α parameter of the corresponding Poisson dsn remain dimensionless. An inverse-time quantity is a frequency or rate; the arrival rate in queueing parlance.
In queueing models of computer performance, the inter-arrival periods or the service periods are often assumed to be Exp distd, not Poisson distd.
Elaborating on Point 2:
The following table shows the results of a simulation for 10,000 Poisson variates X. Their mean value was chosen to be 20.
Arrivals dsn: Poisson, Service dsn: Constant using 10,000 variates
Utilization ServiceTime MeanX Kraput CoVu CoVx iSCoVx
1 0.9982900 0.050000000 19.9658 20.27966 0.2220596 0.2220596 20.27966
2 0.6655267 0.033333333 19.9658 20.27966 0.2220596 0.2220596 20.27966
3 0.4991450 0.025000000 19.9658 20.27966 0.2220596 0.2220596 20.27966
4 0.3993160 0.020000000 19.9658 20.27966 0.2220596 0.2220596 20.27966
5 0.3327633 0.016666667 19.9658 20.27966 0.2220596 0.2220596 20.27966
6 0.2852257 0.014285714 19.9658 20.27966 0.2220596 0.2220596 20.27966
7 0.2495725 0.012500000 19.9658 20.27966 0.2220596 0.2220596 20.27966
8 0.2218422 0.011111111 19.9658 20.27966 0.2220596 0.2220596 20.27966
9 0.1996580 0.010000000 19.9658 20.27966 0.2220596 0.2220596 20.27966
10 0.1815073 0.009090909 19.9658 20.27966 0.2220596 0.2220596 20.27966
The sample mean is mean(X) = 19.9658 ~ 20 (3rd col). In addition, I chose a set of variable service times (2nd col) and computed the corresponding varying utilization (1st col) using LL. This allows me to calculate your avg(R) or "rate" (I'll call it the "Kraput") in the 4th column. Notice that the Kraput is close to the mean of X but not identical to it.
Note further that although the Kraput employs different utilization values as inputs from each of the 10 rows, it remains constant. This reflects your main claim, that you can use measurements of the single utilization metric to determine the throughput of the system, whereas LL requires the measurements of two input metrics.
However, notice that I also get the same value as the Kraput if I take (a) the CoVx of the random variates (X) in the 6th column, (b) square it and (c) invert it: "iSCoVx" (last col). This follows from your assumption that the service time (m in your notation) is constant and using LL.
What's going on here?
This all goes back to my original observation, restated in point 2, above. For a Poisson dsn, the CoV = sd/mean = sqrt(α)/α = 1/sqrt(α). Therefore, the CoV^2 = SCoV = 1/α and the inverse of the SCoV or iSCoV = α. In other words, the iSCoV is the mean of the Poisson dsn or mean(X) in the above table. Hence, columns 3 and 7 are approximately equal for 10,000 variates. Columns 4 and 7 are the same thing, by definition of the ratio.
Clearly, the Mean(X) and iSCoVx are identical mathematically for the Poisson dsn. Then your equation follows trivially and your "derivation" is unnecessary. However, it is entirely misleading with regard to application to computer performance analysis. Why?
The Poisson parameter is dimensionless, for the reasons I gave above, so the the quantity on the LHS of your equation must also be dimensionless. But you want it to represent the thruput or arrival rate. Therefore, as I tried to point out in my previous responses, this relationship cannot be true in general. And it is not. The statistical mean (α) and the iSCoV (α) just happen to be identical numerically for the Poisson dsn.
This point is easy to demonstrate by choosing the dsn to be Exp rather than Poisson:
Arrivals dsn: Exponential, Service dsn: Constant using 10,000 variates
Utilization ServiceTime MeanX Kraput CoVu CoVx iSCoVx
1 1.0038638 0.050000000 20.07728 0.9914595 1.004298 1.004298 0.9914595
2 0.6692425 0.033333333 20.07728 0.9914595 1.004298 1.004298 0.9914595
3 0.5019319 0.025000000 20.07728 0.9914595 1.004298 1.004298 0.9914595
4 0.4015455 0.020000000 20.07728 0.9914595 1.004298 1.004298 0.9914595
5 0.3346213 0.016666667 20.07728 0.9914595 1.004298 1.004298 0.9914595
6 0.2868182 0.014285714 20.07728 0.9914595 1.004298 1.004298 0.9914595
7 0.2509660 0.012500000 20.07728 0.9914595 1.004298 1.004298 0.9914595
8 0.2230808 0.011111111 20.07728 0.9914595 1.004298 1.004298 0.9914595
9 0.2007728 0.010000000 20.07728 0.9914595 1.004298 1.004298 0.9914595
10 0.1825207 0.009090909 20.07728 0.9914595 1.004298 1.004298 0.9914595
For the Exp dsn, the CoV = 1 by definition and the Kraput is similarly near 1, whereas the mean of these Exp distd variates is still chosen to be mean(X) = 20.
In other words, the correct dsn to provide rates (e.g., arrival rate) for computer performance analysis is the Exp dsn (as we do in queueing models). But that fails to support your claimed equation b/c its CoV or iSCoV = 1, always.
On Thursday, May 23, 2013 1:26:06 PM UTC-7, David Kra wrote:
* I was going to reply privately, because it was beginning to sound repetitive, but realized since this is a professional ad rem discussion, not a personal ad hominem attack, we should continue for my and others' illumination.
<Metadiscussion >
Picky, picky, picky terminology department:
Dimensions vs. units of measure
Some of us, at least me, have been using dimensions and units of measure almost interchangeably here. They aren't. Length is a dimension. Kilometer is a unit of measure. I'LL try to be careful, but not complain about any others' misuses.
Synthesis vs Derivation
I derived a formula for a value using algebra. The value is synthetic because it does not purport to match the underlying reality. I used an observed average and variance to formulate a rate and workload that would produce that same average and variance. The reality could be that there are actually multiple independent workloads, each with its own average and variance which, in aggregate, produce the observed average and variance.
</Metadiscussion >
This analysis does not apply merely to dimensionless utilization, though I claim that even utilization is not dimensionless!
u = m (CPU seconds/request) * r (requests/second) has units of CPU, while its variance has the units of CPU^2
u = m (CPU seconds/request) * r (requests/hour) has units of CPU seconds per hour, while its variance has the units of (CPU seconds per hour)^2.
u = m (instruction/request) * r (requests/second) has units of instructions per second, while its variance has the units of (instructions per second)^2.
u = m ($ / withdrawal) * r (withdrawal/hour) has units of $/hour, while its variance has the units of ($/hour)^2.
Whether or not you agree, I would appreciate comments on the validity and usefulness of:
Given random variables, R and U, where U = m * R, and where R has a Poisson distribution, and
Given observed values for avg(U), and var(U), we should find that the values of
m = var(U) / avg(U) and that
avg(R) = avg(U)^2 / var(U)
subject to the typical implications of sample size.
My take of the usefulness is that in many cases the data provided to me includes resource consumption during the period, but not the number of requests. Combining many samples during a consistent load period, lets me estimate the number of requests and resource per request. For ATM's for example, a consistent load might consist of the same hour of the day for each Tuesday, Wednesday, and Thursday other than the 1st and 15th of the month, which is admittedly, only about 12 samples per month for each hour (4 weeks * 3 days). ATM's are a bad example, however, because the reported data always provides the number of business transactions.
<simpler derivation>
eq1. U = m * R
eq2. avg(U) = m * avg(R)
eq3. var(U) = m^2 * var(R)
divide eq3 by eq2 to get
eq4. var(U) / avg(U) = (m^2) * avg(R) / ( m * var(R))
which, for the Poisson distribution, where avg(r) equals var(R) gives
eq5. var(U)/avg(U) = m
and if we substitute the lhs into the rhs of eq2, we get
eq6. avg(U) = (var(U) / avg(U)) * avg(R) which gives
eq7. avg(R) = avg(U)^2 / var(U)
</simpler derivation>