[infinispan-dev] Distributed execution framework - API proposal(s)
Manik Surtani
manik at jboss.org
Wed Jan 12 07:47:33 EST 2011
On 12 Jan 2011, at 12:17, Vladimir Blagojevic wrote:
> On 11-01-11 2:42 PM, Manik Surtani wrote:
>> How about this pseudocode:
>>
>> On each node:
>> mapped = list()
>> for entry in cache.entries:
>> t = mapper.map(entry.key, entry.value)
>> mapped.add(t)
>>
>> r = null
>> for t in mapped:
>> r = reducer.reduce(t, r)
>>
>> return r to calling node
>>
>> On calling node:
>> reduced_results = invoke map reduce task on all nodes, retrieve
>> map{address: result}
>> for r in reduced_results.entries:
>> remote_address = r.key
>> remote_reduced_result = r.value
>> collator.add(remote_address, remote_reduced_result)
>>
>> return collator.collate()
>>
>
> Interesting Manik! Where did you come up with this model? The examples I
> tried to write using this model (WordCount etc) would work yet your
> model is definitely different than the original proposed map/reduce!
I just made it up. :) Keep in mind that the original Google paper was designed to be very generic in terms of use case as well as implementation.
Cheers
Manik
--
Manik Surtani
manik at jboss.org
twitter.com/maniksurtani
Lead, Infinispan
http://www.infinispan.org
More information about the infinispan-dev
mailing list