[iccrg] MulTFRC, a zombie calls from a grave

Michael Welzl <michawe@ifi.uio.no> Tue, 09 January 2024 07:54 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: iccrg@ietfa.amsl.com
Delivered-To: iccrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2B547C14F5EF for <iccrg@ietfa.amsl.com>; Mon, 8 Jan 2024 23:54:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.006
X-Spam-Level:
X-Spam-Status: No, score=-2.006 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ifi.uio.no
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 WRWM5Poa-e2g for <iccrg@ietfa.amsl.com>; Mon, 8 Jan 2024 23:54:18 -0800 (PST)
Received: from mail-out01.uio.no (mail-out01.uio.no [IPv6:2001:700:100:10::50]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 A15E5C14F5E0 for <iccrg@irtf.org>; Mon, 8 Jan 2024 23:54:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ifi.uio.no; s=key2309; h=To:Cc:Date:Message-Id:Subject:Mime-Version:Content-Type:From: Sender:Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=ipJ+HMIM7ZsqzpllxoxK/Lwq11LYKmzJNhvye0v7b00=; b=1FtfrMUXSViPiQkKa0M1uHdRCh oyqrxtTBb//hBu7olJaufxsjVRumr1cO4oa/9cdS1KtPNVXjUqgRC7hwCAiXGk2kwsDSWqqVYQjqQ NasBQ/nj0FGXzjv0rcPV1UfXz1poEm/eNvQg72vK5UYz0xL4V0+aMkZpFg173jZjryOaG1pb+GgbN UyBLi0cf1MhF3TlIsrLZtC5ZSAXdFM0i4rs7EiRtI6x9b8dXOzLhcLH7JVcqpYtpB3mSB7L23IlcE 4lIkIUK4Sraq2++DgsymH1fcfaUr0wkhmutdfADQJ53BJt4+YjFeeaF6OKRxa9fL2EFTifNR3Ok+6 ZukC0+YQ==;
Received: from mail-mx01.uio.no ([129.240.10.26]) by mail-out01.uio.no with esmtps (TLS1.2) tls TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from <michawe@ifi.uio.no>) id 1rN6wA-00DQDR-18 for iccrg@irtf.org; Tue, 09 Jan 2024 08:54:14 +0100
Received: from 178.165.200.3.wireless.dyn.drei.com ([178.165.200.3] helo=smtpclient.apple) by mail-mx01.uio.no with esmtpsa (TLS1.2:ECDHE-ECDSA-AES256-GCM-SHA384:256) user michawe (Exim 4.96.2) (envelope-from <michawe@ifi.uio.no>) id 1rN6w8-00070S-2V; Tue, 09 Jan 2024 08:54:14 +0100
From: Michael Welzl <michawe@ifi.uio.no>
Content-Type: multipart/alternative; boundary="Apple-Mail=_0BF2BE84-FC24-46CA-964F-99815AE2486A"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Message-Id: <EC687D0C-C0BC-4116-A8A7-CF676FAF474C@ifi.uio.no>
Date: Tue, 09 Jan 2024 08:54:11 +0100
Cc: ddamjanovic@microsoft.com, Stein Gjessing <steing@ifi.uio.no>
To: iccrg@irtf.org
X-Mailer: Apple Mail (2.3696.120.41.1.1)
X-UiO-SPF-Received: Received-SPF: neutral (mail-mx01.uio.no: 178.165.200.3 is neither permitted nor denied by domain of ifi.uio.no) client-ip=178.165.200.3; envelope-from=michawe@ifi.uio.no; helo=smtpclient.apple;
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, HTML_MESSAGE=0.001, TVD_RCVD_IP=0.001, T_SCC_BODY_TEXT_LINE=-0.01, UIO_MAIL_IS_INTERNAL=-5)
X-UiO-Scanned: 60D52C7DB7479C8911151D1D4FF9D55CA808C34B
X-UiOonly: B276C43C5A8B05695C2ADF7B0EA867316A9DD6BD
Archived-At: <https://mailarchive.ietf.org/arch/msg/iccrg/4WAryogg88HPp1dQLUQnfk4qKPU>
Subject: [iccrg] MulTFRC, a zombie calls from a grave
X-BeenThere: iccrg@irtf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Discussions of Internet Congestion Control Research Group \(ICCRG\)" <iccrg.irtf.org>
List-Unsubscribe: <https://mailman.irtf.org/mailman/options/iccrg>, <mailto:iccrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iccrg/>
List-Post: <mailto:iccrg@irtf.org>
List-Help: <mailto:iccrg-request@irtf.org?subject=help>
List-Subscribe: <https://mailman.irtf.org/mailman/listinfo/iccrg>, <mailto:iccrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Jan 2024 07:54:24 -0000

It is a cool October night; close to midnight, in fact, but the moon is out, and so you don’t worry much about finding your steps on your way back home.

You and your friends had a great evening in town!  But did you really have to take that shortcut through the graveyard, you think to yourself? You know how it always makes you feel uneasy. The shadows cast by the trees, the flickering light of grave lanterns, and, last but not least, the smell. That smell!  You always hated it. The smell of earth that had been freshly turned over... as a kid, you used to imagine that it is the smell of death, emanating from the rotten corpses below the ground.

You shrug it off; this must be the tipsiness getting to you… you did have a few drinks too many after all. You’re a tech person, an IETFer - IETFers don’t believe in ghosts!  "But they believe in IPv6", you think to yourself, and it makes you chuckle.

All of a sudden, you hear a sound coming straight from a grave - clearly from below the ground: “MMMMMM”.
What was that? You stop and listen:  “Mmmmm….  Muuul…  MulTFRC !”

You had heard of TFRC before: an equation-based TCP-friendly congestion control algorithm from the good old days. So long ago… did YOU come across it, or is it a story that your parents had told you about?  You have also heard of MulTCP: a TCP variant that allows its user to configure how many TCP connections it should emulate. But, MulTFRC?

The grave opens, and a zombie steps out: https://datatracker.ietf.org/doc/html/draft-irtf-iccrg-multfrc <https://datatracker.ietf.org/doc/html/draft-irtf-iccrg-multfrc>

Vidhi, in her role as ICCRG chair, came across this zombie and asked us authors what we intend to do with it.  She wants to either kill it or revive it before it eats someone’s brain; it’s the protection instinct of an IRTF group chair, and you should all be thankful.

The idea behind this draft was to publish what we, back then, thought would be a useful algorithm for the community: similar to TFRC, but configurable to emulate N flows, where N is a float. So, a MulTFRC flow can be as aggressive as 1, 5, 10 TCP connections, but this number can also be 2,5 or 1.3 or even 0.3. It’s all based on an extension of the TCP steady-state equation by Padhye et al.   We did go through several reviews, and in the end failed to address one point made by Lachlan Andrew about getting the code to run in the kernel, without floats. We put some serious effort into trying to make this work, but then dropped the ball - also because we didn’t exactly see people shouting demands at us. Lachlan later told me that he didn’t think this was a blocking issue - and today, much CC. code is being run in user space. The question really is: does anyone care?

If you do find this interesting, please take a look at this page that has all the background material and code:
https://folk.universitetetioslo.no/michawe/research/projects/multfrc/index.html <https://folk.universitetetioslo.no/michawe/research/projects/multfrc/index.html>
… and tell us, here on the list, that you would be interested in seeing this published.  In the absence of declarations of interest, this zombie shall die.


Cheers,
Michael