  Today's data centers face extreme challenges in providing low latency.
However, fair sharing, a principle commonly adopted in current congestion
control protocols, is far from optimal for satisfying latency requirements.
  We propose Preemptive Distributed Quick (PDQ) flow scheduling, a protocol
designed to complete flows quickly and meet flow deadlines. PDQ enables flow
preemption to approximate a range of scheduling disciplines. For example, PDQ
can emulate a shortest job first algorithm to give priority to the short flows
by pausing the contending flows. PDQ borrows ideas from centralized scheduling
disciplines and implements them in a fully distributed manner, making it
scalable to today's data centers. Further, we develop a multipath version of
PDQ to exploit path diversity.
  Through extensive packet-level and flow-level simulation, we demonstrate that
PDQ significantly outperforms TCP, RCP and D3 in data center environments. We
further show that PDQ is stable, resilient to packet loss, and preserves nearly
all its performance gains even given inaccurate flow information.
