Re: [EToSat] Picoquic, satellites and BBR

"Su, Chi-Jiun" <Chi-Jiun.Su@hughes.com> Tue, 07 January 2020 19:54 UTC

Return-Path: <prvs=12756baea9=chi-jiun.su@hughes.com>
X-Original-To: etosat@ietfa.amsl.com
Delivered-To: etosat@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DE5A712085F for <etosat@ietfa.amsl.com>; Tue, 7 Jan 2020 11:54:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=hughes.com header.b=XNVWosTB; dkim=pass (1024-bit key) header.d=hughes.com header.b=bN+mhnrU
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 pYp8QC4zkrif for <etosat@ietfa.amsl.com>; Tue, 7 Jan 2020 11:54:36 -0800 (PST)
Received: from mx0a-00115402.pphosted.com (mx0a-00115402.pphosted.com [148.163.150.3]) (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 9FF24120824 for <etosat@ietf.org>; Tue, 7 Jan 2020 11:54:36 -0800 (PST)
Received: from pps.filterd (m0118426.ppops.net [127.0.0.1]) by mx0a-00115402.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 007Js0ib031775; Tue, 7 Jan 2020 19:54:35 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hughes.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=3152018; bh=mQpL5rvq8zOZrW4pCKzvpkqi8w/boTGs8qf/FhVrjwM=; b=XNVWosTBx80qBHS0bUK9mEjmlREaD4/nxBveHXqfI2dzQzS4iMxIDKuhbg00pmVzLx45 ozNafaje4oKX1xt2H2/p3/gYNDHvN/UoMDO9dV1n04Ie545YiI6J47ZdnYrsKPeDu4An rHVe1Z8qZNjvlUe7FTLj/6fTpvDO4/jTMoGQ7XW0BFINmHa9j/Bs0itOUfJAbjpZ9TfP 6pvKZwgaVVZvxrq19A+X8DMcwJWbOBXjcN5x4xaj5Zsj54KxiXb8nfAN51uKWR5K/wJx V40hNep2LTHxpDEsbwStaK4DrHO/51exdDKN/DhFlnu+YtaXhU+veNUfbwNvRbgIxqV5 /w==
Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175]) by mx0a-00115402.pphosted.com with ESMTP id 2xce4nmg3q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Jan 2020 19:54:34 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YJ3tuQVaWNG8PvvhuczWl8ATbm7fAd5nq9t5FZdG2tG4qJQ+mp62o8QH8SHyP0I8uiAwPnap7spGVtXnN6ZW5WXg35XjTeoCAjwUFP2TEVKgk0k+1v7VDWWR7oNHo/67UX+YKVOplW89n49CKM5k7aOycQvOxNjPWE4sLt4rsK35v8ZQ9axyY8HSUy3pDKo+ABbN1jUJj1Q+qJZI0nHvi7yBHzCdXqpS4PBEUbGjR7U9vsBwUuly2O6f5D8aTIQSOKejGjPT9syUvtBoub1YzIaISz1264lgQ7srbEcGFByUf99Es+PcHm9zDdqd3FpbVlQ3dBHC3KwzpYN4BBpS7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mQpL5rvq8zOZrW4pCKzvpkqi8w/boTGs8qf/FhVrjwM=; b=IxFH1PNaD+2fn8eDuasAxDMv293XHU1Nnuaju7yVhtr9Hoo5y62yV8zQ4lWLsN8cbiq46TAdvRDXElNM5ENQvfIqJ0ixYUodTPbV3ImQmLLwAj7OPzJeOUsDe3mmjoKAmSoD2dlJeOueNnm12osU2i/xZcZWy6Q3TaAFWwxT5YzbAezCIorowXPmKiqYWjpHq7tmU5eok8c8CyFYgqEmlxAQC/HGdrgf/54su3LyG5GOObW2AWHymNV20LeuxcxdEVvuCbyZrENmrlyNir9vhrNmQSgc/wNWyWWpgVpKvtbxtl5p5mLZa10gXTWf4MiT3DEmkuQ8sLR7nlMOp/sbrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hughes.com; dmarc=pass action=none header.from=hughes.com; dkim=pass header.d=hughes.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hughes.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mQpL5rvq8zOZrW4pCKzvpkqi8w/boTGs8qf/FhVrjwM=; b=bN+mhnrUU5vYdk3eOIknzhQ74sOa42v/XRxuRimzRZk4jgFKsfNPpNAFO0FhAgKACzV5Cfl1YQ8GqyL5bLih3PM5/GAstGmu3CEQxXVYSuKzFnFzFoUUezNkfh3XyCq4t5+uVgbmV1jUEUJwZkFR8Ckgx7VbXbiBkygihHsCVDg=
Received: from BYAPR11MB3078.namprd11.prod.outlook.com (20.177.225.85) by BYAPR11MB3798.namprd11.prod.outlook.com (20.178.206.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2623.9; Tue, 7 Jan 2020 19:54:27 +0000
Received: from BYAPR11MB3078.namprd11.prod.outlook.com ([fe80::613d:5c09:e614:3607]) by BYAPR11MB3078.namprd11.prod.outlook.com ([fe80::613d:5c09:e614:3607%4]) with mapi id 15.20.2602.015; Tue, 7 Jan 2020 19:54:27 +0000
From: "Su, Chi-Jiun" <Chi-Jiun.Su@hughes.com>
To: Christian Huitema <huitema@huitema.net>, "etosat@ietf.org" <etosat@ietf.org>
Thread-Topic: [EToSat] Picoquic, satellites and BBR
Thread-Index: AQHVweeLa3vV08o4j0afoTSg9J8Uw6ffo1lQ
Date: Tue, 07 Jan 2020 19:54:27 +0000
Message-ID: <BYAPR11MB30786BC54CC0ABCD9E0C16BBCE3F0@BYAPR11MB3078.namprd11.prod.outlook.com>
References: <BL0PR11MB3394354FD21C86492999FB8590420@BL0PR11MB3394.namprd11.prod.outlook.com> <CAJ5e+HCjai4Z+Cqddo3FDNDnKO_Lpow=T_JfB0+LJ_6JXEuPwQ@mail.gmail.com> <SN6PR11MB3087D0B3421F93B42A2B6C49CE5D0@SN6PR11MB3087.namprd11.prod.outlook.com> <ab05b524-633d-1660-bfc2-1ff8332dea66@huitema.net>
In-Reply-To: <ab05b524-633d-1660-bfc2-1ff8332dea66@huitema.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [139.85.223.11]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3c55b217-7cf5-4c6b-f759-08d793ab6742
x-ms-traffictypediagnostic: BYAPR11MB3798:
x-microsoft-antispam-prvs: <BYAPR11MB37988460D9B57BB74F84E1A3CE3F0@BYAPR11MB3798.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 027578BB13
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6029001)(396003)(39860400002)(346002)(136003)(376002)(366004)(189003)(199004)(13464003)(53546011)(6506007)(86362001)(186003)(2906002)(71200400001)(7696005)(110136005)(55016002)(316002)(9686003)(478600001)(66446008)(64756008)(66556008)(66476007)(33656002)(8676002)(81156014)(81166006)(5660300002)(66946007)(76116006)(26005)(52536014)(8936002)(966005); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR11MB3798; H:BYAPR11MB3078.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: hughes.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 7utQJ9UPhmAPU2BDAGNZEBBInAwBp7VRxwG0Eroezy56eVtopv38Z21fTKYUNTA4C9+ET2uKXRbezzrR/0tEL/NRVVmZ7UaX52QH3fkkNdDq+Ieez62CeM0nmJ3dSSuTo2mDXZGRvKDgbDTe4oeZEDFSGPzeU/U4Qpnp9f8pP4hmr+2HIlYyXdMEiHj/XfbgZhF19CXN3/3QmIOhTxHSw/vHA4hGtWGrGxjJ8vKiKfm9fd8CtlQpFa38znQLBwv+6zKt3Doq63zoSgimvIXDLAyeQRe0FJI0YP726bVJzTHbI2nWAdbD0LCmdHahZIes5cPFqANHiO4kvqSLxRdZnFBJpXTleFbWm/kJWOTUkcum8LtQRAZspClR+z7CtZRTp3F9ttB81KwXbpz5eQhQ4/brhZK4azmBypksoHWjoqegZBJRIN65DzPVr7QmpFg4gf++bdHcm1cppQe0RoZhKN2JR3VzPKpuCxQonUt/7Y3gymraDSo1QYHZom85PmJFI2g51/8SX9YQ9SgweZpmAjGyouTM4ZFivwsIy/OJe51uO77LRNtHuWep9EuU+vWX
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: hughes.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c55b217-7cf5-4c6b-f759-08d793ab6742
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jan 2020 19:54:27.5618 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 0e1f3187-4610-4ce2-bad1-b92f4ba36ab3
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: iTjYQ1aCssGlzDEfeDGtjJSX4+3KQpAImd+qYydLqJIrME6SOKd+Ha4lXH5c036nIv6lW7SmMky7iMZZtwNWlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3798
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-01-07_06:2020-01-07, 2020-01-07 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 phishscore=0 adultscore=0 mlxlogscore=999 priorityscore=1501 spamscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1910280000 definitions=main-2001070156
Archived-At: <https://mailarchive.ietf.org/arch/msg/etosat/qHBAwxsTzXYYg1pCMHSsiBA7zdU>
Subject: Re: [EToSat] Picoquic, satellites and BBR
X-BeenThere: etosat@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "The EToSat list is a non-WG mailing list used to discuss performance implications of running encrypted transports such as QUIC over satellite." <etosat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/etosat>, <mailto:etosat-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/etosat/>
List-Post: <mailto:etosat@ietf.org>
List-Help: <mailto:etosat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/etosat>, <mailto:etosat-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Jan 2020 19:54:42 -0000

