Expert Comment: Getting the speed you need for data analysis.
May 18, 2010 | Intel and AMD have boosted the number of cores in their high-end server chips yet again. A single node in a cluster may now have dozens of cores. Meanwhile, accelerated computers using hardware like FPGAs or GPGPUs have hundreds or even thousands of cores available to the applications that have been ported to them. So why do your analysis jobs still take so long?
The processors that you are so proud of may be sitting idle much of the time, simply because they are starved for data. While hard-disk drive technology has made advances, they have not been progressing at the same rate as the CPU’s in your server, and they have certainly not been keeping up with accelerators! Spinning hard disks at 15,000 RPM have added more data cache and larger platters over the years since they made their first appearance back when CPU’s were single core. Unfortunately, the overall throughput has not increased to match the higher clock speeds and greater number of cores. The standard solution is to add large numbers of spinning disks into arrays, which unfortunately can add to costs, complexity and power requirements as well.
Perhaps the answer is to move away from spinning disks altogether. An accelerator is expensive. Engineering a system to keep that pricey piece of hardware working at full capacity is only prudent. Solid-State Devices (SSDs) can feed data to an accelerator at a higher rate than hard drives and do so at a lower current draw than spinning disks.
Faster, less power and cooler. Does this sound like what you would want for your servers?
Unfortunately, the low end of the Solid State Device market is unlikely to provide enough boost to your processes to make it worthwhile to switch. These tend to be less expensive drives that connect via SATA II. With read speeds below 125 MB/second, they are not much of an improvement over spinning magnetic disks. For a bit more money, the highly acclaimed Intel X25 provides good performance at a moderate price. Many people will connect several of these devices together in RAID 0 to boost performance into the ‘extreme’ range.
The raw speed of an SSD is getting awfully close to pushing the limits of the SATA II interface. The C300 drive from Micron eliminates this bottleneck by jumping to the SATA III interface, with twice the throughput as the older standard. This higher-end interface allows the drive to demonstrate better read and write throughput as a result. While the C300 is backwards compatible with the older standard, performance will suffer. It is best to pair this with a SATA III card, as these are no longer hard to find.
Where solid-state performance begins to really get exciting is with PCI express connected drives. These are less popular among consumers because the resulting drives have not been bootable until recently. For biocomputing, however, boot time is less important because systems tend to remain running for months at a time. Perhaps the best known of the ‘high-end’ drives is the ioDrive from Fusion-IO. This system was astonishing when it was introduced, with IOPS (Input/Output Operations Per Second) ratings that were through the roof.
Other companies jumped onto the PCIe bandwagon, such as OCZ and Texas Memory Systems. Fusion-IO responded by expanding offerings on both the high and low ends. The ioDrive duo has twice the throughput as the original ioDrive, and the octal has eight times the throughput—with a correspondingly stratospheric price. Expensive, yes, but the IOPS ratings of these drives are about a thousand times greater than for Hard Drives! Please note that these numbers are changing so rapidly that it will pay to do your research before acquiring any of these systems.
If you are already using a SAN to feed data to your accelerator, but would like higher performance, perhaps a flash memory device such as the Violin 1010 used as a read-and-write cache appliance could be the answer. The Violin system promises breakthrough speeds without changing your architecture. If you are in the market for an all new SAN, the TMS RamSan 5000 can provide larger scale support for an entire cluster of accelerated systems.
Will SSDs speed up every application on your accelerator? No, or at least not enough to make an appreciable difference. If your server takes 5 minutes to load a dataset, and processing takes another 20 hours, then cutting those 5 minutes down to 5 seconds is not terribly important. Of course, the goal of the accelerator is to cut down that 20-hour runtime to 10 minutes—then the SSD becomes very valuable indeed.
Your accelerator is a powerful tool for getting more done in less time and with less power and cooling requirements. For many problems, the bottleneck on a system with a GPGPU or FPGA accelerator is in data input/output. Using a solid-state device can therefore enable you to get the most out of your system without a lot of extra heat, power or complexity. •
Martin Gollery is founder of Tahoe Informatics. He can be reached at Marty.firstname.lastname@example.org.