# A Simple Non-Deterministic Approach Can Adapt to Complex Unpredictable 5G
Cellular Networks

Parsa Pazhooheshy  University of Toronto<EMAIL_ADDRESS>,  Soheil
Abbasloo  University of Toronto<EMAIL_ADDRESS>and  Yashar Ganjali
University of Toronto<EMAIL_ADDRESS>
###### Abstract.

5G cellular networks are envisioned to support a wide range of emerging delay-
oriented services with different delay requirements (e.g., 20ms for VR/AR,
40ms for cloud gaming, and 100ms for immersive video streaming). However, due
to the highly variable and unpredictable nature of 5G access links, existing
end-to-end (e2e) congestion control (CC) schemes perform poorly for them. In
this paper, we demonstrate that properly blending non-deterministic
exploration techniques with straightforward proactive and reactive measures is
sufficient to design a simple yet effective e2e CC scheme for 5G networks that
can: (1) achieve high controllable performance, and (2) possess provable
properties. To that end, we designed Reminis and through extensive experiments
on emulated and real-world 5G networks, show the performance benefits of it
compared with different CC schemes. For instance, averaged over 60 different
5G cellular links on the Standalone (SA) scenarios, compared with a recent
design by Google (BBR2), Reminis can achieve $2.2\times$ lower 95th percentile
delay while having the same link utilization.

††copyright: none††doi: ††isbn: ††price:

##  1\. Introduction

Congestion Control (CC), as one of the active research topics in the network
community, has played a vital role during the last four decades in satisfying
the quality of service (QoS) requirements of different applications (Henderson
et al., 2012; Ha et al., 2008; Cardwell et al., 2019; Brakmo et al., 1994;
Abbasloo et al., 2020; Yen et al., 2023; Abbasloo et al., 2019b, a; Winstein
et al., 2013; Arun and Balakrishnan, 2018; Abbasloo et al., 2021; Zaki et al.,
2015; Dong et al., 2018; Abbasloo et al., 2018). Although most of the early
efforts for designing CC schemes targeted general networks with their general
characteristics, as time went by and new network environments emerged, the
idea of designing environment-aware CC schemes showed its advantages (e.g.,
TCP Hybla (Caini and Firrincieli, 2004) and TCP-Peach (Akyildiz et al., 2001)
for satellite communication with its unique loss properties, PCCP (Wang et
al., 2007) and TARA (Kang et al., 2007) for sensor networks with their unique
resource restrictions, and DCTCP (Alizadeh et al., 2010) and TIMELY (Mittal et
al., 2015) for data center networks (DCN) with their unique single-authority
nature).

One of the important emerging network environments with huge potential is the
5G cellular network. Just in the first quarter of 2022, the number of
connections over 5G reached more than 700 million, while it is expected that
by the end of 2026, this number will surpass 4.8 billion globally (5G_, 2022).
Considering such a huge increase in the number of 5G users, the wide variety
of current and future applications, and the range of new network
characteristics and challenges it brings to the table, the need for a
5G-tailored CC scheme reveals itself.

###  1.1. What Makes 5G Different?

Orders of Magnitude Larger Bandwidth-Delay Product: Recent measurements have
shown that current millimeter-wave (high-band) 5G networks can achieve, on
average, $\approx$1 Gbps link capacities (and up to 2 Gbps) and around 20 ms
e2e delays (Xu et al., 2020; Narayanan et al., 2020b). Compared to a DCN with
100Gbps access links and $10\mu s$ e2e delay, 5G networks can have, on average
40$\times$ larger bandwidth-delay product (BDP). Compared to its predecessor,
e.g., a 4G network with a 20 Mbps link and 40 ms e2e delay, 5G networks have
on average 50$\times$ larger BDP.

Highly Variable & Unpredictable Access Links: One distinguishing
characteristic of 5G links compared to its predecessors, is the wide range of
link capacity fluctuations. While 5G links can reach a capacity as high as 2
Gbps, they can quickly drop below 4G link capacities or even to nearly zero
(5G “dead zones”) (Narayanan et al., 2020b). For instance, the standard
deviation in 120 5G link capacities collected in prior work is around 432 Mbps
(Narayanan et al., 2020b) 111For example, considering 4G/3G traces gathered in
prior work (Abbasloo et al., 2021, 2019a), this value is about two orders of
magnitude larger than its 4G/3G networks’ counterpart.  The changing dynamics
of the environment such as user mobility, environmental obstacles, and other
5G network factors like network coverage, 5G cell size, and handover are among
some of the main reasons for these highly unpredictable fluctuations in the
link capacity.

Emerging Applications with Unique Delay Requirements: 5G networks are
envisioned to serve a diverse set of emerging delay-sensitive applications
such as AR/VR, online gaming, vehicle-to-vehicle communications, tactile
Internet, remote medical operations, and machine learning-enabled services.
Cellular providers have already started deploying some of these applications
such as cloud gaming, real-time augmented/virtual reality (AR/VR), and
immersive video streaming at the edge of their networks (Ahmad et al., 2020).
Each of these applications has different delay constraints. For instance, the
acceptable delay for AR/VR is about 20ms (ar_, 2018), for cloud gaming, the
target delay is about 40-60ms, and for immersive video streaming the delay
shall not be more than 100ms (5g_, 2021).

New Features, New Opportunities: The goal of supporting delay-sensitive
applications in 5G has popularized the integration of 5G and edge-based
frameworks such as mobile edge computing (MEC) (mec, 2014). Such an edge-based
integration, when combined with other new technologies such as 5G network
slicing (Ericsson, [n. d.]) can provide interesting new design opportunities
for CC design. For instance, in an edge-based cellular architecture where
users have their own isolated logical networks on top of the shared
infrastructures, the concern of TCP-friendliness becomes less of an issue for
a 5G-tailored CC scheme.

###  1.2. Impact of 5G’s Unique Properties on CC

Figure 1. Performance of state-of-the-art CCA on a slice of a sample 5G trace
gathered by prior work (Narayanan et al., 2020b)

As a simple motivating experiment, here (following the setting described in
Section 4.1) we use a 5G cellular trace (gathered in prior work(Narayanan et
al., 2020b)) and report the delay and throughput performance of some recent CC
schemes namely BBR2 (Cardwell et al., 2019) (representing white-box approach),
Verus (Zaki et al., 2015) (representing 4G-tailored schemes), Orca (Abbasloo
et al., 2020) (representing RL-based designs), and Vivace (Dong et al., 2018)
(representing online-learning designs) over a 20s period of this trace. As
Fig. 1 illustrates, the 5G link capacity falls from nearly 1 Gbps to about
zero in just 3 seconds (a sample of high variability and unpredictability of
5G links). In this setting, BBR2 faces a clear delay issue to the extent that
it generates more than 5 seconds of queuing delay. A white-box CC approach
such as BBR2 assumes that the network always follows a certain model. However,
when it faces an unpredictable 5G link that clearly diverges from BBR2’s wired
model of the network, BBR2 cannot adapt to the dynamics of the network quickly
and fails to deliver the desired performance. On the other hand, Verus, a
design targeting 4G cellular networks, is a black-box approach and tries not
to rely on a pre-built model of the network. However, it is very slow, fails
to keep up with the available link capacity, and ends up with low link
utilization and high queuing delay. Considering the performance of Orca and
Vivace, it is clear that the learning-based schemes have a hard time in this
setting as well. Although Orca, as one of the state-of-the-art reinforcement
learning (RL) based schemes, performs better than BBR2 and Verus, it still can
experience large queuing delays. We think that the reason lies in the
generalization issue of the RL-based designs and the fact that Orca has not
seen these scenarios during its training phase. However, how to train an RL-
based scheme to achieve high generalization is still a big unanswered question
(Abbasloo et al., 2020). Vivace addresses the issue of the need for offline
training by exploiting online-learning techniques. However, when utilized in a
5G setting, Vivace cannot keep up with the unpredictable and fast-varying
nature of the network. For instance, after the drop of capacity at around 47s
(in Fig. 1), it takes more than 10 seconds for Vivace to adjust its sending
rate to a value lower than the link’s capacity.

###  1.3. Design Decisions

Putting all together, existing general-purpose heuristics (e.g., BBR2), 4G
specialized heuristics (e.g., Verus), and convoluted learning-based designs
(e.g., Orca) cannot achieve high performance in 5G networks, especially when
emerging delay-sensitive applications are considered.222Appendix A briefly
overviews some of the related works. This sheds light on why in this work, we
are motivated to design a performant CC scheme for one of the fastest-growing
means of access to the Internet, 5G cellular networks. To that end, we target
two main properties for our design:

  * Simplicity & Interpretability: In contrast with tangled learning-based schemes, we seek a simple design that is easy to reason about and possesses provable properties.

  * Adaptability: Showing the performance shortcomings of the existing CC heuristics in 5G networks, our goal is to design a CC scheme that can effectively and efficiently adapt to the dynamics of complex 5G networks and achieve high performance in terms of throughput and delay.

Favoring simplicity and interpretability led us to avoid employing convoluted
techniques such as learning-based ones in this work. Instead, we go back to
simple and intuitive principles to design an effective heuristic (called
Reminis) that can adapt to highly variable 5G networks333This work does not
raise any ethical issues.. In particular, examples such as the one shown in
Fig. 1 indicate that in highly variable and unpredictable 5G cellular links,
gaining high utilization requires agile mechanisms to cope with the sudden
increase in the available link capacities while achieving low controlled e2e
delay requires effective fast proactive and reactive techniques to avoid
bloating the network when link capacities suddenly decrease. Based on these
observations, Reminis utilizes two key techniques: (1) non-deterministic
explorations for discovering suddenly available link capacities, and (2) fast
proactive and agile reactive slowdowns to avoid bloating the network. As Fig.
1 illustrates, using these intuitive strategies enables Reminis to effectively
achieve high throughput while keeping the e2e delay of packets very low.
Sections 2 and 3 elaborate more on these design decisions.

###  1.4. Contributions

Our key contributions in this paper are as follows.

  * By designing Reminis, we demonstrate that without the need to use convoluted learning techniques or prediction algorithms, using lightweight yet effective techniques can lead to promising performance on 5G links.

  * We mathematically analyze Reminis and prove that it converges to a steady state with a bounded self-inflicted queuing delay that can be controlled in an e2e fashion.

  * Through extensive experiments over various emulated 5G cellular traces and a real-world deployed 5G network in North America, we illustrate that Reminis can adapt to highly unpredictable 5G cellular links 444For example, in our emulations over 60 different 5G traces, when compared to a recent work by Google, BBR2, Reminis can achieve up to 3.6$\times$ and on average $2.2\times$ lower 95th percentile delay while having the same link utilization as BBR2..

  * As a side effect of our efforts to evaluate Reminis and make reproducible experiments, we debugged and improved Mahimahi (Netravali et al., 2014), which cannot emulate high-capacity 5G links555For more details, see Appendix D and discussions therein.. Our Mahimahi patch along with Reminis’ framework are publicly available to facilitate the community’s further research on 5G CC (rem, 2023).