Hi Christian, 

Thank you for doing a detailed analysis of quic performance over satellite:
- Startup performance
- Impact of Ack and fixes
- performance under packet loss.

Also thanks for implementing satellite fixes.
Picoquic can be used to compare the performance with other enhancement proposals such as BDP options.

Currently, operational configuration of production level software seems to limit the steady state throughput of QUIC over a high BDP link.

The following are the parameters configured in gQUIC (chromium), IIRC, 

- maximum congestion window is 2000 packets (~2.6MByte, 35Mbps for 600msec RTT)

Flow control limit
- maximum receive window sizes for QUIC streams is 6MB
- maximum receive window sizes for QUIC sessions is 15 MB

High BDP link requires bigger values than those.

thanks.
cj

-----Original Message-----
From: EToSat <etosat-bounces@ietf.org> On Behalf Of Christian Huitema
Sent: Thursday, January 2, 2020 10:40 PM
To: etosat@ietf.org
Subject: [EToSat] Picoquic, satellites and BBR

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

I spent some time updating the Picoquic code so it performs decently on

satellite links. I added a set of tests mimicking the 250/3 "clean" and

250/3 lossy scenarios. I did not implement the proposed extension yet,

but here is are the first results, running on a simulator:



1) Upload 100MB over 250 Mbps link with 3 Mbps return link, no

