Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review

David Noveck <davenoveck@gmail.com> Thu, 16 June 2016 20:13 UTC

Return-Path: <davenoveck@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AAFFF12DC4C for <nfsv4@ietfa.amsl.com>; Thu, 16 Jun 2016 13:13:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 dvxPJz0VAB27 for <nfsv4@ietfa.amsl.com>; Thu, 16 Jun 2016 13:13:36 -0700 (PDT)
Received: from mail-oi0-x235.google.com (mail-oi0-x235.google.com [IPv6:2607:f8b0:4003:c06::235]) (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 2B14C12DC4B for <nfsv4@ietf.org>; Thu, 16 Jun 2016 13:13:36 -0700 (PDT)
Received: by mail-oi0-x235.google.com with SMTP id p204so87007721oih.3 for <nfsv4@ietf.org>; Thu, 16 Jun 2016 13:13:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=e/z6zxk2+gyPODf+VZXHD8nQi0qex92vNRDyvXCyvWA=; b=z+mXMhVqG5o8bApX9lZhNe0fr5xb3FaYdW36QvtuNlqdsYsZMh/v2fLhrwO5LlHLMZ l0qWlXkrijCuBOaKz4ieJcApBqtWLvJqmVr6M7HwZMAQEkH/3CpAnOFf5kTXE/ZgK0TA ekXcwGT+7UkoHbHRLqaU6NFJwQf2osdeiaCoBmRR57oB8UKwfdq1PDxuw3bTjI/iLZ/G tU5nXcPYTgTSjmHWCMLGPipziOfhIYWYovG/yxRQwiv4A3fU0ZHCJF+ZpblDAxnxbgBQ l85N6yb6twsChSjWC/nKddUQvi1LF//3QLfvravE3pgqMzOE5hdjqP3kuXHUBLFc/7kQ I8aQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=e/z6zxk2+gyPODf+VZXHD8nQi0qex92vNRDyvXCyvWA=; b=Vgae3SrJ3AQag3VB6YSpiCPVu7KxaCrEn8mkOxTe9CCOiQpAIQGs8o37aVvy4Z9351 E1ji47NjZ7zRPsygJaHM8+CwK2UXJDBvl5IKB0NEUgOxcx+umuZvn+ysElCwQiQhSaSa 04IOjZwl5hxjkzGS23jtuuy5PgPx244CgZneGEy3B8LzthQPn2Ue9RSo8QYkufWzRFZQ Y/l8XpBAm9fUhWJlzqqFGKldGaxbxPYKgOHPh6sZmCoLe/uKxcMn7X7/EIJKjI+Q1pz9 rm78/7AUBQJgdXc6C1G769gkZFiwlau1XSZ0hoECIrNZOQOg7PbyPSPHxtkVUV22Os9r kttA==
X-Gm-Message-State: ALyK8tIJ8QOuJHdRjMPfKSv91VfnoNv8X9hbbwyyeECOBQquXLbSNstI/92TOZIBeuRgQUJbNpjYPQphPEQ7qA==
X-Received: by 10.202.221.6 with SMTP id u6mr3681566oig.51.1466108015454; Thu, 16 Jun 2016 13:13:35 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.20.72 with HTTP; Thu, 16 Jun 2016 13:13:34 -0700 (PDT)
In-Reply-To: <CO2PR03MB228022A2D1D42CAD5F727694C7500@CO2PR03MB2280.namprd03.prod.outlook.com>
References: <6da90b6b-bb58-d241-0d74-dc421358c97c@oracle.com> <9ECFBBD5-9359-46AB-B1CC-7FCBF06C40A8@oracle.com> <f609eba3-4294-37ae-3bb8-c7df8f648bb0@oracle.com> <0E79D0E4-9D53-4ED4-8D17-2D806C56648F@oracle.com> <567848d1-d854-ef70-8fba-33708e7e0601@oracle.com> <E2B31EDF-74D6-4CC8-8F6C-674C85498B56@oracle.com> <E0C18ECC-7D15-447F-9DA7-654E1EBF6C3B@oracle.com> <CADaq8jcgW316nLwA3LnCAmL7nAY3o6XjeQLCkV-S_Sps9g+LJw@mail.gmail.com> <4E8C421F-1A22-413C-AA2E-833C71AC6F71@oracle.com> <CADaq8jdVjt6x0MNgc7g0HCvQ9tR6yC01AdSPCiqHmEn8CMPscw@mail.gmail.com> <CADaq8jcHk4PzxhGLtsK7mBEuh0J3T54Bn3PFd==X5cdoB9pGSQ@mail.gmail.com> <46B6E3E0-4598-4A54-A091-D590BF084B7F@oracle.com> <CADaq8jeBFLT4QB9=jY0OywbDDon0eUSrafz3nDVxcORNvwpDbg@mail.gmail.com> <CADaq8jc2hEg+sk7ADPoaFKmvCQ_xWjAkP1amWz9PJDHRSnCvHw@mail.gmail.com> <B338F553-B74E-49C2-A638-2691B2A8E86D@oracle.com> <CO2PR03MB2280937A189D3858BB4185C2C7590@CO2PR03MB2280.namprd03.prod.outlook.com> <9B430ED2-02ED-4A8A-81E8-B718DD9F5D50@oracle.com> <CO2PR03MB228022A2D1D42CAD5F727694C7500@CO2PR03MB2280.namprd03.prod.outlook.com>
From: David Noveck <davenoveck@gmail.com>
Date: Thu, 16 Jun 2016 16:13:34 -0400
Message-ID: <CADaq8jf3P=QkB9+7q3_bTizfTuXWOL8nFA6+rA8ZzPutSyCfLA@mail.gmail.com>
To: Spencer Shepler <sshepler@microsoft.com>
Content-Type: multipart/alternative; boundary="001a113ce25676ad8b05356adfdc"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/LI2Gq7aHGpZpqiN-g8vMT2BKazA>
Cc: NFSv4 <nfsv4@ietf.org>
Subject: Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Jun 2016 20:13:39 -0000

Since Chuck has cleared his comment about bidirection and submitted -05, I
think it is
time to decide that WGLC has concluded (successfully) for
draft-ietf-nfsv4-rfc5666bis
draft-ietf-nfsv4-rfc5666-implementation, and
draft-ietf-nfsv4-rpcrdma-bidirection.

These should be able to move forward.

On Thu, Jun 9, 2016 at 9:02 PM, Spencer Shepler <sshepler@microsoft.com>
wrote:

>
> Thanks, Chuck.  Will do.
>
> -----Original Message-----
> From: Chuck Lever [mailto:chuck.lever@oracle.com]
> Sent: Thursday, June 9, 2016 11:15 AM
> To: Spencer Shepler <sshepler@microsoft.com>
> Cc: David Noveck <davenoveck@gmail.com>; NFSv4 <nfsv4@ietf.org>
> Subject: Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review
>
> Hi Spencer-
>
> Let's proceed with revision 05. I'm clearing my recent comment about the
> readiness of rpcrdma-bidirection.
>
>
>
> > On Jun 3, 2016, at 12:20 PM, Spencer Shepler <sshepler@microsoft.com>
> wrote:
> >
> >
> > Thanks for the discussion.  I will wait on you, Chuck, to "clear" the
> comment you made below on readiness.
> >
> > Just to be clear, the WGLC is complete and from my point of view we have
> consensus but want to ensure the author is comfortable with moving forward.
> >
> > -----Original Message-----
> > From: Chuck Lever [mailto:chuck.lever@oracle.com]
> > Sent: Friday, June 3, 2016 8:05 AM
> > To: David Noveck <davenoveck@gmail.com>; Spencer Shepler
> > <sshepler@microsoft.com>
> > Cc: NFSv4 <nfsv4@ietf.org>
> > Subject: Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review
> >
> >
> >> On Jun 3, 2016, at 10:33 AM, David Noveck <davenoveck@gmail.com> wrote:
> >>
> >> A week ago I wrote:
> >>> The problem is that, in a multi-direction context, a given
> >>> implementation only knows whether it is a client or a server.  It
> >>> only knows if it is a requester or a responder based on the message
> >>> it is processing at any given instant and if it can't figure that out,
> it is unsure whether it is a requester or responder and may be neither at
> particular times.
> >>
> >> It's now been at least two weeks since last call was supposed to end
> >> for the Version One RDMA documents and a week since Chuck posted any
> >> necessary updates.  I'm not sure why the documents are still listed as
> in WGLC, but I wanted to make it clear that my comments above should not be
> holding these up.
> >>
> >> Those comments refer to a problem that is inherent in Version One
> >> and cannot be fixed within the constraints of a Version One
> >> no-XDR-change update.  Since the Working group has decided to do a
> >> Version One no-XDR-change update, the three existing RDMA documents
> should now go forward.  I don;t believe there is any disagreement on that
> point.
> >
> > I concur that rfc5666bis and rfc5666-implementation-experience are ready
> to move forward.
> >
> > However, I've been thinking about an earlier comment Dave made in this
> thread:
> >
> >> My only concern is with regard to a possible future extension in which
> multiple RPC messages are carried in a single SEND (i.e., the precise
> opposite of message continuation).  When the language for the new field is
> drafted, we should make sure that it doesn't assume all the messages in a
> SEND are all related to a single direction of operation.
> >
> >
> > There seem to be two related issues, and one of them has ramifications
> for rpcrdma-bidirection.
> >
> >
> > I. Ambiguity of the meaning of the credit field
> >
> > In the rfc5666bis world, the credit field in all messages flowing on a
> connection had an unambiguous meaning. If the message was going from
> requester to responder, the credit field was a credit request. In the other
> direction, it was a credit grant.
> >
> > rpcrdma-bidirection introduced the idea of two separate credit flows,
> which depend on whether the message was part of forward RPC operation or
> backward RPC operation on that connection.
> >
> > This is the source of the problem.
> >
> > The meaning of the credit field depends on a field in the upper layer,
> so it's a layering violation, to say the least.
> >
> > Also, the original concept of credit was to manage RDMA receive buffers,
> but rpcrdma-bidirection interpretation of the credit value is
> one-credit-per-RPC.
> >
> > Now if we want to add support for partial RPC message per credit
> (message continuation) or multiple RPC messages per credit (as proposed
> above), or NO RPC message per credit (for RDMA2_OPTIONAL control messages)
> the credit field is unusable.
> >
> > Would we add an independent pool of credits for each of these
> transmission mechanisms? Probably not.
> >
> > A logical course of action, then, would be to alter the
> rpcrdma-bidirection I-D so that forward and backward direction operation
> use the same pool of credits.
> >
> > The question is whether it is feasible for the two directions to share
> the credit pools without deadlocking.
> > Some prototyping and/or careful thought would be needed to answer it.
> >
> > (Spencer, I may be changing my mind about the readiness of
> rpcrdma-bidirection).
> >
> >
> > II. Ambiguity of the meaning of the XID field
> >
> > Today we have a one-to-one match between the XID value in the
> RPC-over-RDMA header and the XID associated with the RPC payload in that
> message.
> >
> > With an extension for message continuation, there is still a one-to-one
> match: the RPC-over-RDMA XID can match the XID of the partial RPC payload.
> >
> > But for multiple RPC payloads per Send, or no RPC payloads per Send
> (control messages), we no longer have a match. How should the RPC-over-RDMA
> header's XID field be set in those cases?
> >
> > RFC 5666 and rfc5666bis have similar language regarding how the XID
> field in the RPC-over-RDMA header is to be set. Here's rfc5666bis, Section
> 5.2.1:
> >
> >>   The
> >>   receiver MAY perform its processing based solely on the XID in the
> >>   RPC-over-RDMA header, and thereby ignore the XID in the RPC message,
> >>   if it so chooses.
> >
> >
> > In other words, implementations are already allowed to rely on the value
> of the RPC-over-RDMA header's XID field, and ignore the XID field in the
> payload.
> >
> > This issue has to be addressed for rpcrdma-version-two to support
> extensions that enable multiple or no RPCs per message.
> >
> > I propose that here, an independent XID space for RDMA2_OPTIONAL
> messages makes sense. This would allow receivers to match RDMA2_OPTIONAL
> call and reply messages, but would not tie the header's XID value to the
> upper layer payload in any way.
> >
> >
> > --
> > Chuck Lever
> >
> >
> > _______________________________________________
> > nfsv4 mailing list
> > nfsv4@ietf.org
> > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fwww.i
> > etf.org%2fmailman%2flistinfo%2fnfsv4&data=01%7c01%7csshepler%40microso
> > ft.com%7cc7fb211893674020da6d08d39091ec90%7c72f988bf86f141af91ab2d7cd0
> > 11db47%7c1&sdata=KiMVRSXc2Sj8%2blfR0vjWLJFQ4KAYKx95%2bMkReAuNQjA%3d
>
> --
> Chuck Lever
>
>
>
>