Abstract:
We present a simple technique for predicting the probability that an
idle workstation will continue to be idle for $i$ minutes, given that
it has been idle for $x$ minutes (i.e., find the {\em remaining idle
period probability} $P(i;x)$). By idle we mean that the workstation
owner is not interactively using the workstation or executing other
tasks on it. The results are particularly applicable to the
scheduling of tasks in systems that harvest cycles from idle-only
workstations.
Our Remaining Idle Period Probability Predictor (RIPPP) uses the
distribution of the lengths of idle periods on the managed
workstations. Collecting, storing, and processing these distributions
(in the form of histograms) is a small overhead on modern workstations
(a few kilobytes of storage per workstation).
We investigated the behavior of our RIPPP with usage traces of 31
workstations collected over a five month period, and discovered the
following six results. (1) The distribution of one month of idle
periods predicts the remaining idle period probability in the next
month for most workstations. (2) Different workstations tend to have
significantly different idle period length distributions. (3) The
average length of an idle period does not necessarily correlate well
with the probability of being able to find long idle periods, contrary
to intuition and previous scheduling heuristics. (4) A workstation
that has been idle a long time does not necessarily have a high
probability of remaining idle for a long time. (5) Using the time of
day can improve predictions. (6) The length of the previous and the
current idle periods are positively correlated, but the length of the
previous idle period is not strongly correlated with finding long
remaining idle periods.
Based on these studies, we conclude that an effective way to find idle
workstations is to collect their idle period length distribution and
use it to compute $P(i;x)$. We believe our analysis will be
applicable to predicting the length of busy periods, which is useful
for deciding whether to migrate or suspend tasks when a workstation
becomes busy (the owner reclaims it).
From our results, we have developed a remaining idle period
probability toolkit which includes a statistics collector and a
prediction library in C. This will be available from our project
homepage.