Oh, and I forgot to mention another significant advantage.

The "master" task knows about the "worker" machine abilities.
Thus it would be possible to use Magnus routines in Axiom
or Axiom routines in Magnus without combining the code.
Axiom could MapReduce a group operation, the master could
split it among Magnus machines (and even request different
Magnus procedures since they are not guaranteed to terminate),
"map" collect the successful results, poison the remaining Magnus 
processes, "reduce" combine the answer, and return.

> I've been researching a mechanism for parallel execution
> for algorithms like matrix multiply or group algorithms.
> 
> Google has published their "MapReduce" algorithm here:
> http://labs.google.com/papers/mapreduce-osdi04.pdf
> 
> It seems that we could implement the automatic primitives
> used by google with similar semantics to achieve parallel
> execution on multi-core machines. Since multi-core machines
> are reliable and share memory and a file system this could
> be quite efficient and natural.
> 
> We could also scale the algorithm by using a network
> protocol and work between multiple Axiom/Magnus hosted
> machines. This would make effective use of a cluster.
> 

Comments?

Tim




_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to