[tcpm] last_max in CUBIC
Nicolas Kuhn <nicolas.kuhn@telecom-bretagne.eu> Thu, 23 April 2015 16:22 UTC
Return-Path: <nicolas.kuhn@telecom-bretagne.eu>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0B6561A3BA3 for <tcpm@ietfa.amsl.com>; Thu, 23 Apr 2015 09:22:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.349
X-Spam-Level:
X-Spam-Status: No, score=0.349 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, HELO_EQ_FR=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no
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 FTKkLqzASh4a for <tcpm@ietfa.amsl.com>; Thu, 23 Apr 2015 09:22:49 -0700 (PDT)
Received: from zproxy220.enst-bretagne.fr (zproxy220.enst-bretagne.fr [192.108.117.9]) by ietfa.amsl.com (Postfix) with ESMTP id 97F831A6EF0 for <tcpm@ietf.org>; Thu, 23 Apr 2015 09:22:42 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by zproxy220.enst-bretagne.fr (Postfix) with ESMTP id 2A341301FB for <tcpm@ietf.org>; Thu, 23 Apr 2015 18:22:41 +0200 (CEST)
Received: from zproxy220.enst-bretagne.fr ([127.0.0.1]) by localhost (zproxy220.enst-bretagne.fr [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id GoYI8PCvxTJb for <tcpm@ietf.org>; Thu, 23 Apr 2015 18:22:40 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by zproxy220.enst-bretagne.fr (Postfix) with ESMTP id 4E4BA301FD for <tcpm@ietf.org>; Thu, 23 Apr 2015 18:22:40 +0200 (CEST)
X-Virus-Scanned: amavisd-new at zproxy220.enst-bretagne.fr
Received: from zproxy220.enst-bretagne.fr ([127.0.0.1]) by localhost (zproxy220.enst-bretagne.fr [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 9vad-ftdgbwE for <tcpm@ietf.org>; Thu, 23 Apr 2015 18:22:40 +0200 (CEST)
Received: from [172.24.36.178] (c-89-160-21-91.cust.bredband2.com [89.160.21.91]) by zproxy220.enst-bretagne.fr (Postfix) with ESMTPSA id 95327301FB for <tcpm@ietf.org>; Thu, 23 Apr 2015 18:22:34 +0200 (CEST)
From: Nicolas Kuhn <nicolas.kuhn@telecom-bretagne.eu>
Content-Type: multipart/alternative; boundary="Apple-Mail=_E234CAB6-EBD5-4349-892B-2C69F250A2DC"
Message-Id: <EA2D4071-0A9F-4951-B38B-D8FE23B6A86F@telecom-bretagne.eu>
Date: Thu, 23 Apr 2015 18:22:23 +0200
To: tcpm@ietf.org
Mime-Version: 1.0 (Mac OS X Mail 8.0 \(1990.1\))
X-Mailer: Apple Mail (2.1990.1)
Archived-At: <http://mailarchive.ietf.org/arch/msg/tcpm/i8BunwamptHSgkjZqyxbVDzsFn4>
Subject: [tcpm] last_max in CUBIC
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 23 Apr 2015 16:22:52 -0000
Hi all, We were currently working on CUBIC and LEDBAT in NS-2, using Michael Welzl’s updated TCP Linux for NS-2 [http://www.ietf.org/mail-archive/web/iccrg/current/msg01160.html]. We see some strange behaviour in CUBIC’s window reduction, which we wanted to share with you here. — Topology — The topology is a simple dumbbell topology with a bottleneck of 10Mbps and an RTT of 100ms. The queue size of the router is set to 42 packets (with DropTail). There are two non-application limited bulk flows that randomly start within the first second of the simulation. Flow#1 is CUBIC (using ns-2.35/tcp/src/tcp_cubic.c version); Flow#2 is LEDBAT with a target delay of 5 ms or 25ms. — Problem illustration — In cwnd_case_1_default.pdf and cwnd_case_2_default.pdf, we plot the congestion window evaluation and the “new last_max_cwnd”, that is the W_last_max in the CUBIC draft [https://datatracker.ietf.org/doc/draft-zimmermann-tcpm-cubic]. We recall here how CUBIC deals with fast convergence: if (W_max < W_last_max){ W_last_max = W_max; W_max = W_max*(2-beta)/2; } else { W_last_max = W_max } In the case with LEDBAT25, at 15s, W_last_max “should” have been reduced, but we have W_max == W_last_max, which makes that CUBIC does not reduce W_last_max and “loops”, would not have its expected behaviour. — Problem resolution — Based on that observation, we have changed the following CUBIC code as follows: if (W_max < W_last_max){ -> if (W_max <= W_last_max){ We plot the updated performance in cwnd_case_1_NK.pdf and cwnd_case_2_NK.pdf. — Discussion — We acknowledge that this effect may not occur often in real life and might be a simulation artefact. However, we have been looking around and are wondering the rationale of having if (W_max < W_last_max){ instead of if (W_max <= W_last_max){ What do you think about it ? Why would not we change the ‘<‘ for a ‘<=‘ ? Kind regards, Nicolas KUHN Emmanuel LOCHIN Si Quoc Viet TRANG
- [tcpm] last_max in CUBIC Nicolas Kuhn
- Re: [tcpm] last_max in CUBIC Neal Cardwell
- Re: [tcpm] last_max in CUBIC Nicolas Kuhn