Memory question.


Jon

Recommended Posts

So, I've been running my unRAID server for several months now and it's performed perfectly.  I've been using an Intel DG965R board with an Intel E1200 (dual core Celeron) with 2GB DDR2-800.  I now have 4x1TB and 5x500GB drives attached.

 

I recently swapped out the E1200 for a Celeron 430 since I had better use for the dual core chip and I saw no use for dual cores on my unRAID server.  I do nothing with it except SMB sharing to multiple HTPCs.  I also found myself with 4x512MB DDR2-667 modules that I don't have much use for.  Would swapping out the 2x1GB DDR2-800 modules for those make any difference considering my usage?  Does parity checking rely much on memory bandwidth?  I could use those 2x1GB modules elsewhere as I have a board with only two memory slots.

 

I suppose I could just swap it and see for myself, but I'm not sure how unRAID makes use of bus speeds outside of PCI/PCIe for raw drive bandwidth.

Link to comment

Except at the extreme low-end, memory and CPU are not in the critical path for performance, though there are reasons to go with more/faster of each (i.e. non-Unraid uses on the same box).  There are a few guys with mega-memory that will certainly chime in.

 

Focus on your NICs/network, drives/controllers, and BIOS settings.

 

 

Bill

Link to comment

I spent alot of time specing ram for the base build. The main thing to concentrate on is compatibility and certification of the specific ram against the specific MB. Whist generic ram may work the cost difference between matched pairs of ram certified by either the MB or RAM manufacturer is negligible. The more you read the more horror stories and weird things you will find so stick to big brand names and read the MB manual.

 

A Ram upgrade wont be noticeable to most end users except when you look deeper. You will immediately see:

 

disks stay spun down longer as samba caches more folder structures

avis will be put into memory so for instance if you pause a video and the later disks goes to sleep you likely wont wake the disk up to watch the rest of a the vid

browsing samba shares in explorer etc will get faster and faster as more of it is cached in unraid ram

 

for me ram is the single cheapest real world improvement unraid users can make that will effect their day to day usage. The day unraid supports 8GB of ram i will instantly buy another 4GB

Link to comment

for me ram is the single cheapest real world improvement unraid users can make that will effect their day to day usage. The day unraid supports 8GB of ram i will instantly buy another 4GB

 

I thought back in 4.2 days Tom said he was going to enable PAE in the next release (4.3). Can anyone verify.

