Re: [iccrg] Background on my talk in iccrg

"De Vleeschauwer, Danny (Nokia - BE/Antwerp)" <danny.de_vleeschauwer@nokia-bell-labs.com> Wed, 03 April 2019 16:34 UTC

Return-Path: <danny.de_vleeschauwer@nokia-bell-labs.com>
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 B477B120094 for <iccrg@ietfa.amsl.com>; Wed, 3 Apr 2019 09:34:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.89
X-Spam-Level:
X-Spam-Status: No, score=-1.89 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uusIjSKyG24o for <iccrg@ietfa.amsl.com>; Wed, 3 Apr 2019 09:34:09 -0700 (PDT)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00090.outbound.protection.outlook.com [40.107.0.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CD30C120046 for <iccrg@irtf.org>; Wed, 3 Apr 2019 09:34:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector2-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yl7xtrnQltDSvFIpF1qSvlk/M8NDpvuTi4XHer0Z63U=; b=JHfG7xqLALHrg8JQbQ6lwG4p4Uo88BnMPRvlRys/d1MAg9TaGPY8D33PuH74j9AFfHriAlqH5v8FPEKTv7S6qQPBDgpQ+07SRXK5BhiWMWsBYJf5WkWArbXhnLOU8K1ourYXlO/iMP8YOQH6FlOReA6UPGJDg8sCxUdTnbG4WfE=
Received: from AM4PR07MB3457.eurprd07.prod.outlook.com (10.171.190.150) by AM4PR07MB3124.eurprd07.prod.outlook.com (10.171.188.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1771.8; Wed, 3 Apr 2019 16:34:04 +0000
Received: from AM4PR07MB3457.eurprd07.prod.outlook.com ([fe80::b8b5:e26f:c6e0:c610]) by AM4PR07MB3457.eurprd07.prod.outlook.com ([fe80::b8b5:e26f:c6e0:c610%6]) with mapi id 15.20.1771.011; Wed, 3 Apr 2019 16:34:04 +0000
From: "De Vleeschauwer, Danny (Nokia - BE/Antwerp)" <danny.de_vleeschauwer@nokia-bell-labs.com>
To: Bob Briscoe <in@bobbriscoe.net>, "iccrg@irtf.org" <iccrg@irtf.org>
Thread-Topic: [iccrg] Background on my talk in iccrg
Thread-Index: AQHU3+Aw1u9cQERT/EiAnsvgsPbDWqYhP8EAgAAO4YCACQcJAIAAD62AgAAB/QCAADElgIAAEPtw
Date: Wed, 03 Apr 2019 16:34:04 +0000
Message-ID: <AM4PR07MB3457A94AE887DC45677544F6D6570@AM4PR07MB3457.eurprd07.prod.outlook.com>
References: <9D7CBDDC-EEDC-4510-96D6-EA893826F190@ifi.uio.no> <d05eb4b8-53ae-82be-5442-711c3316940b@bobbriscoe.net> <9be2b58a-4664-c2bd-378d-38feeea193e8@bobbriscoe.net> <fc81e540-3f81-d6c7-bbdc-2fd2d03774e6@bobbriscoe.net> <fb2f75f7-e46a-8ccd-9656-733db6dc6c87@ifi.uio.no> <c80adefc-f5eb-db72-cfa1-1fa8a15ed955@ifi.uio.no> <361a787a-71e8-fc2b-2bec-c81f13c413cb@bobbriscoe.net>
In-Reply-To: <361a787a-71e8-fc2b-2bec-c81f13c413cb@bobbriscoe.net>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=danny.de_vleeschauwer@nokia-bell-labs.com;
x-originating-ip: [91.176.142.101]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 31e5dcbe-3aff-4ec6-cee8-08d6b8522f9d
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600139)(711020)(4605104)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:AM4PR07MB3124;
x-ms-traffictypediagnostic: AM4PR07MB3124:
x-ms-exchange-purlcount: 4
x-microsoft-antispam-prvs: <AM4PR07MB312426080490B71BF4CAC32AD6570@AM4PR07MB3124.eurprd07.prod.outlook.com>
x-forefront-prvs: 0996D1900D
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(346002)(39860400002)(396003)(366004)(136003)(189003)(199004)(53754006)(99286004)(102836004)(7736002)(25786009)(486006)(68736007)(81156014)(446003)(606006)(14454004)(11346002)(71200400001)(5024004)(256004)(53936002)(14444005)(478600001)(2501003)(6436002)(966005)(106356001)(54896002)(236005)(55016002)(6306002)(6246003)(476003)(53546011)(33656002)(229853002)(186003)(52536014)(74316002)(316002)(9686003)(66066001)(105586002)(53376002)(5660300002)(7696005)(97736004)(8936002)(110136005)(66574012)(2906002)(6506007)(86362001)(71190400001)(8676002)(790700001)(93886005)(81166006)(3846002)(6116002)(26005)(76176011); DIR:OUT; SFP:1102; SCL:1; SRVR:AM4PR07MB3124; H:AM4PR07MB3457.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:0;
received-spf: None (protection.outlook.com: nokia-bell-labs.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: fDd0iDFQYb2KoGRzS8m8Hnny0c1h8XkCkY6BkFVxcMU3lfUJvxK1iLDCgIfcmy7Z56czgJLep8jOwh4XTH3p/CKBc/3/Z3oa5pE6axPHAv/HlwNIrUzLSaQPkj9eMb6cOytUnys9G3yMSmckuev7Wgxe9APLdQipqG5IIYDiHT+dDYbgkF4Yl41MliSvSYqhXZIFwdfDC8SDOsV3b/Z893JR5/izue4pg8muYnrF/QEx6+pQeEAXPVSmjcid8cl6xg16cMSVap3Lejm6c1bbjFnImNvtFB6iZfqbeglbKS3i3eyG/j4m72l+Y1QqHn2ENPryFeb79ej2IZhtAaxLw9gV9xS8nScc6UPOB1KOHVmfbVbL+67G50gV5dyqBSTNnnHrfImGdVJbpW0QVodTpBP7ODnQrRhXYy38NjW4joY=
Content-Type: multipart/alternative; boundary="_000_AM4PR07MB3457A94AE887DC45677544F6D6570AM4PR07MB3457eurp_"
MIME-Version: 1.0
X-OriginatorOrg: nokia-bell-labs.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 31e5dcbe-3aff-4ec6-cee8-08d6b8522f9d
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Apr 2019 16:34:04.4224 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR07MB3124
Archived-At: <https://mailarchive.ietf.org/arch/msg/iccrg/w80D9AqXpn7h8SdbHr3MbmbNB1w>
Subject: Re: [iccrg] Background on my talk in iccrg
X-BeenThere: iccrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussions of Internet Congestion Control Research Group \(ICCRG\)" <iccrg.irtf.org>
List-Unsubscribe: <https://www.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://www.irtf.org/mailman/listinfo/iccrg>, <mailto:iccrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Apr 2019 16:34:13 -0000

Hi all,
Two thoughts inline ...
Kind regards,
Danny

--
Danny De Vleeschauwer
Senior research engineer
Nokia Bell Labs
mob: +32 497 397548

Fortis 220-0002334-42
VAT BE 0404 621 642 Register of Legal Entities Antwerp

Disclaimer: This message (including any attachments) contains confidential information intended for a specific individual and purpose, and is protected by law.  If you are not the intended recipient, you should delete this message.  Any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited without the prior consent of its author.

From: iccrg <iccrg-bounces@irtf.org> On Behalf Of Bob Briscoe
Sent: Wednesday, April 03, 2019 4:47 PM
To: iccrg@irtf.org
Subject: Re: [iccrg] Background on my talk in iccrg

Peyman,
On 03/04/2019 12:51, Peyman Teymoori wrote:


On 4/3/2019 1:44 PM, Peyman Teymoori wrote:

Hi Bob,

Thanks a lot for the comments!
On 4/3/2019 12:48 PM, Bob Briscoe wrote:
Peyman,

1/ I realize now that I incorrectly appeared to be dismissing your work in my email and my comment at the mic. I apologize.
Your -log(1-p) formulation does indeed have the correct additive property. Thank you for this.

A true additive signal was what we were looking for.

2/ Implementation
You say "...we will consider deployment challenges more thoroughly in our future work." Surely this is a sender-only algorithm, so there is no deployment challenge? However, there is a (minor)  implementation challenge. Perhaps that's what you meant?...

Yes, and I agree that it's a sender-side change, which cannot be major! and it needs router configurations as well.
2a/ With the current DCTCP approach of updating an EWMA of the congestion level once per RTT, I don't think implementation will present too much of a performance hit.
That's right.


(1-p) could be calculated by maintaining counters of the number of unmarked bytes and total bytes, then every RTT using an efficient integer division, such as do_div() in Linux, then using an efficient log implementation. I'm not sure what to do when there's 100% marking to avoid calculating -log(0) = +infinity.
In simulations, I just checked if 1-p = 1 before calculating log, and since p is the result of EWMA, there were very rare cases of having p = 1.

Aside from that issue, I don't think this calculation would harm performance too much, although I would prefer not to have a regular spike of processing time...
Right.


2b/ We liked p/(1-p) because it lends itself to a simple iterative calculation on every ACK or NACK. That's because there are (1-p)*cwnd ACKs per round trip and p*cwnd NACKs per round trip. So an increase can be applied on each ACK and a decrease on each NACK.

This insight was not our idea - I first saw it in Richard Gibbens's and Peter Key's tutorial "Distributed Control and Resource Pricing" at SIGCOMM 2000. They used it when modelling TCP's AIMD.

I much prefer iterative algorithms, cos they are stateless. Otherwise TCP gets more and more complicated with all the possible combinations of modes you have to allow for.

I can't think of a way to iteratively calculate -log(1-p). I've only tried for a few minutes, but I can't really fathom where to even start.
I haven't tried it either but, that's a good hint on how to make the calculation easier!

I also cannot think of a good way to reason about what base should be used for the log.
-log(1-p) and p/(1-p) have similar shapes, so maybe the latter would be a suitable approximation for the former anyway.
I plotted this for some different values of the log base. It seems like 1.5 as the base produces closer values to 1/(1-p) for p \in [0.4,0.8].
Fixing 1/(1-p) to p/(1-p): if base=2, they are close for p \in [0, 0.55].
Also the slopes have a similar form, and they're equal at p=0:

d (-log_b(1-p) ) =      1
dp                 ln(b)*(1-p)

d (p/(1-p)) =   1
dp            (1-p)2


[ddv>] -ln(1-p) = ln(1/(1-p)) = ln(1+p/(1-p)) =  p/(1-p) - (p/(1-p))^2/2 + ...
The last equality stems from ln(1+x) = x-x^2/2+x^3/3-x^4/4
BTW, since ln(1+x) <= x (just inspect the graph of both) for all x>-1, -ln(1-p) is always an underestimation. Therefore another base than e may be considered, but barring that, to match both for small p, the most logical selection for the base is e.

[ddv>] On the other hand, how "additive" is p/(1-p)?
Say that there are N congestion points each marking with their own p_n and marking in one point is statistically independent from all others. The total marking probability is then p = 1 - \prod_{n=1}^N (1-p_n) (which yields additivity for -log(1-p) for log of any base).
Define a_n=p_n/(1-p_n). It follows that 1-p_n = 1/(1+a_n). Notice that a_n is usually small(ish).
Then p/(1-p) = (1 - \prod_{n=1}^N (1-p_n))/(\prod_{n=1}^N (1-p_n)) = \prod_{n=1}^N (1+a_n) - 1
The leading term in this is \sum_{n=1}^N a_n, which is the (desired?) additivity.
The first correction term is \sum_{n=1}^N \sum_{m=n+1 }^N (a_n*a_m) and higher order terms of products of more than two a_n exist. However, the correction are small if the a_n are.



Bob


Normally I criticize others for developing solutions without any theoretical backing just because they are easy to implement. Now I'm guilty of it myself. I'm much happier now we can start from your theoretical ideal, then approximate it for ease of implementation.

... and I am very happy that you liked the idea!
Kind regards,
Peyman



Thanks again,



Bob
On 28/03/2019 16:56, Bob Briscoe wrote:
Addendum...
On 28/03/2019 17:03, Bob Briscoe wrote:
Peyman,

The approx additive property of combinatorial probability at low marking probability is only one way to get the additive network utility maximization property of the network.

Alternatively, you can transform the signal into the number space between [0,1] by using p/(1-p) which you can do in the end-system by measuring your congestion level as the distance between ECN marks, rather than the the probability of marking.

This is explained in the Unsaturated Marking section of this tech report:
http://bobbriscoe.net/projects/latency/ccdi_tr.pdf#subsection.3.1

We presented some of the highlights of this paper in ICCRG in the past, but I think we had to skip this section, due to lack of time (at least I cannot find the slides we originally prepared in the copy in the IETF proceedings, but I thought we had presented it at some time).
[BB] I just found it:
http://bobbriscoe.net/presents/1703ietf/1703L4S_DualQ_TCP_Prague-iccrg.pdf



Bob



Bob
On 21/03/2019 13:18, Peyman Teymoori wrote:

Dear all,



I would like to share the report (preprint) we have been working on with you before the meeting in Prague since my presentation will be about it. This is actually a research work, and we will consider deployment challenges more thoroughly in our future work.



Kind regards,

Peyman





_______________________________________________

iccrg mailing list

iccrg@irtf.org<mailto:iccrg@irtf.org>

https://www.irtf.org/mailman/listinfo/iccrg



--

________________________________________________________________

Bob Briscoe                               http://bobbriscoe.net/



--

________________________________________________________________

Bob Briscoe                               http://bobbriscoe.net/



--

________________________________________________________________

Bob Briscoe                               http://bobbriscoe.net/



_______________________________________________

iccrg mailing list

iccrg@irtf.org<mailto:iccrg@irtf.org>

https://www.irtf.org/mailman/listinfo/iccrg



_______________________________________________

iccrg mailing list

iccrg@irtf.org<mailto:iccrg@irtf.org>

https://www.irtf.org/mailman/listinfo/iccrg



--

________________________________________________________________

Bob Briscoe                               http://bobbriscoe.net/