There is a great paper every computer engineer should read, The 5 minute rule for trading memory for disc accesses and the 10 byte rule for trading memory for CPU time:
If an item is accessed frequently enough, it should be main memory resident. For current technology, "frequently enough" means about every five minutes. Along a similar vein, one can frequently trade memory space for CPU time. For example, bits can be packed in a byte at the expense of extra instructions to extract the bits. It makes economic sense to spend ten bytes of main memory to save one instruction per second. These results depend on current price ratios of processors, memory and disc accesses. These ratios are changing and hence the constants in the rules are changing.
Published by Tandem in 1986 it is still relevant today. Quick and fun, the paper provides a analytical tool that is powerful beyond it's original scope. It has been updated twice, ten years later (1997), and twenty years later (2007). The ten year paper show how the rule still stood at that time. The twenty year later paper provides new insights in to the topic, has lots of good analytical work, and should be read if you are trying to apply the 5 minute rule to modern systems.
If I was teaching computer science The 5 Minute Rule would be required reading.

Comments (2)
(Something you probably already know, but....)
The other thing that needs to be considered is development cost.
If your only goal is to make the most scalable system or the most efficient system, then this is something you do definitely need to consider.
But that's not always your goal.
Sometimes developing a scalable system or an efficient system isn't cheap in the short term (because of development costs) even though it may be more cost effective in the long term.
Sometimes company cash flow is important.
Sometimes time cannot be spent on engineering scalability because you don't want to loose other opportunities (and incur an opportunity cost).
With software development, you more often have to answer the question of "when" to do things, rather than "how" to do things. (Even though answering the "how" is more interesting.)
-- Charles Iliya Krempeaux
http://changelog.ca/
Posted by Charles Iliya Krempeaux | March 14, 2008 8:08 AM
Posted on March 14, 2008 08:08
I think you may have missed the point of this paper. The point is when buying hardware you can spend money on spindles or ram this work tells you which is cheaper.
Posted by Jonathan Moore | March 14, 2008 8:12 PM
Posted on March 14, 2008 20:12