Re: [conex] byte vs packet counting
John Leslie <john@jlc.net> Sat, 03 December 2011 00:21 UTC
Return-Path: <john@jlc.net>
X-Original-To: conex@ietfa.amsl.com
Delivered-To: conex@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 884BE11E80C1 for <conex@ietfa.amsl.com>; Fri, 2 Dec 2011 16:21:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.742
X-Spam-Level:
X-Spam-Status: No, score=-106.742 tagged_above=-999 required=5 tests=[AWL=-0.143, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5Vpq7AIjhUMn for <conex@ietfa.amsl.com>; Fri, 2 Dec 2011 16:21:51 -0800 (PST)
Received: from mailhost.jlc.net (mailhost.jlc.net [199.201.159.4]) by ietfa.amsl.com (Postfix) with ESMTP id D8A0911E80B9 for <conex@ietf.org>; Fri, 2 Dec 2011 16:21:50 -0800 (PST)
Received: by mailhost.jlc.net (Postfix, from userid 104) id 51E5F33C22; Fri, 2 Dec 2011 19:21:50 -0500 (EST)
Date: Fri, 02 Dec 2011 19:21:50 -0500
From: John Leslie <john@jlc.net>
To: Matt Mathis <mattmathis@google.com>
Message-ID: <20111203002150.GI31463@verdi>
References: <201111171402.pAHE26tB006646@bagheera.jungle.bt.co.uk> <CAH56bmBhg6VpDMKye+GO_=gN-MAjskTMaAznhYSJm3N4R6Zjtg@mail.gmail.com> <CAH56bmD2fh3sm4mozh17K2C+K0Pxyw7vRvykCo9Xt-jeEP36ZQ@mail.gmail.com> <201111201956.pAKJuJSQ007421@bagheera.jungle.bt.co.uk> <20111120214012.GE22465@verdi> <CAH56bmBddbsT92DURC+JX7NBpUJzhw7HPDmBHt9SVt0xU0HUvg@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAH56bmBddbsT92DURC+JX7NBpUJzhw7HPDmBHt9SVt0xU0HUvg@mail.gmail.com>
User-Agent: Mutt/1.4.1i
Cc: ConEx IETF list <conex@ietf.org>
Subject: Re: [conex] byte vs packet counting
X-BeenThere: conex@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Congestion Exposure working group discussion list <conex.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/conex>, <mailto:conex-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/conex>
List-Post: <mailto:conex@ietf.org>
List-Help: <mailto:conex-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/conex>, <mailto:conex-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Dec 2011 00:21:52 -0000
Matt Mathis <mattmathis@google.com> wrote: > > Bob and I prefer to argue in private, because it works better. The IETF way, alas, is to argue in public. We need to learn how to do so without overly harming our ability to work together. > We always assume that the other person is correct, and make every > effort to try to understand what they think and why. This is why we > have often been able to clearly restate each others arguments. A decidedly useful practice. Alas, I seem to have no luck restating Bob's arguments. He reminds me a bit of John Campbell of "Analog" fame, of whom it was frequently said, "if he finds you're agreeing, he changes the subject!" > What typically happens is that we discover some hidden assumption, > and that both of our initial positions are over simplifications and > at some level both are wrong. Congratulations! I'm more than willing to both be wrong. ;^) > When we argue in public, the entire discussion get rat holed about > details that are aren't on the table, either because the rest of us > already have consensus or they just are not important at this stage. Consensus isn't something for "the rest of us" to have. In the IETF, we talk of "rough consensus". That doesn't mean that some of us deserve to be ignored: it means that some of us agree to "be in the rough" and stop arguing an issue. As for "important at this stage", I'm afraid none of us are omniscient enough to know what's important. There is, however, a time when folks are "ready to learn" and a much larger time when they aren't. :^( But IMHO they only deceive themselves when they say "it's not important" instead of "I'm not ready". But I digress... > My take away from the intended discussion with Bob is that > -abstract-mech- is flawed in that it is entirely too casual about > units. I'd be happy to work on what the "units" should be. > The units (primarily bits v bytes v packets of congestion) should > be an explicitly chosen parameter for each span of the model > (congested router to receiver, ACKs carrying the signal back to > the sender, reinserted feedback from the sender to the audit > and policy functions). That sounds difficult... > While I am inclined to agree with Bob that the congestion signal > should be in bytes, (I'm less inclined...) > I am less convinced that it is ok for the ACKs to only carry > segment counts. I am willing to proceed on the basis of his > assumptions, however it is critical that we all understand that > this is a design decision that might be changed in the future if > there is a compelling reason to do so. I understand _that_ Bob believes counting bytes is more correct than counting packets, but I don't understand why he believes it. I see folks responding to his repeated claims with, "But it's not the case for this common situation;" and there the thread dies. Elsewhere, I read of concerns that "small packets shouldn't be penalized for being small," but I don't know if that's Bob's argument. Whether or not it is, I find it unconvincing. If small packets were _actually_ being significantly punished for being small, the sender would find a way to enlarge them. I simply don't see that in the wild. And that argument seems to really be, "Look how nice I'm being by sending smaller packets! Why don't folks reward me more?" (I can think of a half-dozen reasons, which I won't list.) In practice, the folks who do send lots of small packets want to see less jitter in RTT. But it's the large packets which usually cause the jitter. Alas, the medium is shared... > The abstract mech doc needs to state that proposed signal mappings > for a given tentative encoding must be explicit about units. That sounds like an improvement... > It is also important to note that for legacy interoperability > using a sender only implementation, we can not assert different > algorithms than are present in current network devices and ECN > enabled receivers. I agree these, in practice, are unknowable. :^( > My example earlier in the thread illustrates a rather extreme > pathological case where bytes v segments might change sender > behavior. In the common case and as a natural approximation, > the sender will probably assume that the data in not lumpy, and > that reflecting the correct number packets is good enough. It strikes me as seriously sub-optimal to say, "It's reasonable to assume X" and at the same time, "It's more correct to punish anyone who assumes X". I frankly don't see why abstract-mech needs to say either of these. We should perhaps state that experiments may include scenarios where some nodes may punish X while other nodes may punish Y; but I'm very uncomfortable with suggesting that either of those punishments is "correct". > Clearly when all of the packets in a given connection have uniform > sizes, it doesn't matter to any component, except the policy devices. I think we have agreement there... > The places proper treatment of lumpy data might matter are the > policy and audit devices, which will be the last part of ConEx to > have fully bound specifications. Agreed. > Some of their details are even explicitly out of our scope, > although we do have to demonstrate the existence of algorithms that > provide useful signals. Algorithms, plural, yes. > As I reflect on the broader debate, it is clear to me that we > really need to understand choosing units of congestion as an > engineering compromise. Perhaps even an engineering compromise where different senders and receivers make different trade-offs? > Like all such compromises, it has to balance the costs of > difficulty of implementation vs opportunity cost of reduced > precision. Agreed. > Furthermore, extended debate without hard data is pointless. > It just doesn't matter at this stage. We can accept Bob's assumption > for the time being, note that it is "provisional" and revisit it > later, if or when we encounter a problem that would be better > solved with different assumptions. Remember the Tao of Internet: "We reject kings, presidents, and voting..." I don't remember electing Bob as President; nor do I see good reason to accept him as King. What other reason is there to accept Bob's assumption when we have so much reason te believe it is incomplete or worse? > John, can we arrange a phone call some time? (Matt and I have talked at some length on the phone. I like to believe I have a better understanding of research in this field because of this. I just don't read the research the same way Bob does...) -- John Leslie <john@jlc.net>
- Re: [conex] byte vs packet counting Bob Briscoe
- Re: [conex] byte vs packet counting John Leslie
- Re: [conex] byte vs packet counting Bob Briscoe
- Re: [conex] byte vs packet counting Fred Baker
- Re: [conex] byte vs packet counting Bob Briscoe
- Re: [conex] byte vs packet counting John Leslie
- Re: [conex] byte vs packet counting Bob Briscoe
- Re: [conex] byte vs packet counting John Leslie
- Re: [conex] byte vs packet counting Bob Briscoe
- Re: [conex] byte vs packet counting Dirk Kutscher
- Re: [conex] byte vs packet counting Matt Mathis
- Re: [conex] byte vs packet counting John Leslie
- Re: [conex] byte vs packet counting John Leslie
- [conex] Fwd: byte vs packet counting Toby Moncaster
- Re: [conex] byte vs packet counting John Leslie
- Re: [conex] byte vs packet counting Toby Moncaster
- Re: [conex] byte vs packet counting Bob Briscoe
- Re: [conex] byte vs packet counting Toby Moncaster
- Re: [conex] byte vs packet counting John Leslie
- [conex] Catching "Cheaters" John Leslie