Distributed Learning At Scale