Parallel Algorithms For Machine Learning