Re: [icnrg] Some background on draft-oran-icnrg-flowbalance-00.txt
"David R. Oran" <daveoran@orandom.net> Sun, 04 August 2019 14:21 UTC
Return-Path: <daveoran@orandom.net>
X-Original-To: icnrg@ietfa.amsl.com
Delivered-To: icnrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 30566120019 for <icnrg@ietfa.amsl.com>; Sun, 4 Aug 2019 07:21:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-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 1m4UcgSfyycl for <icnrg@ietfa.amsl.com>; Sun, 4 Aug 2019 07:21:36 -0700 (PDT)
Received: from spark.crystalorb.net (spark.crystalorb.net [IPv6:2607:fca8:1530::c]) (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 2E187120025 for <icnrg@irtf.org>; Sun, 4 Aug 2019 07:21:36 -0700 (PDT)
Received: from [192.168.171.1] ([IPv6:2601:184:4081:19c1:3461:3d25:3cea:41b9]) (authenticated bits=0) by spark.crystalorb.net (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id x74ELVhM009324 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Sun, 4 Aug 2019 07:21:33 -0700
From: "David R. Oran" <daveoran@orandom.net>
To: Naveen Nathan <icnrg@t.lastninja.net>
Cc: icnrg@irtf.org
Date: Sun, 04 Aug 2019 10:21:30 -0400
X-Mailer: MailMate (1.12.5r5643)
Message-ID: <C2B6B416-5B2C-4DBE-8585-34190AFDE9AB@orandom.net>
In-Reply-To: <bec78d84-7f95-4f26-a27d-e91ed174cba0@www.fastmail.com>
References: <F3450525-2EDB-4AB3-8909-3EB55F6245C4@orandom.net> <1f023920-4a17-4335-b5fe-ef90b68e113c@www.fastmail.com> <CFF08899-6D27-4949-9DC3-35C73810F6E2@orandom.net> <bec78d84-7f95-4f26-a27d-e91ed174cba0@www.fastmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/icnrg/Q_5klBAsD6BJXhkWLNv2jtTBsYM>
Subject: Re: [icnrg] Some background on draft-oran-icnrg-flowbalance-00.txt
X-BeenThere: icnrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Information-Centric Networking research group discussion list <icnrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/icnrg>, <mailto:icnrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/icnrg/>
List-Post: <mailto:icnrg@irtf.org>
List-Help: <mailto:icnrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/icnrg>, <mailto:icnrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Sun, 04 Aug 2019 14:21:38 -0000
Thanks again for these really useful follow-up comments. I hope to get comments from others before posting an updated draft. On 4 Aug 2019, at 2:37, Naveen Nathan wrote: > See responses below. > > - Naveen > > On Sun, 4 Aug 2019, at 12:08 AM, David R. Oran wrote: >>> [...] >>> Regarding the consumer under-estimating (i.e. too big objects), I >>> think it >>> might be good to elaborate on a different dimension such a lossy >>> versus >>> lossless protocols. E.g. video streaming can deal with a loss of a >>> large >>> object, and be informed of what to request in subsequent chunks. But >>> this can >>> get tricky with VBR style encoding. But perhaps this is actually a >>> bad >>> example >>> since most video stream will use a manifest mechanism so requests >>> would have >>> accurate estimates. >>> >> The issue here isn’t the loss, since any dynamic congestion control >> algorithm will either wind up under-allocating bottleneck links by a >> large fraction, or occasionally allow buffers to overflow and drop >> packets. I didn’t put much of a tutorial on basic congestion >> control >> in the document since the reader is assumed familiar with the cited >> references. What may be worth reiterating is that even congestion >> control algorithm has an explicit fairness goal and associated >> objective >> function (usually either min-max fairness or proportional fairness). >> If >> your fairness is to be based on resource usage, pure interest >> counting >> doesn’t do the trick, since a consumer asking for large thing can >> saturate a link and shift loss to consumers asking for small things. >> >> Does that make sense? Should the document say more about this? > > Yes, and yes. > > So I think the congestion control algorithm (and knowledge these > algorithms lack) is sufficiently explained in section 3. I think you > should > incorporate the point you made about fairness in the above response > in section 3 as well. > Makes sense to add this to Section 3. I did that and it will be in the next version posted. >>> I also think you should mention that this mechanism can be used to >>> inform a >>> congestion control algorithm. I do note that this is explicitly >>> mentioned in >>> section 3. >>> >> Hmmm, maybe I need to be more direct? > > Yes. But I forgot to say earlier that it should be mentioned in the > end > of section 1 (the introduction). > Also done, with references to min-max and proportional fairness in Wikipedia. >>> About section 3.4. where you describe interest aggregation. You >>> recommend the >>> second policy of giving a large object to correctly/over-estimating >>> consumers, >>> whereas underestimating consumers get T_MTU_TOO_LARGE (also does >>> "MTU" >>> make >>> sense instead of "REQUEST"?). Shouldn't all consumers get it, if the >>> link isn't >>> congested? I think this T_MTU_TOO_LARGE should only be sent if >>> there's >>> contention on the link and insufficient bandwidth can be allocated. >>> >> That’s of course a possibility. I decided recommending the error >> for >> the following reasons (which perhaps ought to be explicitly stated in >> the spec): >> 1. The link can be congested quite quickly after the queuing decision >> is >> made, especially if the data has a long link-occupancy time, so this >> is >> a safer alternative. >> 2. The cost of returning the error is only one link RTT, since the >> consumer can immediately re-issue the interest with the correct size >> and >> pick up the cached object from the upstream forwarder’s CS. >> 3. I tried to completely avoid the issues of aggregate resource >> control >> and the associated billing swamp, since returning the data raises the >> messy issue of whether to “charge” the actual used bandwidth to >> the >> consumer, or only the requested bandwidth through the expected data >> size. The rabbit hole goes deeper if you add differential QoS to the >> equation (another subject intentioanally not talked about in the >> document for many reasons) as consumers “playing games” and >> intentionally underestimating so their interests get satisfied when >> links aren’t congested gets you into all the considerations of >> malicious actors discussed later. > > I think it should be explicitly stated since intuitively if you have > the > resources to send the data to the client, you would. But this is going > against the grain for the above reasons you stated. > Good idea, I added a slightly edited version of what I wrote above. > _______________________________________________ > icnrg mailing list > icnrg@irtf.org > https://www.irtf.org/mailman/listinfo/icnrg DaveO
- [icnrg] Some background on draft-oran-icnrg-flowb… David R. Oran
- Re: [icnrg] Some background on draft-oran-icnrg-f… David R. Oran
- Re: [icnrg] Some background on draft-oran-icnrg-f… Naveen Nathan
- Re: [icnrg] Some background on draft-oran-icnrg-f… David R. Oran