# [Beowulf] Good upgrade intervals (Was: Oldest functioning clusters)

Josip Loncaric josip at lanl.gov
Tue Nov 23 11:18:17 EST 2004

```Robert G. Brown wrote:
>
> [...]  -- Moore's Law is brutal.  So
> production clusters older than five (really three, but certainly five)
> are a net loss and make negative sense.  [...]

Here is a simple argument which I derived back in 1998 to justify
upgrades whenever the same money can buy approximately 5 times the old
intervals, given nominal assumptions.

If performance available at a fixed price point p increases
exponentially with characteristic time scale 1/a, and the time interval
between upgrades is t, we have:

performance=base*Exp[a*time] so the total delivered work is

work=base*t*(1+Exp[a*t]+Exp[a*2*t]+Exp[a*3*]+...+Exp[a*(k-1)*t])

If k machines at price p are bought in sequence at time intervals t up
to the final time tf=k*t, where tf is large and k depends on the choice
of t, the total cost will be cost=k*p and upon simplification:

Exp[a*tf]-1         t^2        base
work/cost  =  -----------  *  ----------  *  ----
tf          Exp[a*t]-1       p

which is maximized (at any fixed tf, base and p) when

a*t = 2+ProductLog[-2/E^2] = 1.59362

so that the performance of the machines between upgrades increases by a
factor of

Exp[a*t] = 4.92155

This is a simple calculation, but it might be of use in deciding how
often to upgrade computers.  By Moore's law, computer power doubles
every 18 months, and therefore the work/cost optimal upgrade interval
should be

t = 3.44867 years

but this interval could be shorter or longer depending on the
characteristic time scale 1/a, so focusing on the growth factor 4.92155
(approximately 5x) is more reliable.

Near optimum, small changes in t make only negligible difference in the
objective function work/cost.  This approximately 3-4 year interval
sounds about right anyway -- and it is comforting to know that our
judgment can be justified mathematically.

So, the work/cost optimal policy is roughly this:

(1) Initially, pick a budget p which you can sustain every 3-4 years
(2) Buy the highest performing system available at price p
(3) Every time you can get about 5x performance at cost p, repeat (2)

This simple calculation assumes complete equipment replacement at a
fixed budget.  The above does not take into account component upgrades
along the way which may extend the useful life of the original
equipment, nor inflation-adjusted budget increases.  However, as Robert
has pointed out, software is a moving target, and eventually old
hardware just won't comfortably run new software.

Each situation is a bit different, but the above "5x performance