This document proposes a map-reduce framework for parallelizing machine learning algorithms on multicore processors. The key ideas are:
1) Many machine learning algorithms can be expressed in "summation form" by computing sufficient statistics through summing over data points, allowing data to be partitioned across cores.
2) A map-reduce architecture is developed where data is split among "mappers", which compute partial sums in parallel, and a "reducer" aggregates the results.
3) Ten popular algorithms including linear regression, k-means, logistic regression, and neural networks are shown to fit this framework and achieve near-linear speedup with additional cores.