Re: [rtcweb] [tsvwg] Using intelligent dropping to improve video quality under congestion (draft-lai-tsvwg-normalizer-00.txt)

Dave Taht <> Wed, 10 July 2013 19:03 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0BB3011E811D; Wed, 10 Jul 2013 12:03:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.026
X-Spam-Status: No, score=-2.026 tagged_above=-999 required=5 tests=[AWL=0.574, BAYES_00=-2.599, NO_RELAYS=-0.001]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id dj2XaG2g3PCb; Wed, 10 Jul 2013 12:03:05 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4001:c03::22a]) by (Postfix) with ESMTP id 1886621F8445; Wed, 10 Jul 2013 12:02:27 -0700 (PDT)
Received: by with SMTP id e11so16421513iej.1 for <multiple recipients>; Wed, 10 Jul 2013 12:02:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=3AlDLwTsx/AR+UkecOj/78vM/vAMlo2qsmB0zV/5P3Y=; b=xlLYEYs2XohMvUWfjsYjDE+k63d6G1E291HK/KTlEdHQk70SdapINQxwYdl7mUenHd /iIAzwZIv/P/c/FsdG1AV9r+DZtllC3zDXj4XfL3NF3AyR2KAEuLChCoJwVdD11XFoc4 VFYVyvg6LfLNcwv4EKrXRLQG27Mn7eM1+vmD1KxUJAvVndz6DBDbibcdg7/z0QxuaJ6c oan4kuvxbIetee9UWg05MEXh4Os9fzSVnGj1fV6wf3f+/Sri5DDWF7R22dAFWApn4vcF 1tLAJo6Om1zBIQYoe0TRUbc83G2btqtWx6JSjH2dS6kgmNBmYsi43eR9Kvf2k9SSiEVN 6Zsg==
MIME-Version: 1.0
X-Received: by with SMTP id g2mr10511733ict.49.1373482946633; Wed, 10 Jul 2013 12:02:26 -0700 (PDT)
Received: by with HTTP; Wed, 10 Jul 2013 12:02:26 -0700 (PDT)
In-Reply-To: <>
References: <>
Date: Wed, 10 Jul 2013 12:02:26 -0700
Message-ID: <>
From: Dave Taht <>
To: "Toerless Eckert (eckert)" <>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailman-Approved-At: Wed, 10 Jul 2013 13:37:11 -0700
Subject: Re: [rtcweb] [tsvwg] Using intelligent dropping to improve video quality under congestion (draft-lai-tsvwg-normalizer-00.txt)
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 10 Jul 2013 19:03:08 -0000

On Wed, Jul 10, 2013 at 11:01 AM, Toerless Eckert (eckert)
<> wrote:
> When dealing with congestion for real-time datagram (UDP/RTP) based video flows, one idea
> that we think has shown to provide good value is to intelligently drop in the network
> preferentially the least important packets within a video flow, for example non-referenced
> P-frames, because their loss creates the lowest impact to video quality.

I've begun to look at webrtc of late in the context of fq_codel.

One thing that might work would be ECN marking important frames and
not ECN marking
others. Problem overall is that ecn can be gamed and is largely not
enabled, and so on...

> One of the main concerns raised against such schemes was one of fairness. If flows
> would start to indicate different priorities for packets in them, how would we
> be able to avoid that flows would indicate all their packets to be of high priority
> to shift packet drops to other flows. Or even more importantly: how could we motivate
> flows to indicate that some of their packets are low priority without them having to
> fear that they would experience more loss than than flows that don't do this.

same gaming problem...

> So, there is one draft that we would like to present (presumably in TSVWG)  explaining
> how we think this problem can be solved: draft-lai-tsvwg-normalizer-00.txt
> (Actually, this is how we did solve the problem in our implementatin of intelligent dropping,
>  so this is not theoretical).

In the case of the fq_codel algorithm I can see a "delayed drop"
mechanism happening,
where upon deciding to drop, it could defer a drop up to a few packets
based on the classification
of the packet, say 3 packets at most. Since flows are already
identified, this is kind of easy
by adding another state variable...

