We consider policies for CPU load balancing in networks of
workstations. We address the question whether preemptive migration
(migrating active processes) is necessary, or whether remote execution
(migrating processes only at the time of birth) is sufficient for load
balancing. We show that resolving this isssue is strongly tied to
understanding the process lifetime distribution. Our measurements
indicate that the distribution of lifetimes for UNIX process is Pareto
(heavy-tailed), with a consistent functional form over a variety of
workloads. We show how to apply this distribution to derive a
preemptive migration policy that requires no hand-tuned parameters.
We use a trace-driven simulation to show that our preemptive migration
strategy is far more effective than remote execution, even when the
memory transfer cost is high.