TechWeb

Analysis: How Much System Memory Is Really Enough?

Aug 30, 2006 (12:08 PM EDT)

Read the Original Article at http://www.informationweek.com/news/showArticle.jhtml?articleID=192500681


How much memory is enough? That's a question that's bothered me -- and thousands of other computer users -- for years. And so far, I haven't seen too many answers that have really satisfied me.

It's especially important because, while the type of memory -- whether it be DDR, DDR2, or some other -- is locked in stone by which motherboard and processor your system works with, you get to choose the amount of memory that comes with a new machine (and add to it later).

However, it's not easy to figure out how much is enough -- computer memory is situational. What you're doing and the software you're using to do it are the deciding factors in determining the optimal memory size for your computer -- and they can change from PC to PC.

For example, according to Microsoft, all you need to run the Professional version of its Windows XP operating system is "128 megabytes (MB) of RAM or higher recommended (64 MB minimum supported; may limit performance and some features)." There's a minimum specification for the processor as well, but let's face it, chances are that your processor is well beyond that minimum.

In other words, my ancient and puny IBM ThinkPad 600X with its 64MB of memory should run Windows XP Pro. Stop laughing. It can -- to a point. Microsoft Word and Lotus Notes sail along smoothly. But that's about as far as you'll get. Windows is crafty -- instead of just grinding down to a screeching halt if it looks like memory's coming up short, Windows starts to use your hard disk as if it were memory, polling data to and from the drive as needed. The difference in speed (and, therefore, overall performance) is like that between walking and driving a NASCAR racecar.

Putting It To The Test
But what's the ideal as far as memory is concerned? In order to find that out, I decided to take a typical Media Center system and ramp it up by degrees from 512MB of memory (which is actually a more reasonable memory baseline than 64MB) to 2GB, which is half the maximum memory most consumer motherboards support, and the absolute maximum you'll find for some.