Figure 2.  Reminis High-Level Block Diagram

##  2\. Design Overview

As shown in Fig. 2, Reminis is composed of two main components: (1) the
Classic AIMD unit, an Ack-triggered logic performing the well-known AIMD
behavior upon receiving Ack packets, and (2) the Performance Guardian module
(or Guardian in short) which runs periodically and adjusts CWND to keep delay
low while maintaining high throughput.

Upon activation in each period, the Guardian exploits a two-step logic. In the
first step, the Network Condition Inference (NCI) module, utilizes the history
of delay statistics (i.e., delay and its first-order derivative) and infers
the current condition of the network. NCI only uses simple e2e RTT samples as
input. As we show later in sections 3.1 and 4, the simple e2e RTT sample is
sufficient for distinguishing different network conditions. In the second
step, based on the inferred network condition, the Guardian activates one of
the following three modules: (1) Non-Deterministic Exploration (NDE), (2)
Proactive Slowdown (PS), or (3) Catastrophe Mitigation (CM).

In particular, if inferred network condition suggests that there is a
potential room for gaining higher throughput, the Guardian activates the NDE
module to discover further unutilized network bandwidth. On the other hand, if
NCI expects an unwanted delay surge in the near future, the Guardian activates
the PS module to proactively reduce the chance of a future increase in the
delay. If the proactive measures had not been successful and the observed
delay has already increased significantly, as the last measure, the CM module
is activated. The CM block has a reactive logic and enforces a dramatic
decrease of CWND to avoid further increases in delay. In Section 3 we
elaborate more on the details of these modules, their effectiveness, and their
necessity in adapting to highly variable 5G access links and steering Reminis
to very high performance.

Why Guarding Periodically and not Per-Packet? There are two important reasons
behind the periodic nature of the Guardian’s task. First, as mentioned in 1.1,
due to the high variability of 5G cellular networks, jumping to any
conclusions about network conditions solely based on the statistics of one
packet is not reasonable. Hence, it is important to monitor and extract a more
stable view of the network by considering more packets. In other words, any
per-packet measurement in a highly variable network is prone to noise and can
lead to inferring wrong network conditions, while having more samples from the
environment, can potentially help to get a better picture of the network. That
is why Reminis utilizes samples observed in periodic intervals. We refer to
these intervals as sampling intervals (SI). Second, as discussed earlier, 5G
access links can have high capacities. A direct impact of this property on any
logic that makes per-packet decisions is a potentially higher CPU utilization
compared to periodic logic.

The Role of AIMD Block: As discussed, guarding periodically can be helpful in
several ways. However, in a highly varying network, only relying on periodic
logic can possibly lead to a lack of agility for the system. In other words, a
logic that purely relies on periodic samples can react slowly to the changes
in link capacity during each SI. As being agile is significantly vital for CC
schemes targeting cellular networks, Reminis harnesses a classic AIMD block to
perform extra per-packet reactions during SIs. Later in Section 4, we show
this technique not only makes Reminis very agile (e.g., Fig. 11) and high
performance (e.g., Fig 6), but also makes it a very light-weight scheme with
very low CPU overhead (Fig. 17) which is another fundamental requirement for a
successful CC scheme in high capacity 5G networks.

##  3\. Reminis Design

In this section, we discuss the main components of the Guardian block. First,
we introduce the NCI module responsible for inferring network conditions based
on delay statistics. Then, we describe the modules responsible for modifying
the CWND namely NDE, PS, and CM.

###  3.1. Network Condition Inference (NCI)

The NCI module uses two signals to infer network conditions: $1)$ delay and
$2)$ delay derivative. Delay is measured with end-to-end RTT samples, and as
the Guardian runs periodically, once every SI, the delay derivative is defined
to be the difference between two consecutive delay values divided by the time
difference between two queries.

Reminis has a target for its delay which is denoted as the delay tolerance
threshold (DTT). This value could be defined based on (or by) the target
application or Reminis can use its default value for DTT which is $1.5\times
mRTT$. Here, mRTT is the observed minimum RTT since starting the flow (which
is not necessarily equal to the exact/actual minimum RTT of the network).
Considering DTT as the delay target, the NCI module uses the statistics of the
delay signals and deduces the network condition in each SI. Later, these
inferred conditions will be exploited by NDE, PS, and CM blocks. The length of
each SI is equal to the mRTT. To keep Reminis simple and lightweight, we use
straightforward delay signals for defining network conditions (NCI Zones). In
particular, denoting the delay and delay derivative in each $SI_{n}$
respectively with $d_{n}$ and $\nabla d_{n}$, Reminis divides the delay space
into three Zones.
_Zone 1_ : $d_{n}\leq DTT\>\&\>\nabla d_{n}\leq 0$,
_Zone 2_ : $d_{n}\leq DTT\>\&\>\nabla d_{n}>0$, and
_Zone 3_ : $d_{n}>DTT$.

Zone 1 indicates that the delay is below DTT and decreasing, which Reminis
interprets as having room for sending more packets for the benefit of getting
more throughput. The main reason for this deduction is that the negative delay
derivative shows that the sending rate is less than channel capacity and the
queue is depleting. Also having a delay of less than DTT gives room for some
exploration.
Zone 2 shows that the delay is still below DTT but increasing which means that
keeping the current CWND or increasing it might lead to a violation in DTT as
the positive delay is a sign of queue building up.
Finally, Zone 3 indicates that the sender CWND should decrease harshly as
being in this Zone means that the delay has exceeded DTT. Many reasons such as
5G dead zones, which are common in 5G networks, can result in transitioning
into this Zone.

(1) $\footnotesize\texttt{{{SafeZone}}}(d)=1-\dfrac{d-mRTT}{DTT-mRTT}$

In order to quantify how much delay has exceeded DTT, the Guardian uses a
function called SafeZone, defined as in Equation 1. Based on the zone inferred
by the NCI module, one of the NDE, PS, or CM modules will be activated.
Algorithm 1, shows one iteration of the NCI module’s logic.

1 d_derivative = (d_now - d_prev)/interval;

2 cum_d_der += d_derivative;

3 sz_now = SafeZone (d_now );

4

5if  _sz_now ¡ 0_ then

6 CatastropheMitigation (sz_now);

7

8 else if  _d_derivative ¿ 0_ then

9 ProactiveSlowdown (d_now, d_derivative);

10

11 else if  _d_derivative ¡ 0_ then

12 NDExploration (cum_d_der);

13

14 d_prev = d_now;

Algorithm 1 The Guardian

Figure 3. NDE Block in Action

Figure 4. PS Block in Action

Figure 5. CM Block in Action

###  3.2. Non-Deterministic Exploration (NDE)

On the one hand, as discussed earlier, being in Zone 1, indicates there is
room for sending more packets for the benefit of getting more throughput. On
the other hand, many different factors such as user mobility, dynamics of the
physical obstacles, the wireless scheduler’s algorithms that divide resources
between users through time, etc. make 5G access links highly unpredictable.
This means although Zone 1 can indicate a possible chance to gain more
throughput, it cannot identify the exact amount of such an increase.

In that landscape, the NDE module is responsible for discovering and utilizing
available capacity, without the risk of bufferbloat. To that end, when Zone 1
is inferred by the NCI module, the Guardian activates the NDE module to
explore different CWND values in a non-deterministic fashion so that it can
address the unpredictable nature of the available link capacities. This can
help Reminis utilize the sudden unpredictable surges in access link capacity
in a better way.

However, it’s important to make sure that when NDE is exploring any available
link capacity, it does not bloat the user’s queue in an uncontrollable manner.
To address this issue, NDE block controls the average of the stochastic
decision-making process with regard to the general trend of the link capacity.
In particular, the exploration needs to be more aggressive if the Guardian has
been measuring high negative delay derivatives as more negative delay
derivative indicates that the sending rate is far less than channel capacity.

To this end, the NDE module maintains a Gaussian distribution,
$\mathcal{N}(\mu_{n},\,\sigma^{2}_{n})$, where the mean and variance of this
distribution change by each delay derivative measured in every SI based on
$\mu_{n}\leftarrow\mu_{n-1}-\nabla d_{n}$ and
$\sigma^{2}_{n}=\frac{\mu_{n}}{4}$ update rules. Upon activation, the NDE
module draws one sample from the Gaussian distribution,
$x\sim\mathcal{N}(\mu_{n},\,\sigma^{2}_{n})$, and feeds the sample to a
Sigmoid function, $S(x)=\frac{1}{1+e^{-x}}$. Then, the output of the Sigmoid
function is used to increase the current CWND by multiplying the current CWND
by $2^{S(x)}$ as shown in Equation 2.

(2) $\small cwnd_{n}\leftarrow cwnd_{n}\times 2^{S(x)}$

The range of the Sigmoid function is $(0,1)$, so the NDE module will increase
the CWND by a factor between 1 and 2. If Reminis starts measuring negative
delay derivatives consecutively, the incremental factor generated by this
module will be close to 2, which helps Reminis to adapt to any increase in
link capacity quickly. On the other hand, if Reminis measures one negative
delay derivative after many positive delay derivatives, the stochastic
exploration will be more conservative and increases the CWND by factors
slightly more than 1.

We prove that the NDE module makes Reminis faster than an AIMD module alone.
In particular, assuming that $w_{1}$ is the CWND that fully utilizes the fixed
link without causing any queue build-up, we prove that:

###### Theorem 0.

Reminis helps the AIMD logic to reach $w_{1}$ in $\mathcal{O}(\log{}w_{1})$
instead of $\mathcal{O}(w_{1})$ in congestion avoidance phase.

Due to the space limitation, the proof and the detailed assumptions are
provided in Appendix E.1.

NDE in Action: In a nutshell, the NDE module in Reminis is responsible for
tackling scenarios in which the 5G access link experiences sudden surges in
link capacity and utilizing these surges in an agile manner. To illustrate the
effectiveness of NDE in practice, we use a toy example where the link capacity
increases from 100 Mbps to 720 Mbps in a few seconds (Fig.5) and compare it
with two alternatives: (1) No-Exploration and (2) Deterministic exploration.
For the No-Exploration version, we simply turn off the NDE block and for the
Deterministic version, we always use the updated mean of the Gaussian
distribution instead of using random samples drawn from the Gaussian
distribution. As Fig.5 illustrates, without the exploration module, Reminis
suffers from heavy under-utilization. Deterministic exploration can improve
over the No-Exploration version; however, the sending rate still converges to
the channel capacity very slowly. In contrast, the NDE block enables Reminis
to converge to the new channel capacity very fast.

###  3.3. Proactive Slowdown (PS) and
Catastrophe Mitigation (CM)

Considering the high fluctuations of the 5G access links, the main role of PS
and CM modules is to effectively control the e2e delay without causing
significant underutilization.

Proactive Slowdown: This module is activated whenever the NCI infers Zone 2.
When being in Zone 2, Reminis needs to be prudent so it can prevent any
violation of DTT in the next SI. The PS module decreases the current CWND if
the delay gets too close to DTT. To detect when the delay is close to DTT
(i.e., risk of DTT violation), PS calculates the expected delay in the next
SI, using a first-order regression predictor, as in Equation 3.

