[L4s-discuss] UDP isochronous with TCP working loads
rjmcmahon <rjmcmahon@rjmcmahon.com> Tue, 28 November 2023 21:30 UTC
Return-Path: <rjmcmahon@rjmcmahon.com>
X-Original-To: l4s-discuss@ietfa.amsl.com
Delivered-To: l4s-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 250B7C151531 for <l4s-discuss@ietfa.amsl.com>; Tue, 28 Nov 2023 13:30:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=rjmcmahon.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Z5E2QRkFYytu for <l4s-discuss@ietfa.amsl.com>; Tue, 28 Nov 2023 13:30:01 -0800 (PST)
Received: from bobcat.rjmcmahon.com (bobcat.rjmcmahon.com [45.33.58.123]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0D28FC151093 for <l4s-discuss@ietf.org>; Tue, 28 Nov 2023 13:30:00 -0800 (PST)
Received: from mail.rjmcmahon.com (bobcat.rjmcmahon.com [45.33.58.123]) by bobcat.rjmcmahon.com (Postfix) with ESMTPA id C4C971B25F for <l4s-discuss@ietf.org>; Tue, 28 Nov 2023 13:30:00 -0800 (PST)
DKIM-Filter: OpenDKIM Filter v2.11.0 bobcat.rjmcmahon.com C4C971B25F
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjmcmahon.com; s=bobcat; t=1701207000; bh=RB195Spfz896ycE7I1Gom3kBDmUZf1yY0r5tS8wgnSc=; h=Date:From:To:Subject:From; b=fCUaMQlnwhpY+Ey9pF8czUtRcrzuVYn6Av4sTc6gtFAlDfSfGIkSRPBTKaug416zR ooKukqGAfoF0RWU44WlCVYYa6jECXXIR7jDVPoqeHKg6ZLmg6E7SQxPciwQY6ECmyH u2rwkg4dqMzrBH0scGpj6a7l4qtwFjW/n8CJX9Z0=
MIME-Version: 1.0
Date: Tue, 28 Nov 2023 13:30:00 -0800
From: rjmcmahon <rjmcmahon@rjmcmahon.com>
To: l4s-discuss@ietf.org
Message-ID: <962b5525deb40493da39cca02355c1c4@rjmcmahon.com>
X-Sender: rjmcmahon@rjmcmahon.com
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/l4s-discuss/aTck7nG1t-zYqAjnWbQRnUofP0w>
Subject: [L4s-discuss] UDP isochronous with TCP working loads
X-BeenThere: l4s-discuss@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Low Latency, Low Loss, Scalable Throughput \(L4S\) " <l4s-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/l4s-discuss>, <mailto:l4s-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/l4s-discuss/>
List-Post: <mailto:l4s-discuss@ietf.org>
List-Help: <mailto:l4s-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/l4s-discuss>, <mailto:l4s-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Nov 2023 21:30:05 -0000
Hi All, Greg White posted an iperf 2 ticket on sourceforge about isochronous, histograms and working loads. It's here. https://sourceforge.net/p/iperf2/tickets/283/ I've made the necessary code changes today and hope they meet requirements. Please feel free to try it out and report bugs or issues. Generally speaking, I'm very motivated to help low latency initiatives with iperf 2. So please do post tickets for desired functionality as Greg as done. Posting tickets allows me to show my employer that iperf 2 is somewhat driven by a collaboration of strategic and high skill engineers with no marketing behind it. It's for engineers and by engineers, and I'd like to keep that going so your support helps. You'll need to set working-loads on the server side when UDP is set via -u. This just enables a second thread to take TCP accepts. You'll see that in the outputs. The second thread won't bother anything so one can do this for any test. root@raspberrypi:/usr/local/src/iperf2-code# iperf -s -u -i 1 -e --working-load ------------------------------------------------------------ Server listening on UDP port 5001 with pid 20024 Working load listening on TCP port 5001 Read buffer size: 1470 Byte UDP buffer size: 208 KByte (default) ------------------------------------------------------------ Bob An example run is below (I didn't enable --histogram though that's supported too) root@raspberrypi:/usr/local/src/iperf2-code# src/iperf -c 192.168.1.31 -i 1 -e --trip-times --isochronous=60pps -u --working-load=up,2 -t 3 ------------------------------------------------------------ Client connecting to 192.168.1.31, UDP port 5001 with pid 12569 (1/2 flows/load) Isochronous: 60.00 frames/sec mean=20.0 Mbit/s, stddev=0.000 bit/s, Period/IPG=16.67/0.000 ms TOS set to 0x0 (Nagle on) UDP buffer size: 208 KByte (default) ------------------------------------------------------------ [ 1] local 192.168.1.30%eth0 port 42498 connected with 192.168.1.31 port 5001 (isoch) (trip-times) (sock=3) on 2023-11-28 13:26:14.629 (PST) [ 3] local 192.168.1.30%eth0 port 42536 connected with 192.168.1.31 port 5001 (prefetch=16384) (trip-times) (sock=5) (icwnd/mss/irtt=14/1448/4429) (ct=4.67 ms) on 2023-11-28 13:26:14.629 (PST) [ 2] local 192.168.1.30%eth0 port 42534 connected with 192.168.1.31 port 5001 (prefetch=16384) (trip-times) (sock=4) (icwnd/mss/irtt=14/1448/4506) (ct=4.66 ms) on 2023-11-28 13:26:14.629 (PST) [ ID] Interval Transfer Bandwidth Write/Err Rtry Cwnd/RTT(var) NetPwr [ 2] 0.00-1.00 sec 36.7 MBytes 308 Mbits/sec 26210/0 0 70K/1150(132) us 33503 [ 3] 0.00-1.00 sec 62.7 MBytes 526 Mbits/sec 44710/0 0 248K/1036(7) us 63440 [ ID] Interval Transfer Bandwidth Write/Err PPS isoch:tx/miss/slip [ 1] 0.00-1.00 sec 2.39 MBytes 20.0 Mbits/sec 1740/0 1770 pps 61/0/0 [ 2] 1.00-2.00 sec 39.0 MBytes 327 Mbits/sec 27793/0 0 74K/1578(171) us 25891 [ 3] 1.00-2.00 sec 67.3 MBytes 565 Mbits/sec 48021/0 0 248K/1262(26) us 55936 [ 1] 1.00-2.00 sec 2.38 MBytes 20.0 Mbits/sec 1740/0 1740 pps 60/0/0 [ 1] 2.00-3.00 sec 2.38 MBytes 20.0 Mbits/sec 1740/0 1740 pps 60/0/0 [ 1] 0.00-3.00 sec 7.16 MBytes 20.0 Mbits/sec 5222/0 1741 pps 181/0/0 [ 1] Sent 5224 datagrams [ 1] Isoch schedule errors (mean/min/max/stdev) = 0.070/0.065/0.107/0.005 ms [ 2] 2.00-3.00 sec 38.9 MBytes 327 Mbits/sec 27782/0 0 77K/1436(133) us 28440 [ 3] 2.00-3.00 sec 67.8 MBytes 569 Mbits/sec 48392/0 0 248K/1264(69) us 56279 [ 1] Server Report: [ ID] Interval Transfer Bandwidth Jitter Lost/Total Latency avg/min/max/stdev PPS Rx/inP Read/Timeo/Trunc NetPwr [ 1] 0.00-3.00 sec 7.16 MBytes 20.0 Mbits/sec 0.019 ms 0/5223 (0%) 0.814/0.322/2.107/0.176 ms 1740 pps 1740/0(0) pkts 0/0/0 3073 [ 1] 0.00-3.00 sec 7 datagrams received out-of-order [ 3] 0.00-3.01 sec 198 MBytes 550 Mbits/sec 141125/0 0 248K/2730(3442) us 25206 [ 2] 0.00-3.01 sec 115 MBytes 319 Mbits/sec 81786/0 0 77K/2075(1963) us 19219 root@raspberrypi:/usr/local/src/iperf2-code# iperf -s -u -i 1 -e --working-load ------------------------------------------------------------ Server listening on UDP port 5001 with pid 20024 Working load listening on TCP port 5001 Read buffer size: 1470 Byte UDP buffer size: 208 KByte (default) ------------------------------------------------------------ [ 1] local 192.168.1.31%eth0 port 5001 connected with 192.168.1.30 port 42498 (isoch) (trip-times) (sock=3) (peer 2.1.10-dev) on 2023-11-28 13:26:14.631 (PST) [ 2] local 192.168.1.31%eth0 port 5001 connected with 192.168.1.30 port 42536 (trip-times) (sock=5) (peer 2.1.10-dev) (icwnd/mss/irtt=14/1448/4485) on 2023-11-28 13:26:14.636 (PST) [ 3] local 192.168.1.31%eth0 port 5001 connected with 192.168.1.30 port 42534 (trip-times) (sock=7) (peer 2.1.10-dev) (icwnd/mss/irtt=14/1448/4457) on 2023-11-28 13:26:14.637 (PST) [ ID] Interval Transfer Bandwidth Burst Latency avg/min/max/stdev (cnt/size) inP NetPwr Reads=Dist [ 3] 0.00-1.00 sec 36.7 MBytes 308 Mbits/sec 0.936/0.338/11.141/0.322 ms (26184/1470) 35.2 KByte 41108 37713=2365:2177:2559:4428:4238:2748:2177:2364 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Latency avg/min/max/stdev PPS Frame:rx/lost Frame-latency avg/min/max/stdev NetPwr [ 1] 0.00-1.00 sec 2.39 MBytes 20.0 Mbits/sec 0.022 ms 0/1741 (0%) 0.786/0.322/2.107/0.212 ms 1770 pps 61 / 0 1.353/1.097/2.622/0.205 ms 3184 [ 1] 0.00-1.00 sec 7 datagrams received out-of-order [ 2] 0.00-1.00 sec 62.6 MBytes 525 Mbits/sec 0.673/0.268/10.861/0.169 ms (44678/1470) 43.2 KByte 97537 56610=2147:2603:3470:3712:3490:3552:2743:2132 [SUM-cnt] Interval Transfer Bandwidth InP Reads=Dist [SUM-3] 0.00-1.00 sec 102 MBytes 853 Mbits/sec 78.5 KByte 94323=4512:4780:6029:8140:7728:6300:4920:4496 [ 3] 1.00-2.00 sec 39.0 MBytes 327 Mbits/sec 0.979/0.524/5.310/0.313 ms (27793/1470) 39.1 KByte 41721 40725=2453:2392:2987:5099:4904:3184:2392:2453 [ 1] 1.00-2.00 sec 2.38 MBytes 20.0 Mbits/sec 0.024 ms 0/1740 (0%) 0.813/0.510/1.310/0.152 ms 1740 pps 60 / 0 1.357/1.097/2.622/0.161 ms 3073 [ 2] 1.00-2.00 sec 67.3 MBytes 565 Mbits/sec 0.686/0.328/4.076/0.175 ms (48017/1470) 47.3 KByte 102861 61868=2469:3084:4042:4256:4015:4092:3275:2444 [SUM-3] 1.00-2.00 sec 109 MBytes 912 Mbits/sec 86.4 KByte 102593=4922:5476:7029:9355:8919:7276:5667:4897 [ 1] 2.00-3.00 sec 2.38 MBytes 20.0 Mbits/sec 0.017 ms 0/1740 (0%) 0.843/0.548/1.328/0.152 ms 1740 pps 60 / 0 1.362/1.097/2.622/0.145 ms 2966 [ 1] 0.00-3.00 sec 7.16 MBytes 20.0 Mbits/sec 0.019 ms 0/5223 (0%) 0.814/0.322/2.107/0.176 ms 1741 pps 181 / 0 1.362/1.097/2.622/0.145 ms 3073 [ 1] 0.00-3.00 sec 7 datagrams received out-of-order [ 3] 2.00-3.00 sec 38.9 MBytes 327 Mbits/sec 1.001/0.488/2.403/0.288 ms (27775/1469) 39.9 KByte 40776 40440=2315:2392:2950:5009:4790:3168:2392:2315 [ 2] 2.00-3.00 sec 67.8 MBytes 569 Mbits/sec 1.209/0.414/15.540/2.164 ms (48395/1470) 84.0 KByte 58847 61032=2197:2946:3723:3770:3530:3769:3140:2173 [SUM-4] 2.00-3.00 sec 109 MBytes 916 Mbits/sec 124 KByte 101472=4512:5338:6673:8779:8320:6937:5532:4488 [ 3] 0.00-3.01 sec 115 MBytes 320 Mbits/sec 0.973/0.338/11.141/0.310 ms (81786/1470) 44.0 KByte 41059 118930=7138:6965:8502:14539:13934:9107:6965:7137 [ 2] 0.00-3.01 sec 198 MBytes 552 Mbits/sec 0.861/0.268/15.540/1.299 ms (141125/1470) 51.9 KByte 80032 179562=6814:8635:11241:11747:11044:11419:9160:6749 [SUM-2] 0.00-3.01 sec 320 MBytes 890 Mbits/sec 95.9 KByte 596880=13952:15600:19743:26286:24978:20526:16125:13886