Getting Serial: The Ultimate Linux Box S-ATA Disk Subsystem
One of the big advantages of Linux is you don't need all that much buck to get maximum bang. With the advent of serial ATA disk drives and controllers, I thought we might undertake this approach in hardware as well. Street prices on comparable RAID controllers--I compared the 3Ware Escalade 8500-4, which we use here, to an Adaptec 2400--seem to be fairly close. The new Ultra 320 controllers were double those prices. Likewise with the disk drives; 73GB-class SCSI drives seemed to run at least double their serial ATA brethren, and the speed didn't appear to matter. So let's see how much bang we can get for half the bucks.
The folks at Monarch Computer Systems sent me a serial ATA testbed system: a nice Dual Athlon 2800+ system with 2GB of RAM running Red Hat 9, the 3Ware Escalade 8500-4 drive and three Seagate 80GB S-ATA-150 drives in RAID 5. It also has an ATI FireGL X1 you'll hear about in a subsequent article.
The 3Ware 8500-4 is short as RAID cards go; it's only slightly longer than the end of the 64-bit PCI slot that holds it. The geography of the card is different as well; instead of the connectors for the drive cables going on the top edge of the card (as they would for parallel ATA), they go on the end of the card, away from the bracket--the one closest to the drives. This makes routing the cables easier. Of course, the cables themselves are much smaller than regular parallel ATA cables, not much different in size from a piece of CAT5 network cable. The drives themselves look similar to their parallel cousins, except on the business end. There it looks a lot like the parallel and power connectors have each shrunk into something resembling the dongle slot for a PCMCIA Ethernet card. You can hear a slight but definite clunk as the cable achieves its desired position in either drive or card slot. There aren't any worries about whether the cable is all the way in, as there can be with parallel drives. On the other hand, whatever is holding the connector in doesn't hold it so well that removing it is difficult. Monarch had installed adapters so the standard ATX Molex connectors could power the drives.
3Ware has been quite responsive to the Linux community over the last few years. They have made sure the latest stable drivers end up in the mainstream kernel; the Monarch box was running a Red Hat standard 2.4.20 kernel. In addition, both Web-based and scriptable command-line monitoring tools are downloadable from the 3Ware web site.
And when the rubber meets the road, the serial ATA system holds its own. I compared tiobench numbers between it and the Dell Precision system I reviewed for print recently, which had an Ultra 320 RAID controller and drives, as a benchmark. I was surprised to find the SCSI system was beaten in a few areas, despite being designed to be twice as fast. Serial ATA sequential reads were the biggest factor; while on a single thread, the SCSI drives turned in 95MB/s to S-ATA's 54. When you ramped the thread count up, S-ATA decayed gracefully to 29MB/s through 8 threads, while the SCSI system plummeted immediately to the low 20s at 2 threads and stayed there. On random reads, the S-ATA machine started slower--1.0MB/s vs. 1.5MB/s--but as the thread count increased, it came out slightly ahead, 2.4 to 2.1MB/s. On random reads, more threads means statistically less distance to move for each read; your performance actually goes up. Writing was where the performance difference represented by the dollar cost showed up; the SCSI system wrote a consistent 33-35MB/s across the thread counts, where the S-ATA wrote 10-13MB/s. It was a similar story for random, where the SCSI turned in numbers in the 5MB/s range, whereas S-ATA ran 0.46MB/s.
A few words about configuration are in order here: neither of these systems is completely optimal. The Dell SCSI RAID box is RAID 0, meaning writing is slow in an unaccelerated environment. Conversely, the Monarch S-ATA box has RAID 5 on three drives, when my experience says four drives is the minimum optimal configuration for 3Ware RAID 5 systems. I expect that if we had both systems in full-out RAID 5 configurations, the S-ATA system would give SCSI a thorough thrashing on read, while putting up respectable numbers on write. Again, this is an educated guess; there's no substitute for testing a system against the real world (or as close as you can get without risking your nest egg).
The results are fairly clear: serial ATA is some fairly serious bang for not a lot of bucks. Prices from Froogle, Google's merchandise-finding page, showed the Seagate drives at $145 a pop and the 3Ware 8500-4 at $350 or so. And with 160MB and larger S-ATA disks around the corner and 300MB/s S-ATA controllers on the roadmap, serial-ATA RAID seems to be well on its way to becoming the best way to get a lot of cheap, fast storage in one Ultimate Linux Box.
The roadmap from here to the final Ultimate Linux Box looks like this: next time, we look at the ATI FireGL graphics card, followed by things concerned with sound (I have not forgotten!). I believe the final choice of motherboard and processor will be a welcome surprise, pointing the way to the future of Linux.
- Papa's Got a Brand New NAS
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- Panther MPC, Inc.'s Panther Alpha
- Simplenote, Simply Awesome!
- GENIVI Alliance's GENIVI Vehicle Simulator
- The Tiny Internet Project, Part III
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- NethServer: Linux without All That Linux Stuff
- Sometimes My Office Goes with Me
- Jetico's BestCrypt Container Encryption for Linux