Choosing ECC DIMMs for AMD Opteron Workstation or Server

If you’re used to building desktop PCs, buying DDR3 ECC DIMMs for a server or workstation built around an AMD Opteron is going to take a little learning to be sure you get the right product.

Unbuffered vs. Registered Memory

First of all, you need to determine whether your motherboard takes unbuffered or registered memory. Many server and workstations boards can take both, but some only work with one or the other. Many (perhaps most) desktop PC motherboards only work with unbuffered memory.

What’s the tradeoff between unbuffered and registered memory? Usually unbuffered memory is a little less expensive and a little faster but will not allow as many DIMMs to be used. This is why server and workstation boards favor registered memory as they often have more than the usual two to four DIMM sockets common on desktop motherboards.

Unbuffered memory is generally a little less expensive only for 4GB and smaller DIMMs. For 8GB and 16GB DIMMs, as of late 2011 and early 2012 often registered DIMMs are far less expensive and much more readily available. This may change as 8GB unbuffered DIMMs become more common due to Intel’s low-end E3 server chip line that maxes out at four modules of 8GB each.
Continue reading

Posted in Hardware, Memory | Tagged , , , , , , | Leave a comment

Enabling Jumbo Frames Can Be Strangely Hazardous to Network Performance – Example Using Windows Vista With Realtek NIC, Samba, and NX Server

Recently I ran into a snafu with Ethernet jumbo frames that was quite annoying while trying to speed up network performance. This particular LAN has a mix of operating systems with a server running Ubuntu Linux offering Samba file sharing and NX desktop sessions to Windows users. The client PCs are running various versions of Windows (Vista and 7, both 32-bit and 64-bit versions) all with Gigabit Ethernet adapters that have drivers which claim to support jumbo frames.

Gigabit Ethernet Usually A Nice Performance Boost

Gigabit Ethernet offers 10 times the performance of Fast Ethernet. But you can often get an additional 10% or more performance boost by turning on jumbo frames when your network hardware supports its.

So I turned on jumbo frame support for the NICs on each computer as the switches on the network all support jumbo frames. On most of the computers I got a nice performance boost for big file transfers. Fast Ethernet tops out around 10 megabytes per second transfer for Samba file copies. File copying via Gigabit Ethernet, at least on this network and server, runs from about seven to twelve times faster depending upon the particular client computer, driver settings, etc.

But one of the computers running Windows Vista 32-bit with a Realtek Gigabit Ethernet PCI network interface card no longer worked well on the network. Trying to access network shares produced strange pauses and very slow performance.
Continue reading

Posted in Networking, Windows | Tagged , , , , , , , , | Leave a comment

How To Unmangle Mobile View of Websites Using WordPress Weaver II Version 1.0.12 Theme

Weaver II is a new version of a highly configurable theme for WordPress sites. (Mingle Communities has a quickie-review of Weaver II.) I’ve liked the previous versions quite a bit. But this new version has some severe visual formatting problems that require workarounds for many sites, even the theme author’s own site, to look decent on mobile phones.

Previous versions of the Weaver theme displayed a simple site layout such as a fixed-width right sidebar with wider left content area decently on a mobile device such as an Android phone. Mobile phone browsers do a pretty decent job dealing with this kind of format, probably because it is really common.

Weaver II version 1.0.12 includes some new mobile support features presumably intended to make sites look better on mobile devices. Unfortunately, my experience so far has been that the typical site using a layout that is designed to look good on a PC screen around 1024 pixels in width ends up horribly mangled on a tiny mobile device screen. Typically you see severely clipped graphics and ads on the sidebar(s). The main content text sometimes gets turned into a vertical line of thousands of characters or a column of single words. Such a mess makes a site virtually unusable at worst and at best highly unpleasant to view.
Continue reading

Posted in WordPress | Tagged , , | Leave a comment

How Your Inexpensive UPS Might “Drop Your Load” Due to Square Wave Power Output

