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

Josip Loncaric josip at lanl.gov
Tue Nov 23 08:18:17 PST 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 
system's performance.  This works out to about 3-4 year upgrade 
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


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 
upgrades" rule is not a bad choice.


More information about the Beowulf mailing list