Re: [rmcat] Review of draft-ietf-rmcat-scream-cc-01

Michael Welzl <michawe@ifi.uio.no> Fri, 24 July 2015 08:57 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: rmcat@ietfa.amsl.com
Delivered-To: rmcat@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 77F731A1BCC for <rmcat@ietfa.amsl.com>; Fri, 24 Jul 2015 01:57:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 cNeCWi_SXcUe for <rmcat@ietfa.amsl.com>; Fri, 24 Jul 2015 01:57:24 -0700 (PDT)
Received: from mail-out5.uio.no (mail-out5.uio.no [IPv6:2001:700:100:10::17]) (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 1F5ED1A21B2 for <rmcat@ietf.org>; Fri, 24 Jul 2015 01:57:24 -0700 (PDT)
Received: from mail-mx3.uio.no ([129.240.10.44]) by mail-out5.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1ZIYnB-0007Km-Jx; Fri, 24 Jul 2015 10:57:21 +0200
Received: from dhcp-9931.meeting.ietf.org ([31.133.153.49]) by mail-mx3.uio.no with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) user michawe (Exim 4.80) (envelope-from <michawe@ifi.uio.no>) id 1ZIYnA-0007bS-J5; Fri, 24 Jul 2015 10:57:21 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\))
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <81564C0D7D4D2A4B9A86C8C7404A13DA34B4C46D@ESESSMB205.ericsson.se>
Date: Fri, 24 Jul 2015 10:57:18 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <44A520B8-4DEC-4D9C-97DE-5223DD8A4CB0@ifi.uio.no>
References: <559FB533.5090105@tik.ee.ethz.ch> <81564C0D7D4D2A4B9A86C8C7404A13DA34B3AE0B@ESESSMB205.ericsson.se> <55A4CD90.4020905@ericsson.com> <, > <17a463d7eb4dddb627d9d52d0e6ceb2d@mail.gmail.com> <pqd7y09y2g7ct1c7xah2lp1e.1436904929881@email.android.com> <456f0d239cbead1c87a3d639688f7495@mail.gmail.com> <E0F7A68B07B53F4FBD12DABD61CBA90E129ACF5C@ESESSMB307.ericsson.se> <07529396e89526f834a8816d1d2502c7@mail.gmail.com> <35276229-26A3-4E8F-ACFB-253A9B6FF26A@ifi.uio.no> <81564C0D7D4D2A4B9A86C8C7404A13DA34B4AA2F@ESESSMB205.ericsson.se> <248FA5A9-1B0E-4ED1-8D51-CA1487E7ABBF@ifi.uio.no> <81564C0D7D4D2A4B9A86C8C7404A13DA34B4C46D@ESESSMB205.ericsson.se>
To: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
X-Mailer: Apple Mail (2.2070.6)
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 6 msgs/h 2 sum rcpts/h 6 sum msgs/h 2 total rcpts 31476 max rcpts/h 54 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: DE4AC3A0DCDE35024FC4F6279703CDCA8264375E
X-UiO-SPAM-Test: remote_host: 31.133.153.49 spam_score: -49 maxlevel 80 minaction 2 bait 0 mail/h: 2 total 3 max/h 2 blacklist 0 greylist 0 ratelimit 0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rmcat/B2FwX7r7k-DJumVbjCkUk0vIdM0>
Cc: "Karen E. E. Nielsen" <karen.nielsen@tieto.com>, "rmcat@ietf.org" <rmcat@ietf.org>, Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com>, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
Subject: Re: [rmcat] Review of draft-ietf-rmcat-scream-cc-01
X-BeenThere: rmcat@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "RTP Media Congestion Avoidance Techniques \(RMCAT\) Working Group discussion list." <rmcat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rmcat>, <mailto:rmcat-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rmcat/>
List-Post: <mailto:rmcat@ietf.org>
List-Help: <mailto:rmcat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rmcat>, <mailto:rmcat-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Jul 2015 08:57:27 -0000

No.

Our algo lets you assign priorities, and they are valid at the time you set them, they just give you a portion of the overall rate and it applies as soon as you set it.
If  you want to adjust priorities based on the coder output rate variation, you can implement this using our algo or with a scheduler. A scheduler operates per packet, we operate per time, so implementation-wise it's a bit different.