(3) $\small d_{n+1}=d_{n}+\nabla d_{n}\times SI$

Equation 4 shows how the PS module decreases the CWND upon activation. The
main responsibility of this module is to reduce the CWND if the calculated
expected value of delay in the next SI is more than DTT. This module will be
harsher in decreasing the CWND if its expectation for DTT violating in the
next SI gets larger.

(4) $\small cwnd_{n}\leftarrow cwnd_{n}\times
2^{min(0,{\texttt{SafeZone}}(d_{n+1}))}$

Catastrophe Mitigation: Many reasons, such as sudden decreases in link
bandwidth, can cause Reminis to end up in Zone 3 despite the PS module
actions. In these types of scenarios, we want Reminis to decrease the delay as
soon as possible to meet the delay requirement. Therefore, upon the inference
of Zone 3 by the NCI, the CM module will be activated. CM decreases the CWND
by at least half upon activation. The decrease would be harsher in proportion
to DTT violations. Equation 5 shows the CWND update rule by this module.

(5) $cwnd_{n}\leftarrow cwnd_{n}\times 2^{\texttt{SafeZone}({d}_{n})}\times
0.5$

Algorithm 2, describes the NDE, PS, and CM modules’ logic.

1 Function  _NDExploration(cum_d_der)_ :

2 $\mu=\text{cum\\_d\\_der}$;

3 $\sigma^{2}=\frac{\mu}{4}$;

4 $x\sim\mathcal{N}(\mu,\,\sigma^{2})$;

5 $cwnd\leftarrow cwnd\times 2^{\frac{1}{1+e^{-x}}}$;

6 return ;

7

8Function  _ProactiveSlowdown(d_now, d_derivative)_ :

9 $expected\\_d\\_nxt=d\\_now+(d\\_derivative\times\text{interval})$;

10 $expected\\_sz\\_nxt=\text{Safe\\_Zone}(expected\\_d\\_nxt)$;

11 if  _$expected\\_sz\\_nxt <0$_ then

12 $cwnd\leftarrow cwnd\times 2^{expected\\_sz\\_nxt}$;

13

14 return ;

15

16Function  _CatastropheMitigation(sz_now)_ :

17 $cwnd\leftarrow cwnd\times 2^{sz\\_now}\times 0.5$;

18 return ;

19

Algorithm 2 NDE, PS, and CM

PS and CM in Action: 5G access links experience sudden drops due to several
reasons described in 1.1. These drops could cause a significant increase in
delay and violate the delay requirements of 5G applications as a result. So,
here, we use two examples to show how PS and CM blocks help Reminis
effectively control delay over varying 5G access links. In both examples, we
turn off different blocks right before the changes in the capacity and capture
their impact on the performance of Reminis. In particular, in the first
example, we focus on scenarios where the decrease in access link capacity is
relatively small. Fig. 5 shows such a scenario where the link capacity
decreases from 720 Mbps to 600 Mbps. As Fig. 5 depicts, in this scenario, the
PS block is sufficient to control the queuing delay during the transition.
Here, the PS block reacts to the decrease of link capacity by reducing CWND
according to Equation 4. This enables Reminis to keep the delay below the DTT
and decrease the 95th percentile of queuing delay by 2.3$\times$ compared to
the case where the PS module is turned off.

In the second example, we focus on sudden relatively large decreases in link
capacity. For example, Fig. 5 shows a scenario where the link capacity
decreases from 720 Mbps to 100 Mbps. As it is clear from Fig. 5, the PS module
alone is not sufficient and the CM block becomes a key component to control
the delay. In particular, the CM module alone (”CM ON, PS OFF” in Fig. 5) can
eventually control the delay in this scenario. In fact, when the delay
surpasses the DTT, the CM module is activated and decreases the CWND by more
than half (based on Equation 5). Note that, unlike the PS module which has a
proactive nature, the CM module is reactive leading to a temporary surge in
delay when the PS module is off. In contrast, when both CM and PS are on, the
PS module enhances the performance by controlling the delay during the
transition ($[40,45s]$ in Fig.5). In sum, the proactive aspect of the PS
component combined with the reactive aspect of the CM block boosts the overall
performance of Reminis. Even in the steady-state, ($[45,50s]$ in Fig.5), this
combination benefits Reminis and lowers the delay oscillation.

###  3.4. Reminis’ Steady State

One of our main quests was to design a simple CC scheme with provable
properties. Considering that, we mathematically prove that the following
Theorem summarizes the convergence property of Reminis (considering
$q_{th}=DTT$):

###### Theorem 3.1.

On average, Reminis converges to a steady state with a queuing delay no more
than $(1+S(\frac{\ln{4}-1}{2BDP})\ln{2})q_{th}$.

The detailed proof of the above Theorem and corresponding assumptions are
discussed in Appendix 21.

Figure 6. Throughput-Delay for SA (left column), NSA (middle column) and In-
Field (right column) Emulations.

##  4\. General Evaluations

In this section, we extensively evaluate Reminis and compare it with other
state-of-the-art e2e CC schemes in reproducible trace-based emulations and in-
field experiments. The emulations help us to measure Reminis’ performance over
various scenarios, whereas the infield tests help us verify Reminis’
performance in a much more complex real-world network.

Metrics: The main metrics used in this paper, suitable for a real-time
application, are the average throughput (or equivalently link utilization) and
delay-based statistics such as average and 95th percentile packet delays.

Compared CC Schemes: We compare Reminis with different classes of state-of-
the-art e2e CC schemes. The first class is general-purpose CC schemes such as
TCP CUBIC (Ha et al., 2008), Google’s BBR2 (Cardwell et al., 2019), TCP Vegas
(Brakmo et al., 1994), and Copa (Arun and Balakrishnan, 2018). The second
class is CC algorithms that are custom designed for cellular networks. These
schemes are C2TCP (Abbasloo et al., 2019a), Verus (Zaki et al., 2015), and
Sprout (Winstein et al., 2013). The final class is learning-based CC schemes.
We compare Reminis with DeepCC (Abbasloo et al., 2021), targeting cellular
networks and PCC-Vivace (Dong et al., 2018) as a general-purpose learning-
based CC scheme.

###  4.1. Trace-based Emulations

Mahimahi Limitation for High Bandwidth Links: Mahimahi (Netravali et al.,
2014) was not originally designed to emulate high-speed links. That has led to
some design decisions that downgrade its performance in large bandwidth
scenarios such as 5G links. We faced these performance issues during the
evaluation of Reminis. So, we pinpointed Mahamahi’s issues and revised them to
support high BDP emulations. In a nutshell, we updated the TUN/TAP settings
and logging functionalities of Mahimahi. Fig. 20 shows the performance of TCP
CUBIC over a 5G link emulated with Mahimahi before and after our changes. As
it is clear, after our modifications, Mahimahi is not the performance
bottleneck and CUBIC can utilize the link fully. For brevity and sake of
space, we omit the details of the changes and refer interested readers to our
publicly available source code including these modifications along with the
Reminis source code (rem, 2023).

Setup: We use trace-driven emulations to evaluate Reminis and compare it with
other CC schemes under reproducible network conditions. We use our patched
Mahimahi as the emulator and the 5G traces collected by prior work (Narayanan
et al., 2020b) as our base network traces. After patching Mahimahi, we
evaluate the general performance of Reminis and other relevant CC schemes. For
these experiments, we use 60 different 5G traces gathered in North America by
prior work (Narayanan et al., 2020b) in various scenarios666For more details
about the traces, see Appendix F and discussions therein.. Each run is set to
be 3 minutes and we repeat each run 3 times. For these experiments, we fix the
minimum intrinsic RTT of the network to 20ms based on prior measurements done
by (Xu et al., 2020). Furthermore, since currently there are two different
deployments of 5G networks, we consider two different settings for bottleneck
bandwidth size. The first deployment is the Non-Standalone (NSA) mode, where
operators are reusing the legacy 4G infrastructure to reduce costs. In NSA
mode, we expect to have 4G-tuned buffers which would be smaller than the
5G-tuned buffers. For NSA mode, based on measurements done by prior work (Xu
et al., 2020), we set the buffer size to 800 packets. The second deployment is
the Standalone (SA) version, where the infrastructure of the network is also
changed to acknowledge 5G networks’ needs. In this case, we configure the
buffer size to 3200 packets (Xu et al., 2020).

Standalone (SA) Scenario: The left column of Fig. 6 shows the performance of
tested CC schemes in the SA experiment. The dashed curve shows Reminis’
performance with different DTT values. The star with a bigger marker size than
other stars is Reminis with its default DTT parameter (i.e. $DTT=1.5\times
mRTT$). Later in Section 5.4, we investigate the sensitivity of Reminis to
this parameter. Considering either average or 95 percentile delay statistics,
pure loss-based CC schemes like CUBIC suffer from high e2e delay, though they
can fully utilize the link. This behavior is expected from these schemes as
they try to fully occupy the bottleneck buffer. In contrast, Reminis can find
a sweet spot in the delay-throughput trade-off. For instance, averaged over
all runs and all traces, Reminis with default DTT, achieves 5$\times$ lower
95th percentile delay compared to CUBIC. This promising performance comes with
only compromising 20% of CUBIC’s link utilization. Increasing DTT value to
$2\times mRTT$ (making Reminis more throughput hungry), Reminis, on average,
achieves $2.2\times$ lower 95th percentile delay than BBR2, while having the
same link utilization.
Moreover, SA-related parts of Fig. 6 show that delay-based CC algorithms like
Vegas and Copa cannot get an acceptable link utilization. For example,
averaged over all the experiments, default Reminis compared to Vegas gains
roughly 2.42$\times$ more throughput while its 95th percentile of delay and
average delay are only 1.4$\times$ and 1.14$\times$ more than Vegas
respectively. One of the main takeaways from SA scenario experiments is that
because of deep buffers, throughput-hungry schemes like CUBIC or BBR2 can
fully utilize the link but at the same time, they will have dire delay
performance. On the other hand, Reminis, using its Proactive Slowdown and
Catastrophe Mitigation modules can control the delay. However, without the
Non-Deterministic Exploration module, Reminis would be hindered like other
delay-based schemes. Using these modules simultaneously enables Reminis to
reach the sweet spot of the delay-throughput trade-off.

Non-Standalone (NSA) Scenario: The middle column of Fig. 6, compares the
overall performance of all gathered CC schemes in the NSA scenario. An
important note here is that because of the small size of the buffer, even
throughput-hungry schemes, cannot fully utilize the link. The highest
utilization, in this case, is roughly 80% achieved by BBR2 and CUBIC. In this
scenario, Reminis operated on a sweet spot in the delay-throughput trade-off
curve. In particular, having roughly the same link utilization as CUBIC,
default Reminis achieves 2$\times$ lower 95th percentile delay than CUBIC. The
relative performance of the investigated CC schemes are same as the SA
scenario and the only difference is the reduction in delay and link
utilization, in general among all CC schemes, as a result of the small buffer
size.

