Homegrown Ultra40 Results

Just a few days ago I put the finishing touches on the homegrown Ultra40 project. In response to many folks who mentioned that while the Ultra40 was quite an impressive workstation, you could build one for far less. So I did. I chose solid server-class parts, since that's really what this system required, with the obvious exception of the video card. Antec's Titan550 case seemed the best bet to fit the large Tya

Just a few days ago I put the finishing touches on the homegrown Ultra40 project. In response to many folks who mentioned that while the Ultra40 was quite an impressive workstation, you could build one for far less. So I did.

I chose solid server-class parts, since that's really what this system required, with the obvious exception of the video card. Antec's Titan550 case seemed the best bet to fit the large Tyan Thunder K8WE mainboard, and included the TruePower2 550W power supply. Two dual-core AMD Opteron 285s fit the bill, along with two Zalman CNPS9500LED CPU coolers. Disk was handled by a pair of Western Digital 250GB SATA drives and a Sony 16x DVD-RW drive. Following this I threw in two gigs of DDR400 registered ECC RAM and a SoundBlaster Audigy2 Platinum Pro soundcard to provide the 5.1 and SPDI/F support. Completing the picture was a brand-spanking new nVidia Quadro 3500 PCI-X video card. Mix well with a fresh installation of Fedora Core 5 and serve.

I've been running this system for a few days and it's been perfectly stable and incredibly responsive. The nVidia Quadro 3500 is the newest in the Quadro line, and simply blew me away. It's driving two 21" Sun GDM-5410 CRTs at 1920x1440, and pushes glxgears at 1,200fps at 1920x1440x75. At 640x480, it's well over 6,000fps. Using the nVidia Linux x86_64 driver version 1.0-8756, I ran into a little bit of trouble, since they deprecated IgnoreEDID in favor of UseEDID, causing the card to step down to the max resolution claimed by the monitors, which is 1600x1200. That just wouldn't do. Setting Option "UseEDID" "false" cleaned that up nicely. The only other problem here was the cursor animation flicker that's a known bug in the nVidia Linux driver. Setting Option "SWCursor" "true" helped a bit, but that's not a great solution. Hopefully this will be fixed in a later rev of the driver.

The Tyan Thunder K8WE uses the nVidia chipset and is actually quite similar to the Sun Ultra40 in this respect, including the use of the nVidia SATA RAID chipset, which doesn't have native Linux support. Since I'm actually running mirrored 250GB SATA drives in the box, I opted for the Linux software mirroring, which is extremely fast -- and more responsive than the 3ware 8002 SATA RAID controller I'd been using in a previous workstation. In fact, I consistently see buffered reads from the RAID1 device at over 60MB/s. I liked the parallel CPU layout on this mainboard as well, since in the Titan550 the CPU sockets line up with the 120mm rear fan, and using the simply enormous Zalman CPU coolers, it's possible to get all the CPU heat to flow directly out the rear of the case in a straight line. I did put an 80mm intake fan in the front, which was a bit of a challenge given the front-loading nature of the Titan550 case, but the overall result was a system that runs remarkably cool. With the mainboard ambient temp at 93F, the CPUs run around 103F each, slightly higher under extreme load. The downside was that one of the Zalman fans quit about 12 hours after I installed it. It was on the rear CPU, and I didn't notice that it had happened for an hour or so. Normally, a fan dying on a CPU cooler is a recipe for disaster, but when I noticed that the fan wasn't spinning, I checked the temps; that CPU was running 118F, even without the fan running. Undoubtedly this was due to the working fan on the front CPU and the large exhaust fan right behind the bad unit, but it's still quite impressive that a passive heatsink could work so well, even if it's not supposed to be passive.

Of course one of the most dangerous tasks in building custom systems is replacing a CPU cooler. Since the thermal paste hardens after use, it's not a great idea to just wrench the heatsink off the CPU cold, so powering up the system to melt the paste somewhat generally works, but you have to hit that window perfectly between melting the paste and removing the cooler or cooking the CPU. Otherwise, you'll have a nifty Opteron 285 keychain. Added to that possibility was the fact that I had to do this while the mainboard was installed in the case, since I'd already finished building the whole system, and I wasn't about to remove everything including the mainboard to replace this part. After reapplying the paste with a foam peanut (by far the best tool for the job), I fired everything back up. The replacement cooler has been working well since it was installed, but I've been watching the fan RPMs and set gkrellm to trigger a warning notification if the RPMs on that fan drop below 2,000. While I was quite unpleased that one of the Zalman units failed almost immediately, I like them overall -- they look great and function very well in this system... so far.

The Titan550 is really a server case, so there's relatively little in the way of bells and whistles, but it's a solid platform with plenty of internal space, and the front-loading 3.5" drive bays are a nice touch since you don't have to drag hard drives across a crowded interior, they slide out the front on rails. The only problem there is that the intake fan mounts are on the hinged door covering the disks, and the distance from the fans to the mainboard fan headers is quite far. With a few modifications to the fan and power cabling, I made it work, but you have to disconnect the fan from the mainboard to open the front cage, and retrieving the cable after this can be a pain. I do like the quiet nature of the case though, with shock-mounted rails for the disks, a quiet powersupply with internal fan RPM leads, and a large 120mm rear exhaust fan. The rear fan doesn't provide a tach though, so I'll be replacing it with one that does shortly.

The installation of FC5 went smoothly and very quickly, as you might expect. Following the first boot, I installed yum repos for livna, RPMForge, FreshRPMS, dag, and ATrpms.net, took a quick list of RPMs installed on my current FC3 system with rpm -qa --qf '%{NAME}\n' > origrpms.txt and did the same on the new system. Running them though comm to find the differences, a quick manual perusal of the final list, and then yum install `cat ./rpmlist.txt | tr '\n' ' '`. Within a few minutes, all my apps and their dependencies were installing, including mplayer, xmms-mp3, easytag, and so forth. What's better is that pirut, the software installation manager, searches enabled yum repos, so firing up that tool will let you search for packages across multiple repositories. Nicely done.

As far as raw performance, I no longer have the Ultra40 in the lab, but I can say with certainty that this box is actually faster than the Ultra40. This is due in no small part to the Opteron 285s vs the 280s in the Ultra40, but regardless, even if it measured up equally, it's still cheaper. You forego the Sun tools, support, grid applications and so forth, but if you don't need them, you can build your own Ultra40 and save yourself the equivalent of a new MacBook Pro.

all prices approximate

From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies