Re: [rmcat] Review of rmcat-cc-codec-interactions

"Mo Zanaty (mzanaty)" <mzanaty@cisco.com> Wed, 24 February 2016 22:52 UTC

Return-Path: <mzanaty@cisco.com>
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 B54891A1B03 for <rmcat@ietfa.amsl.com>; Wed, 24 Feb 2016 14:52:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.206
X-Spam-Level:
X-Spam-Status: No, score=-14.206 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.006, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] 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 yxOP8H9ME-uf for <rmcat@ietfa.amsl.com>; Wed, 24 Feb 2016 14:52:42 -0800 (PST)
Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 75AF11A1AC6 for <rmcat@ietf.org>; Wed, 24 Feb 2016 14:52:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=19323; q=dns/txt; s=iport; t=1456354362; x=1457563962; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=hj2xyRCMSgbKkdMBzNXU6fGdcHG++cLAP4gFQPlZwMs=; b=jTtmsvxbo5X/kHNnp2A0sKLb6fKB0yZW/66eMSrOgv0iwIcpxeAKQ/WM 0ecJ9RqRuOgto16SkBNfn6GlIqtbChzAhHl84OLe5vSGamxsVTCHidHaF vK3W3v0sCBFujPwCzGlRUvT1XjkgaqcSYze8kRAIfLmSEirCV1U9evqJf M=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AQAgDTM85W/5FdJa1egm5MUm0GumgBDYFmI4VrAoE+OBQBAQEBAQEBZCeEQgEBBIEJAgEIPwcyFBECBAESiB8OvXcBAQEBAQEBAwEBAQEBAQEVBIYShDqED1OEDQWNYoURhBQBhVeCboUZjnSOSAEeAQFCgX6BZmoBhiU9fQEBAQ
X-IronPort-AV: E=Sophos; i="5.22,495,1449532800"; d="scan'208,217"; a="76514635"
Received: from rcdn-core-9.cisco.com ([173.37.93.145]) by rcdn-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Feb 2016 22:52:41 +0000
Received: from XCH-RCD-018.cisco.com (xch-rcd-018.cisco.com [173.37.102.28]) by rcdn-core-9.cisco.com (8.14.5/8.14.5) with ESMTP id u1OMqeO0028890 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 24 Feb 2016 22:52:40 GMT
Received: from xch-aln-005.cisco.com (173.36.7.15) by XCH-RCD-018.cisco.com (173.37.102.28) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Wed, 24 Feb 2016 16:52:39 -0600
Received: from xch-aln-005.cisco.com ([173.36.7.15]) by XCH-ALN-005.cisco.com ([173.36.7.15]) with mapi id 15.00.1104.009; Wed, 24 Feb 2016 16:52:39 -0600
From: "Mo Zanaty (mzanaty)" <mzanaty@cisco.com>
To: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>, "Michael Ramalho (mramalho)" <mramalho@cisco.com>, "rmcat WG (rmcat@ietf.org)" <rmcat@ietf.org>
Thread-Topic: [rmcat] Review of rmcat-cc-codec-interactions
Thread-Index: AQHRb1YQg5ItDOIHuEW1CiCQOpj5pA==
Date: Wed, 24 Feb 2016 22:52:39 +0000
Message-ID: <D2F3370B.5A554%mzanaty@cisco.com>
References: <cbfb25002da84c24b5eb70b298731926@XCH-ALN-017.cisco.com> <56CD9488.8020705@tik.ee.ethz.ch>
In-Reply-To: <56CD9488.8020705@tik.ee.ethz.ch>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.6.1.160122
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.82.245.175]
Content-Type: multipart/alternative; boundary="_000_D2F3370B5A554mzanatyciscocom_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rmcat/b_KG1p61jlGmLhH12QBdS8ulofY>
Subject: Re: [rmcat] Review of rmcat-cc-codec-interactions
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, 24 Feb 2016 22:52:48 -0000

Hi Mirja,

Startup "Ramp" refers to rate (or window) increase over time at startup, not just the initial rate/window. The old app-interaction draft described this in section 5 (Interfaces and Interactions), but we were asked to remove this in the new cc-codec-interactions draft. Should we add this back?

https://tools.ietf.org/html/draft-ietf-rmcat-app-interaction-01#section-5

   o  Startup Ramp (CC-Codec): Initial rate (or number of packets in
      window-based CC proposals) and strategy for increasing the rate
      (or window) during media startup, similar to TCP intial congestion
      window and slow start.  See Section 5.4.3 for details.

While an initial window may be sufficient for TCP apps, it can be insufficient for codecs at startup. A codec can make many different (more intelligent) decisions at startup depending on the target ramp, versus usually making very poor decisions if only an initial rate is given.

