The U.S. Energy Department tested cloud providers on their ability to perform specific operations. "Early results from the Energy Department's Magellan cloud computing testbed suggest that commercially available clouds suffer in performance when operating Message Passing Interface (MPI) applications such as weather calculations, an official has said," according to this Federal Computer Week article.
MPI facilitates communications between processes and synchronizations between parallel processes. MPIs promote a discipline as well as a communication mechanism, making sure these programs remain in their specific domain and, thus, are easier to manage within a massively parallel environment. The Energy Department uses MPI-enabled applications for weather forecasting and for some chemistry research. Those doing the test stated that, while many commercial clouds give the "illusion of elasticity," there are logical and physical limits within cloud providers.
[ Get the no-nonsense explanations and advice you need to take real advantage of cloud computing in the InfoWorld editors' 21-page Cloud Computing Deep Dive PDF special report, featuring an exclusive excerpt from David Linthicum's new book on cloud architecture. | Stay up on the cloud with InfoWorld's Cloud Computing Report newsletter. ]
This brings to light points I've been stressing for the last couple of years, including the fact that not all applications are right for the cloud. To that end, cloud providers are not optimized for specific types of applications, including MPI. However, this does not mean that clouds are slow and not scalable; they are just slow and not scalable when leveraged in a particular way.
Indeed, the Energy Department did find for computations that can be performed serially, such as genomics calculations, "there was little or no deterioration in performance." I suspect that with a bit of tuning on the provider's side, the MPI performance issues could be reduced as well. However, I doubt it could be eliminated completely, considering how public clouds are architected.
The core issue here is that public clouds, specifically those offering infrastructure and platform services, are created to support general-purpose applications; when special requirements such as MPI are tossed at them, they come up wanting. I suspect that the cloud providers themselves know about this limitation and the reasons for it.
The bottom line is that all applications are not right for the cloud. Applications that leverage special communications and synchronization services are clearly in the "bad candidate" category. I would also toss in applications that are poorly designed or tightly coupled or that require a large amount of communications with on-premise processes, just to name a few.
We may have to file this under another lesson learned. As we continue to progress toward the cloud, it's important to understand the limitations as well as the opportunities.
This article, "Where the cloud isn't the right tool for the job," originally appeared at InfoWorld.com. Read more of David Linthicum's Cloud Computing blog and follow the latest developments in cloud computing at InfoWorld.com.