RE: Impact of hardware offloads on network stack performance
"Deval, Manasi" <manasi.deval@intel.com> Thu, 10 May 2018 13:38 UTC
Return-Path: <manasi.deval@intel.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 C5324124217 for <quic@ietfa.amsl.com>; Thu, 10 May 2018 06:38:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=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 xOdXzeq1-7kb for <quic@ietfa.amsl.com>; Thu, 10 May 2018 06:38:26 -0700 (PDT)
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 7ABEC12DA14 for <quic@ietf.org>; Thu, 10 May 2018 06:38:26 -0700 (PDT)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 May 2018 06:38:25 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos; i="5.49,385,1520924400"; d="scan'208,217"; a="40178803"
Received: from orsmsx107.amr.corp.intel.com ([10.22.240.5]) by orsmga008.jf.intel.com with ESMTP; 10 May 2018 06:38:25 -0700
Received: from orsmsx114.amr.corp.intel.com (10.22.240.10) by ORSMSX107.amr.corp.intel.com (10.22.240.5) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 10 May 2018 06:38:25 -0700
Received: from orsmsx111.amr.corp.intel.com ([169.254.12.62]) by ORSMSX114.amr.corp.intel.com ([169.254.8.88]) with mapi id 14.03.0319.002; Thu, 10 May 2018 06:38:24 -0700
From: "Deval, Manasi" <manasi.deval@intel.com>
To: craigt <c@gryning.com>, Roberto Peon <fenix@fb.com>
CC: Watson Ladd <watsonbladd@gmail.com>, Mike Bishop <mbishop@evequefou.be>, Praveen Balasubramanian <pravb@microsoft.com>, "Lubashev, Igor" <ilubashe@akamai.com>, Ian Swett <ianswett=40google.com@dmarc.ietf.org>, Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>, IETF QUIC WG <quic@ietf.org>
Subject: RE: Impact of hardware offloads on network stack performance
Thread-Topic: Impact of hardware offloads on network stack performance
Thread-Index: AdPMUbL7T8nZAW2ySiO289IPTC0ttgAPUYUAADUrUQAACLVdgAAFkLMAACFByIAAAJ6MgANCFysgAA+c2wAADpmtUP//kQsAgAAJdwCAAASYgIAACHiAgAANzACACvsUgIAPNNaAgABrlFA=
Date: Thu, 10 May 2018 13:38:24 +0000
Message-ID: <1F436ED13A22A246A59CA374CBC543998B64E589@ORSMSX111.amr.corp.intel.com>
References: <CY4PR21MB0630CE4DE6BA4EDF54A1FEB1B6A40@CY4PR21MB0630.namprd21.prod.outlook.com> <CAN1APde93+S8CP-KcZmqPKCCvsGRiq6ECPUoh_Qk0j9hqs8h0Q@mail.gmail.com> <SN1PR08MB1854E64D7C370BF0A7456977DABB0@SN1PR08MB1854.namprd08.prod.outlook.com> <CAKcm_gNhsHxXM77FjRj-Wh4JxA21NAWKXX3KBT=eZJsCdacM7Q@mail.gmail.com> <DB6PR10MB1766789B25E31EBE70564BD3ACBA0@DB6PR10MB1766.EURPRD10.PROD.OUTLOOK.COM> <SN1PR08MB18548155722C665FFD45CC4DDABA0@SN1PR08MB1854.namprd08.prod.outlook.com> <CAKcm_gMYf6AbHgvg+WKv-woQCtzz9WztiEDf-iRUjKw63Qx=9Q@mail.gmail.com> <1F436ED13A22A246A59CA374CBC543998B60C7AD@ORSMSX111.amr.corp.intel.com> <CAN1APdc3y0EwFqeYVvZs7MtBHhS_9CzwGmcwRqi_6GHWzF3_2Q@mail.gmail.com> <1F436ED13A22A246A59CA374CBC543998B60C851@ORSMSX111.amr.corp.intel.com> <CAN1APdcPkO-HfXqqvjeee6K8U8KSZQdtx=6fW1vZo+H6pKfzzQ@mail.gmail.com> <CAKcm_gP8TRPT7yi1y=mU5Fvq7xB5-1ieyKFLQMPomfabYbkcxA@mail.gmail.com> <bf540ec1f6f045aca1cf2379380630b5@usma1ex-dag1mb5.msg.corp.akamai.com> <SN1PR08MB185446750FCDA2B58C9833C8DA890@SN1PR08MB1854.namprd08.prod.outlook.com> <CACsn0cmJcAxORo4Cd-qyGJL3ZOT5Yz0WgdMqv_AGi4DjedyzFA@mail.gmail.com> <A6F55755-D7E1-40E4-8EC3-D5FE77A2EDBE@fb.com> <CAK-1kemWAW+2Sk5aKJ+RXKUAyjFii4MRH=xK7SE0mr=tbCiRfw@mail.gmail.com>
In-Reply-To: <CAK-1kemWAW+2Sk5aKJ+RXKUAyjFii4MRH=xK7SE0mr=tbCiRfw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
dlp-product: dlpe-windows
dlp-version: 11.0.200.100
dlp-reaction: no-action
x-originating-ip: [10.22.254.138]
Content-Type: multipart/alternative; boundary="_000_1F436ED13A22A246A59CA374CBC543998B64E589ORSMSX111amrcor_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/LK8z32Qni0wJcVBxgO7GAfkh8Xw>
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: Thu, 10 May 2018 13:38:30 -0000
The current socket scheme uses the kernel stack to implement the Ethernet – IP – UDP stack processing for QUIC packets. The AF_XDP provides a raw frame so one would need a policy on where to run the protocol stack processing. Another comment on offloads - Thanks for the insightful point of how crypto offload enables other offloads like segmentation. A segmentation offload for QUIC would need to increment packet numbers for each of the individual packets put on the wire. The transmitted packet numbers for a transmit scatter gather list would be deterministic. Therefore, this should not adversely impact any retransmits. Thanks, Manasi From: craigt [mailto:c@gryning.com] Sent: Thursday, May 10, 2018 5:50 AM To: Roberto Peon <fenix@fb.com> Cc: Watson Ladd <watsonbladd@gmail.com>; Mike Bishop <mbishop@evequefou.be>; Praveen Balasubramanian <pravb@microsoft.com>; Lubashev, Igor <ilubashe@akamai.com>; Ian Swett <ianswett=40google.com@dmarc.ietf.org>; Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>; IETF QUIC WG <quic@ietf.org>; Deval, Manasi <manasi.deval@intel.com> Subject: Re: Impact of hardware offloads on network stack performance Has anyone experimented with the zerocopy socket interfaces for exactly this use case? https://netdevconf.org/2.1/papers/netdev.pdf It would seem that is a more natural fit to the assertions made by several of the authors surrounding packetisation. I'm unaware if Windows/BSD have similar interfaces/implementations. c On 30 April 2018 at 21:37, Roberto Peon <fenix@fb.com<mailto:fenix@fb.com>> wrote: QUIC (mostly) doesn’t do that (rexmit a packet verbatim)—you’d need a new packet# for the rexmitted packet. -=R From: QUIC <quic-bounces@ietf.org<mailto:quic-bounces@ietf.org>> on behalf of Watson Ladd <watsonbladd@gmail.com<mailto:watsonbladd@gmail.com>> Date: Monday, April 23, 2018 at 1:56 PM To: Mike Bishop <mbishop@evequefou.be<mailto:mbishop@evequefou.be>> Cc: Praveen Balasubramanian <pravb@microsoft.com<mailto:pravb@microsoft.com>>, "Lubashev, Igor" <ilubashe@akamai.com<mailto:ilubashe@akamai.com>>, Ian Swett <ianswett=40google.com@dmarc.ietf.org<mailto:40google.com@dmarc.ietf.org>>, Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com<mailto:mikkelfj@gmail.com>>, IETF QUIC WG <quic@ietf.org<mailto:quic@ietf.org>>, "Deval, Manasi" <manasi.deval@intel.com<mailto:manasi.deval@intel.com>> Subject: Re: Impact of hardware offloads on network stack performance On Mon, Apr 23, 2018 at 1:06 PM, Mike Bishop <mbishop@evequefou.be<mailto:mbishop@evequefou.be>> wrote: I agree – the point of offloading the crypto is not only to spare that cost on the CPU, though that can be useful, it’s to enable further offloads that can’t be done on the encrypted packet. LRO that could simply group packets by CID and deliver a single batch of packets from a single CID in a single invocation seems like a great first step, and doesn’t even require crypto offload. Once you have crypto offload, of course those packets per CID could be delivered already decrypted. I’d want to see data on whether there’s value in making the received data look like one huge packet when there’s not a single bytestream, but that’s not something we need to specify here. LSO is more interesting, and the challenge there is that the transport stack still needs to know what data was in which packet so that it can do loss recovery properly. QUIC explicitly disallows fragmentation of the UDP datagram, for the “painful and potentially non-deterministic” reasons you referenced. Forgive my complete ignorance, but doesn't it just need to know what packet it sent? More explicitly the sender would maintain a queue of sendable packets, and mark which have been sent. Acknowledged packets are removed from the queue. In event of loss, they simply retransmit the same packet. It's up to higher layers to pick the right size of packet and take data from the individual QUIC streams. If you wanted to expose the stream structure, that sounds a lot more complicated. Sincerely, Watson
- Impact of hardware offloads on network stack perf… Praveen Balasubramanian
- Re: Impact of hardware offloads on network stack … Mikkel Fahnøe Jørgensen
- RE: Impact of hardware offloads on network stack … Mike Bishop
- Re: Impact of hardware offloads on network stack … Ian Swett
- Re: Impact of hardware offloads on network stack … Mikkel Fahnøe Jørgensen
- RE: Impact of hardware offloads on network stack … Mike Bishop
- Re: Impact of hardware offloads on network stack … Ian Swett
- Re: Impact of hardware offloads on network stack … Mikkel Fahnøe Jørgensen
- RE: Impact of hardware offloads on network stack … Praveen Balasubramanian
- RE: Impact of hardware offloads on network stack … Deval, Manasi
- RE: Impact of hardware offloads on network stack … Mikkel Fahnøe Jørgensen
- RE: Impact of hardware offloads on network stack … Deval, Manasi
- RE: Impact of hardware offloads on network stack … Mikkel Fahnøe Jørgensen
- Re: Impact of hardware offloads on network stack … Ian Swett
- RE: Impact of hardware offloads on network stack … Lubashev, Igor
- RE: Impact of hardware offloads on network stack … Mike Bishop
- Re: Impact of hardware offloads on network stack … Watson Ladd
- Re: Impact of hardware offloads on network stack … Jana Iyengar
- RE: Impact of hardware offloads on network stack … Mike Bishop
- Re: Impact of hardware offloads on network stack … Roberto Peon
- Re: Impact of hardware offloads on network stack … craigt
- Re: Impact of hardware offloads on network stack … Mikkel Fahnøe Jørgensen
- Re: Impact of hardware offloads on network stack … Eggert, Lars
- RE: Impact of hardware offloads on network stack … Deval, Manasi
- Re: Impact of hardware offloads on network stack … Mikkel Fahnøe Jørgensen
- Re: Impact of hardware offloads on network stack … Boris Pismenny
- Re: Impact of hardware offloads on network stack … Eggert, Lars
- Re: Impact of hardware offloads on network stack … Mikkel Fahnøe Jørgensen
- Re: Impact of hardware offloads on network stack … Mikkel Fahnøe Jørgensen
- Re: Impact of hardware offloads on network stack … craigt