News
12/17/2008
05:13 PM
George Crump
George Crump
Commentary
Connect Directly
RSS
E-Mail
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
Flash Poll
Current Issue
Cartoon
DevOps’ Impact on Application Security
DevOps’ Impact on Application Security
Managing the interdependency between software and infrastructure is a thorny challenge. Often, it’s a “developers are from Mars, systems engineers are from Venus” situation.
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-4734
Published: 2014-07-21
Cross-site scripting (XSS) vulnerability in e107_admin/db.php in e107 2.0 alpha2 and earlier allows remote attackers to inject arbitrary web script or HTML via the type parameter.

CVE-2014-4960
Published: 2014-07-21
Multiple SQL injection vulnerabilities in models\gallery.php in Youtube Gallery (com_youtubegallery) component 4.x through 4.1.7, and possibly 3.x, for Joomla! allow remote attackers to execute arbitrary SQL commands via the (1) listid or (2) themeid parameter to index.php.

CVE-2014-5016
Published: 2014-07-21
Multiple cross-site scripting (XSS) vulnerabilities in LimeSurvey 2.05+ Build 140618 allow remote attackers to inject arbitrary web script or HTML via (1) the pid attribute to the getAttribute_json function to application/controllers/admin/participantsaction.php in CPDB, (2) the sa parameter to appl...

CVE-2014-5017
Published: 2014-07-21
SQL injection vulnerability in CPDB in application/controllers/admin/participantsaction.php in LimeSurvey 2.05+ Build 140618 allows remote attackers to execute arbitrary SQL commands via the sidx parameter in a JSON request to admin/participants/sa/getParticipants_json, related to a search parameter...

CVE-2014-5018
Published: 2014-07-21
Incomplete blacklist vulnerability in the autoEscape function in common_helper.php in LimeSurvey 2.05+ Build 140618 allows remote attackers to conduct cross-site scripting (XSS) attacks via the GBK charset in the loadname parameter to index.php, related to the survey resume.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Where do information security startups come from? More important, how can I tell a good one from a flash in the pan? Learn how to separate ITSec wheat from chaff in this episode.