Over a decade back when we were still in the CORBA days, Peter Deutsch came up with the fallacies of distributed computing. Many distributed systems have been flawed due to willfully ignoring some of the fallacies and expecting technologies to obviate some of the inherent limitations in distributed computing. The premise was that those developers and designers who ignored these fallacies would in effect end up with a distributed system that would have some serious limitations in its functionality sooner or later. It was best to plan for some of these problems which was (and still is) inherent in distributed computing.
One of these fallacies is that “Latency is zero“. In traditional computing, the compute and data was typically hosted on the same system and the data latency was determined by the storage disks and the data bus speeds. It was a simple matter of buying better hardware to overcome data latency if it was ever an issue. In cloud computing and especially when we get to network of clouds with data expected to flow around different clouds, latency (however minimal it is) could be an issue depending on the data being manipulated, the network speeds and so on. Add to this the fact that the entire data or part of the data should be encrypted and decrypted when it moves around unreliable and public networks, and the fact that data needs to be streamed, latency will soon add up and could become a serious issue.
In the web era, many companies like Akamai have specialized in making data available closer to use and minimizing network latency. Some of these and other companies are already looking into this issue vis-a-vis the cloud, but, just the other day when I was twiddling my thumbs waiting for a not-so-big file to upload from my desktop to my EC2 machine instance, I was wondering how many of those dabbling with cloud computing would eventually be faced with the same question that I did, “How does Data Latency affect my cloud solution or design?”.
1 Comment(s)
Comments RSS TrackBack Identifier URI

Vendors are selling clouds by pushing bandwidth availability, but latency is as important as bandwidth. Most applications run better when closer to the data. You can’t deny that slow pages lose users. Co-location of the tiers, asynch communication and caching might help.