In short, GraphLab is a parallel programming abstraction. It is slightly low-level than MapReduce. Many algorithms can be written in a scalable way in the GraphLab framework that, were they written in MapReduce, they would not scale correctly. Which is to say that MapReduce is too high-level to implement many useful data processing algorithms, but GraphLab is at the appropriate level of abstraction.
I asked about GraphLab on MetaOptimize, and the authors of GraphLab gave some high-level information:
Note that this Q+A was done before the paper was published (but was based upon the camera-ready). I believe that the code has matured since then, but it might not yet be ready for production.
Joseph Gonzalez: "MapReduce is good for single-iteration and embarassingly parallel distributed tasks like feature processing, while GraphLab is good for iterative algorithms with computational dependencies or complex asynchronous schedules. For instance, we find that GraphLab is highly suitable for Gibbs sampling, EM-style algorithms and some classes of optimization algorithms. Programs which fit well on a systolic abstraction (such as PageRank on Pregel) will also work well with GraphLab. There are probably a lot more algorithms that will fit well in the GraphLab and we are still exploring the capabilities and implications of the abstraction (and whether further extensions will be needed)."
I sadly missed a talk by its creator last week :( It looks interesting as a framework for parallelised algorithms where the dataflow isn't quite as straightforward as MapReduce (quite common in machine learning). I may try and use it for my dissertation actually. But no experience yet to speak of.
I asked about GraphLab on MetaOptimize, and the authors of GraphLab gave some high-level information:
http://metaoptimize.com/qa/questions/285/when-should-you-pre...
Note that this Q+A was done before the paper was published (but was based upon the camera-ready). I believe that the code has matured since then, but it might not yet be ready for production.
Joseph Gonzalez: "MapReduce is good for single-iteration and embarassingly parallel distributed tasks like feature processing, while GraphLab is good for iterative algorithms with computational dependencies or complex asynchronous schedules. For instance, we find that GraphLab is highly suitable for Gibbs sampling, EM-style algorithms and some classes of optimization algorithms. Programs which fit well on a systolic abstraction (such as PageRank on Pregel) will also work well with GraphLab. There are probably a lot more algorithms that will fit well in the GraphLab and we are still exploring the capabilities and implications of the abstraction (and whether further extensions will be needed)."