If you’ve experienced data loss or equipment damage from your computer losing power, you may have purchased a UPS (uninterruptible power supply) or battery backup system. I’ve used them going back decades as products from APC (American Power Conversion), TrippLite, and others. They have repeatedly saved me from losing work from power outages that lasted a few seconds to a couple minutes. Most electrical outages in the US do not last longer than a couple minutes, so it’s often adequate to get a unit that can run your system for about 4 or 5 minutes to give time for an orderly shutdown if the power doesn’t come back on in a couple minutes.

If you’re in the midst of writing a document or program, the interruption of your computer shutting off can take you even half an hour or more to recover your place. If your business depends upon a computer for completing sales orders or you’re running a web server used by your customers and clients, the inconvenience and aggravation it can cause for many people can result in a loss of sales.

Knowing of these problems, a lot of people buy a UPS for their computers as they see inexpensive sub-$100 units in stores and buy them on impulse. Unfortunately, having such a cheap UPS hooked up to your computer isn’t enough any more to reasonably ensure freedom from hassles due to minor power glitches.

Square Wave Power Outputs Don’t Work Well With Newer Power Supplies

It used to be that pretty much any cheap UPS was enough to carry a computer through a few second outage, so long as you sized the UPS to be enough to meet the power requirements. Today, that cheap UPS may give you very little protection from power outages thanks to new EnergyStar high efficiency power supplies being used widely in today’s computers.

With the introduction of a power supply efficiency feature known as Active Power Factor Correction (PFC), the cheap UPS may not be reliable any longer. That’s because when a cheap UPS loses line power, it switches to battery and starts generating a square wave power signal that leaves a brief but significant period many times per second where there is no power being output to the computer power supply. Computer power supplies have capacitors that can cover for this, but with the PFC feature they start to try to draw more power from the battery backup unit when they see there is no power on the line. The result is that the battery backup may trip its circuit breaker sending the whole load crashing down with a power failure. That’s exactly what you wanted to avoid.

EnergyStar labelling requirements have encouraged more computers makers to switch to using PFC power supplies. It’s great for energy efficiency, but not so great when your UPS may fail to keep the computer running when there’s even a few second long blackout or brownout.
Continue reading

Posted in Backup Power, Hardware | Tagged , , , , , , , , | Leave a comment

AMD’s New Bulldozer FX and Opteron Processors Offer Affordable High Memory Capacity and ECC

When you’re building a workstation or server intended for high reliability and solid performance, one of the chief obstacles you’ll face today is picking a processor and motherboard that can supports lots of affordable and reliable RAM. Ideally you want to be able to load up your computer with 32GB RAM or more. Popular inexpensive desktop CPUs from Intel support up to that amount of memory, but they do not allow the use of ECC (Error Correcting Code) memory. New processors in the “Zambezi” FX family released by AMD in the last few months bring ECC memory support to desktop PCs. AMD’s new Opteron 4200 and 6200 series workstation server processors compete very favorably on price vs. performance with Intel’s low-end E3 server line for applications that require a lot of RAM.

Why You Need ECC Memory

Many desktop motherboards are now supporting 32GB RAM. Many server motherboards are supporting 128GB RAM or more per processor. So for a dual to quad processor mainboard you could be looking at 256GB to 1TB of RAM. That’s hard disk drive territory in terms of capacity. As I discussed previously in Why You Should Use ECC Memory In Your Next Computer, with that much memory it’s likely on many computers a week won’t go by without a bit flipping randomly somewhere in memory. So you really must have ECC when you’re talking about that level of RAM if you intend to avoid weird problems such as random crashes from memory errors.

It used to be that 8GB or more RAM would be fantastically expensive. But today you can pick up 16GB of desktop grade non-ECC memory for less than $100. 16GB of server grade ECC memory costs somewhere around $150.

32GB of server registered SDRAM with ECC protection runs around $300 to $400. That is less than the price of many mid-range SSDs which are all the rage these days for speeding up a slow computer. But without ECC protection against stray bit errors, it’s simply quite risky to be using such large amounts of SDRAM.

What’s particularly nice about the 8GB and larger registered ECC DIMMs is that they are much less expensive than their similar capacity unbuffered SDRAM DIMM counterparts, especially the few unbuffered 8GB and larger DIMMs available with ECC. Getting 32GB of unbuffered SDRAM with ECC as four sticks of 8GB each will probably cost you upwards of $600, maybe even over $1000. The $300 or more in savings from using the registered DIMMs is often enough to pay the added cost of a better server motherboard, processor, case, and power supply versus the commodity equivalents that only use unbuffered memory.