###  4.2. In-Field Evaluations

Real-world cellular networks can be more complicated than emulated versions
due to the existence of other users, different behavior of cellular base-
station packet schedulers, etc. We tested the performance of Reminis over
deployed 5G networks in North America. Having servers as senders, a 5G sim
card, and a 5G phone as a client, we collected the performance of various CC
schemes under different environments with different dynamics. We used Samsung
Galaxy S20 5G as our 5G mobile phone. The mRTT of the 5G network in our in-
field experiments varied from 20ms to 30ms. Overall, we conducted 80
experiments for each CC scheme where each run takes 15 seconds. Experiments
are done at different times and places to capture various network dynamics.
During in-field evaluations, the mobile phone was in both stationary and
walking conditions. In both conditions, we observed the time-varying
throughput that Reminis targets. In the stationary scenarios, two main reasons
cause significant changes in access link capacity over time. The first reason
is the changes in line of sight (LoS). Even small obstructions like a human
body could trigger 5G-to-4G handoffs and lead to significant performance
degradation (Narayanan et al., 2020a). Second, the 5G wireless scheduler,
based on different reasons such as the history of users’ resource utilization
and the number of current existing users, can enforce different available
access link capacities per user. This can cause considerable changes in
available link capacity observed by the end user even in the stationary
scenario. In a 5G context, demand for resources in different slices can vary
arbitrarily and unpredictably. In such cases, a large block of network
resources might suddenly be available or taken away from a slice servicing a
set of mobile broadband applications (Haile et al., 2021).

For every experiment, the throughput of schemes is normalized to the maximum
throughput gained in that specific scenario. In these experiments, we use
three versions of Reminis named Reminis high-delay(HD), medium-delay (MD), and
low-delay (LD) corresponding to DTT values of 60 ms, 40 ms, and 30 ms,
respectively.
The right column of Fig. 6 shows the high-level results for our in-field
tests. Reminis-HD achieves the same throughput as BBR2 while achieving on
average 1.47$\times$ lower 95th percentile delay. Moreover, Reminis-HD can
increase the throughput by 1.34 $\times$ and reduce the 95th percentile RTT by
1.4 $\times$ compared to TCP CUBIC. With a tighter DTT, Reminis-MD can achieve
the same throughput as CUBIC while having 1.7$\times$ lower 95th percentile of
delay. The results of in-field evaluations are pretty close to NSA scenario
emulations, which can verify our assumptions and results for NSA emulations.

###  4.3. MEC-Flavored Emulations

Figure 7. MEC-Flavoured Exp.

Figure 8. Experiments on 4G Traces

Figure 9. Experiments on 3G Traces

As mentioned in Section 1.1, mobile edge computing integrated with 5G is one
of the design opportunities in 5G networks. 5G aims to support under 10 ms
latencies using the New Radio technology. With supporting low-latency
connections, applications such as AR/VR are envisioned to be functional in the
5G environment (Xu et al., 2020). Here, we emulate a 5G MEC scenario and
investigate the behavior of different CC schemes in this scenario. To this
end, we set the intrinsic RTT of the network to 10 ms and assume a VR
application with a delay constraint of 20 ms is running. Other than this
change in intrinsic RTT, we fix the setting to be representative of the SA
scenarios.

Fig. 9 shows the overall performance of Reminis and other CC schemes in this
experiment. As shown, only four schemes can achieve the required latency
desired by the AR application (the green area in the figure). However, with
the help of the NDE module, Reminis achieves at least 2.4$\times$ more
throughput than the other three schemes. This promising performance highlights
the benefits of the design decisions of Reminis. Generally, the Non-
Deterministic Exploration module helps Reminis to achieve high throughput
while the Proactive Slowdown and Catastrophe Mitigation modules help Reminis
satisfy its delay target. Appendix Section B gives information about the
average delay performance of these CC algorithms in this experiment.

###  4.4. Is Reminis Only Good in 5G Networks?

Here, we show that mechanisms utilized by Reminis are effective to maintain
the e2e delay low and adapt to the channel capacity variations not only in 5G
cellular networks but also in other networks such as 3G and 4G cellular
networks.

To that end, we use various 3G and 4G traces (gathered respectively by
(Abbasloo et al., 2019a) and (Abbasloo et al., 2021)) and evaluate the
performance of different schemes. A few samples of these traces are shown in
Section 22. Fig. 9 and 9 show the results of these evaluations.777More results
on the improvements of 95th percentile of delay in these emulations are
explained in appendix Section C. There are two important remarks here. First,
Reminis still performs very well on both 3G and 4G scenarios. For instance,
compared to BBR2, on 4G and 3G traces, Reminis achieves 1.48$\times$ and 1.33
$\times$ lower average queuing delay respectively, while BBR2’s throughput is
only 1.1 $\times$ and 1.05 $\times$ more than Reminis. Second, the performance
gap between other CC schemes and Reminis in 3G and 4G scenarios is smaller
compared to the 5G scenarios. The main reason for that is the fact that 5G
networks have an order of magnitude larger BDP, deeper buffers, and more
volatile access links compared to 3G and 4G networks. This means in the 5G
setting, wrong actions of a CC scheme have higher chances of being penalized
more and manifest in performance issues.

##  5\. Deep Dive Evaluations

In this section, we will look under the hood and investigate the dynamics of
Reminis and the role of its individual components. We will also investigate
the impact of different parameters such as intrinsic RTT, buffer size, and DTT
on Reminis. Finally, we will end this section by examining Reminis’ fairness
and overhead aspects.

((a)) Step-Up

((b)) Congestion Win.

((c)) Step-Down

((d)) Congestion Win.

Figure 10. Dynamics of Reminis in a Step Scenario

###  5.1. Dynamics of Reminis

For showing the dynamics of Reminis, we use simple scenarios to depict the
underlying actions of different blocks in Reminis. To put it in context, we
also illustrate the performance of CUBIC and BBR2 here.

Reminis Response to Changes in Link Bandwidth: To elaborate on the dynamics of
Reminis, we use two different step scenarios in which we suddenly
decrease/increase the link bandwidth. Probing the behavior of Reminis in a
simple step scenario will help us understand Reminis responds to more complex
traces as the channel capacity can be modeled as a summation of shifted step
functions.

Fig. 10 shows Reminis sending rate, queuing delay, and the CWND over a link
with capacity changing from 300 Mbps to 600 Mbps and vice versa. The intrinsic
RTT of the experiment is 20 ms and DTT is 40 ms.

In Fig. 10 when the link capacity increases, CUBIC and BBR2 are very slow to
utilize this change. It takes them a few seconds to increase their sending
rate to a point where they can utilize the link. Reminis, however, by
inferring Zone 1, increases the CWND very fast. This increase in CWND value
helps Reminis to fully utilize the link bandwidth shortly after the change in
capacity. The Proactive Slowdown module is helpful here to stop Reminis from
increasing the CWND too much. Fig. 10 shows the Reminis CWND value during the
increase in link capacity. This figure shows that the Non-Deterministic
Exploration module increases the CWND at each SI and helps Reminis to adapt to
this change quickly unlike BBR2 and CUBIC.

Fig. 10 shows the performance of Reminis when link bandwidth decreases from
600 Mbps to 300 Mbps. This figure shows that CUBIC and BBR2 suffer from a
surge in their delay while Reminis can control the delay increase so it will
be still less than DTT. All the depicted CC schemes in Fig. 10 adapt their
sending rate to link bandwidth quickly but BBR2 and CUBIC have already
occupied the queue so much that when the link capacity gets halved, they will
experience a substantial surge in delay. Reminis is quick enough to adapt to
the new scenario so the e2e delay does not exceed the delay target. Reminis
will infer Zone 2 and 3, and as explained in Algorithm 1, it will start
decreasing the CWND.
Fig. 10 shows changes in CWND with higher granularity. During this time, the
Proactive Slowdown and the Catastrophe Mitigation modules decrease the CWND to
match the new link capacity. After decreasing the CWND, if Reminis has
decreased the window too much, the Non-Deterministic Exploration module will
be activated (the last two samples of Fig. 10) and increases the CWND.
Moreover, looking at the CWND adjustments done by the AIMD module in between
each SI, it is obvious that in the first 3 SIs, as the AIMD module does not
detect any packet loss, it keeps increasing the CWND between each SI.

###  5.2. Impact of AIMD Block

Here, we investigate the answer to the question of why Reminis accompanies the
Guardian block with a simple AIMD module. To observe the impact of the classic
AIMD module, we do a simple ablation study and remove the AIMD block from
Reminis. Using this new implementation of Reminis, we repeat all experiments
in the SA scenario as described in Section 4.1 and gather the new version’s
overall throughput and delay performance. The results show that removing the
AIMD block from Reminis leads to losing, on average, 15% (and up to 30%) link
utilization without any tangible improvements in delay performance. To give
more intuition about the effect of this module, Fig. 11 shows a slice of a
sample 5G trace. This figure illustrates how without the AIMD block, Reminis
fails to keep up with increases in the access link capacity. These results
demonstrate the role of the AIMD block in Reminis. The main intuition here is
that since the Guardian works periodically (one action per SI), there are
scenarios in which the Guardian can still miss the channel dynamics happening
during one SI as 5G links can change on very small time scales. That is where
an AIMD block comes into play. A simple AIMD block with its Ack-triggered
logic adds fine-grained dynamics to the Reminis’ actions and enables it to be
more agile.

Another benefit of the AIMD module is increasing the number of RTT samples
during each SI, used to calculate the delay at each SI. Increasing the number
of samples helps Reminis to get more reliable average statistics during each
SI as averaging among more RTT samples reduces the measurement noise. In
short, by providing more samples, AIMD helps NCI to have a better view of the
network condition.

Figure 11. Impact of AIMD Block

Figure 12.  Buffer Size v. Throughput

Figure 13.  Buffer Size v. Delay

Figure 14. Impact of DTT

###  5.3. Impact of Buffer Size

One of the main characteristics of cellular networks is having per-user
buffers at the base station. This helps the network to reduce the number of
dropped packets and to offer a more reliable network to the users. Having
separate queues for each user means that users don’t compete over a common
queue. This feature, despite mitigating some issues like fairness between
multiple users’ flows, leads to the well-known problem of bufferbloat (Jiang
et al., 2012) and self-inflicted delay (Winstein et al., 2013).

In this section, to measure the impact of different bottleneck buffer sizes on
the performance of different schemes, we change the buffer size of the
emulated network from 800 packets to 51200 packets. The choice of the lowest
buffer size, 800 packets, is based on the findings of prior work (Xu et al.,
2020) regarding the buffer size of the NSA-5G network.
As expected and shown in Fig. 14, CUBIC tries to occupy all available buffer.
This approach means that with increasing the buffer size, CUBIC’s delay
performance degrades. In contrast, the average delay performance of Reminis is
roughly independent of buffer size and is around the value of DTT (30 ms).
This behavior from Reminis is rather expected as it tries to control the CWND
so that the overall delay meets the DTT requirement. Moreover, Fig. 14 shows
that despite keeping the delay constant, Reminis achieves around 80% link
utilization regardless of the underlying buffer size.

