  Packet buffers in datacenter switches are shared across all the switch ports
in order to improve the overall throughput. The trend of shrinking buffer sizes
in datacenter switches makes buffer sharing extremely challenging and a
critical performance issue. Literature suggests that push-out buffer sharing
algorithms have significantly better performance guarantees compared to
drop-tail algorithms. Unfortunately, switches are unable to benefit from these
algorithms due to lack of support for push-out operations in hardware. Our key
observation is that drop-tail buffers can emulate push-out buffers if the
future packet arrivals are known ahead of time. This suggests that augmenting
drop-tail algorithms with predictions about the future arrivals has the
potential to significantly improve performance.
  This paper is the first research attempt in this direction. We propose
Credence, a drop-tail buffer sharing algorithm augmented with machine-learned
predictions. Credence can unlock the performance only attainable by push-out
algorithms so far. Its performance hinges on the accuracy of predictions.
Specifically, Credence achieves near-optimal performance of the best known
push-out algorithm LQD (Longest Queue Drop) with perfect predictions, but
gracefully degrades to the performance of the simplest drop-tail algorithm
Complete Sharing when the prediction error gets arbitrarily worse. Our
evaluations show that Credence improves throughput by $1.5$x compared to
traditional approaches. In terms of flow completion times, we show that
Credence improves upon the state-of-the-art approaches by up to $95\%$ using
off-the-shelf machine learning techniques that are also practical in today's
hardware. We believe this work opens several interesting future work
opportunities both in systems and theory that we discuss at the end of this
paper.