Intel’s Poor Design Choices

Intel, the leading maker of desktop and laptop PC processors, has chosen to cripple its Core i3/i5/i7 desktop and mobile processors and E3 low-end single processor server chips with inferior memory controllers. It appears their motivation is to drive anybody who cares about computers being reliable and needs lots of RAM to pop for their E5 and higher server chips. For Intel that’s a lucrative market as such processors typically cost around $500 to $2000 each. In the case of the really high end Intel E7 server processors, it could be even more than that.
Continue reading

Posted in Hardware, Memory, Motherboards, Processors | Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , | 2 Comments

Installing 2.5″ SSD Drives and SSD RAID Arrays in Hot Swap Cages – A Quick Look at 4-in-1 and 6-in-1 2.5″ Cages from Icy Dock, Thermaltake, and iStarUSA

If you’re planning to install SSDs in your servers or workstations, consider that many cases do not have mounting points for 2.5″ drives. Internal 3.5″ and external 5.25″ bays are still the most common drive mounting options in most cases, few desktop, tower, or server cases have mounting bays for 2.5″ drives.

You can get brackets to adapt 2.5″ drives to 3.5″ mounting bays for around $5 to $15 each. Some support just one drive, a few support two. But a better solution is to get a hot swap 2.5″ drive cage. It’s particularly valuable if you’re installing a RAID SSD configuration so that you can easily replace failed drives.

It’s also a handy way to be able to plug in 2.5″ hard drives for uses such as re-imaging or backing a laptop hard drive, repairing a broken boot partition, or making a backup of the SSDs. Of course a USB 3.0 or eSATA docking adapter can work well for those uses, too.

Three similar 2.5″ four drive cages that are worth your consideration are made by Icy Dock, Thermaltake, and iStarUSA. Icy Dock’s cage is model MB994SP-4S. The Thermaltake model is the MAX-1452. The competition from iStarUSA is the model BPU-124V2-SS.

All four are solidly built primarily of metal components with four removable hot swap trays supporting drives up to 15mm thick. They support SAS and SATA interfaces up to 6Gbps and include two 40mm fans to help cool installed drives.
Continue reading

Posted in Hardware, Mass Storage | Tagged , , , , , , , , , , , , , , , , | Leave a comment

Why You Should Use ECC Memory In Your Next Computer

You may have heard about ECC (Error Correcting Code) memory and thought it was just some fancy thing for servers, not something you’d need on your desktop PC. But in my opinion, modern computers used for anything more mission critical than video games need ECC memory. Without it, you’re asking for serious problems from the contents of RAM randomly changing due to stray radiation and noise that can and will flip bits here and there.

Why ECC Didn’t Use To Be As Important

Back in the days when “640KB RAM was all that anybody would ever need”, sporadic memory errors weren’t a big problem for two major reasons. The feature size of the circuits on the chip were large enough that a stray gamma particle flying through a memory cell wasn’t all that likely to flip its state. Second, there just weren’t that many memory cells in a typical computer. If the odds of one of them getting flipped was something like one in a billion per year of operation, you could expect to run that 640KB RAM for many decades without an error. For a desktop PC, that’s more than good enough.

But that was then. Today, the story is much different. The RAM memory found in the typical PC today is around 10,000 times that of the MS-DOS era PC. The memory cells sizes have shrunk dramatically, making them more susceptible to stray radiation randomly flipping a bit. The memory runs at much higher speeds, meaning that a poor connection or transient electrical noise is that much more likely to generate a bit read or write error.

SDRAM Errors Far More Common Than Previously Thought

When developing mission critical computer systems that must run 7/24, engineers know that ECC memory is favored for such applications. But exactly how often do memory cells flip and return the wrong value? The answer to this question is not straightforward. The statistics on how often memory errors occur are not well known and at times seem contradictory.

