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 has a convex function. Each blue point represents a model. The running machine partitions the set of points to subsets. And then it completes the running point of each subset. After having calculated the running 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 RADOM machine. If your machine learning algorithm is a regularized risk minimizer with convex loss function and uses a hypothesis space with finite RADOM number. Then its parallelization using the RADOM machine has polylomer rhythmic runtime on quasi-pollonomally many processing periods, if the dimension of the data is polylomer rhythmic in the number of examples. Cool, but why would I just average the models instead of calculating the RADOM point? Or I could just use an existing parallel learning algorithm from the Apache Spark MLib, right? Of course it could, but then you would either get weaker models for averaging all your snow or spark. I hope I could spark a curiosity about the RADOM 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