My point is only: whether you do it with our algorithm or without a scheduler, I think this should not be in our draft  (and I'm neutral about: should it be in the SCReAM draft or separate from it).

Cheers,
Michael

 
> On 24. jul. 2015, at 10.42, Ingemar Johansson S <ingemar.s.johansson@ericsson.com> wrote:
> 
> Hi
> 
> Not sure I get it. 
> Do you mean that coupling algo is immune to video coder output rate variation ?
> 
> /Ingemar
> 
>> -----Original Message-----
>> From: Michael Welzl [mailto:michawe@ifi.uio.no]
>> Sent: den 22 juli 2015 11:16
>> To: Ingemar Johansson S
>> Cc: Karen E. E. Nielsen; Zaheduzzaman Sarker; rmcat@ietf.org; Mirja
>> Kühlewind
>> Subject: Re: [rmcat] Review of draft-ietf-rmcat-scream-cc-01
>> 
>> understood; i think these details are beyond the scope of our coupling draft
>> which focuses on a different method.
>> 
>> cheers
>> michael
>> 
>> Sent from my iPhone
>> 
>>> On 22. juli 2015, at 11:06, Ingemar Johansson S
>> <ingemar.s.johansson@ericsson.com> wrote:
>>> 
>>> Hi
>>> 
>>> Still waiting for the summer to show up so I'll try to chime in while this
>> subject is at least luke-warm. I may be slow with follow up on this, sorry for
>> that in advance.
>>> 
>>> Stream prio in SCReAM is outlined in section A.2 in the draft
>> (https://tools.ietf.org/html/draft-ietf-rmcat-scream-cc-01#page-28 ). In its
>> function it resembles fq-codel quite a lot in the sense that streams that do
>> not get scheduled at a given scheduling instant gets a credit that is used to
>> increase the chance of being scheduled at the next scheduling instant. A
>> configurable scheduling priority determines how much credit  that is given.
>> Looking in the https://tools.ietf.org/pdf/draft-ietf-tsvwg-sctp-ndata-04.pdf
>> draft I would say that this resembles the "Weighted Fair Queueing
>> Scheduler"  the most. Some additional means are needed to make this work
>> well in reality though (see below).
>>> 
>>> The benefit with doing scheduling priority and a common congestion
>> control is an increased probability that the path capacity is fully utilized, if a
>> stream becomes idle (for instance no or little activity in one video source) ,
>> more resources are allocated to the other sources. And this is achieved with
>> no or very little additional delay buildup on the sender side.
>>> Another benefit with stream prioritization is that it is easier to make one
>> congestion control behave well (low delay /packet loss) esp. on a wireless
>> link. We have simulation results that supports this statement albeit in the
>> different context (QUIC congestion control evolution).
>>> The stream prioritization and one congestion control of course require
>>> that all the streams share the same bottleneck characteristics
>>> 
>>> With that said, the biggest challenge I have seen this far is the large
>> variability of esp. video sources. Sit still in front of the camera and the output
>> rate becomes very low regardless the target rate, move yourself closer to
>> the camera and bang!!.. you get 2Mbps video rate all of a sudden. This
>> variability causes issues with stream prioritization in the sense that less
>> variable streams may be pushed back. Additional code is therefore added in
>> SCReAM to correct this anomaly and ensure a (weighted) fair distribution
>> over a longer time scale. Still as mentioned in the SCReAM draft, this needs
>> to be tried out some more. I have sofar only simulated video sources with
>> variability to see that the current implementation is reasonably robust.
>>> The bottom line here is that, while scheduling of streams with static
>> properties may be considered simple, real video may be a taller order.
>>> 
>>> /Ingemar
>>> 
>>> 
>>> 
>>> 
>>>> -----Original Message-----
>>>> From: Michael Welzl [mailto:michawe@ifi.uio.no]
>>>> Sent: den 20 juli 2015 10:03
>>>> To: Karen E. E. Nielsen
>>>> Cc: Zaheduzzaman Sarker; Ingemar Johansson S; rmcat@ietf.org; Mirja
>>>> Kühlewind
>>>> Subject: Re: [rmcat] Review of draft-ietf-rmcat-scream-cc-01
>>>> 
>>>> 
>>>>>> On 20. jul. 2015, at 07.32, Karen Elisabeth Egede Nielsen
>>>>> <karen.nielsen@tieto.com> wrote:
>>>>> 
>>>>> HI,
>>>>> 
>>>>> Yes - there is the possibility to implement coupled congestion
>>>>> control with scheduling priorities, There is no doubt about that
>>>>> :-), Indeed SCTP does it and scream does it.
>>>>> But it is not so well-described in the scream draft how exactly the
>>>>> prioritization works and which means an application has to define
>>>>> different priorities.
>>>>> (For information then for SCTP a number of different scheduling
>>>>> possibilities is described in
>>>>> http://datatracker.ietf.org/doc/draft-ietf-tsvwg-sctp-ndata/.)
>>>>> 
>>>>> Then for RMCAT coupled congestion control  we have the Wezlz,
>>>>> Safiqul proposal where the coupled is done in-between per flow-CC
>>>>> contexts by prioritization on manipulation of the cwnd.
>>>>> And the we also have, a not so detailed proposal/description, on how
>>>>> the same can be achieved via scheduling (scream).
>>>>> It should be ok to allow for different ways to implement coupling,
>>>>> but we should then eventually have one document that describes both
>>>>> solutions. Shouldn't we ?
>>>> 
>>>> I think so. There is already (short, because it's so simple) text
>>>> about scheduling in coupled-cc and we can extend that and make it
>>>> stand out more clearly (now it's in the intro I think).
>>>> 
>>>> Cheers,
>>>> Michael
>>>