Scaling up Machine Learning : Parallel and Distributed Approaches