Strategies for Response Time Reduction

Parallelism and dispersion can be considered as specific tactics in a broad approach to response time reduction:

1. Eliminate the need for the transaction, if possible.
2. Tune (i.e., optimize) the application.
3. Use more resources to exploit any inherent parallelism in the service process.
4. Reduce the request-response latency by reducing the distance, either bringing the user to the service location or vice versa.
5. Reduce the number of round trips, for example, by sending more objects in each trip.

Many of these tactics can be used in conjunction with each other.

To understand these different approaches, let’s consider how we might reduce the total time it takes to get a cup of coffee from the nearest coffee shop. The first approach, which cuts the effective response time to zero, is to eliminate the need for the transaction, by forgoing the cup of coffee entirely. Short of this, we could reduce the time spent getting coffee by cutting back on drinking it or buying a coffeemaker and placing it down the hall.

Suppose we do want a cup of coffee. We head down to the nearest coffee shop and realize that every time the barista makes a tasty concoction, he has to go to the back room to get an empty paper cup. We tune the application, suggesting a straightforward process improvement, namely that he keep a stack of empty cups up at the front. I’m using a simplified analogy here, but Starbucks’ operations specialists tune processes all ...

Get Cloudonomics: The Business Value of Cloud Computing, + Website now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.