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

Michael Welzl <michawe@ifi.uio.no> Wed, 22 July 2015 09:16 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 7E08A1ACEDF for <rmcat@ietfa.amsl.com>; Wed, 22 Jul 2015 02:16:29 -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 7LDfxuP-Bqig for <rmcat@ietfa.amsl.com>; Wed, 22 Jul 2015 02:16:26 -0700 (PDT)
Received: from mail-out4.uio.no (mail-out4.uio.no [IPv6:2001:700:100:10::15]) (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 7C6C71A2182 for <rmcat@ietf.org>; Wed, 22 Jul 2015 02:16:25 -0700 (PDT)
Received: from mail-mx6.uio.no ([129.240.10.40]) by mail-out4.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1ZHq8U-0000Ak-TI; Wed, 22 Jul 2015 11:16:22 +0200
Received: from dhcp-8973.meeting.ietf.org ([31.133.137.115]) by mail-mx6.uio.no with esmtpsa (TLSv1:AES128-SHA:128) user michawe (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1ZHq8T-00019V-R8; Wed, 22 Jul 2015 11:16:22 +0200
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>
Mime-Version: 1.0 (1.0)
In-Reply-To: <81564C0D7D4D2A4B9A86C8C7404A13DA34B4AA2F@ESESSMB205.ericsson.se>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: <248FA5A9-1B0E-4ED1-8D51-CA1487E7ABBF@ifi.uio.no>
X-Mailer: iPhone Mail (11D201)
From: Michael Welzl <michawe@ifi.uio.no>
Date: Wed, 22 Jul 2015 11:16:21 +0200
To: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 6 msgs/h 2 sum rcpts/h 11 sum msgs/h 6 total rcpts 31358 max rcpts/h 54 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, MIME_QP_LONG_LINE=0.001, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: 8D986D32D6D94A7434B828D3EAE4A98F6BC9813E
X-UiO-SPAM-Test: remote_host: 31.133.137.115 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/GzA5S3pJSuZkyScKObue-dJnV2s>
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: Wed, 22 Jul 2015 09:16:29 -0000

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
>