For those purposes, I acquired four Ballistix 240-pin DIMM, DDR2 PC2-6400 memory modules (P/N # BL6464AA804) from Crucial Technology. Because this is high-performance module (complete with heat sink), it can be expensive -- upward of $100 per module. You can find equivalents, like Crucial's standard PC2-4200 modules (P/N # CT6464AA53E), for about $40 less per module.

I used two pieces of software to test how the added memory impacted my computer: COSBI OpenSourceMark (OSMark) and Ulead VideoStudio 10 Plus.

OSMark is a synthetic benchmark -- that means there are no actual commercial applications in the software. Instead, OSMark was designed to test all of the subsystems (CPU, memory, graphics, hard drives) and then derive a single performance number by combining and weighting those individual results. VideoStudio is a real application I used to separate 43 minutes of video clips from a one-hour captured television video and then stitch them back together to create a complete show, except without the commercials. It's the computer equivalent of heavy lifting.

Incidentally, the only other change I'll be making in the system, besides adding more memory, is moving in and out of dual-channel memory architecture. Not up to speed on dual-channel? No problem.

Dual-channel is the use of memory modules in pairs rather than as single devices. Why is that good? Think of a deck of playing cards. If you use just one hand to take a card off the top of the deck, bring it to you, and then go back for the next, you'll eventually end up with all of the cards in front of you. However, if you alternate hands, start moving one toward the deck as the other is moving away from it, you'll accomplish the same thing a lot faster.




Benchmarking Memory
The computer with 512MB of memory produced an OSMark result of 1,053 --which is not great if you're looking for a high-performance PC. Luckily, this particular computer wasn't built to be a major performer. It's just there to entertain. Still, there's always room for improvement.



When system memory goes over 1GB, the benchmark test can no longer measure the improvement.


With two 512MB memory modules installed -- 1GB total -- and without using the motherboard's dual-channel capability, the OSMark was bumped up to 1,074. Higher score -- but not such a big improvement. However, when I switched the two modules so that they took advantage of dual-channel, that number jumped up to 1,111.

In other words, the move from 512MB to 1GB in dual-channel mode resulted in about a 15 percent performance improvement, while that same amount of memory, when not used in dual-channel mode, meant just a little less than a 2 percent improvement. Not a bad result for just re-arranging the deck chairs.

Because more is always better (right?), I added a third 512MB module to the group, bringing the total to 1,536MB. However, this threw a wrench into the dual-channel works -- dual-channel wants an even number of memory modules. In response, OSMark gave the system a score of 1,112. Just a one-point increase in the result for a whole 512MB bump in memory? That's hardly a way to encourage you to spend money on more memory.

So I installed the fourth and final 512MB, again restoring dual-channel operation for all of the memory. This time, OSMark produced...a 1,112 result. Huh?

This is why you never rely solely on benchmarks.

What happened is that the memory ran out of benchmark. It would appear that OSMark doesn't need more than 1GB in which to run, so there's no improvement seen by adding more memory beyond that point. How do you prove that's the case? By switching to an actual application: VideoStudio 10 Plus.




Memory In Real Life
The rendering times for my 43 minutes of video clips tell much the same story. There was little difference between the jump from 512MB and 1GB when I stuck to the non-dual-channel arrangement. Effectively, the video clip was rendered in 35 minutes and two seconds (2,102 seconds) when it had 512MB to work with, and 34 minutes and 50 seconds (2,090 seconds) when I upped it to 1GB.



In real-life applications, more memory means better performance -- especially when it's dual-channel.


When I rearranged the memory into dual-channel configuration (memory sockets are color-coded by pairs so you can tell where to put them), that time dropped to 31 minutes and 45 seconds (1,905 seconds). That's more than a four-minute improvement. If you do several renders each day, several times each week, you're talking days of saved time within a year just by putting your memory modules where they really want to be.

How about a larger memory size? Well, when I dropped in the third 512MB memory module, the render time actually slowed by 17 seconds to 32 minutes and 2 seconds (1,922 seconds). Why? That's right, class -- because I had upset dual-channel.

When I added the fourth 512MB module to balance the dual-channel arrangement, the render time dropped to 30 minutes and 31 seconds (1,831 seconds). The further decrease in time was the proof I needed to know for sure that the OSMark synthetic benchmark hadn't used the memory I added above 1GB.

Could I add even more memory and see a further improvement in rendering? The answer is probably yes. But, at that point, I'd begin to get into the law of diminishing returns. To begin with, since I only had four slots to play with, I'd need to toss out two of the memory modules I was using and replace them with higher values; for example, two 1GB modules. That's a major expense in purchasing the new memory and a loss of money on the old modules.

Unless you're seriously into video rendering (or any heavy-duty application), the upgrade probably wouldn't be worth the cost at the level of improvement you're likely to see. Why? Right now, the cost of a single 512MB memory module like the one I used is $105. (Memory prices are volatile, so the actual cost may vary.) The big improvement came from the switch to 1GB used in dual-channel mode, which doubled my original memory cost to $210. Doubling that cost again (to $420), to reach 2GB, would produce a much lower return on my investment.

If you go beyond the 2GB, you'll then be spending about 2.5 times more money -- remember, in order to reach 3GB, you're throwing away two of the original memory modules for a loss of $210, and adding two 1GB modules at a cost of $186 each -- a grand total of $1,192 overall for additional memory that would only produce another incremental improvement at best.

Conclusions
Unfortunately, while I've demonstrated that dual-channel is the preferred mode to use, I've also reinforced the idea that memory amounts are situational. It all depends on what you need the memory for. If you're rendering video for a living (or as part of a serious hobby), any time saved at each repetition of the task can begin to accrue enormously the more times you repeat that task. For most other situations, you've probably reached the value point for memory increases at 2GB. In fact, a serious argument could be made for just 1GB for the average hobbyist.

For video rendering, large spreadsheets, graphic image manipulation, and similar memory hogs, more memory is only better up to a point -- after which you might as well feed your hard-earned dollars into the paper shredder. Unless you don't mind throwing money at problems, you'll need to do some work to figure out when you've reached that tipping point.