Re: [rmcat] How we should handle feedback, and where the congestion should run

Michael Welzl <michawe@ifi.uio.no> Fri, 06 November 2015 07:52 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 12D421B3698 for <rmcat@ietfa.amsl.com>; Thu, 5 Nov 2015 23:52:08 -0800 (PST)
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 HoBjIvBPOEBg for <rmcat@ietfa.amsl.com>; Thu, 5 Nov 2015 23:52:06 -0800 (PST)
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 C9AB21B3696 for <rmcat@ietf.org>; Thu, 5 Nov 2015 23:52:05 -0800 (PST)
Received: from mail-mx4.uio.no ([129.240.10.45]) by mail-out4.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1ZuboZ-0007Rg-7B; Fri, 06 Nov 2015 08:52:03 +0100
Received: from boomerang.ifi.uio.no ([129.240.68.135]) by mail-mx4.uio.no with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) user michawe (Exim 4.80) (envelope-from <michawe@ifi.uio.no>) id 1ZuboY-0004s5-Mm; Fri, 06 Nov 2015 08:52:03 +0100
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <563BF7C3.40500@jesup.org>
Date: Fri, 06 Nov 2015 08:52:00 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <2CEE6E71-BCDC-4778-88D1-8EDE87BAAE4D@ifi.uio.no>
References: <563BF7C3.40500@jesup.org>
To: Randell Jesup <randell-ietf@jesup.org>
X-Mailer: Apple Mail (2.2104)
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 4 msgs/h 2 sum rcpts/h 6 sum msgs/h 3 total rcpts 34870 max rcpts/h 54 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, T_RP_MATCHES_RCVD=-0.01, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: 469E51F977707527478EEDEF031D2D4D81D25880
X-UiO-SPAM-Test: remote_host: 129.240.68.135 spam_score: -49 maxlevel 80 minaction 2 bait 0 mail/h: 2 total 8253 max/h 17 blacklist 0 greylist 0 ratelimit 0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rmcat/xAy5pvh8hlAVBdZwM7foRpiyZ3E>
Cc: rmcat WG <rmcat@ietf.org>
Subject: Re: [rmcat] How we should handle feedback, and where the congestion should run
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, 06 Nov 2015 07:52:08 -0000

> On 06 Nov 2015, at 01:43, Randell Jesup <randell-ietf@jesup.org> wrote:
> 
> The line in the room was cut, but a few comments:
> 
> Even if RMCAT yields a single algorithm, having a standardized feedback message will help future work to improve on the algorithm, or to develop or deploy future algorithms.  This will not be the last work done in this area, and I'm sure improvements will be worked on, and people will trial alternative algorithms.  Getting support for the "other end" is a huge step forward in trialing (or deploying) an algorithm.
> 
> Also it appears there are multiple implementers dealing with the bandwidth and frequency for RTCP traffic if the control is on the sender side.  Almost all algorithms *can* be moved to run entirely on one side or on the other.  Running it on the receiver side can dramatically reduce the feedback required (as Michael said in the room).  Given use of the RTP send-time header extension, there's very little info that the sender has that the receiver doesn't (mostly just the size and timing of any lost packets).  The bandwidth for sending CC results would be far less than any (compressed or not) arrival time feedback to the sender.
> 
> Running on the receiver also means that no "merging" of feedback data needs to be done to run CC across multiple streams/5-tuples/etc.
> 
> We can build a generic arrival-time feedback message, or we can build a generic results-of-receiver-CC message.

The big problem I see with receiver-side schemes is that you don't only need to standardize 1) the feedback message, you also need to standardize the sender behavior in the absence of feedback.
2) If feedback is missing for a while, maybe that's a good thing, as a result of feedback suppression?  So we just gradually and blindly increase the rate?  See early versions of the GCC scheme.
3) If feedback is missing for a long time, at some point you HAVE to have a timeout and react accordingly.

Can we agree on all these things? At least 1) AND 3) are necessary.

To me, this seems like creating difficulties for a problem that MAY also be a non-problem. Note that TCP sends tons of feedback, maybe including SACK blocks, across the same thin uplinks that we're considering. I don't think there is conclusive evidence of that being a problem.

=> I tend to think that moving everything to the sender side is an easy way out.

Cheers,
Michael