NSA-5G networks have smaller buffers (4G buffers), so as long as there are
still NSA base stations in the network, any proposed 5G CC algorithm should be
able to also have a good performance in low buffer settings. Meeting its DTT,
Reminis, can achieve 80% link utilization in NSA buffer size.

###  5.4. Impact of Delay Tolerance Threshold

Delay Tolerance Threshold (DTT) is a key parameter in Reminis’ design and
performance. Reminis will become more conservative when the measured delay
exceeds DTT, so we expect to have a trade-off between delay and link
utilization based on different values of DTT. Large DTT values steer Reminis
toward being more throughput-oriented, while small DTT values guide Reminis
toward being more delay-oriented. In Fig. 14, Reminis-X means a version of
Reminis where the DTT parameter has been set to X ms.

For comparison, TCP Vegas, one of the major delay-oriented CC schemes, and TCP
CUBIC, the most throughput-hungry CC scheme, have been added to Fig. 14. In
addition, we accompany CUBIC with two active queue management (AQM) schemes,
CoDel (Nichols and Jacobson, 2012) and Pie (Pan et al., 2013). Although these
schemes make changes in the network, they still cannot utilize the link more
than 60%, which shows a major drawback for these AQM schemes on 5G links. Fig.
14 shows that DTT has the expected impact on the performance of DTT. With a
larger DTT, we can guide Reminis to be more throughput-hungry and a smaller
DTT makes Reminis more delay-sensitive. One salient point in this experiment
is that Reminis does not compromise an immense amount of throughput to meet
its DTT. For instance, for DTT=30 ms, Reminis achieves its goal while its link
utilization is only reduced by 20% compared to CUBIC which has an average RTT
equal to 60 ms.

Figure 15. Impact of min. delay

Figure 16. Reminis’ Fairness

Figure 17. CPU Utilization

###  5.5. Impact of Network’s Intrinsic RTT

The intrinsic RTT of a network is a function of different things including the
UE-Server distance (Narayanan et al., 2021). Therefore, in this experiment, we
evaluate the performance of different schemes for networks with different
intrinsic RTTs. In particular, we change the intrinsic RTT values of our
emulated networks to $\\{5,10,20,30,40,50\\}\>ms$ and set corresponding DTT
values to $\\{7.5,15,30,45,60,75\\}\>ms$. We assume a SA version and
consequently, set the buffer size to BDP for each tested intrinsic RTT value.
888Note that Reminis automatically adjusts the value of SI to the observed
mRTT of the network. That means, by design, Reminis utilizes different SI
values for different settings. We define deviation from the desired delay (D3)
parameter as $D3=\frac{d}{DTT}$. D3 index indicates how much the average delay
($d$) is larger/smaller than DTT with D3=1 meaning the average delay has met
DTT.

Fig. 17 depicts the convex hull of each compared CC scheme in all the possible
scenarios based on different values of intrinsic RTT. For each intrinsic RTT,
we repeat the experiment 3 times. As Fig. 17 shows, Reminis has a D3 less than
1.03 and roughly 80% link utilization over the tested range of intrinsic RTTs.
On the other hand, delay-based approaches like Copa or Vegas, show poor
utilization performances. For instance, Copa’s link utilization can go down to
20%. Moreover, C2TCP can achieve a good D3, but its utilization can vary
widely over different tested intrinsic RTTs which is not desirable. For BBR2,
D3, and for CUBIC both D3 and link utilization have high variations based on
the value of mRTT which is not a desirable feature for cellular networks.

###  5.6. Fairness

Here, we investigate the fairness property of Reminis. We have created a
network containing servers and one client connected via an emulated bottleneck
link. We set the intrinsic RTT of the network to 20 ms. We send three separate
Reminis flows toward the client, with 30 seconds gaps between the start of
each flow, and measure the throughput of each flow at the client side. Fig. 17
shows the result of this experiment and demonstrates that Reminis flows can
fairly share the bottleneck. When the second Reminis flow enters the network,
at around $t=30$s, the first flow detects Zone 2/3, hence it reduces its CWND.
This will release enough bandwidth for the second flow and consequently, two
flows can share the bottleneck bandwidth. The same happens when the third flow
enters the network.

###  5.7. CPU Overhead

Considering the power constraints of devices in 5G networks, it is crystal
clear that a successful 5G-tailored CC scheme should be lightweight with low
computational overheads. That said, here we show the lightweight aspect of
Reminis. To that end, We measure the average CPU utilization of different CC
schemes by sending traffic from a server to a client over a 720 Mbps emulated
link for 2 minutes. The choice of 720 Mbps for link capacity comes from the
average of 5G link capacity measured in prior work (Narayanan et al., 2020b).
Fig. 17 shows the comparison between the average CPU utilization of different
schemes. Even though the current version of the Guardian module is implemented
in user space, Reminis shows a very good performance in terms of CPU
utilization. In particular, CPU utilizations of Reminis and CUBIC (the default
CC scheme implemented in Kernel) are around 9.2% and 6%, respectively. Having
low overhead is a consequence of keeping the Reminis design simple, employing
simple delay statistics, and utilizing low-overhead ack-triggered (AIMD)
actions.

##  6\. Discussion

Choice of DTT: If the application is delay sensitive and can provide Reminis a
DTT parameter, Reminis can use this value. Reminis starts after the slow-start
phase of the AIMD block and therefore, it will have enough samples to infer
the mRTT of the network. However, if the application’s requested DTT is less
than mRTT, Reminis can detect this problem and enforce DTT to be larger than
the measured mRTT of the network. If the applications do not provide a
specific DTT, Reminis switches to its default where$DTT=1.5mRTT$.
Does Reminis guarantee to always meet DTT requirements? A novel concern in 5G
networks is the occasional 5G “dead zones”. As explained in Section 1.1, users
entering these zones experience close or equal to zero link capacity which can
last for seconds. As no packet is served from the queue during this time, the
queuing delay will inevitably soar. Therefore, any e2e CC scheme by nature,
including Reminis, can not control these types of scenarios. The bottom line
is that although we showed Reminis is significantly better at controlling e2e
delay in these scenarios than other state-of-the-art CC schemes, any e2e CC
algorithm can only deliver QoS demands that are feasible in a network.

Limitations of Reminis: Reminis targets emerging applications with low/ultra-
low latency requirements. Supporting such applications before anything
requires networks with low/ultra-low intrinsic delays. This justifies and,
indeed, encourages the use of edge-based architectures such as MEC. In such
settings, competing with loss-based CC schemes like CUBIC, which fully utilize
buffers, is less of a concern. That said, when these settings are not held and
Reminis coexists with loss-based flows that fully occupy queues, similar to
any CC scheme that attempts to control the e2e delay, it faces problems when
the DTT value (and mRTT) is way lower than the queuing delay caused by loss-
based flows.

##  7\. Conclusion

In this work, we demonstrate that achieving high throughput and low controlled
delay in highly variable and unpredictable 5G networks does not necessarily
require convoluted learning-based schemes or prediction algorithms. To that
end, we introduce Reminis, a simple yet adaptable e2e CC design tailored for
5G networks with provable convergence properties, and we show that properly
exploiting non-deterministic throughput exploration algorithms combined with
proactive/reactive delay control mechanisms is sufficient to effectively adapt
to 5G cellular networks and achieve high performance. Our controlled
emulations and real-world experiments, show the success of Reminis in
acquiring its design goals and demonstrate that Reminis can outperform state-
of-the-art CC schemes on 5G networks while being deployment friendly with low
overheads and not requiring any changes in cellular network devices.

