The Utility of Exploiting Idle Workstations for Parallel Computation
Anurag Acharya
Guy Edjlali
Joel Saltz
To appear in SIGMETRICS'97
Abstract:
In this paper, we examine the utility of exploiting idle workstations
for parallel computation. We attempt to answer the following
questions. First, given a workstation pool, for what fraction of time
can we expect to find a cluster of k workstations available? This
provides an estimate of the opportunity for parallel computation.
Second, how stable is a cluster of free machines and how does the
stability vary with the size of the cluster? This indicates how
frequently a parallel computation might have to stop for adapting to
changes in processor availability. Third, what is the distribution of
workstation idle-times? This information is useful for selecting
workstations to place computation on. Fourth, how much benefit can a
user expect? To state this in concrete terms, if I have a pool of size
S, how big a parallel machine should I expect to get for free by
harvesting idle machines. Finally, how much benefit can be achieved on
a real machine and how hard does a parallel programmer have to work to
make this happen? To answer the workstation-availability questions, we
have analyzed 14-day traces from three workstation pools. To
determine the equivalent parallel machine, we have simulated the
execution of a group of well-known parallel programs on these
workstation pools. To gain an understanding of the practical
problems, we have developed the system support required for adaptive
parallel programs and have used it to build an adaptive parallel
computational fluid dynamics application.
Postscript
(compressed 205K).
A previous version is available as
CS-TR-3710.