If the only cc-codec interaction at startup is an initial rate, then Allowed Rate can already capture that interaction without anything special needed for startup. However, startup is indeed special because the initial rate is very transient and rapid increase is expected. Codecs can make better decisions if they are aware of the CC startup dynamics.

For example, if the codec is only told 300 kbps, it may adapt to a very low resolution like CIF with poor quantization in order to maintain a stable, moderate frame rate at 300 kbps. If instead it is told 300 kbps ramping up geometrically to 2.5 Mbps in 0.5 seconds, it may target HD 1080p with better quantization and pace the initial frame over a longer time until the startup rate stabilizes before attempting full frame rate.

Cheers,
Mo


On 2/24/16, 6:31 AM, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch<mailto:mirja.kuehlewind@tik.ee.ethz.ch>> wrote:

Hi Mo, hi Michael,

two comments as individual:

Reading this text part now, I don't think we need to negotiate the startup
ramp. Actually I'm not even sure what the term 'ramp' is supposed to mean
here. I believe we need is to indicate the maximum initial sending rate from
the cc to the codec. If the codec then delivers data with a lower rate that
should not be a problem for the cc. And the initial (max) sending can solely
be chosen by the cc, as it might either use a default value or some cached
info from previous transmission to the same receiver (over the same access
network).

Further, I agree that it is good to add one sentence that this rate has to be
chosen carefully (and a different value than a conservative default can only
be used if further information about or from the network is available). But I
don't really understand what exactly you want say with the two sentences that
you have added below...?

Mirja


On 16.02.2016 22:59, Michael Ramalho (mramalho) wrote:
All,

I have reviewed draft-zanaty-rmcat-cc-codec-interactions. My only comments
concern Section 5.2.2 (Startup Ramp).

In what follows I have added two sentences and modified a sentence in this
section.

****EXISTING TEXT****

5.2.2.  Startup Ramp

Startup Ramp (from Codec to CC, and from CC to Codec): Startup is an
important moment in a conversation.  Rapid rate adaptation during startup is
therefore important.  The codec should minimize its startup media rate as
much as possible without adversely impacting the user experience, and support
a strategy for rapid rate ramp.  The CC should allow the highest startup
media rate as possible without adversely impacting network conditions, and
also support rapid rate ramp until stabilizing on the available bandwidth.
Startup can be viewed as a negotiation between the codec and the CC.  The
codec requests a startup rate and ramp, and the CC responds with the
allowable parameters which may be lower/slower.  The RMCAT requirements also
include the possibility of bandwidth history to further accelerate or even
eliminate startup ramp time.  While this is highly desirable from an
application viewpoint, it may be less acceptable to network operators, since
it is in essence a gamble on current congestion state matching historical
state, with the potential for significant congestion contribution if the
gamble was wrong.  Note that startup can often commence before user
interaction or conversation to reduce the chance of clipped media.

****EXISTING TEXT****

****PROPOSED TEXT****

5.2.2.  Startup Ramp

Startup Ramp (from Codec to CC, and from CC to Codec): Startup is an
important moment in a conversation.  Rapid rate adaptation during startup is
therefore important.  The codec should minimize its startup media rate as
much as possible without adversely impacting the user experience, and support
a strategy for rapid rate ramp.  The CC should allow the highest startup
media rate as possible without adversely impacting network conditions, and
also support rapid rate ramp until stabilizing on the available bandwidth.
Startup can be viewed as a negotiation between the codec and the CC.  The
specification of the ramp may take a number of forms depending on the
interface to the codec; for example, a percentage bit rate increase per RTT
(or other time interval), or an increased transmit window (in number of
packets and/or octets allowed outstanding) are all potential forms.  The
codec requests a startup rate and ramp, and the CC responds with the
allowable parameters which may be lower/slower.  The RMCAT requirements also
include the possibility of bandwidth history to further accelerate or even
eliminate startup ramp time. While this acceleration or elimination in ramp
time is beneficial to the session user experience when bandwidth is
sufficient, it can be detrimental if significant congestion results (the user
experience of this session and all other sessions traversing the point of
congestion may unnecessarily degrade).  Therefore, it is recommended that use
of potentially stale congestion state for acceleration or elimination in ramp
up be limited to topologies or deployments believed to have sufficient
bandwidth margin or those in which the potential transient congestion risk is
acceptable.  Note that startup can often commence before user interaction or
conversation to reduce the chance of clipped media.

****PROPOSED TEXT****

The modification deletes the reference to "network operators", as I think the
point may be made that many network administrators (be they service providers
or other "network operators") or network designers/sizers would also have the
same concern.

I have reviewed this change with the present authors and they generally
approve of it. Other edits are welcome.

Regards,

Michael A. Ramalho, Ph.D.