Re: [tsvwg] RDMA Support by UDP FRAG Option

Tom Herbert <tom@herbertland.com> Wed, 16 June 2021 17:17 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 05F073A1FC9 for <tsvwg@ietfa.amsl.com>; Wed, 16 Jun 2021 10:17:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.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 Al3qRMc7b_Y7 for <tsvwg@ietfa.amsl.com>; Wed, 16 Jun 2021 10:16:58 -0700 (PDT)
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com [IPv6:2a00:1450:4864:20::634]) (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 C926B3A1FC5 for <tsvwg@ietf.org>; Wed, 16 Jun 2021 10:16:57 -0700 (PDT)
Received: by mail-ej1-x634.google.com with SMTP id l1so5094601ejb.6 for <tsvwg@ietf.org>; Wed, 16 Jun 2021 10:16:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=y32Yf7dLxW365FaZrbgJVSz1RZ6KJtFgtl9lQtGi1bc=; b=tUXtNyjYq1MtqpCSX2t++q18B/bOp/Fhba/AbllD/Cz9LBR4zIp1CTl/qgVbmA5MtC sKruzD/G5EYeLDOAlHN1/COLSHIM3r2atPiTM/1N9SIDN9F+ClnHB7unj05tCsUkvvZH ujkwXmhlmU5zoL7fPmQoOBrBsZR+Is8gwhlHwQ51/liZGxCOH2x3lZhWKFSDMuVfVmSr n1rqKrgZV9ZD/TCgFPpZlqPVPHnskAkLoKFSO5SHjJAyDfLwdVCjWG1gcLJu+GRehM2z pLLBAAXnb663FPZCuKq4defNY15KZn3EGzhtkILeM+hA1WZx00ihtwaV8D8AL2fIBNbI +4TA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=y32Yf7dLxW365FaZrbgJVSz1RZ6KJtFgtl9lQtGi1bc=; b=SmnN7sx2iXe274/tuIbCGzuJmky0mIpKY2riX/YqRuJzF91C9sOZMtiX2smKfMigoj 50hsWjj5mR3LV2OxiRISkwBu49zK3iexXEgbUMkUroILl4jY38JnYTS4qodzBc01WH61 d0RPOs7V/gyI7Xx1YVGLUCmm1iNC5OrEctBa5h8cvDzUJ7lLcxxrtJdTFGIx2OrRkNRi 5KqrMzEC+q2DBTUkWx5iKHqC4kd8qrWhlR1W1wy8mBUIX6+4bJxW0/uS2cdqkdI50Dud UiOrlzyDfRuWIoTHBQtu+dbmtGR13so6qT18IkzjgwWvMN5vTKkZJgSARKHdCxddxqWR GGMg==
X-Gm-Message-State: AOAM530X0V0rS39FmNugAGResaZPT5cknhPCv1OYKSogS8+SrZVggNJx 3JoxoaMqRp8DTSe3hriXY6aaWTr3YxB06TZzDMQklqfrE/4hTA==
X-Google-Smtp-Source: ABdhPJxV2MV1ypcNI7Q8oggs0BFLnVff4w3ul5Y0VefnS3PF+Vo9DfbKZZVmPp8abaZ6h6iXHiFmsvIEiI7K3sIv6Hw=
X-Received: by 2002:a17:906:7f8d:: with SMTP id f13mr621248ejr.272.1623863814347; Wed, 16 Jun 2021 10:16:54 -0700 (PDT)
MIME-Version: 1.0
References: <CACL_3VEyLdQZ-3hvzXxyA8ehtWs2hXESZ2OqyAx+BeSg85+-cA@mail.gmail.com> <CACL_3VFE4TjKvmkfZjvNpWo6vVfKjz5w85=Q+yqnYZKcwbYLmQ@mail.gmail.com> <63FFC34B-2179-47F1-B325-21CAC3D1543A@strayalpha.com> <CACL_3VHTfxWaBj7TFEmBXBqovrrAj7XuFEZFUag_iBHr3Hx09g@mail.gmail.com> <0EBFC9B0-591A-4860-B327-6E617B83F4D1@strayalpha.com>
In-Reply-To: <0EBFC9B0-591A-4860-B327-6E617B83F4D1@strayalpha.com>
From: Tom Herbert <tom@herbertland.com>
Date: Wed, 16 Jun 2021 10:16:43 -0700
Message-ID: <CALx6S34pT81TbfQDk2vKF8wBrXL312As79K=rEzUQ3Lmg7UvpA@mail.gmail.com>
To: Joseph Touch <touch@strayalpha.com>
Cc: "C. M. Heard" <heard@pobox.com>, TSVWG <tsvwg@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/Vmh9Cnfm7OkholTEROLeuwMJ8Hk>
Subject: Re: [tsvwg] RDMA Support by UDP FRAG Option
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Jun 2021 17:17:03 -0000

On Sun, Jun 13, 2021 at 5:01 PM Joseph Touch <touch@strayalpha.com> wrote:
>
>
> On Jun 13, 2021, at 4:37 PM, C. M. Heard <heard@pobox.com> wrote:
>
> On Thu, Jun 10, 2021 at 9:43 PM Joseph Touch wrote:
>>
>> - do we want/need RDMA support?
>>         if not, we ditch the frag length in non-terminal frags
>
>
>
> I am going to reveal my ignorance by asking what is meant by RDMA (Remote Direct Memory Access). But I'm fine with that as long as we end up with an unambiguous problem statement.
>
>
> I may have conflated two issues.
>
> 1. Whether UDP supports zero-copy in the presence of reassembly.
> 2. Whether FRAG needs a frag length per se
>
> I think #2 might strictly depend only on whether non-terminal fragments can have post-fragment options. There doesn’t appear to be reason for doing this; options that apply to the whole reassembled payload would occur after the last fragment and any options that apply to individual fragments appear before FRAG in each non-terminal fragment.
>
> #1 determines whether the data occurs in normal order or whether data in each fragment (including the final one) are moved around. Here’s what that looks like:
>
> - in normal order, each fragment’s data just occurs in-order in each fragment, e.g.,:
>
> abcde fghijkl mnopqrst
>
> - to support zero-copy, we previously had a technique that swapped bytes. Showing this for a full option is a bit complex; a simple version here would assume that each fragment had 3 bytes of options from the beginning of the option space to the start of the FRAG data (it’s always longer, but let’s make it 3 just to show it more simply). In that case we do the following:
>
> 123deabc 123ijklfgh 123parstmno
>
> The idea is that the data can be placed directly in memory, with the last 3 bytes overwriting the first three. By moving only the space covered by the options, direct data placement can be used:
>
> 123de - write up to the last 3 bytes
> a23de - overwrite the last 3 bytes starting at the beginning (next 2 lines too)

That presumes that the memory holding the payload is writeable which
is not always true. For instance, that would not be the case if the
device DMAs the data into GPU memory.

Tom

> ab3de
> abcde
>
> So this doesn’t affect the option format, but does affect whether FRAG data is in-place or wraps-around to support zero-copy.
>
> Joe