From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH] Make CUBIC Hystart more robust to RTT variations Date: Wed, 9 Mar 2011 13:51:22 -0800 Message-ID: <20110309135122.1bafe500@nehalam> References: <20110308111011.GA27967@xanadu.blop.info> <4D764AAC.30302@ncsu.edu> <20110308.114346.48506864.davem@davemloft.net> <20110308152103.714f5f05@nehalam> <4D76D851.4050600@ncsu.edu> <20110309065319.GA23740@xanadu.blop.info> <20110309095659.1373c296@s6510> <20110309182505.GA25272@xanadu.blop.info> <20110309120120.5016cab5@nehalam> <20110309213356.GA2898@xanadu.blop.info> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Yuchung Cheng , Injong Rhee , David Miller , xiyou.wangcong@gmail.com, netdev@vger.kernel.org, sangtae.ha@gmail.com To: Lucas Nussbaum Return-path: Received: from mail.vyatta.com ([76.74.103.46]:51983 "EHLO mail.vyatta.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750977Ab1CIVvZ (ORCPT ); Wed, 9 Mar 2011 16:51:25 -0500 In-Reply-To: <20110309213356.GA2898@xanadu.blop.info> Sender: netdev-owner@vger.kernel.org List-ID: On Wed, 9 Mar 2011 22:33:56 +0100 Lucas Nussbaum wrote: > On 09/03/11 at 13:12 -0800, Yuchung Cheng wrote: > > On Wed, Mar 9, 2011 at 12:01 PM, Stephen Hemminger > > wrote: > > > On Wed, 9 Mar 2011 19:25:05 +0100 > > > Lucas Nussbaum wrote: > > > > > >> On 09/03/11 at 09:56 -0800, Stephen Hemminger wrote: > > >> > On Wed, 9 Mar 2011 07:53:19 +0100 > > >> > Lucas Nussbaum wrote: > > >> > > > >> > > On 08/03/11 at 20:30 -0500, Injong Rhee wrote: > > >> > > > Now, both tools can be wrong. But that is not catastrophic since > > >> > > > congestion avoidance can kick in to save the day. In a pipe where no > > >> > > > other flows are competing, then exiting slow start too early can > > >> > > > slow things down as the window can be still too small. But that is > > >> > > > in fact when delays are most reliable. So those tests that say bad > > >> > > > performance with hystart are in fact, where hystart is supposed to > > >> > > > perform well. > > >> > > > > >> > > Hi, > > >> > > > > >> > > In my setup, there is no congestion at all (except the buffer bloat). > > >> > > Without Hystart, transferring 8 Gb of data takes 9s, with CUBIC exiting > > >> > > slow start at ~2000 packets. > > >> > > With Hystart, transferring 8 Gb of data takes 19s, with CUBIC exiting > > >> > > slow start at ~20 packets. > > >> > > I don't think that this is "hystart performing well". We could just as > > >> > > well remove slow start completely, and only do congestion avoidance, > > >> > > then. > > >> > > > > >> > > While I see the value in Hystart, it's clear that there are some flaws > > >> > > in the current implementation. It probably makes sense to disable > > >> > > hystart by default until those problems are fixed. > > >> > > > >> > What is the speed and RTT time of your network? > > >> > I think you maybe blaming hystart for other issues in the network. > > >> > > >> What kind of issues? > > >> > > >> Host1 is connected through a gigabit ethernet LAN to Router1 > > >> Host2 is connected through a gigabit ethernet LAN to Router2 > > >> Router1 and Router2 are connected through an experimentation network at > > >> 10 Gb/s > > >> RTT between Host1 and Host2 is 11.3ms. > > >> The network is not congested. > > > > > > By my calculations (1G * 11.3ms) gives BDP of 941 packets which means > > > CUBIC would ideally exit slow start at 900 or so packets. Old CUBIC > > > slowstrart of 2000 packets means there is huge overshoot which means > > > large packet loss burst which would cause a large CPU load on receiver > > > processing SACK. > > It's not clear from Lucas's report that the hystart is exiting when > > cwnd=2000 or when sender has sent 2000 packets. > > Lucas could you clarify? > > When cwnd is around 2000. What is HZ on the kernel configuration. Part of the problem is the hystart code was only tested with HZ=1000 and there are some bad assumptions there. --