At the moment what I have deployed and tested most is a simple 3 tier
fq_codel based shaper,
which has a priority, best effort, and background queue. The priority
queue is generally only DNS traffic,
the background is only CS1, and fq_codel does such a good job with
sparse streams in
the general case that for VOIP, etc on the networks I fiddle with,
there is no point in having
much more than the BE queue. And presently all other markings are ignored.

video is another story. (or could be, I don't know enough about
webrtc's behaviors to
"see" what will happen)

So I can see trying to utilize the AF markings as you describe in your
draft in codel's
drop decision. While this is also subject to being gamed, the
disincentives are slight.

This is a little different from using "drop probability" as the
decider, however, but I
would hope that this mapping of the old AF style random drop ideas
into the new style delay
ideas could work...

And what codel depends on is a definition of "TCP friendly". That if a
stream is not
going to behave in a tcp friendly manner, then an entirely different
strategy for such
flows seems necessary, and glomming on some additional state isn't going to
be the right thing.

> Now granted, the problem of fairness is but one element of building a complete ssytem
> around the idea of intelligent dropping, so if folks here on the lists would like to
> see for example
>   a) how well can it work in routers to shift packet drops to low-prio packets

I guess where I fall apart here is how to shift the encoders to send thinner
streams at  any level of packet drop.

>   b) whats the evidence that it's good for video quality
>   c) How should we do the marking best going forward

> Then please let us know. We'd be very interested to provide insight into the parts of
> those pieces that we have also worked out or discuss the ones we have not (primarily c ;-)

I'd be interested in specific codecs, example video streams, and test
scripts to try
and fiddle with this, as well as viable metrics.

> Thanks!
>     Toerless
> In-Reply-To: <>
> On Sat, Feb 09, 2013 at 03:00:48AM +0000, Cheng-Jia Lai (chelai) wrote:
>> Hi all,
>> We have submitted a new Internet draft to describe a Normalization Marker (NM) for DiffServ AF PHB groups, based on our work at Cisco. The goal of NM deployment is to create a new incentive for video encoders to generate more discardable packets when using AF PHB in DIffServ. We are looking forward to your review comments.
>> Best regards,
>> CJ
>> -----Original Message-----
>> From: []
>> Sent: Friday, February 08, 2013 6:25 PM
>> To: Cheng-Jia Lai (chelai)
>> Cc: Wenyi Wang (wenywang); Stan Yang (stanyang); Toerless Eckert (eckert); Fred Yip (fyip)
>> Subject: New Version Notification for draft-lai-tsvwg-normalizer-00.txt
>> A new version of I-D, draft-lai-tsvwg-normalizer-00.txt
>> has been successfully submitted by Cheng-Jia Lai and posted to the
>> IETF repository.
>> Filename:      draft-lai-tsvwg-normalizer
>> Revision:      00
>> Title:                 Normalization Marker for AF PHB Group in DiffServ
>> Creation date:         2013-02-08
>> WG ID:                 Individual Submission
>> Number of pages: 15
>> URL:   
>> Status:
>> Htmlized:
>> Abstract:
>>    This memo describes a Normalization Marker (NM) at DiffServ (DS)
>>    nodes to normalize the distribution of DS codepoint (DSCP) markings
>>    for an Assured Forwarding (AF) Per-Hop Behavior (PHB) group.  NM is
>>    useful for traffic conditioning with Active Queue Management (AQM)
>>    when the AF PHB group is deployed for multimedia service classes that
>>    carry video packets with advanced codec technologies.  Using NM can
>>    offer an incentive that is however missing in today's ecosystem of
>>    practical deployment, i.e., when congestion occurs in the AF PHB
>>    group, the network should allow a video codec to benefit from its
>>    effort of generating finer layers of intra-flow precedence (IFP) with
>>    discardable packets in a more balanced distribution.
>> The IETF Secretariat
> --
> ---
> Toerless Eckert,
> Cisco NSSTG Systems & Technology Architecture
> SDN: Let me play with the network, mommy!

Dave Täht

Fixing bufferbloat with cerowrt: