Certainly no one would seriously argue that web applications are fast enough for everyone. SPDY is one suggested solution, but what if we combine MapReduce and SPDY? Could we develop an architectural solution that leverages the best of SPDY without requiring entire infrastructure changes to support a new protocol?

More than a couple of people have mentioned Map/Reduce as a means to achieve workload-level distribution of applications in a cloud computing environment. I hadn’t looked into Map/Reduce but finally decided that if that many very smart people were thinking it was a solution, I should look into it. After reading through a few tutorials and articles on the subject, including a much referenced lecture from a UW Madison (yeah! Badgers!) professor, I began to wonder how well we could combined MapReduce with SPDY as a means to improve application delivery. [The referenced ‘illustrated’ PDF from the lecture is hard to find. You can access it here. ]

From Google’s paper on Map/Reduce:

blockquote MapReduce is a programming model and an associated implementation for processing and generating large datasets that is amenable to a broad variety of real-world tasks. Users specify the computation in terms of a map and a reduce function, and the underlying runtime system automatically parallelizes the computation across large-scale clusters of machines, handles machine failures, and schedules inter-machine communication to make efficient use of the network and disks.

Programmers find the system easy to use: more than ten thousand distinct MapReduce programs have been implemented internally at Google over the past four years, and an average of one hundred thousand MapReduce jobs are executed on Google’s clusters every day, processing a total of more than twenty petabytes of data per day.

It isn’t just the protocol (SPDY) that’s apposite to application performance and more specifically, web application performance. After looking through Map/Reduce, it would certainly appear that the combination of the “programmatic model” and SPDY would definitely provide the kind of scale and processing speed necessary to achieve a “speedier web.”