Re: [iccrg] Background on my talk in iccrg

Peyman Teymoori <peymant@ifi.uio.no> Wed, 03 April 2019 11:51 UTC

Return-Path: <peymant@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 2B3A9120145 for <iccrg@ietfa.amsl.com>; Wed, 3 Apr 2019 04:51:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 mMwsBouaRxiC for <iccrg@ietfa.amsl.com>; Wed, 3 Apr 2019 04:51:21 -0700 (PDT)
Received: from mail-out01.uio.no (mail-out01.uio.no [IPv6:2001:700:100:10::50]) (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 EA593120111 for <iccrg@irtf.org>; Wed, 3 Apr 2019 04:51:20 -0700 (PDT)
Received: from mail-mx11.uio.no ([129.240.10.83]) by mail-out01.uio.no with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from <peymant@ifi.uio.no>) id 1hBeQI-0007R4-CW; Wed, 03 Apr 2019 13:51:18 +0200
Received: from ifi-orpington.ifi.uio.no ([129.240.71.57]) by mail-mx11.uio.no with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) user peymant (Exim 4.91) (envelope-from <peymant@ifi.uio.no>) id 1hBeQH-0003Uz-82; Wed, 03 Apr 2019 13:51:18 +0200
To: iccrg@irtf.org, Bob Briscoe <ietf@bobbriscoe.net>
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>
From: Peyman Teymoori <peymant@ifi.uio.no>
Message-ID: <c80adefc-f5eb-db72-cfa1-1fa8a15ed955@ifi.uio.no>
Date: Wed, 03 Apr 2019 13:51:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <fb2f75f7-e46a-8ccd-9656-733db6dc6c87@ifi.uio.no>
Content-Type: multipart/alternative; boundary="------------A9DD9189B6A00C49DD69B1AE"
Content-Language: en-US
X-UiO-SPF-Received: Received-SPF: neutral (mail-mx11.uio.no: 129.240.71.57 is neither permitted nor denied by domain of ifi.uio.no) client-ip=129.240.71.57; envelope-from=peymant@ifi.uio.no; helo=[129.240.71.57];
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, HTML_MESSAGE=0.001, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: D64D328469E6CD84D406D4D32DE322172DE8872A
Archived-At: <https://mailarchive.ietf.org/arch/msg/iccrg/bLQsgkOO0ukcmaCVletK6hu1jTs>
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 11:51:24 -0000

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].
>> 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
>>>>> https://www.irtf.org/mailman/listinfo/iccrg
>>>>
>>>> -- 
>>>> ________________________________________________________________
>>>> Bob Briscoehttp://bobbriscoe.net/
>>>
>>> -- 
>>> ________________________________________________________________
>>> Bob Briscoehttp://bobbriscoe.net/
>>
>> -- 
>> ________________________________________________________________
>> Bob Briscoehttp://bobbriscoe.net/
>
> _______________________________________________
> iccrg mailing list
> iccrg@irtf.org
> https://www.irtf.org/mailman/listinfo/iccrg