Re: Alibaba's Technical Report of single packet number space implementation (SPNS) for multi-path QUIC

Yunfei Ma <yfmascgy@gmail.com> Sat, 22 October 2022 04:11 UTC

Return-Path: <yfmascgy@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F3BF4C1522CA for <quic@ietfa.amsl.com>; Fri, 21 Oct 2022 21:11:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.108
X-Spam-Level:
X-Spam-Status: No, score=-7.108 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YleTGuVdxKpB for <quic@ietfa.amsl.com>; Fri, 21 Oct 2022 21:11:14 -0700 (PDT)
Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com [IPv6:2607:f8b0:4864:20::52e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 54E00C14F738 for <quic@ietf.org>; Fri, 21 Oct 2022 21:11:14 -0700 (PDT)
Received: by mail-pg1-x52e.google.com with SMTP id 78so4192439pgb.13 for <quic@ietf.org>; Fri, 21 Oct 2022 21:11:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=GJWbQZMcNl7ZxM762Rzrno89+k4370zLqFPRh3IckdY=; b=aUb5HS2tVRTXYRe4yOJ776oqiYosDJrs+tIxPVlTGVtbdL1DTvhS7h9S0CdOD3HInc NilketWeGMLeunDth2NQmsbIeugHH563OfamFE0vHZtNiZZJwLQYQXYiR+SJiXotWtiN KufpFZVVTKdZwiXDxkKzTseuJrIpVfyrI5ekG5dxeQFV/FR3b1nFLH9matwPTyWqa3Ni TSJAMZ0p1CpiXutnkk8ZJXVYgh2lIZnoAb4u+i7tmja35mZKExzNjAALj+TjpgTpVM9F gshKFc2CTSDhYRhprtN9XwXK/BHvfL1JuRehkXMu5LlsTehD9EqKiO5hnbs+I3Myn9VQ WfLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GJWbQZMcNl7ZxM762Rzrno89+k4370zLqFPRh3IckdY=; b=q+7uiUc3OGr5KDrvx2Yw20O/AToHwSYYxIxDBqMLNjTjsOp3MD+y8shJ6ZMounF1p/ WUUY4kGYlR6IhTWVEx+a8leQ7TQTtOhDHl9fMXt3c53z+d+L2aob5jJPoJpOAvueCZek sIbgp06Kt/bRzoSI/XgkbauBwj7wgO6rVL/h4A4hthn8K/Wdmu5NcJaz7/xMvVKmnseC eu2nUGv8Plj6SiiBUTSnYoE06K4NqHkvlvxcb3adm0yHmmulXwkY3gSSz5lisSiIyvsq mjbnxSG7/wvuE4KtkVnEsdUxpEvIUmIV1Vx6/0HF3fceoLhCbZE6pvXCa0A0sWrV8UrU H/uQ==
X-Gm-Message-State: ACrzQf0yjCvHVgLoAq7jOTgq4HCcaRggBR/R6uIgK765ZPLOAP5HQ21T Xd/sYAWjetlCg3XqwsLu/xehGlZ4EtfCrnTcga4=
X-Google-Smtp-Source: AMsMyM7FWEHwtzRJPLYoZdajZOj1mXcLb/68KgAzTX4vDHoM60V7RE+YtvQF7jfn3LSqviM9kunAQM6/BIaRy9QyN+Y=
X-Received: by 2002:a63:220a:0:b0:463:7c92:ef9d with SMTP id i10-20020a63220a000000b004637c92ef9dmr18864222pgi.42.1666411873466; Fri, 21 Oct 2022 21:11:13 -0700 (PDT)
MIME-Version: 1.0
References: <CAHgerOEauwcrX__Lk+vCweQU7edL=fuCpEs5epErZUhQ3prh=Q@mail.gmail.com> <BFD957DD-D60E-485B-86C2-44FB4E0ED972@uclouvain.be>
In-Reply-To: <BFD957DD-D60E-485B-86C2-44FB4E0ED972@uclouvain.be>
From: Yunfei Ma <yfmascgy@gmail.com>
Date: Fri, 21 Oct 2022 21:10:36 -0700
Message-ID: <CAHgerOFvAxK4j1jVZqrgQeda2_P2R-P-nvTM7QC+9Z+b+BZPUA@mail.gmail.com>
Subject: Re: Alibaba's Technical Report of single packet number space implementation (SPNS) for multi-path QUIC
To: Quentin De Coninck <quentin.deconinck@uclouvain.be>
Cc: QUIC <quic@ietf.org>, Yanmei Liu <healing4d@gmail.com>, "tangyingqi.tyq@alibaba-inc.com" <tangyingqi.tyq@alibaba-inc.com>, "matt.joras" <matt.joras@gmail.com>, "lucaspardue.24.7" <lucaspardue.24.7@gmail.com>, Christian Huitema <huitema@huitema.net>, Mirja Kuehlewind <mirja.kuehlewind@ericsson.com>, Olivier Bonaventure <olivier.bonaventure@uclouvain.be>, Yunfei Ma <yunfei.ma@alibaba-inc.com>, Yanmei Liu <miaoji.lym@alibaba-inc.com>
Content-Type: multipart/alternative; boundary="000000000000c47dff05eb97bfdd"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/9cyiA_ItZyOPLimrkoyjwhld38Y>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 22 Oct 2022 04:11:15 -0000

Hi Quentin,

Please see my response below:

On Fri, Oct 21, 2022 at 12:20 AM Quentin De Coninck <
quentin.deconinck@uclouvain.be> wrote:

> Hi Yunfei,
>
> Thanks for the report! This is an interesting in-the-wild experience paper
> complementary to an experience I performed some months ago with picoquic in
> NS3 environment exploring various 2-path setups (“The Packet Number Space
> Debate in Multipath QUIC. In: ACM SIGCOMM Computer Communication Review,
> July 2022 issue“, attached here for convenience). Most of your findings
> (2, 3 and 4) are consistent with my previous observations.
>

We read your report and it was very nice! Thanks for your experiment!


> As an individual, my main concern regarding single packet number space
> (SPNS) solution relates to the receiver implementation, especially
> regarding the packet number duplicate detection. Given that paths may have
> very different latencies, a receiver might eventually drop all packets
> coming from slow paths because their packet numbers are too low compared to
> other paths. Assume for instance that your receiver tracks the last 150
> packets before the largest PN seen. Assume 1-200 are sent on a slow path
> and 201-400 on a fast one. If all of 201-400 arrive at the receiver before
> any of 1-200, all the packets of the 1-200 burst will be dropped by the
> receiver (due to duplicate prevention). Of course, one could adopt more
> clever receiver’s heuristics (e.g., timing-based). But in any case, I don’t
> see how a receiver could always make the right distinction between a very
> delayed packet (number) on a slow path and an actually lost one. Because
> the sender does not advertise, in advance, how it will spread packet number
> over paths, neither its current lowest in-flight packet number. In multiple
> packet number space (MPNS), you have monotonically increasing per-path
> packet numbers, so there is no such here there. I wonder if this is
> somewhat related to your finding (3.). Did you adapted the receiver
> algorithm in some way to tackle this?
>

What you can do is to record the largest PN seen by each path at the
receiver and track the packet number back to the minimum of the largest
received PN among all paths minus N (In your above case, N is 150). You are
right that it requires the receiver to make algorithm changes and if you
don’t do that, it will cause packet loss. Another issue is that, due to the
large path delay difference, when the number of holes is larger than the
maximum number of ACK ranges in the ACK frame, it will also cause spurious
loss. Both of these issues could lead to reduced performance when data rate
is large.

>
>
In general, multipath transport performance (e.g. MPTCP) depends on the
> sender (scheduling,...) and the network. With SPNS, you will also have the
> receiver implementation that will interfere, especially if it does not
> correctly advertise all the packets it received, which is IMHO annoying.
> This would make some traffic patterns hard to benefit from multipath in
> some network situations. Of course, with MPNS the receiver still needs to
> send ACK_MP frames “in a correct way”, but this is the case for any
> SPNS/MPNS variant anyway.
>
> Also, as your report outlines as well, providing good SPNS performance
> also requires specific changes in the recovery, RTT, ACK generation, ECN,…
> algorithms, while with MPNS the usual QUIC ones can be applied per-path.
>

Yes, SPNS implementation needs some effort and MPNS is more straightforward
to implement.

>
>
>From your experience, would you recommend going one variant only or keeping
> both is still valuable?
>

My feeling is to use MPNS as much as possible, unless one really needs
zero-cid support. The support of zero-cid in multipath quic is what we want
more feedback and opinion from the working group.

>
> Best regards,
> Quentin
>

Cheers,
Yunfei

>
>
> On 21 Oct 2022, at 06:22, Yunfei Ma <yfmascgy@gmail.com> wrote:
>
>
> Hi All,
>
> At the last IETF meeting (114), one of the key questions regarding
> multipath QUIC was on the choice of packet number space. The current
> working group draft (02) has the multiple packet number space (MPNS) as the
> required and the single packet number space (SPNS) as the optional. While
> MPNS is relatively straightforward to implement, SPNS is not. To help the
> community better understand the implementation complexity and performance
> tradeoff, we have wrapped up a report on our SPNS implementation and
> experiments with real-world deployments at Alibaba's Taobao RPC scenario.
> Please check the attached report at the end of this email.
>
> Some of our findings:
> 1. We outline our algorithm changes and show that SPNS could achieve
> similar RTT estimation accuracy as MPNS (Fig. 3b).
> 2. There is an ACK size bloating issue for SPNS. We find that even without
> packet loss, in SPNS the number of ACK range holes can still be large (Fig.
> 3c).
> 3. When the request size is small, SPNS achieves almost the same speed as
> MPNS. However, when the request size becomes large, we have observed speed
> degradation of SPNS compared to MPNS (Fig. 5a).
> 4. The ACK size can be suppressed. We set two limits in ACK ranges. One is
> the default_range and the other is the max_range. (See sec. 2.4). However,
> reducing ACK size may sacrifice performance.
>
> We hope this report can serve as a useful reference for engineers and
> researchers who are interested in multipath QUIC, and we encourage more
> testing and experiments from the community, and together, move this
> technology forward.
>
> I would like to acknowledge my two coauthors Yingqi and Yanmei for this
> report. We also want to thank Christian Huitema, Mirja Küehlewind,
> Quentin De Coninck and Olivier Bonaventure for helpful discussions on the
> implementation details and tradeoffs of SPNS.
>
> Cheers,
> Yunfei
>
>
> <Alibaba_SPNS_Report.pdf>
>
>
>