Coflow: A Networking Abstraction For Distributed Data-Parallel Applications