Our approach uses Algorithm 2 to search for the peak rate for a given setting of factors.
Algorithm 2 takes various parameters to define the conditions for the reported peak rate:
Algorithm 2 chooses
(a) a sequence of test loads to try; (b) the number of independent trials at any test load;
and (c) the runlength of the workload at that load.
It automatically adapts the number of trials at any
test load according to the load factor and the desired target confidence and
accuracy.
At each load level the algorithm conducts
a small (often the minimum of two in our experiments) number of trials
to establish with
% confidence that the current
test load is not the peak rate (Step
). However, as soon as the algorithm
identifies a test load
to be a potential peak rate, which happens near a load
factor of
, it spends just enough time to check whether it is in fact
the peak rate.
More specifically,
for each test load
, Algorithm 2
first conducts two
trials to generate an initial confidence interval for
,
the mean server response time at load
, at
% confidence
level. (Steps
and
in Algorithm 2.) Next, it checks if
the confidence interval overlaps with the specified peak-rate region (Step
).
If the regions overlap, then Algorithm 2
identifies the current test load
as an estimate of a potential
peak rate with 95% confidence.
It then computes the accuracy of the mean server response time
at the current test load, at the target confidence
level
(Section 2.1). If it reaches
the target accuracy
, then the algorithm terminates (Step
), otherwise it conducts more trials at the current test load (Step
)
to narrow the confidence interval, and repeats the threshold condition test.
Thus the cost of the algorithm varies with
the target confidence and accuracy.
If there is no overlap (Step
), then
Algorithm 2 moves on to the next test load.
It uses any of several load-picking algorithms
to generate the sequence of test loads, described in the rest of this section.
All load-picking algorithms take as input the set of past test loads
and their results. The output becomes the next test load in
Algorithm 2. For example,
Algorithm 3 gives a load-picking algorithm using
a simple binary search.
To simplify the choice of runlength for each experiment at a test load (Step 5),
Algorithm 2 uses the ``sweet spot'' derived from
Figure 6 (Section 3.2). The figure
shows that for all workloads that this paper considers, a runlength of
minutes is the sweet spot for the minimum number of trials.
varun 2008-05-13