(Yes, I'm still running 4.2.. LOL.. I have some special set ups that I'm being lazy about.. One of which I'll post about later)

Link to comment

In the world of unRAID, high speed CPUs and memory really make very little difference.  Your are limited by the network speed and, ultimately, the drives themselves.  When running parity checks the network speed is not an issue, but you may be limited by things like the PCI bus performance.  Memory performance has such a minor impact on performance that it just isn't worth worrying about.

 

Remember that modern processors contain large amounts of memory cache.  Once loaded into cache, memory accesses are extremely fast and not impacted by your memory timings (until the memory is unloaded from cache again).  Larger and larger caches have meant that memory timings have less and less impact on performance (depending on the application of course) over the years.

 

But if you really want to tune memory performance, there is a lot to know.  There is the memory speed (667, 800, 1066).  There is the CAS rating (3, 4, 5).  There are the subtimings (4-4-4-12, 5-5-5-15).  There is the memory voltage (and it becomes important that your motherboard support that voltage).  Depending on your motherboard, overclocking (if any), and other factors, 800 memory running at 4-4-4-12, might be faster than 1066 running at 5-5-5-15.  Unlike hard disk speed which is fixed (normally at 7200RPM), memory timings are more of a guarantee of ability to run at a certain speed - it doesn't mean the memory can't run faster.  Some brands/models have more "headroom" and overclock better than others.  They usually require extra voltage to do this - and some memory tolerates more voltage better than others.  Some motherboards are better at providing that voltage.  Others have a "voltage droop" which causes all sorts of frustrations in trying to get the memory voltage properly set.  If you are trying to set up a screaming gaming rig, you'd want to be up on all of this and make decisions based on performance factors.  Unless you understand all this stuff and know how to change the BIOS settings properly, popping in the most screaming fast memory into your computer is likely to DEGRADE performance relative to budget memory, becuase the speed DEFAULTS for this memory are usually set to slow settings.

 

Why go to all this trouble?  The memory speed improvement is not likely to make a huge difference.  But being able to overclock the CPU to a greater degree might.  Memory has to be "fast enough" to support a CPU overclock.  If the memory is not fast enough, you are either stuck or you have to cut your memory speed (using memory dividers) - sometimes dramatically.  (Memory dividers often are in large steps, so either it is fast enough to run at a step, or you have to drop by 1/3 or more to go down to the next lower step.  You don't want to be close to the next step, you want to be just over it.).  It is the kind of users that want to overclock their CPUs that are the most concerned about memory.  They are able to compute the memory speeds that they need to run the CPU at the desired level of overclocking, that are really interested in the memory speeds and timings. 

 

Is it worth worrying about for a regular high-end workstation?  It is debatable.  Other than being able to brag about a few percent improvement on some benchmark, the real-world advantage is pretty small, unless you happen to be running a memory intensive process (who's working set won't live in cache) that takes hours (better yet days or weeks) to complete.  In those cases, saving a few percent might really mean something.

 

Bottom line:  For unRAID, shop for price on memory.  MORE is better than FASTER.  Just make sure that the specs of the memory are supported by the MB.  Some people like to see the actual memory model number in the offical MB documentation.  I have NEVER bought memory that was on the official list, and never had a problem.  I just look a tthe specs.  YMMV.

Link to comment

Is it worth worrying about for a regular high-end workstation?  It is debatable.  Other than being able to brag about a few percent improvement on some benchmark, the real-world advantage is pretty small, unless you happen to be running a memory intensive process (who's working set won't live in cache) that takes hours (better yet days or weeks) to complete.  In those cases, saving a few percent might really mean something.

 

For unRAID, it's debatable. but it also depends on what your workstation is doing.

My high end workstation is running 5 vmware instances. In that case, memory performance matters.

For unRAID, memory performance from 800 to 1066 is minimal.

 

 

Bottom line:  For unRAID, shop for price on memory.  MORE is better than FASTER.  Just make sure that the specs of the memory are supported by the MB.

 

I would say, Shop for quality. MORE is better then FASTER, but if it's at the cost of quality and reliability, it's useless.

Who knows what you could be scribbling to disk.

 

Link to comment

For unRAID, it's debatable. but it also depends on what your workstation is doing.

My high end workstation is running 5 vmware instances. In that case, memory performance matters.

For unRAID, memory performance from 800 to 1066 is minimal.

 

I should always leave an exclusion for WeeboTech.  ;)

 

I would say, Shop for quality. MORE is better then FASTER, but if it's at the cost of quality and reliability, it's useless.

Who knows what you could be scribbling to disk.

 

Doing your homework and reading comments on NewEgg and other sources is a given to find "quality" components.  I've had good luck with G.Skill personally, and have found it priced as low or lower than other brands.  I'm sure there are exceptions, but most of the memory I see advertised gets pretty good ratings.  If it doesn't - look elsewhere.

Link to comment

I should always leave an exclusion for WeeboTech.  ;)

 

You did say High end workstation LOL!!!!

 

Doing your homework and reading comments on NewEgg and other sources is a given to find "quality" components.  I've had good luck with G.Skill personally, and have found it priced as low or lower than other brands.  I'm sure there are exceptions, but most of the memory I see advertised gets pretty good ratings.  If it doesn't - look elsewhere.

 

I agree, In some cases, I'll look at the warranty and if it's not guaranteed for life, I'll choose something else.

Link to comment

WOW!  Thanks guys  :o  That's given me a load to look into.

 

I've built my share of machines in the past, but never gone to *that* much trouble in eeking out every bit of performance.  First unRAID system though.

 

I am planning on getting 2x1mb sticks initially, and whilst the hop up from 800 to 1066 is only about £15 ($30?), it all adds up when you're building a new system - I'm also re-evaluating my CPU to try and shave some more off.  I'll have another look around later.

 

Thanks again - I'll have a good read up.

Link to comment

Food for thought.

 

If I had the choice of 2GB of 1066 RAM and 4GB of 800 RAM on a fixed budget and the price was the same I would probably go with the 4GB/800.

 

 

1. unRAID's root filesystem is in ram and more ram allows more packages.

2. A large buffer cache helps alleviate bursty writes and helps cache recent reads.

 

If I were planning to run VMware hosts on unRAID server, I would choose the 1066 RAM, knowing well that I will add another 2GB later down the road.

 

 

Program execution memory needs to be as fast as possible.

 

Buffering memory needs to be faster then the devices it is buffering, but not at a cost prohibitive level.

I.E. you can sacrifice here without too much issue because the limiting factor is your network interface.

 

 

Link to comment

