Forgive me if this is naive, but could smaller-scale cases be served by a version that uses the MapReduce model as a way to cleanly break up operations across cores instead of machines? Or do the benefits of the model become mostly irrelevant in that case?
I'm sure it wouldn't take the form of a dedicated process; probably just a language-agnostic programming pattern