4.5 Solid State Disks

Although Gordon Moore's law postulates that CPU power for the same amount of money doubles every 18 months, disk access speeds have not kept up with this torrid pace. In 1994, a state-of-the-art disk had a capacity of about 2GB, the platters revolved at 5,400 rpm, and the disk had an average seek time of 10.4 ms. Larger disks were available, but they were fairly error-prone and not suitable for mission-critical work. In 1997, disk capacity was about 9GB, rotational speed was 7,200 rpm, and seek time averaged about 7.4 ms. In early 2002, a state-of-the-art disk for email systems means 36GB, 15,000 rpm, and 3.8 ms seek time. Larger disks are available, but at this time, these configurations are the disks of choice for email systems. While these improvements are remarkable, over the last eight years, storage capacity for disks has gone up by a factor of 20, rotational speeds have tripled, and seek times have been cut by a factor of 3. On a related front, I/O bus speeds specifically, SCSI speeds have increased over the same period by a factor of 8. Over the same time period, CPU speeds have increased by a factor of 40. In relative terms, CPU progress has left disk access in the dust. This trend has been one of the main drivers for the use of parallelism to achieve high I/O performance. This point, combined with the equally rapid reduction in the cost per megabyte of SDRAM, explains why the solid state disk has become a cost-effective storage mechanism on the high end.

To the host computer to which it is attached, an SSD appears as just another disk drive on the end of a Fibre Channel or SCSI chain. It has a stated capacity and permanently reads and writes data sent to it, just like a regular Winchester disk. An SSD, however, has no moving parts (except, perhaps, a cooling fan). It consists of several or many banks of RAM and a bunch of batteries. The RAM stores the data just as the disk does, but because no delays ensue while the disk heads move or platters rotate, latencies are typically around 0.5 ms, an order of magnitude better than the times for state-of-the-art Winchester disks. Reducing "seek" time is especially beneficial for applications such as email, where small operations are performed randomly scattered across the disk. In fact, SSDs are often even fast enough to mask deficiencies of older FFS-based filesystems. When operations occur so quickly, it's much less expensive to perform directory operations synchronously than it is on slower disks. Of course, no matter how fast the disk is, substantial benefits will accrue from running a high-performance filesystem.

Some manufacturers ship a sort of hybrid SSD/Winchester disk. The enclosure will contain both a regular Winchester disk and RAM equal to a significant percentage of the disk's capacity, typically in the range of 2% to 10%. The writes are written into memory as a persistent cache and, ideally at a leisurely pace, committed to stable storage on the disk. Largely, this arrangement represents a compromise between a pure SSD and a small amount of NVRAM sitting in front of a small disk array it's merely a matter of degree. It's not difficult to envision an environment where a few megabytes of NVRAM are not enough to achieve the desired throughput, but gigabytes of SSD space are not necessary either, so these hybrid solutions fill a valuable niche.

If RAM loses power, its contents will be lost. This result is unacceptable for email storage, and SSDs need to account for this possibility. At the very least, they include batteries to keep the RAM chips continuously powered. These batteries can range from the same kind of lithium ion batteries that power a personal camera or the clock on a PC motherboard, to full-fledged uninterruptible power supplies (UPSs). Many systems also contain a Winchester disk, so that once the battery level falls below a critical threshold, the remaining energy can be used to commit the memory contents safely to disk. This feature is very useful, but represents a substantially different strategy than the hybrid SSD/Winchester disk. In the hybrid case, under normal operation data are routinely written to the hard disk. In the case just mentioned, data are written to the hard disk only if the unit loses power and the batteries are about to fail; the feature is never used during regular operation. If an SSD unit contains a Winchester disk, it's important to understand under which circumstances it will be used.

Several very large ISPs have used SSDs for their sendmail queues. This strategy is cost-effective because of the nature of the queue operation and the relatively small volume of data stored at any one time. Message Stores typically require much higher storage capacities, and any system's transactional volume is likely not so high as to justify storing all of the data on SSDs. However, SSDs can still play an important role in the acceleration of these large filesystems' operations.

Recall that with journaling filesystems, metadata updates are written first to a special journal, and then the journal is efficiently updated on the "real" disk system. To achieve reasonable performance, it's usually advisable to put the journal on a different disk system than the data it updates, so that the disk heads do not have to constantly seek between the journal and persistent areas. In fact, a disk is often dedicated for the journal itself. Moreover, this disk does not have to be large. Journaling filesystems rarely require a journal area even as large as 100MB. Clearly, a small SSD could very effectively store the journal (acting, essentially, as NVRAM) for a very large disk storage system. Being able to concentrate the bulk of the transactional overhead of a filesystem onto a small, and therefore relatively inexpensive, device represents the most fortunate sort of meeting of elegant hardware and software solutions. In many situations, a comparison of the I/O capability per dollar of this solution against other options will show a remarkable bias toward this architecture, one compelling enough that this solution should never be lightly dismissed.

In general, though, the use of SSDs represents a fairly extreme solution. Although the prices of these devices have dropped substantially over the last few years, they remain relatively expensive. In many, perhaps most, situations, adding more spindles or upgrading the filesystem provides sufficient performance improvements for a fraction of the price. Everything else should be very well tuned before one seriously considers purchasing an SSD, but these devices can deliver a remarkable I/O acceleration for those situations that really need it.

One final word on SSDs: Despite the high cost of these devices and the fact that they're not directly manufactured by any of the large computer vendors (or, perhaps, because of it), customer satisfaction among those who have purchased SSDs is often higher than for almost any other computer-related product, hardware or software. Perhaps this satisfaction reflects the fact that these devices are not cheap, so the vendors can spend extra time understanding their clients' solutions and making sure the delivered products meet their needs. Almost certainly it has something to do with the substantial performance increase delivered by these systems. Also, these devices are highly reliable, chiefly because they contain very few moving parts. I have never felt the need to make a specific recommendation to a potential customer for or against any of the SSD vendors because I've heard so few harsh words about any of the products on the market. Whatever the reasons, I find this situation truly remarkable.



sendmail Performance Tuning
sendmail Performance Tuning
ISBN: 0321115708
EAN: 2147483647
Year: 2005
Pages: 67

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net