## References

  * (1)
  * mec (2014) 2014\.  Mobile Edge Computing Introductory Technical White Paper.  Technical Report. etsi.org.  https://portal.etsi.org/Portals/0/TBpages/MEC/Docs/Mobile-edge_Computing_-_Introductory_Technical_White_Paper_V1%2018-09-14.pdf
  * ar_(2018) 2018\.  Immersive VR and AR experiences with mobile broadband.  (2018).  http://www.huawei.com/minisite/hwmbbf16/insights/HUAWEI-WHITEPAPER-VR-AR-Final.pdf
  * 5g_(2021) 2021\.  5G Vertical Use Cases.  https://www.5gamericas.org/wp-content/uploads/2021/10/5G-Vertical-Use-Cases-WP-InDesign.pdf. (2021).
  * 5G_(2022) 2022\.  5G Americas.  https://www.5gamericas.org/. (2022).
  * rem (2023) 2023\.  Reminis Repository.  https://github.com/Ppazhooh/Reminis. (2023).
  * Abbasloo et al. (2018) Soheil Abbasloo, Tong Li, Yang Xu, and H Jonathan Chao. 2018.  Cellular controlled delay TCP (C2TCP). In 2018 IFIP Networking Conference (IFIP Networking) and Workshops. IEEE, 118–126.  https://ieeexplore.ieee.org/abstract/document/8696844
  * Abbasloo et al. (2019a) Soheil Abbasloo, Yang Xu, and H. Jonathan Chao. 2019a.  C2TCP: A Flexible Cellular TCP to Meet Stringent Delay Requirements.  IEEE Journal on Selected Areas in Communications 37, 4 (2019), 918–932.
  * Abbasloo et al. (2019b) Soheil Abbasloo, Yang Xu, H Jonathon Chao, Hang Shi, Ulas C Kozat, and Yinghua Ye. 2019b.  Toward Optimal Performance with Network Assisted TCP at Mobile Edge.  2nd USENIX Workshop on Hot Topics in Edge Computing (HotEdge 19) (2019).
  * Abbasloo et al. (2020) Soheil Abbasloo, Chen-Yu Yen, and H Jonathan Chao. 2020.  Classic meets modern: A pragmatic learning-based congestion control for the Internet. In Proceedings of the ACM SIGCOMM Conference. 632–647.
  * Abbasloo et al. (2021) Soheil Abbasloo, Chen-Yu Yen, and H Jonathan Chao. 2021.  Wanna make your TCP scheme great for cellular networks? Let machines do it for you!  IEEE Journal on Selected Areas in Communications 39, 1 (2021), 265–279.
  * Ahmad et al. (2020) Mukhtiar Ahmad, Syed Usman Jafri, Azam Ikram, Wasiq Noor Ahmad Qasmi, Muhammad Ali Nawazish, Zartash Afzal Uzmi, and Zafar Ayyub Qazi. 2020.  A low latency and consistent cellular control plane. In Proceedings of the 2020 ACM SIGCOMM 2020 Conference. 648–661.
  * Akyildiz et al. (2001) Ian F Akyildiz, Giacomo Morabito, and Sergio Palazzo. 2001.  TCP-Peach: a new congestion control scheme for satellite IP networks.  IEEE/ACM Transactions on networking 9, 3 (2001), 307–321.
  * Alimi et al. (2017) Isiaka Ajewale Alimi, António Luís Teixeira, and Paulo Pereira Monteiro. 2017.  Toward an efficient C-RAN optical fronthaul for the future networks: A tutorial on technologies, requirements, challenges, and solutions.  IEEE Communications Surveys & Tutorials 20, 1 (2017), 708–769.
  * Alizadeh et al. (2010) Mohammad Alizadeh, Albert Greenberg, David A Maltz, Jitendra Padhye, Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan. 2010.  Data center tcp (dctcp). In Proceedings of the ACM SIGCOMM 2010 Conference. 63–74.
  * Arun and Balakrishnan (2018) Venkat Arun and Hari Balakrishnan. 2018.  Copa: Practical delay-based congestion control for the internet. In 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI 18). 329–342.
  * Brakmo et al. (1994) Lawrence S Brakmo, Sean W O’Malley, and Larry L Peterson. 1994.  TCP Vegas: New techniques for congestion detection and avoidance. Vol. 24.  ACM.
  * Caini and Firrincieli (2004) Carlo Caini and Rosario Firrincieli. 2004.  TCP Hybla: a TCP enhancement for heterogeneous networks.  International journal of satellite communications and networking 22, 5 (2004), 547–566.
  * Cardwell et al. (2019) Neal Cardwell, Yuchung Cheng, C Stephen Gunn, Soheil Hassas Yeganeh, and Van Jacobson. 2019.  TCP BBR v2 Alpha/Preview Release.  https://github.com/google/bbr/blob/v2alpha/README.md. (2019).
  * Cox and Dependence (1984) DR Cox and Long-Range Dependence. 1984.  a Review.  Statistics: An Appraisal, HA David and HT David (Eds.) (1984), 55–74.
  * Dong et al. (2018) Mo Dong, Tong Meng, Doron Zarchy, Engin Arslan, Yossi Gilad, Brighten Godfrey, and Michael Schapira. 2018.  $\\{$PCC$\\}$ Vivace: Online-Learning Congestion Control. In 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI 18). 343–356.
  * Ericsson ([n. d.]) Ericsson. [n. d.].  5G Network Slicing Early Use Cases.  https://tinyurl.com/bdcfm8hd. ([n. d.]).
  * Goyal et al. (2020) Prateesh Goyal, Anup Agarwal, Ravi Netravali, Mohammad Alizadeh, and Hari Balakrishnan. 2020.  $\\{$ABC$\\}$: A Simple Explicit Congestion Controller for Wireless Networks. In 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI 20). 353–372.
  * Ha et al. (2008) Sangtae Ha, Injong Rhee, and Lisong Xu. 2008.  CUBIC: a new TCP-friendly high-speed TCP variant.  ACM SIGOPS Operating Systems Review 42, 5 (2008), 64–74.
  * Haile et al. (2021) Habtegebreil Haile, Karl-Johan Grinnemo, Simone Ferlin, Per Hurtig, and Anna Brunstrom. 2021.  End-to-end congestion control approaches for high throughput and low delay in 4G/5G cellular networks.  Computer Networks 186 (2021), 107692.
  * Henderson et al. (2012) Tom Henderson, Sally Floyd, Andrei Gurtov, and Yoshifumi Nishida. 2012.  The NewReno modification to TCP’s fast recovery algorithm.  Technical Report.
  * Jiang et al. (2012) Haiqing Jiang, Yaogong Wang, Kyunghan Lee, and Injong Rhee. 2012.  Tackling bufferbloat in 3G/4G networks. In Proceedings of the 2012 ACM conference on Internet measurement conference. ACM, 329–342.
  * Kang et al. (2007) Jaewon Kang, Yanyong Zhang, and Badri Nath. 2007.  TARA: topology-aware resource adaptation to alleviate congestion in sensor networks.  IEEE Transactions on Parallel and Distributed Systems 18, 7 (2007), 919–931.
  * Lu et al. (2015) Feng Lu, Hao Du, Ankur Jain, Geoffrey M Voelker, Alex C Snoeren, and Andreas Terzis. 2015.  CQIC: Revisiting cross-layer congestion control for cellular networks. In Proceedings of the 16th International Workshop on Mobile Computing Systems and Applications. 45–50.
  * Meng et al. (2020) Zili Meng, Minhu Wang, Jiasong Bai, Mingwei Xu, Hongzi Mao, and Hongxin Hu. 2020.  Interpreting deep learning-based networking systems. In Proceedings of the ACM SIGCOMM 2020 Conference. 154–171.
  * Mittal et al. (2015) Radhika Mittal, Vinh The Lam, Nandita Dukkipati, Emily Blem, Hassan Wassel, Monia Ghobadi, Amin Vahdat, Yaogong Wang, David Wetherall, and David Zats. 2015.  TIMELY: RTT-based Congestion Control for the Datacenter.  ACM SIGCOMM Computer Communication Review 45, 4 (2015), 537–550.
  * Narayanan et al. (2020a) Arvind Narayanan, Eman Ramadan, Jason Carpenter, Qingxu Liu, Yu Liu, Feng Qian, and Zhi-Li Zhang. 2020a.  A first look at commercial 5G performance on smartphones. In Proceedings of The Web Conference 2020. 894–905.
  * Narayanan et al. (2020b) Arvind Narayanan, Eman Ramadan, Rishabh Mehta, Xinyue Hu, Qingxu Liu, Rostand AK Fezeu, Udhaya Kumar Dayalan, Saurabh Verma, Peiqi Ji, Tao Li, et al. 2020b.  Lumos5G: Mapping and predicting commercial mmWave 5G throughput. In Proceedings of the ACM Internet Measurement Conference. 176–193.
  * Narayanan et al. (2021) Arvind Narayanan, Xumiao Zhang, Ruiyang Zhu, Ahmad Hassan, Shuowei Jin, Xiao Zhu, Xiaoxuan Zhang, Denis Rybkin, Zhengxuan Yang, Zhuoqing Morley Mao, et al. 2021\.  A variegated look at 5G in the wild: performance, power, and QoE implications. In Proceedings of the 2021 ACM SIGCOMM 2021 Conference. 610–625.
  * Netravali et al. (2014) Ravi Netravali, Anirudh Sivaraman, Keith Winstein, Somak Das, Ameesh Goyal, and Hari Balakrishnan. 2014.  Mahimahi: A Lightweight Toolkit for Reproducible Web Measurement.  (2014).
  * Nichols and Jacobson (2012) Kathleen Nichols and Van Jacobson. 2012.  Controlling queue delay.  Commun. ACM 55, 7 (2012), 42–50.
  * Pan et al. (2013) Rong Pan, Preethi Natarajan, Chiara Piglione, Mythili Suryanarayana Prabhu, Vijay Subramanian, Fred Baker, and Bill VerSteeg. 2013.  PIE: A lightweight control scheme to address the bufferbloat problem. In High Performance Switching and Routing (HPSR), 2013 IEEE 14th International Conference on. IEEE, 148–155.
  * Park et al. (2018) Shinik Park, Jinsung Lee, Junseon Kim, Jihoon Lee, Sangtae Ha, and Kyunghan Lee. 2018.  ExLL: an extremely low-latency congestion control for mobile cellular networks. In Proceedings of the 14th International Conference on emerging Networking EXperiments and Technologies. ACM, 307–319.
  * Rossi et al. (2010) Dario Rossi, Claudio Testa, Silvio Valenti, and Luca Muscariello. 2010.  LEDBAT: The New BitTorrent Congestion Control Protocol.. In ICCCN. 1–6.
  * Wang et al. (2007) Chonggang Wang, Bo Li, Kazem Sohraby, Mahmoud Daneshmand, and Yueming Hu. 2007.  Upstream congestion control in wireless sensor networks through cross-layer optimization.  IEEE Journal on selected areas in Communications 25, 4 (2007), 786–795.
  * Winstein and Balakrishnan (2013) Keith Winstein and Hari Balakrishnan. 2013.  TCP Ex Machina: Computer-generated Congestion Control. In Proceedings of the ACM SIGCOMM 2013 Conference on SIGCOMM. ACM.  https://doi.org/10.1145/2486001.2486020
  * Winstein et al. (2013) Keith Winstein, Anirudh Sivaraman, Hari Balakrishnan, et al. 2013\.  Stochastic Forecasts Achieve High Throughput and Low Delay over Cellular Networks.. In 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 13). 459–471.
  * Xie et al. (2017) Xiufeng Xie, Xinyu Zhang, and Shilin Zhu. 2017.  Accelerating mobile web loading using cellular link information. In Proceedings of the 15th Annual International Conference on Mobile Systems, Applications, and Services. 427–439.
  * Xie et al. (2020) Yaxiong Xie, Fan Yi, and Kyle Jamieson. 2020.  PBE-CC: Congestion control via endpoint-centric, physical-layer bandwidth measurements. In Proceedings of the 2020 ACM SIGCOMM 2020 Conference. 451–464.
  * Xu et al. (2020) Dongzhu Xu, Anfu Zhou, Xinyu Zhang, Guixian Wang, Xi Liu, Congkai An, Yiming Shi, Liang Liu, and Huadong Ma. 2020.  Understanding operational 5G: A first measurement study on its coverage, performance and energy consumption. In Proceedings of the 2020 ACM SIGCOMM 2020 Conference. 479–494.
  * Xu et al. (2004) Lisong Xu, Khaled Harfoush, and Injong Rhee. 2004.  Binary increase congestion control (BIC) for fast long-distance networks. In Proceedings-IEEE INFOCOM, Vol. 4. IEEE, 2514–2524.
  * Yen et al. (2023) Chen-Yu Yen, Soheil Abbasloo, and H Jonathan Chao. 2023.  Computers Can Learn from the Heuristic Designs and Master Internet Congestion Control. In ACM SIGCOMM 2023 Conference (ACM SIGCOMM ’23).
  * Zaki et al. (2015) Yasir Zaki, Thomas Pötsch, Jay Chen, Lakshminarayanan Subramanian, and Carmelita Görg. 2015.  Adaptive congestion control for unpredictable cellular networks. In Proceedings of the 2015 ACM SIGCOMM 2015 Conference. 509–522.

##  Appendix A Related Works

General Purpose CC Schemes: Since the early days of congestion control
designs, many different schemes have been proposed. TCP Reno (Cox and
Dependence, 1984), TCP NewReno (Henderson et al., 2012), TCP CUBIC (Ha et al.,
2008) and BIC (Xu et al., 2004) are among important legacy loss-based CC
schemes. Delay-based TCP variants like TCP Vegas (Brakmo et al., 1994) were
also introduced to use the delay as the main congestion signal. One of the
basic assumptions of all these legacy CC protocols is to have a fixed-capacity
link, which does not apply to cellular networks. Among recent works in this
category, Copa (Arun and Balakrishnan, 2018) and LEDBAT (Rossi et al., 2010)
can be named.

