Speeding up Distributed Machine Learning