transmission errors: completes in about 6.4 seconds.



2) Upload 100MB over 250 Mbps link with 3 Mbps return list, 1.6%

transmission errors: completes in about 9.8 seconds.



The transmission buffers were set to 1 BDP on each side.



The tests use upload instead of download because of some limitations of

my setup: it was easier for me to instrument the client rather than the

server. Download tests would last the same time.



In both cases, the congestion control algorithm is set to BBR, with a

couple of small modifications: time stamps in ACKs, and Hystart style

replacement of start-up. BBR does not reduce data rate on transient

losses like those found in the lossy scenario. Picoquic implements ACK

coalescing, with 10 packets per ACK when transmitting at high rate.



For the "clean" test, the 6.4 seconds include 0.6 second for setting the

connection, 0.6 for requesting/confirming the file, and 0.6 for closing

the connection. The actual transmission lasts 5.2 seconds, running at

153 Mbps on average, 61% efficiency. The main overhead is the ramp-up

time, from the initial window to the nominal data rate. In the tests

that lasts about 3.6 seconds. After that, the transmission rate

stabilizes close to full utilization. I did a couple of tests

downloading 1GB instead of 100MB, and the last 900MB are transmitted at

or close to line rate.



For the "lossy" test, there is significant additional delay at the end

of the transmission. At full speed, the BDP is 18.75 MB, i.e. close to

13000 packets. Out of these, about 200 will need to be resent once, and

3 of those will have to be resent twice. That means adding a couple of

RTOs at the end of the transmission. That explains about 90% of the

difference with the "clean" test. I suppose that I could work on the

retransmission code and reduce these delays a bit. Most of the work I

did so far dealt with performance issues caused by long ACK lists and

frequent "holes", not on actual efficiency of error correction. But even

with frequent losses, the transmission rate stabilizes at or close to

line rate.



I added time stamps to the ACK frames when testing the asymmetry. I

wanted to measure how much of the delays were due to transmit side

queues, and how much to ACK queues. Asymmetry actually ceased to be a

problem after ACK coalescing was properly debugged. In the latest tests,

all the delay variations are due to the transmit side queues, and I

would get the same results without the timestamps. Still, time stamps in

ACKs are a good idea in general. It is an insurance against ACK

coalescing in ACK queueing in the network, enabling proper bandwidth

measurements even when the ACK link is congested. It seems very valuable

when using BBR or delay-based congestion control like FAST or LEDBAT.



I had an issue with the "startup" algorithm of BBR. Early testing showed

that BBR startup phase requires several more RTT than the Hystart

process used in modern versions of Reno or Cubic. BBR only ramps up the

data rate after the first bandwidth measurement is available, 2*RTT

after start, while Reno or Cubic start ramping up after just 1 RTT. BBR

only exits startup if three consecutive RTT pass without significant BW

measurement increase, which not only adds delay but also creates big

queues as data is sent at 2.89 times the bottleneck rate for an addition

2 RTT. This is a tradeoff: longer search for bandwidth in slow start is

less likely to stop too early because of transient issues, but on high

bandwidth and long delay links this translates to long delays and a big

batch of packet losses. The BBR implementation in Picoquic addresses

these issues by switching to Hystart instead of BBR-startup if the RTT

is above 100 ms.



This batch of "satellite" fixes is implemented in the latest version of

Picoquic.



Of course, I am still waiting for the BDP option, which could solve the

"ramp up" issue. I just want to make sure that we are not opening a big

DOS mechanism.



-- Christian Huitema









_______________________________________________

EToSat mailing list

EToSat@ietf.org

https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/etosat__;!!Emaut56SYw!los_YyTDsxcqaA5g26kUP5CfnLjARb897F1irGgXDEnAwFRyLzV57jzkcNe-ePr7Rw$