Environment-Aware CC schemes: Many prior works focus on cellular networks
specifically. For instance, Sprout (Winstein et al., 2013) employs packet
arrival times combined with a probabilistic inference to make a cautious
forecast of packet deliveries in cellular networks. We found that Sprout is
inefficient for 5G links and its model of the network path does not hold in 5G
networks. We even tried to update its model by changing its hard-coded
parameters, but even after that, sprout performed poorly in 5G networks.
Another work is Verus (Zaki et al., 2015) which tries to make a delay profile
of the network and then use it to calculate the CWND. However, as we showed in
section 4, Verus is not agile enough to adapt to 5G networks. Among more
recent cellular-tailored works C2TCP (Abbasloo et al., 2019a) and ExLL (Park
et al., 2018) can be named. C2TCP works on top of classic throughput-oriented
TCP and accommodates various target delays. However, when running on 5G links,
C2TCP cannot adapt itself to quick surges of 5G links leading to under
utilization. ABC (Goyal et al., 2020) uses routers’ feedback to help senders
adjust their CWND value in a wireless setting. However, the feasibility of
deploying in-network feedback approaches that require either new devices or an
update of the existing ones remains a major obstacle for deploying these
schemes that are not fully e2e, in particular in cellular networks where
network providers are not very flexible in terms of changing their equipment.
Another group of cellular-tailored CC schemes focuses on physical layer
measurements like PBE-CC (Xie et al., 2020), CQIC (Lu et al., 2015) and CLAW
(Xie et al., 2017). General concerns around these works are their power
consumption and privacy as they need to access end hosts’ physical layer
information. Moreover, considering CU/DU splitting in 5G (Alimi et al., 2017),
the applicability of these schemes should be justified.

ML-based CC Schemes: Remy (Winstein and Balakrishnan, 2013) uses offline
learning to map network events to CC-based actions in a brute-force manner.
However, Remy’s approach needs accurate assumptions about the network, which
is not applicable to highly variable 5G networks. PCC-Vivace (Dong et al.,
2018) leverages online learning to choose the best sending rates, but the
online-learning approach used in Vivace makes it very slow to react to quick
changes of capacity in 5G networks (e.g., see section 1.2). Some other ML-
based schemes target cellular networks. DeepCC (Abbasloo et al., 2021) is a
cellular-tailored plugin that utilizes deep reinforcement learning to control
the maximum congesting window of an underlying scheme such as CUBIC. However,
it cannot control e2e delay very well in a 5G setting (e.g., see section 4).
The reason likely lies in the fact that DeepCC’s model, which is trained over
4G links, cannot generalize well to unseen 5G networks. Besides the
generalization issue, another concern with ML-based schemes is their
interpretability. Although the goals of these models are clear, they are
usually treated as black boxes. In contrast, heuristic models, such as
Reminis, can be modeled and analyzed rigorously (as is done in our work).
Therefore, debugging ML-based CC schemes to generalize them to new
environments is difficult and might require making fundamental changes in
their designs. Although some recent works like (Meng et al., 2020) have
focused on interpreting ML models used in the networking field, this line of
work is in its early stages.

Figure 18. MEC Experiment

Figure 19. Throughput-Delay Performance on 3G (left) and 4G (right) Traces

##  Appendix B MEC-Flavored Emulations

As explained in Section 9, mobile edge computing integrated with 5G is one of
the design opportunities in 5G networks. 5G aims to support under 10 ms
latencies using the New Radio technology so it can support applications like
AR/VR. Our emulations in Section 9 show that Reminis can meet delay
requirements of AR/VR applications in a MEC environment. In Section 9 we
showed the throughput-95th percentile of delay performance of Reminis and here
Fig. 19 will show the throughput-average delay performance of Reminis and
other competing CC schemes. As Fig. 19 shows, considering average delay as the
metric, Reminis is capable of meeting the delay requirement of an AR/VR
application while keeping the throughput around 80%, at least 2.4 $\times$
more than other schemes which meet the delay requirement ( in the green area).

##  Appendix C Reminis Performance on Legacy Cellular Networks

As discussed in Section 4.4, Reminis is designed to contend with access link
volatility hence the performance benefits of Reminis are not tied to only 5G
networks and it still can be the performance frontier over other networks like
3G/4G. Fig. 19 shows the throughput-95th percentile of delay performance of
Reminis and other competing CC schemes on 3G and 4G traces gathered by
(Abbasloo et al., 2021) and (Abbasloo et al., 2019a) respectively. Based on
Fig. 19, on 3G and 4G networks, compared to BBR2, Reminis can decrease the
95th percentile of RTT by 1.475 $\times$, and 1.485 $\times$, while BBR2’s
throughput is only 1.1$\times$ and 1.05$\times$ more than Reminis
respectively.

##  Appendix D Mahimahi Patch

As mentioned in Section 4.1, some designs decision in Mahimahi hinders its
ability to emulate high-speed links. Mahimahi logs three different events
which are channel tokens( emulating the link capacity), packet enqueues, and
packet dequeues. In the default code of Mahimahi, these three events are
logged using a single thread function. However, this design decision is not
scalable to high-speed 5G links. Dedicating one thread for each of the
mentioned events, solved the problem, and the patched Mahimahi was not limited
anymore. Fig. 20 depicts the difference between the default version of
Mahimahi and our patched version. We use TCP CUBIC to show the difference
between these two versions. As shown in Fig. 20, default Mahimahi is hindered
in emulating high throughput scenarios, however, with the mentioned
modifications, we could solve this problem.

Figure 20. Mahimahi Patch

##  Appendix E Convergence Proof

Figure 21. Reminis Convergence Analysis

In this section, we analyze Reminis convergence properties over a fixed
bandwidth link with an infinite buffer. We show that Reminis, on average,
converges to a steady state and provide an upper bound on queuing delay caused
by Reminis in this scenario.
Let us start by describing our assumptions, and notation:

  1. (1)

Reminis DTT is $2\times mRTT$. This means that the queuing delay that Reminis
targets is $mRTT$. From now on we will denote this target queuing delay with:
$q_{th}=mRTT$.

  2. (2)

BDP is $BW\times mRTT$ where $BW$ is the link capacity in packets per second.

  3. (3)

$w_{1}$ is the CWND that fully utilizes the link without causing any queuing
delay i.e. $w_{1}=BDP$.

  4. (4)

$w_{2}$ is the CWND fully utilizing the link and creating a total e2e delay of
$2mRTT$. ($w_{2}=2w_{1}$)

  5. (5)

$w^{\prime}_{n}$ is Reminis CWND at $SI_{n}$ after being modified by the PE,
whereas $w_{n}$ is the cwnd before applying PE’s changes.

  6. (6)

We assume that the AIMD block is in the congestion avoidance phase.

  7. (7)

We assume that the intrinsic RTT of the network is equal to the mRTT.

In this section, we prove the following main Theorem. Note that $S$ is the
Sigmoid function introduced in Section 3.2.

###### Theorem E.1.

On average, Reminis converges to a steady state with a queuing delay no more
than $(1+S(\frac{\ln{4}-1}{2BDP})\ln{2})q_{th}$.

###### Proof.

We begin with two lemmas which will come in handy in the proof.

###### Lemma E.2.

The expected value of Sigmoid function where its variable is under a Normal
distribution ($S(x):x\sim\mathcal{N}(\mu,\,\sigma^{2})$)is:

$\operatorname{\mathbb{E}}[S(x)]=S(\frac{\mu}{\sqrt{1+\pi\frac{\sigma^{2}}{8}}})$

###### Lemma E.3.

The Taylor series of $2^{x}$ for x around zero is equal to: $2^{x}\approx
1+x\ln{2}+x^{2}\frac{{(\ln{2})}^{2}}{2!}+x^{3}\frac{{(\ln{2})}^{3}}{3!}+...$

To prove Theorem E.1, we break down the time axis into smaller intervals and
investigate what happens in each of them.

1:
$\boldsymbol{0}\boldsymbol{\leq}\boldsymbol{t}\boldsymbol{\leq}\boldsymbol{t}_{1}$:
$t_{1}$ is the time where Reminis CWND reaches $w_{1}$ for the first time. If
running without Reminis, the underlying AIMD block will increase the cwnd by
one every $mRTT$ which means it would take $w_{1}\times mRTT$ for the AIMD
block alone to reach $w_{1}$. The behavior or Reminis during $0\leq t\leq
t_{1}$ could be summarized by the following Theorem.

###### Theorem E.4.

Reminis helps AIMD logic to reach $w_{1}$ in $\mathcal{O}(\log{w_{1}})$
instead of $\mathcal{O}(w_{1})$.

The proof of the above Theorem is presented in Section E.1 of the Appendix.

2:
$\boldsymbol{t}_{1}\boldsymbol{\leq}\boldsymbol{t}\boldsymbol{<}\boldsymbol{t}_{2}$:
Now, let us assume that $t_{2}$ is the first time that the cwnd reaches
$w_{2}$. After reaching $w_{1}$ at $t_{1}$, the AIMD block keeps increasing
the cwnd by one packet each $mRTT$. From this point on, the queue starts to
increase gradually, but the overall delay is still less than DTT. Also, as
delay derivative is positive during $t_{1}<t<t_{2}$, Reminis will infer Zone
2. Up until $t=t_{2}$, where the cwnd reaches $w_{2}$, the Guardian will not
make any extra changes in the cwnd.

(6) $t_{2}-t_{1}=(w_{2}-w_{1})\times mRTT=w_{1}\times mRTT$

As we mentioned earlier, the delay will increase during $t_{1}<t<t_{2}$ so
during this time period the derivative of delay is:

(7) $\nabla d_{t_{1}\leq t\leq t2}=\frac{q_{th}}{t_{2}-t_{1}}=\frac{1}{w_{1}}$

During $t_{1}\leq t\leq t_{2}$, there will be $\frac{w_{1}\times
mRTT}{mRTT}=w_{1}$ SIs, as SIs happen once per $mRTT$. In each of these SIs,
Reminis will measure a delay derivative calculated in Equation 7.
Based on the update rule for the Gaussian distribution, after reaching
$t_{2}$, the mean of the Gaussian distribution will be:
$1-\sum_{n=1}^{w_{1}}\frac{1}{w_{1}}=0$.

3: $\boldsymbol{t}\boldsymbol{=}\boldsymbol{t}_{2}$: Proactive Slowdown module
will be activated in this SI as the estimated delay for next SI, based on
Equation 3, exceeds DTT. Based on Algorithm 2, Proactive Slowdown module will
decrease the cwnd and set it to be $w^{\prime}_{2}=w_{2}\times
2^{\frac{-1}{w_{1}}}$. Using Lemma E.3, we can further simplify the equation
and have $w^{\prime}_{2}=w_{2}\times(1-\frac{\ln{2}}{w_{1}})$. For simplicity,
we call $\delta_{1}=\frac{\ln{2}}{w_{1}}$. Therefore, we will have:
$w^{\prime}_{2}=w_{2}(1-\delta_{1})$

4:
$\boldsymbol{t}_{2}\boldsymbol{<}\boldsymbol{t}\boldsymbol{<}\boldsymbol{t}_{3}\boldsymbol{=}\boldsymbol{t}_{2}\boldsymbol{+}\boldsymbol{m}\boldsymbol{R}\boldsymbol{T}\boldsymbol{T}$:
After changes made by Proactive Slowdown module at $t=t_{2}$, the queue will
start draining. During $t_{2}<t<t_{3}$ AIMD adds one packet to cwnd so the
cwnd at $t=t_{3}$ will be:

