If you want to run your favorite machine learning algorithm on large amounts of data and you might need to parallelize it, how can you do that? Do you really want to closely study all details of your algorithm to find parts that can be parallelized and then re-ecomment the algorithm in a parallel environment? No? Either would we? So you have a large pile of data, processing it centrally would take too long. Instead, distribute the data over many processes. Then run the machine learning algorithm on each small chunk of data. This doesn't take long and gives a set of weak models, but how to obtain a strong model. Let us picture each weak model as a point and the model quality as a convex function. Each blue point represents a model. The running machine partitions the set of points into subsets. And then it completes the run-on point of each subset. After having calculated the run-on point of each subset, it begins the process iteratively down, with each iteration yielding stronger models. The last point remaining is the output of the run-on machine. If your machine learning algorithm is a regularized risk minimizer with convex loss function and uses a hypothesis space with finite run-on number. Then its parallelization using the run-on machine has polylabel with me around time and quasi-pollinomely many process iterates, if the dimension of the data is polylabel-rhythmic in the number of examples. Cool, but why would I just average the models instead of calculating the run-on point? Or I could just use an existing parallel learning algorithm from the Apache Spark to MLA, right? Of course it could, but then you would either get weaker models for averaging or you are slower for Spark. I hope I could spark a curiosity about the run-on machine, a black box parallelization scheme that substantially speeds up your learning algorithm at the same time providing strong theoretical error guarantees. For more information check out our paper. you