A 1998 article published in EE Times suggested that each 256MB RAM generates one bit error once per week. Given that most desktop PCs of that time had less memory than that, you might have expected your PC with 128MB RAM to run a couple weeks between memory errors.

The educated guess of the early 2000s was the SDRAM quality and computer design had improved and that you didn’t have to worry about memory errors much with less than 1GB RAM. But as the amount of RAM went up, the need for ECC did, too. Any serious server platform had support for ECC memory by around that time.

In 2009, Google published a study that looked at ECC memory controller reports of errors in their server farms. The Google memory error study found that the then-current industry estimates of memory error rates were about 15 to 1000 times too low. ECC correctable memory errors occur on average in one third of servers each year. In the servers in which they are occurring, the error rate averages around 4000 errors per year. Yikes!

The gist of the results is that many memory modules work with very low error rates, but that any module which has an error is likely to have errors much more often. Properly implemented ECC helps detect the bad modules without crashing the servers so they can be replaced at an opportune time. Google uses ECC memory in all its servers and they have so many servers that their study bears a lot of weight compared to previous attempts to quantify memory error rates.
Continue reading

Posted in Hardware, Memory | Tagged , , , , , , , , , , , , , , | 1 Comment

WordPress fetch_feed() and get_item_quantity() can lead to APC cache pool exhaustion

Some time ago, I used some PHP code posted in a WordPress support forum to call fetch_feed() to build an unordered HTML list of links to RSS feed items. The part that fetched the feed looked like this:

$limit = 0; if(function_exists('fetch_feed')) { include_once(ABSPATH . WPINC . '/feed.php'); // include the required file $feed = fetch_feed('http://website.com/feed/'); // specify the source feed $limit = $feed->get_item_quantity(5); // specify number of items $items = $feed->get_items(0, $limit); // create an array of items }

Now if you’re a PHP coding guru you might already see the problem. But PHP is relatively new to me and this was posted by somebody who seemed to know what he was doing. Also, I found some similar code from other sources, too.

It worked 99.9% of the time. But sometimes, the fetch_feed() call would fail and then when $feed->get_item_quantity() was invoked to get the number of items in the feed, PHP would throw a fatal error. With W3 Total Cache installed using APC, this would eventually result in the web server grinding to a halt as the APC cache pool would become exhausted and other code would break from unexpected memory allocation failures.
Continue reading

Posted in WordPress | Tagged , , , , , | Leave a comment

QEMU “Bad RAM offset” Error When Using More Than 3GB RAM in VM

I had a Windows 7 64-bit virtual machine running with 4GB successfully using the QEMU / KVM version that came with Ubuntu 11.04. As patches were offered by Ubuntu Update Manager, I upgraded to a newer version. Now I’m running QEMU 0.14.50 and when I start the Windows 7 VM it boots partway and then crashes with a “Bad ram offset” error in the QEMU output.

After investigation, it appears that if I drop the memory to 3500MB then this problem goes away. I haven’t figured out the exact amount of memory where it breaks, but it is somewhere between 3500MB and 4096MB. Clearly something has gone wrong with some recent changes in QEMU. This bug report appears to cover the problem, but there’s no fix yet.

If you’re having this problem too, try dropping your VM memory to well less than 4GB to see if it goes away.

Posted in Linux, Ubuntu, Virtualization | Tagged , , , | Leave a comment

AC97 Sound Doesn’t Work In Windows 7 64-Bit Running on QEMU/KVM, Try HDA Sound

While experimenting with Windows 7 64-bit running in a virtual machine on Ubuntu 11.04 using QEMU/KVM, I tried to use the AC97 sound adapter in the virtual machine. After much searching, it turns out that there isn’t a 64-bit Windows driver for this card. It’s said by others to work in 32-bit Windows virtual machines, but I want the option of using more than 3.5GB of RAM in the virtual machine so need the 64-bit version.

So I tried the Intel HD Audio virtual device in QEMU/KVM via the -soundhw hda option. Now there’s sound. Unfortunately it is moderately distorted, but as it is recognizable it’s better than nothing. If anybody else gives this a try, please leave some feedback regarding your results.

Posted in Linux, Ubuntu, Virtualization | Tagged , , , , , | Leave a comment