News
12/17/2008
05:13 PM
George Crump
George Crump
Commentary
50%
50%

How Storage Latency Affects Performance

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.

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.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Flash Poll
10 Recommendations for Outsourcing Security
10 Recommendations for Outsourcing Security
Enterprises today have a wide range of third-party options to help improve their defenses, including MSSPs, auditing and penetration testing, and DDoS protection. But are there situations in which a service provider might actually increase risk?
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-9710
Published: 2015-05-27
The Btrfs implementation in the Linux kernel before 3.19 does not ensure that the visible xattr state is consistent with a requested replacement, which allows local users to bypass intended ACL settings and gain privileges via standard filesystem operations (1) during an xattr-replacement time windo...

CVE-2014-9715
Published: 2015-05-27
include/net/netfilter/nf_conntrack_extend.h in the netfilter subsystem in the Linux kernel before 3.14.5 uses an insufficiently large data type for certain extension data, which allows local users to cause a denial of service (NULL pointer dereference and OOPS) via outbound network traffic that trig...

CVE-2015-2666
Published: 2015-05-27
Stack-based buffer overflow in the get_matching_model_microcode function in arch/x86/kernel/cpu/microcode/intel_early.c in the Linux kernel before 4.0 allows context-dependent attackers to gain privileges by constructing a crafted microcode header and leveraging root privileges for write access to t...

CVE-2015-2830
Published: 2015-05-27
arch/x86/kernel/entry_64.S in the Linux kernel before 3.19.2 does not prevent the TS_COMPAT flag from reaching a user-mode task, which might allow local users to bypass the seccomp or audit protection mechanism via a crafted application that uses the (1) fork or (2) close system call, as demonstrate...

CVE-2015-2922
Published: 2015-05-27
The ndisc_router_discovery function in net/ipv6/ndisc.c in the Neighbor Discovery (ND) protocol implementation in the IPv6 stack in the Linux kernel before 3.19.6 allows remote attackers to reconfigure a hop-limit setting via a small hop_limit value in a Router Advertisement (RA) message.

Dark Reading Radio
Listen Now Incident Response War Gaming: Practicing the Post-Breach Panicking
After a serious cybersecurity incident, everyone will be looking to you for answers -- but you’ll never have complete information and you’ll never have enough time. So in those heated moments, when a business is on the brink of collapse, how will you and the rest of the board room executives respond?