\documentclass[letterpaper,twocolumn,10pt]{article}
\usepackage{usenix-2020-09}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{booktabs}
\usepackage{url}
\usepackage[hidelinks]{hyperref}
\usepackage{listings}
\usepackage{xcolor}
\begin{document}
\date{}
\title{\Large \bf Marimo: Load-Aware Congestion Control\\
for Lossy Datacenter Networks}
\author{
{\rm First Last}\\
University of Example
\and
{\rm Jane Doe}\\
Example Research Labs
\and
{\rm John Smith}\\
University of Example
}
\maketitle
\subsection*{Abstract}
Modern datacenters use shallow-buffered switches to achieve line-rate
forwarding, causing congestion-induced losses under incast. We present
Marimo, a congestion control protocol that uses ECN-like signals
combined with a closed-loop load estimator to achieve high throughput
and low latency simultaneously. On a 32-node 100G testbed, Marimo
reduces 99th-percentile flow completion time by 3.4$\times$ versus
DCQCN and 2.1$\times$ versus Swift, without relying on switch-internal
state. Marimo is implementation-compatible with RoCE-v2 RNIC firmware.
\section{Introduction}
Incast traffic patterns are both common and catastrophic in datacenters
running ML training and distributed storage workloads. We study the
design of a congestion-control scheme that (a) does not require
switch-internal state beyond stock ECN, (b) converges quickly to a
near-fair rate allocation, and (c) handles the heavy-tailed flow-size
distributions characteristic of ML training.
\paragraph{Contributions.}
\begin{itemize}
\item A closed-loop load estimator that uses per-RTT ECN marks to infer
the effective load on the bottleneck link.
\item A sender algorithm that adjusts congestion window per-RTT based
on the estimated load.
\item Deployment and evaluation results showing 3.4$\times$ p99 FCT
improvement over DCQCN.
\end{itemize}
\section{Motivation}
We characterize incast across four production clusters and find that
p99 FCT explodes past 40\% loading, with DCQCN degrading especially
badly under heterogeneous flow sizes.
\section{Design}
Marimo's sender maintains a short history of ECN marks and estimates
the effective load on the bottleneck. The congestion window is
adjusted per-RTT based on this estimate.
\subsection{Load Estimator}
\begin{equation}
\hat\rho_t = (1-\beta)\,\hat\rho_{t-1} + \beta\, f(\text{ECN}_t),
\end{equation}
where $f$ is a monotone mapping from ECN fraction to estimated load
learned offline from calibration traces.
\subsection{Sender Logic}
On each ACK:
\begin{itemize}
\item if $\hat\rho_t < 0.9$: increase cwnd by 1 MSS per RTT
\item if $\hat\rho_t > 1.0$: multiplicative decrease by a load-dependent factor
\item otherwise: hold cwnd steady
\end{itemize}
Full pseudocode appears in Section 4.
\section{Implementation}
Marimo is implemented as a QUIC extension (3{,}200 LOC Rust) and as a
kernel TCP congestion-control module (1{,}100 LOC C). Both share the
same load-estimator logic.
\section{Evaluation}
\begin{table}[t]
\centering
\small
\begin{tabular}{lrr}
\toprule
Scheme & p50 FCT ($\mu$s) & p99 FCT ($\mu$s) \\
\midrule
DCTCP & 140 & 2{,}840 \\
DCQCN & 120 & 2{,}160 \\
Swift & 110 & 1{,}620 \\
\textbf{Marimo} & \textbf{98} & \textbf{640} \\
\bottomrule
\end{tabular}
\caption{FCT under 40\% cluster load with incast traffic.}
\label{tab:main}
\end{table}
\subsection{Fairness and Convergence}
Two-flow convergence tests show Marimo reaches max-min fairness within
3 RTTs, comparable to TIMELY but with tighter p99 tail than DCQCN.
\section{Related Work}
ECN-based congestion control (DCTCP, DCQCN), delay-based schemes
(TIMELY, Swift), and recent RDMA protocols.
\section{Conclusion}
Principled load estimation matters more than any single signal source;
Marimo provides both and delivers real-world improvements.
\section*{Availability}
Artifact available at \url{https://github.com/example/marimo}.
{\footnotesize \bibliographystyle{acm}
\bibliography{refs}}
\end{document}

PDF Preview
Create an account to compile and preview