Present Day
Today we can buy a server with one or more 3GHz CPUs, and
a number of disk drives that still get about a 5ms access
time. Do you know what the result of this is? A CPU that idles
along at under 20% utilization while I/O beats the disks to
death. Yes, the disk drives are effectively holding that back
that blazing fast CPU from achieving anywhere near its potential.
Imagine dictating a novel to someone "writing" on
stone with a hammer and chisel. Get the picture?
So what's the solution? It could very well be solid-state
disks. Not for all applications of course, but there are quite
a few that really need the performance advantages- and these
applications are much more common than one might expect. Database
logs and indexes are huge I/O bottlenecks, as are mail server
queues. And there are many other everyday applications that
are impacted by I/O performance to rotating disks.
So what about the cost? Sure, memory prices have fallen tremendously,
but is it enough to make the solid-state disks affordable?
In a word, yes. Prices have come down so far that solid-state
disks can often be the fastest and cheapest way of solving
an I/O problem. Is the cost per megabyte as low as a traditional
disk? No. That's because of economics of quantity. There are
thousands of rotating disks shipped for each dozen solid-state
disks. That won't always be the case, but it is for the time
being. While the cost of a solid-state disk is roughly 500
times that of a rotating disk, its performance is over 1000
times better. A disk's access time of even 5 milliseconds
is an eternity compared to the access time of a solid-state
disk, which is measured in microseconds3. That
performance can unlock the horsepower of those fast CPUs you've
just purchased.
We haven't just experienced changes in technology- we're
also seeing paradigm shifts in computing in general. Traditionally
the server has been the most expensive device in the machine
room. That's not necessarily true anymore- the cost structures
have changed. It may be unfamiliar to think of data storage
costing more than the server, but now it's a fact of life.
Don't think of a solid-state disk as being an unreasonable
purchase because it's "more expensive than rotating disks."
Think of it as a specialized acceleration device that's needed
to fully realize the computer's performance. With new servers
and storage (and their pricing), you're still getting much
more power for the dollar than you used to.
Is it feasible to replace all of the rotating disks in an
IT environment with solid-state disks? Certainly not, at least
not today. Fortunately, there currently isn't a need to do
so. Typically, only about 5% of the data in a given application
is a "bottleneck." It's the data in those small
key files that should be moved off of rotating storage. Adding
solid-state disks to an IT environment has benefits beyond
just speeding up accesses to those key files previously mentioned.
When the "hot" files receiving most of the I/O are
moved off of the traditional storage arrays, the cache in
those arrays becomes much more efficient, since the "hot"
data doesn't keep pushing other useful data out of it.
If that's not enough, think of the alternative ways of achieving
more performance:
Adding systems - The Gartner Group has shown that only
17% of an IT budget is hardware costs4. What
adds up faster is the cost of additional software licenses,
hardware maintenance, system administration, consumables
(backup tapes, etc.), facilities (power, cooling, floor
space) and so on.
Adding more disk spindles - While this has been a tried-and-true
method for enhancing performance, it has limiting returns.
The more disks that are added to a stripe, the lower the
MTBF goes5. Write performance can suffer if using
a RAID level that has redundancy built in6. Finally,
in a random I/O environment, no number of added disks will
help- assuming the data's not in cache, accessing the data
means that a disk still must spin, and a head must still
seek.
Adding memory to a server - This can help in some cases,
but it also involves certain risks. Should the server go
down for any reason, the data held in system memory is lost.
Depending on the business, the effect can range from "inconvenience"
all the way to "corporate catastrophe."
Modifying the application - It may be possible to enhance
the application to run more efficiently. However, these
changes can take a long time and potentially introduce bugs
into an otherwise working program. Even then the performance
gains are only incremental at best. Besides, good software
developers and tools can often cost far more than a solid-state
disk.
SUMMARY
It can be seen that while solid-state disks were until recently
considered "unobtanium," this simply isn't the case
anymore. No longer are they to be considered a luxury to be
used only by niche applications. Changes in economics and
the computing industry have brought the price range into something
manageable by most IT budgets, and performance demands now
make the solid-state disk more of a necessity than a luxury.
_____________
3 A millisecond
is 1000 microseconds.
4 Hardware costs are now probably an even lower
percentage than Gartner's calculation of 17% due to prices
having dropped so far in the past two years.
5 As the number of disks in a stripe goes up, the
Mean Time Between Failures (MTBF) goes down exponentially.
Since a solid-state disk doesn't have any moving parts, there's
nothing to break.
6 Writing to a RAID stripe with redundancy (data
parity) can add a tremendous amount of overhead. This is particularly
so when writing less than an entire stripe as data must be
read and parity recalculated.
Kelly Cash is the Technical Evangelist
for BiTMICRO Networks, a leading supplier of flash-based solid-state
disk storage solutions. He has been in the systems performance
arena for 15 years, specializing in server and storage optimization.
During his career he's been an engineer focusing on performance
for such companies as Sun Microsystems, Data General, and
AIM Technology. He's also held positions in the IT space,
such as the Chief UNIX IT Technologist for Cadence Design
Systems.
Page: 1 | 2 | BACK |