SSD versus Enterprise SAS and SATA disks
by Johan De Gelas on March 20, 2009 2:00 AM EST- Posted in
- IT Computing
Introduction
The introduction of "enterprise SATA" disks a few years ago was an excellent solution for all the companies craving storage space. With capacities up to 1TB per drive, "RAID Enabled" SATA disks offer huge amounts of magnetic disk space with decent reliability. Magnetic disks have been a very cheap solution if you want storage space, with prices at 20 cents per gigabyte (and falling). Performance is terrible, however, with seek times and latency adding a few milliseconds over faster and more expensive alternatives (i.e. SCSI). That's 10,000 to 100,000 times slower than the speed of CPUs and RAM, where access times are expressed in nanoseconds. Even worse is the fact that seek times and latency have been improving at an incredibly slow pace. According to several studies[1], the time (seek time + latency) to get one block of random information has only improved by a factor 2.5 over the last decade while bandwidth has been improved a tenfold. Meanwhile, CPUs have become over 60 times faster! (As a quick point of reference, ten years ago state-of-the-art servers were running 450MHz Xeon processors with up to 2MB of L2 cache.)
The result of this lopsided performance improvements is a serious performance bottleneck, especially for OLTP databases and mail servers that are accessed randomly. A complex combination of application caches, RAID controller caches, hard disk caches, and RAID setups can partially hide the terrible performance shortcomings of the current hard disks, but note the word "partially". Caches will not always contain the right data and it has taken a lot of research and software engineering to develop database management systems that produce many independent parallel I/O threads. Without a good I/O thread system you would not even be able to use RAID setups to increase disk performance.
Let's face it: buying, installing, and powering lots of fast spinning disks just to meet the Monday morning spike on mail servers and transactional applications is frequently a waste of disk space, power, and thus money. In addition, it's not just hard disk space and power that make this a rather expensive and inefficient way to solve the ancient disk seek time problem: you need a UPS (Uninterruptible Power Source) to protect all those disks from power failures, plus expensive software and man-hours to manage all those disks. The Intel X25-E, an SLC SSD drive, holds the potential to run OLTP applications at decent speeds much simpler. Through a deep analysis of its low level and real world performance, we try to find out when this new generation of SSDs will make sense. Prepare for an interesting if complex story….
67 Comments
View All Comments
JohanAnandtech - Friday, March 20, 2009 - link
If you happen to find out more, please mail me ([email protected]). I think this might have to do something with the inner working of SATA being sligthly less efficient than the SAS protocol and the Adaptec firmware, but we have to do a bit of research on this.Thanks for sharing.
supremelaw - Friday, March 20, 2009 - link
Found this searching for "SAS is bi-directional" --http://www.sbsarchive.com/search.php?search=parago...">http://www.sbsarchive.com/search.php?se...&src...
quoting:
> Remember, one of the main differences between (true) SAS and SATA is
> that in the interface, SAS is bi-directional, while SATA can only
> send Data in one direction at a time... More of a bottle-neck than
> often thought.
Thus, even though an x1 PCI-E lane has a theoretical
bandwidth of 250MB/sec IN EACH DIRECTION, the SATA
protocol may be preventing simultanous transmission
in both directions.
I hope this helps.
MRFS
supremelaw - Friday, March 20, 2009 - link
NOW!http://www.dailytech.com/article.aspx?newsid=14630">http://www.dailytech.com/article.aspx?newsid=14630
[begin quoteS]
Among the offerings are a 16GB RIMM module and an 8GB RDIMM module. The company introduced 50nm 2Gb DDR3 for PC applications last September. The 16GB modules operate at 1066Mbps and allow for a total memory density of 192GB in a dual socket server.
...
In late January 2009, Samsung announced an even higher density DRAM chip at 4Gb that needs 1.35 volts to operate and will be used in 16GB RDIMM modules as well as other applications for desktop and notebook computers in the future. The higher density 4Gb chips can run at 1.6Gbps with the same power requirements as the 2Gb version running at 1066Mbps.
[end quote]
supremelaw - Friday, March 20, 2009 - link
http://techreport.com/articles.x/16255">http://techreport.com/articles.x/16255The ACARD ANS-9010 can be populated with 8 x 2GB DDR2 DIMMS;
and, higher density SDRAM DIMMS should be forthcoming from
companies like Samsung in the coming months (not coming years).
4GB DDR2 DIMMs are currently available from G.SKILL, Kingston
et al. e.g.:
http://www.newegg.com/Product/Product.aspx?Item=N8...">http://www.newegg.com/Product/Product.a...tem=N82E...
I would like to see a head-to-head comparison of Intel's SSDs
with various permutations of ACARD's ANS-9010, particularly
now that DDR2 is so cheap.
Lifetime warranties anybody? No degradation in performance either,
after high-volume continuous WRITEs.
Random access anybody? You have heard of the Core i7's triple-
channel memory subsystems, yes? starting at 25,000 MB/second!!
Yes, I fully realize that SDRAM is volatile, and flash SSDs are not:
there are solutions for that problem, some of which are cheap
and practical e.g. dedicate an AT-style PSU and battery backup
unit to power otherwise volatile DDR2 DIMMs.
Heck, if the IT community cannot guarantee continuous
AC input power, where are we after all these years?
Another alternative is to bulk up on the server's memory
subsystem, e.g. use 16GB DIMMs from MetaRAM, and implement
a smart database cache using SuperCache from SuperSpeed LLC:
http://www.superspeed.com/servers/supercache.php">http://www.superspeed.com/servers/supercache.php
Samsung has recently announced larger density SDRAM chips,
not only for servers but also for workstations and desktops.
I predict that these higher density modules will also
show up in laptop SO-DIMMs, before too long. There are a
lot of laptop computers in the world presently!
After investigating the potential of ramdisks for myself
and the entire industry, I do feel it is time that their
potential be taken much more seriously and NOT confined
to the "bleeding edge" where us "wild enthusiasts"
tend to spend a lot of our time.
And, sadly, when I attempted to share some original ideas and
drawings with Anand himself, AT THE VERY SAME TIME
an attempt was made to defame me on the Internet --
by blaming me for some hacker who had penetrated
the homepage of our website. Because I don't know
JAVASCRIPT, it took me a few days to isolate that
problem, but it was fixed as soon as it was identified.
Now, Anand has returned those drawings, and we're
back where we started before we approached him
with our ideas.
I conclude that some anonymous person(s) did NOT
want Anand seeing what we had to share with him.
Your comments are most appreciated!
Paul A. Mitchell, B.A., M.S.
dba MRFS (Memory-Resident File Systems)
masterbm - Friday, March 20, 2009 - link
Still looks like their is bottleneck in raid controller in 66% read and 33% write test. The one ssd two ssd comperseionmcnabney - Friday, March 20, 2009 - link
The article does seem to skew at the end. The modeled database had to fit in a limited size for the SSD solution to really shine.So the database size that works well with SSD is one that requires more space than can fit into RAM and less than 500GB when the controllers top-out. That is a pretty tight margin and potentially can run into capacity issues as databases grow.
Also, in the closing cost chart there is no cost per GB per year line. The conclusion indicates that you can save a couple thousand with a 500GB eight SSD solution versus a twenty SAS solution, but how money eight SSD servers will you need to buy to equal the capacity and functionality of one SAS server.
I would have liked to see the performance/cost of a server that could hold the same size database in RAM.
JohanAnandtech - Friday, March 20, 2009 - link
"So the database size that works well with SSD is one that requires more space than can fit into RAM and less than 500GB when the controllers top-out. That is a pretty tight margin and potentially can run into capacity issues as databases grow. "That is good and pretty astute observation, but a few remarks. First of all, EMC and others use Xeons as storage processor. Nothing is going to stop the industry from using more powerful storage processors for the SLC drives than the popular IOP348.
Secondly, 100 GB SLC (and more) drives are only a few months away.
Thirdly, AFAIK keeping the database in RAM does not mean that a transactional database does not have to write to the storage system, if you want a fully ACID compliant database.
mikeblas - Friday, March 20, 2009 - link
I can't seem to find anything about the hardware where the tests were run. We're told the database is 23 gigs, but we don't know the working set size of the data that the benchmark touches. Is the server running this test already caching a lot in memory? How much?A system that can hold the data in memory is great--when the data is in memory. When the cache is cold, then it's not doing you any good and you still need to rely on IOPS to get you through.
JohanAnandtech - Friday, March 20, 2009 - link
http://it.anandtech.com/IT/showdoc.aspx?i=3532&...">http://it.anandtech.com/IT/showdoc.aspx?i=3532&...Did you miss the info about the bufferpool being 1 GB large? I can try to get you the exact hitrate, but I can tell you AFAIK the test goes over the complete database (23 GB thus), so the hitrate of the 1 GB database will be pretty low.
Also look at the scaling of the SAS drives: from 1 SAS to 8, we get 4 times better performance. That would not be possible if the database was running from RAM.
mikeblas - Friday, March 20, 2009 - link
I read it, but it doesn't tell the whole story. The scalability you see in the results would be attainable if a large cache were not being filled, or if the cache was being dumped within the test.The graphs show transactions per second, which tell us how well the database is performing. The charts don't show us how well the drives are performing; to understand that, we'd need to see IOPS, among some other information. I'd expect that the maximum IOPS in the test is not nearly the maximum IOPS of the drive array. Since the test wasn't run for any sustained time, the weaknesses of the drive are not being exposed.