Distributed machine learning: scaling up with coarse-grained parallelism | JoVE Visualize