Just a small note here for some thought food. I spent alot of time looking at ram for the base build. Now im no expert  but the more you read the more complicated it gets with people talking about overclocking and voltage settings ad nausium. Then i found a series of posts with people having problems with the board unRAID uses with generic RAM that needed 0.1V more than the MB supplied comfortably (but all other specs were perfect). At this point i went with the only RAM supplier that categorically said we support that motherboard.

 

So the moral of my story is unless you want to do alot of reading just buy manufacturer approved RAM. Sure if your an expert like many in this thread are everything seems clear but for me the time spent not researching any further seriously outweighed any generic vs branded ram costs. ... also by the time i would have covered all the bases my kit would be out of date anyway.

 

 

Link to comment

Food for thought.

 

If I had the choice of 2GB of 1066 RAM and 4GB of 800 RAM on a fixed budget and the price was the same I would probably go with the 4GB/800.

 

1. unRAID's root filesystem is in ram and more ram allows more packages.

2. A large buffer cache helps alleviate bursty writes and helps cache recent reads.

 

If I were planning to run VMware hosts on unRAID server, I would choose the 1066 RAM, knowing well that I will add another 2GB later down the road.

 

Program execution memory needs to be as fast as possible.

 

Buffering memory needs to be faster then the devices it is buffering, but not at a cost prohibitive level.

I.E. you can sacrifice here without too much issue because the limiting factor is your network interface.

 

If you want good performance, you need a fast CPU.  Fast memory is not a substitute.  Putting expensive memory with a slow CPU is like putting premium gas in a Yugo.

 

You can't compare memory based solely on frequency.  DDR-800 with CAS 3 ratings are going to way outperform DDR-1066 memory at CAS 5.  But it all has so much to do with the MB, CPU, and overclock.

 

This just isn't a very productive discussion IMO.

 

If you do some searches of benchmarks you will find over and over that the reviewers are underimpressed with faster memory on modern processors.  Multi-tasking does benefit from fast memory, but not nearly as much as from a fast CPU.

Link to comment

If you want good performance, you need a fast CPU.  Fast memory is not a substitute.  Putting expensive memory with a slow CPU is like putting premium gas in a Yugo.

 

No Duh.  ;)

 

This just isn't a very productive discussion IMO.

I agree, I simplified it with when and where you might spend and choose faster memory.

We are in agreement here that DDR800 will suffice.

 

For unRAID it does not really matter how fast the CPU is.

A 2Ghz cpu is fine. I run my 2.66ghz cpu at 1.6ghz and it runs fine. Barely breaks a sweat.

If you want to run VMware in the unRAID environment, then it may matter.

Link to comment

For unRAID it does not really matter how fast the CPU is.

 

But the thread is about memory.

 

If processing horsepower is yoiur goal, you want a fast CPU.  Fast memory is icing on the cake.

 

If processing horsepower is not needed, like for unRAID, neither processor speed nor memory speed are important.

 

My workstation is a C2D E6600 oced to 3.6GHz (from 2.4 GHz) and is running 4G of G.Skill DDR 800 memory at 4-4-4-12 timings.

 

My unRAID server is a C2D E2140 (1.6GHz = stock), and 2G of G.Skill DDR 800 CAS5 memory.

Link to comment

But the thread is about memory.

 

agreed, Your comment below began the comment about the "fast cpu"

 

 

Memory speed can be a bottle neck if you're moving large amounts of data through ram.

In my case, I have PAE enabled so there is allot of internal paging going on because the kernel is not 64 bit.

It's still faster then waiting for the disk, so it works fine.

I did notice a slight difference with 533 ram and 800 ram.

 

I would only recommend the faster frequency ram if your CPU is actually going to support it and you are moving huge amounts of data in and out of ram.

 

For the average joe unRAID user, it won't matter. I've not disputed that.

Link to comment

Thanks for all the responses.

 

Funny thing is, I just finished a BIOS update in an attempt to fix a POST issue when jumpering my drives for SATA300 settings.  After applying defaults and then reconfiguring my BIOS settings, I saw that my memory was set for DDR2-667 automatically.  I set it to DDR2-800 manually and saw no difference in moving files or running a parity check.  I suspected as much, but never hurts to ask.

Link to comment

I set it to DDR2-800 manually and saw no difference in moving files or running a parity check.  I suspected as much, but never hurts to ask.

 

You wont see/feel much of a difference unless you are doing heavy memory intensive programs. It's minimal.

however when I do a search through 8GB of buffer cache with PAE enabled, I noticed a difference.

This is because there is a bunch of internal memory paging going on.

In addition I have some mount points using tmpfs (Ramdisk) for NFS.

As far as disk throughput no detectable difference.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.