Computer Systems for Distributed Machine Learning