Re: [nfsv4] Fwd: New Version Notification for draft-dnoveck-nfsv4-rpcrdma-rtissues-01.txt

karen deitke <karen.deitke@oracle.com> Mon, 12 September 2016 19:52 UTC

Return-Path: <karen.deitke@oracle.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 D5C2512B0E9 for <nfsv4@ietfa.amsl.com>; Mon, 12 Sep 2016 12:52:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.71
X-Spam-Level:
X-Spam-Status: No, score=-5.71 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, RP_MATCHES_RCVD=-1.508, SPF_PASS=-0.001] autolearn=ham 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 tbMdn2ZEhb_d for <nfsv4@ietfa.amsl.com>; Mon, 12 Sep 2016 12:52:18 -0700 (PDT)
Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) (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 A9B1512B0F0 for <nfsv4@ietf.org>; Mon, 12 Sep 2016 12:52:18 -0700 (PDT)
Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u8CJqHd3013832 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <nfsv4@ietf.org>; Mon, 12 Sep 2016 19:52:18 GMT
Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0021.oracle.com (8.13.8/8.13.8) with ESMTP id u8CJqGPK023473 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <nfsv4@ietf.org>; Mon, 12 Sep 2016 19:52:17 GMT
Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id u8CJqF6B024593 for <nfsv4@ietf.org>; Mon, 12 Sep 2016 19:52:16 GMT
Received: from [10.159.113.152] (/10.159.113.152) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 12 Sep 2016 12:52:15 -0700
To: nfsv4@ietf.org
References: <147292013637.2343.7092433187165824743.idtracker@ietfa.amsl.com> <CADaq8jeBaLLKkoSVy8kaBA9k4_6a7PLtEDMyx4zjhDX6U6q6Ow@mail.gmail.com>
From: karen deitke <karen.deitke@oracle.com>
Organization: Oracle Corporation
Message-ID: <234e3071-2b0e-e5a1-f5d5-91919e9388b1@oracle.com>
Date: Mon, 12 Sep 2016 13:52:14 -0600
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
In-Reply-To: <CADaq8jeBaLLKkoSVy8kaBA9k4_6a7PLtEDMyx4zjhDX6U6q6Ow@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Source-IP: userv0021.oracle.com [156.151.31.71]
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/Wq7CbE_hV2ViixfgS95EwhsYzP8>
Subject: Re: [nfsv4] Fwd: New Version Notification for draft-dnoveck-nfsv4-rpcrdma-rtissues-01.txt
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: Mon, 12 Sep 2016 19:52:20 -0000

Hi Dave,

I'm struggling following this below:

    o  First, the memory to be accessed remotely is registered.  This is
       a local operation.

    o  Once the registration has been done, the initial send of the
       request can proceed.  Since this is in the context of connected
       operation, there is an internode round trip involved.  However,
       the next step can proceed after the initial transmission is
       received by the responder.  As a result, only the responder-bound
       side of the transmission contributes to overall operation latency.

    o  The responder, after being notified of the receipt of the request,
       uses RDMA READ to fetch the bulk data.  This involves an internode
       round-trip latency.  After the fetch of the data, the responder
       needs to be notified of the completion of the explicit RDMA
       operation

    o  The responder (after performing the requested operation) sends the
       response.  Again, as this is in the context of connected
       operation, there is an internode round trip involved.  However,
       the next step can proceed after the initial transmission is
       received by the requester.

    o  The memory registered before the request was issued needs to be
       deregistered, before the request is considered complete and the
       sending process restarted.  When remote invalidation is not
       available, the requester, after being notified of the receipt of
       the response, performs a local operation to deregister the memory
       in question.  Alternatively, the responder will use Send With
       Invalidate and the responder's RNIC will effect the deregistration
       before notifying the requester of the response which has been
       received.

    To summarize, if we exclude the actual server execution of the
    request, the latency consists of two internode round-trip latencies
    plus two-responder-side interrupt latencies plus one requester-side
    interrupt latency plus any necessary registration/de-registration
    overhead.  This is in contrast to a request not using explicit RDMA
    operations in which there is a single inter-node round-trip latency
    and one interrupt latency on the requester and the responder.

I'm confused by this summarization.  In the text above you indicate 3 
different places where "internode round trip is involved, yet in the 
summary you only mention 2.  What is the definition of an "internode 
round trip?"  Also its unclear to me what you mean my "in the context of 
a connected operation".

Also you mention that there are two-responder-side interupt latencies, 
are you referring to the notification of the RDMA_READ and the send 
completion queue for sending the response?  Does this interrupt latency 
come into play in the latency of the operation? Once the client side 
gets the response it can continue, even if the server thread is still 
waiting for notification of a successful send correct?

Also are you missing the interrupt latency of the send on the client? In 
addition to the interrupt latency of receiving the reply?

Karen