(8) $\begin{split}w_{3}&=w^{\prime}_{2}+1=w_{2}(1-\delta_{1})+1\\\
&=w_{2}+(1-2\ln{2})=w_{2}+\delta_{2}\end{split}$

As $\delta_{2}$ is negative, we conclude: $w^{\prime}_{2}<w_{3}<w_{2}$. An
important point during this time interval is that starting from $t=t_{2}$, as
the cwnd is less than the number of in-flight packets, Reminis does not send
any packets and the queue starts depleting. However, at
$t_{c}=t_{2}+\frac{2\ln{2}}{BW}<t_{3}$ the number of in-flight packets become
equal to cwnd hence Reminis starts sending packets again.

Considering the queuing delay graph, we can say that at $t_{3}$, the queuing
delay is: $q_{t_{3}}=(1+\frac{\delta_{2}}{w_{2}})q_{th}=(1+\delta_{3})q_{th}$
where $\delta_{3}=\frac{\delta_{2}}{w_{2}}$.
Between $t_{2}$ to $t_{3}$ the gradient of delay is negative and thus the mean
of the Gaussian distribution at $t_{3}$ would be:
$\mu_{3}=-\frac{\delta_{3}q_{th}}{minRTT}=-\delta_{3}$. Note that $\delta_{3}$
is negative.

5: $\boldsymbol{t}\boldsymbol{=}\boldsymbol{t}_{3}$. The NCI module would
infer Zone 1 and hence the Non-Deterministic Exploration module will be
activated by the PE. Considering $w_{2}\gg 1$, we have:

(9)
$\operatorname{\mathbb{E}}[w^{\prime}_{3}]=\operatorname{\mathbb{E}}[w_{3}\times
2^{s(x\sim\mathcal{N}(-\delta_{3},\frac{-\delta_{3}}{4}))}]$

We can further simplify Equation 9 by using Lemma E.3 and Lemma E.2.

(10)
$\begin{split}w^{\prime}_{3}&=w_{3}\times\operatorname{\mathbb{E}}[2^{S(x)})]\approx
w_{3}\times\operatorname{\mathbb{E}}[1+S(x)\ln{2}]\\\ &\approx
w_{3}\times[1+\ln 2\times
S(\frac{-\delta_{3}}{\sqrt{1+\pi\frac{{\sigma_{3}}^{2}}{8}}})]=w_{3}\times(1+\delta_{4})\end{split}$

To be more precise, $t=t_{3}$ is the time when Reminis tries to explore larger
cwnd values to increase throughput. It can be shown that
$w^{\prime}_{3}>w_{2}$.

6:
$\boldsymbol{t}_{3}\boldsymbol{<}\boldsymbol{t}\boldsymbol{<}\boldsymbol{t}_{4}\boldsymbol{=}\boldsymbol{t}_{3}\boldsymbol{+}\boldsymbol{m}\boldsymbol{R}\boldsymbol{T}\boldsymbol{T}$:
During this time the AIMD module adds one packet to the cwnd so we will have
$w_{4}=w^{\prime}_{3}+1$. The queuing delay at $t_{4}$ approximately would be:
$d_{4}=(1+\delta_{4})q_{th}$.
At $t=t_{4}$, the mean of the Gaussian distribution will be
$\mu_{4}=-\delta_{4}$. The mean of the Gaussian distribution is negative as
Reminis has just had an unsuccessful throughput exploration, which makes it
more conservative for further explorations.

7: $\boldsymbol{t}\boldsymbol{=}\boldsymbol{t}_{4}$: As $d_{4}$ is more than
DTT, the Catastrophe Mitigation module is activated. We have:
SafeZone($d_{4}$)=$-\delta_{4}$.
So, using Lemma E.3, we can say we have:

(11) $w^{\prime}_{4}=w_{4}\times 0.5\times
2^{-\delta_{4}}=w_{1}(1+\delta_{4}(1-\ln{2}))$

Hence, at $t=t_{4}$, the Guardian reduces the cwnd to be a bit more than
$w_{1}$. With this modification by the Catastrophe Mitigation module, the
number of in-flight packets becomes bigger than the cwnd value.

8:
$\boldsymbol{t}_{4}\boldsymbol{<}\boldsymbol{t}\boldsymbol{<}\boldsymbol{t}_{5}\boldsymbol{=}\boldsymbol{t}_{4}\boldsymbol{+}\boldsymbol{m}\boldsymbol{R}\boldsymbol{T}\boldsymbol{T}$:
Up until $t=t_{5}$, the number of in-flight packets is more than cwnd. So no
additional packet is sent and the queue keeps depleting. However, the
underlying AIMD keeps adding one packet to the cwnd every mRTT. Therefore, we
will have: $w_{5}=w_{4}+1$.
At $t_{5}$, we have: $q_{5}=\delta_{4}q_{th}$. Based on this value, the mean
of Gaussian distribution will be updated to $\mu_{5}=1-\delta_{4}$.

9: $\boldsymbol{t}\boldsymbol{=}\boldsymbol{t}_{5}$: At $t_{5}$, the Non-
Deterministic Exploration module gets activated as the NCI module detects Zone
1. Based on Lemma E.2 and E.3, we can calculate
$\operatorname{\mathbb{E}}[w^{\prime}_{5}]$:

(12) $\operatorname{\mathbb{E}}[w^{\prime}_{5}]=w_{5}[1+\ln{2}\times
S(\frac{1-\delta_{4}}{\sqrt{1+\pi\frac{(1-\delta_{4})^{2}}{8}}})]=w_{5}(1+\delta_{5})$

Even with this increase in the cwnd, the number of in-flight packets is still
more than the cwnd value as $w_{4}-w_{1}$ which is the number of in-flight
packets is bigger than $w_{5}$. However, it can be easily shown that
$w_{5}>w_{4}-2\times w_{1}$. Hence, we can conclude at some point in the next
SI, the cwnd will be equal to the number of in-flight packets.

10: $t_{5}<t<t_{6}=t_{5}+mRTT$: At $t_{6}$, the cwnd will be
$w_{6}=w^{\prime}_{5}+1$. Before reaching $t_{6}$, as the number of in-flight
packets gets less than the cwnd, Reminis starts sending packets. So, at
$t=t_{6}$, the queuing delay will be:
$q_{6}=q_{th}\times\frac{1+\delta_{5}+\delta_{4}(1-\ln{2})}{2}$. Moreover, at
$t_{6}$ the mean of Gaussian distribution will be
$\mu_{6}=\frac{1-\delta_{5}-\delta_{4}(1-\ln{2})}{2}$.

After $t_{6}$, the NCI module will infer Zone 2 and hence the Guardian will
not change the cwnd value. This event is repeated in every SI until the cwnd
reaches $w_{2}$ again at $t_{7}$. At this moment, the Gaussian mean has been
reset to 0. So, this moment is similar to $t_{2}$. Hence, we can conclude that
on average, Reminis performs similarly to $[t_{2},t_{7}]$ periodically, and
that leads to its steady state behavior. ∎

Figure 22. Sample of Traces Collected by Prior Works Used in Emulations (5G
Traces ( First Row) (Narayanan et al., 2020b), 4G Traces ( Second Row
(Abbasloo et al., 2021), 3G Traces (Third Row) (Abbasloo et al., 2019a))

###  E.1. Speed Up Proof

###### Theorem 0.

Reminis helps the AIMD logic to reach $w_{1}$ in $\mathcal{O}(\log{}w_{1})$
instead of $\mathcal{O}(w_{1})$ in congestion avoidance phase.

###### Proof.

Until reaching $w_{1}$, in every SI, NCI will infer Zone 1.
Hence the Non-Deterministic Exploration module will be activated each time
during $0\leq t\leq t_{1}$. Note that as no queue has been built up yet, the
derivative of delay is equal to zero during $0\leq t\leq T_{1}$. Therefore,
the Gaussian distribution will not change and will continue to work with its
default values which are $\mu=1$ and $\sigma^{2}=\frac{1}{4}$.
Equation 13 shows the expected value of the output of the Non-Deterministic
Exploration module.

(13) $\operatorname{\mathbb{E}}[2^{s(x\sim\mathcal{N}(1,\frac{1}{4}))}]\approx
1.5$

Equation 14 shows that in every $SI_{n}$, during $0\leq t\leq t_{1}$, on
average, how the congestion window changes. The additive term ($+1$) is the
effect of the underlying AIMD module and the multiplicative term is the effect
of the Non-Deterministic Exploration(the Guardian) module.

(14) $cwnd_{n}=1.5(cwnd_{n-1}+1)$

The recursive function mentioned in 14, could be written in general form as
follow:

(15) $\begin{split}cwnd_{n}&=\sum_{i=1}^{n-1}1.5^{i}\\\
&=\frac{1}{3}(10^{1-n}\times 13^{n}-13)\end{split}$

where: $cwnd_{1}=0$

Now let’s assume that the SI in which the congestion window will reach $w_{1}$
is $n_{w_{1}}$. For finding $n_{w_{1}}$, its enough to solve:

(16) $\frac{1}{3}(10^{1-n_{w_{1}}}\times 13^{n_{w_{1}}}-13)=w_{1}$

It can be shown for large values of $w_{1}$, solving the above equation we
will have:

(17) $n_{w_{1}}<4log(3w_{1})$

As each SI takes $mRTT$, Reminis will on average reach $w_{1}$ in
$4log(3w_{1})\times mRTT$, however for an AIMD module, it will take
$w_{1}\times mRTT$. ∎

##  Appendix F Samples of the 5G Traces Used

Fig. 22 depicts a sample of traces collected by prior works (Narayanan et al.,
2020b),(Abbasloo et al., 2019a) and (Abbasloo et al., 2021) which are the base
of our emulations. The first row is for 5G traces, the samples in the second
row are 4G traces and the final row is for 3G traces.

As Fig. 22 shows, all these traces, have a degree of volatility in the access
link capacity which makes Reminis a suitable CC algorithm for these networks.
However, 5G traces have higher maximum throughput, 87.5 $\times$ and 350
$\times$ compared to 4G and 3G traces respectively. Moreover, 5G traces have
more severe changes in the access link capacity which are caused by the
changing dynamics of the environment. Two important events are revealed in 5G
traces in Fig. 22. First is the 4G to 5G or vice versa handovers. In the 5G to
4G handover, the link capacity decreases suddenly from around 1 Gbps to around
100-200 Mbps (the link capacity of 4G links). The opposite happens during 4G
to 5G handovers. The second important events are 5G dead zones, in which link
capacity drops close to zero. These zones can be seen when a 5G to 5G handover
occurs or simply because the user gets out of coverage of any 4G/5G base
station. A successful 5G scheme, should be able to react properly to these
changes without making any strict assumptions as these events are non-
deterministic.