UDP send costs in Linux
Ian Swett <ianswett@google.com> Wed, 04 April 2018 00:20 UTC
Return-Path: <ianswett@google.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2A54E1241F3 for <quic@ietfa.amsl.com>; Tue, 3 Apr 2018 17:20:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.709
X-Spam-Level:
X-Spam-Status: No, score=-2.709 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 dFBOvENr9wGA for <quic@ietfa.amsl.com>; Tue, 3 Apr 2018 17:20:21 -0700 (PDT)
Received: from mail-it0-x22e.google.com (mail-it0-x22e.google.com [IPv6:2607:f8b0:4001:c0b::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F5491205F0 for <quic@ietf.org>; Tue, 3 Apr 2018 17:20:21 -0700 (PDT)
Received: by mail-it0-x22e.google.com with SMTP id v194-v6so25201912itb.0 for <quic@ietf.org>; Tue, 03 Apr 2018 17:20:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=/FTCRuDXr7i3YCeb4zLfqHSPL5DpLQGTkd72w6kLCeE=; b=eWlWe+bXTzuh2dTMVMEgnYnC7nMVyArYSkJuPlDFlvM2hnr9rRsyWAynRS8COtNjDh swJHzv+4h9UFChe8UKrUUhktJVlSE65tsbViN8RG9QUdxBxm6vAg1NoxxQLQscUHGU6l InCKd5JlV7WZARkYL/E77twJ3Lc8vtKiBL9tvesBLpLVsxBPv6t3LFWakmXxxmhI7zdV L9kaDWrcG9vHiLN74bEJxe4dei1foHcYiI6eGXSVdyyeONP+3P4Od3O5RcXX4YU+rtjw HukWCIMMV8SvezEr+HdNNVI3nF9dNJsMR6HLXUHmCV3xbBW/zZhAX5oi+UABmceU5D6O cpAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=/FTCRuDXr7i3YCeb4zLfqHSPL5DpLQGTkd72w6kLCeE=; b=tgp2IrcrKPVJfAp9DSweLNOw1av1QFN8AvoMOD3km87WbG9F4ttmIaydiRb7qpvJbY UTc9qIUCiTF2Dru/qL5/REyjNUudae6fUlwgpS9kHza0/QWAA7ff/9GF6XKlCvXEIVRp 6gw3TqT5plZ1K7lK9/CBqDiz26rIc0Ttg+8lOnzw+uozY4egtROsrC4QFBbugufrhGDW 4+g+SjgUdJb5O6WPT4qEqj0dZJHdfZXWC8V73i+Hxrt5iJ54O9rzSeNuExAYq6pC71tP 5ZkmpGmhjzYxqdSc9+6u2FQDJ75/QIayoWH10ijYH6BjqZPXYCboUIEUXI7ZU9gT7+HP tENg==
X-Gm-Message-State: ALQs6tDgeibKkZeGiPvsa5w7toWmHXJ6GyRDGJmHS/2GbJp2AJECUJH/ YPk0S2fOrtvLc8jZhWDx/RWS15jDd37W8a9OmZfyG1QnhxI=
X-Google-Smtp-Source: AIpwx4+GCloe6vPpQHHnAQDpVsQfaU0dhh0eOHIrcMYkHsMQDu4ctayGfAVevEMGzHTQ1+CwRLdkSI7CSVhpcoV1X7U=
X-Received: by 2002:a24:618f:: with SMTP id s137-v6mr7749575itc.40.1522801220148; Tue, 03 Apr 2018 17:20:20 -0700 (PDT)
MIME-Version: 1.0
From: Ian Swett <ianswett@google.com>
Date: Wed, 04 Apr 2018 00:20:08 +0000
Message-ID: <CAKcm_gP4zz1bW5T-_N2Oxy6o5Sw2mEs3DFU9_HrmfkuaJyLz0A@mail.gmail.com>
Subject: UDP send costs in Linux
To: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000caebbf0568fac9ec"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/fSwoMrI1XPsyMfC7MZwXSG7L9v8>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Apr 2018 00:20:23 -0000
One challenge with QUIC at the moment is the increased CPU cost of sending UDP packets vs TCP payloads. I've seen this across every platform Google has deployed QUIC on, so it's a widespread issue. Here's an excellent presentation on what's causing the increased CPU consumption on Linux from Willem de Bruijn(UDP starts on slide 9). http://vger.kernel.org/netconf2017_files/rx_hardening_and_udp_gso.pdf And while you're thinking of CPU usage, it's worth looking at the presentation on timing wheel based packet pacing(which is minimum release time based) and is ideal for QUIC(and TCP for that matter): https://conferences.sigcomm.org/sigcomm/2017/files/program/ts-9-4-carousel.pdf -Ian
- UDP send costs in Linux Ian Swett
- Re: UDP send costs in Linux Subodh Iyengar
- Re: UDP send costs in Linux Ian Swett
- Re: UDP send costs in Linux Mikkel Fahnøe Jørgensen
- Re: UDP send costs in Linux Phillip Hallam-Baker
- RE: UDP send costs in Linux Praveen Balasubramanian
- Re: UDP send costs in Linux Frederick Kautz
- Re: UDP send costs in Linux Mikkel Fahnøe Jørgensen
- RE: UDP send costs in Linux Praveen Balasubramanian
- Re: UDP send costs in Linux Frederick Kautz