A few entries ago I introduced the subject of latency as impedance to storage performance. The biggest area of concern is what impact storage latency has on application performance. This is an area where solid state disk (SSD) solutions can make a difference that standard mechanical drive solutions struggle to solve.With the exception of some specific applications like Oracle, most applications do things in a single threaded fashion; meaning that they do one instruction, then the next, then the next, and so on. For example, an application that is single-threaded that needs to update a piece of information will often need to find that information by asking the drives for it, waiting for the drives to find it, and then give it to the application. Then the application will need to update the information and issue a command to write it to disk. The application will wait for the write acknowledgement before going on to the next operation.
Multiply this waiting by hundreds of thousands of transactions and you create quite a bottleneck waiting for the drive to do something. This latency impact is amplified by file systems and directory structures that require multiple metadata accesses to access a file. So the longer the latency between each request the slower the application becomes.
Multi-threaded applications overcome this latency by sending multiple instructions simultaneously to the storage system. The higher the latency the more threads you need to create to get the full performance capabilities of the system. For example if you have a 100,000 IOPS storage system with 1 millisecond of latency you need 100 threads to get close to full capability.
The choice for most customers is to lower the storage latency, or increase the number of application threads. The problem is that increasing the number of threads is a function of software. If your application does not provide you the tools to multi-thread then you have hit a brick wall; the only thing you can do is focus on lowering storage latency. If your applications can multi-thread, increasing the number of threads is an option, but there is expense to that as well.
Lowering storage latency to help application performance is where hard disk short stroking came from and it has been the primary reason for the interest in SSD. Short stroking as referenced in my previous entry is expensive and complicated and delivers latencies of 5ms. Solid state storage using flash can deliver latencies of less than 0.5ms, a tenfold improvement.
SSD appears simple, but many manufacturers still have a highly latent design. Simply inserting SSD drive modules into current storage shelf technology and having them managed by the feature laden storage software adds more overhead and does not eliminate as much latency as it should.
Where latency is an issue, stand alone systems like those from Violin Memory, Solid Data and Texas Memory Systems shine because they are not encumbered by the legacy storage shelf or the storage software. The downside is that these systems may (some vendors will support them) not integrate into the storage software or plug into existing empty drive bays (empty drives shelves are a rarity in today's data center).
Flash memory SSDs have their own specific latency issues due to the underlying flash technology. Erases and garbage collection can add significant latency to an access, especially when there is a high level of writes. The newer SSDs are beginning to improve both IOPS and latencies to deliver the performance benefits required.
For a single threaded application where storage I/O performance is a problem, SSD provides a viable and potentially more cost effective alternative to the workarounds that mechanical drives require to reduce latency. Just make sure that you are eliminating as much latency as possible as you select the solution.
Join us for our upcoming webcast on SSD: Flash vs. DRAM…and the winner is?
Track us on Twitter: http://twitter.com/storageswiss.
Subscribe to our RSS feed.
George Crump is founder of Storage Switzerland, an analyst firm focused on the virtualization and storage marketplaces. It provides strategic consulting and analysis to storage users, suppliers, and integrators. An industry veteran of more than 25 years, Crump has held engineering and sales positions at various IT industry manufacturers and integrators. Prior to Storage Switzerland, he was CTO at one of the nation's largest integrators.