
Recent Posts
Unlock the Roadmap to Healthcare's Digital Future
April 8th, 2025
Related Posts
Cloud Insights
Webinar Recap and Replay: Navigating Cyber Threats: Insights for Resilient Security
April 9th, 2025
Cloud Insights
Unlock the Roadmap to Healthcare's Digital Future
April 8th, 2025
Cloud Insights
Seattle Children's Hospital and Rackspace Discuss the Power of Strategic Partnerships at ViVE 2025
April 7th, 2025
Cloud Insights
Embracing Cloud Native: A Path to Cloud Maturity That Drives Innovation
March 31st, 2025
Cloud Insights
Navigating IT Complexity in the Insurance Industry: A Pathway to Resilience
March 25th, 2025
In a recent guest post entitled “Perform
In a recent guest post entitled “Performance at Scale: SSDs, Silver Bullets and Serialization” for High Scalability, Aaron Sullivan, a Principal Engineer at Rackspace, took a close look at the problem of trying to increase performance across software and hardware systems. Let’s say that you want to increase the performance of your application by 10X. That turns out to be monumentally difficult and requires a comprehensive fine-tuning of all the components that contribute to performance.
A common strategy to boost machine and application performance is to throw a bunch of SSDs into the equation to boost data throughput. Sometimes it works and sometimes it doesn’t. Rackspace frequently uses SSD drives across its infrastructure and sees great results, but as Aaron points out:
“If I were to split the outcomes that I see with Rackspace customers who start using SSDs, the majority of the outcomes fall under two scenarios. The first scenario is a silver bullet—adding SSDs creates near-miraculous performance improvements. The second scenario (the most common) is typically a case of the bullet being fired at the wrong target—the results fall well short of expectations. A common phenomena at the heart of the disappointing SSD outcomes is serialization.”
Serialization, even in a parallel processing world, turns out to be everywhere. A server may have processors, memory systems and storage systems that are parallel, it may be running multithreaded software, but transactions must still happen in a specific order. Step 1. Then step 2. Then step 3. That’s serialization.
Some systems may be capable of receiving and processing thousands of discrete requests simultaneously in one part, only to wait behind some other, serialized part.
Software developers and systems architects have dealt with this in a variety of ways. Multi-tier web architecture was conceived, in part, to deal with this problem. More recently, database sharding also helps to address this problem. But making some parts of a system parallel doesn’t mean all parts are parallel. And some things, even after being explicitly enhanced (and marketed) for parallelism, still contain some elements of serialization.
Check out Aaron’s full article, in which he provides:
- Data visualizations of serialized and parallelized components against response time
- Cumulative strategies to increase application and component performance
A comprehensive understanding of application and system performance is just one of the benefits of engaging with the Managed Cloud specialists. For a fresh look at the issue of scaling, see Rackspace Product Director Ev Kontsevoy’s recent post “OnMetal: The Right Way to Scale.”
Photo courtesy of Dan DeChiaro via Flickr.
Tags: