[nfsv4] Fwd: Re: New version of sparse draft(draft-hildebrand-nfsv4-read-sparse-01.txt)

Benny Halevy <bhalevy@panasas.com> Mon, 04 October 2010 18:15 UTC

Return-Path: <bhalevy.lists@gmail.com>
X-Original-To: nfsv4@core3.amsl.com
Delivered-To: nfsv4@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 19D343A6FD9 for <nfsv4@core3.amsl.com>; Mon, 4 Oct 2010 11:15:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rKkf0QRNavIg for <nfsv4@core3.amsl.com>; Mon, 4 Oct 2010 11:15:09 -0700 (PDT)
Received: from mail-qy0-f179.google.com (mail-qy0-f179.google.com [209.85.216.179]) by core3.amsl.com (Postfix) with ESMTP id 403853A6DE8 for <nfsv4@ietf.org>; Mon, 4 Oct 2010 11:15:03 -0700 (PDT)
Received: by qyk7 with SMTP id 7so1767535qyk.10 for <nfsv4@ietf.org>; Mon, 04 Oct 2010 11:15:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:content-type:content-transfer-encoding; bh=9MdZQjF9cDRJ2Rw+PwY5vXLFULqQoaqJMFFNvj5+Ya0=; b=nNnCaNVfBeB3kgwCbGWKUNmbw0tvQKXE8gWDotoGGHBd2udb5YcQoMbPrDQtAs98nB I6ntyooYAsH++Ordl58ugtb9m1ejiJCcanzUzQitOfRzOBpH4v6Y0SkmP3pUFWRvFrmG qReLpXXpA6iJInaF4NGqDAAaNMLNEqUSuwrjY=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=h0PU3W9b+Y572E9ixaSB93NRmFROHzp4BxoyHVOiqeKu2tjW5k8v/xXiZiksWscus+ reUkup20X+jzq9MEfdlo62G03Wx4954WdiJx52FfsPfaLU9QommKyHacyqHcD6g8rSWv MoTEN5uPj4dnWrY+PiqgcC/eXPb3SOiyWci40=
MIME-Version: 1.0
Received: by 10.229.183.20 with SMTP id ce20mr7269396qcb.203.1286216158774; Mon, 04 Oct 2010 11:15:58 -0700 (PDT)
Sender: bhalevy.lists@gmail.com
Received: by 10.229.251.136 with HTTP; Mon, 4 Oct 2010 11:15:58 -0700 (PDT)
In-Reply-To: <4CAA19A2.2030309@panasas.com>
References: <4CAA19A2.2030309@panasas.com>
Date: Mon, 04 Oct 2010 14:15:58 -0400
X-Google-Sender-Auth: kUFqCRtwtVlkHWYMvlB-gTBO20c
Message-ID: <AANLkTimK0D8JY6-1=bVpL1f7KozV-792_PoEmMfN0Rc_@mail.gmail.com>
From: Benny Halevy <bhalevy@panasas.com>
To: nfsv4@ietf.org
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Subject: [nfsv4] Fwd: Re: New version of sparse draft(draft-hildebrand-nfsv4-read-sparse-01.txt)
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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, 04 Oct 2010 18:15:11 -0000

-------- Original Message --------
Subject: Re: [nfsv4] New version of     sparse
draft(draft-hildebrand-nfsv4-read-sparse-01.txt)
Date: Mon, 04 Oct 2010 14:07:30 -0400
From: Benny Halevy <bhalevy@panasas.com>
To: Daniel.Muntz@emc.com
CC: thomas@netapp.com, bfields@fieldses.org,
Pranoop.Erasani@netapp.com,  nfsv4@ietf.org

On 2010-10-04 13:29, Daniel.Muntz@emc.com wrote:
>
>
>> -----Original Message-----
>> From: nfsv4-bounces@ietf.org [mailto:nfsv4-bounces@ietf.org]
>> On Behalf Of Benny Halevy
>> Sent: Monday, October 04, 2010 7:55 AM
>> To: Thomas Haynes
>> Cc: J. Bruce Fields; Erasani, Pranoop; nfsv4@ietf.org
>> Subject: Re: [nfsv4] New version of sparse
>> draft(draft-hildebrand-nfsv4-read-sparse-01.txt)
>>
>> On Sun, Oct 3, 2010 at 10:54 PM, Thomas Haynes
>> <thomas@netapp.com> wrote:
>>> The harder case is for a non-clustered pNFS community, i.e., one
>>> where the MDS and DSes need a control protocol to talk. Let's
>>> assume that is the case here.
>>>
>>> A hole is created when a WRITE happens at a DS that is not
>>> contiguous with the previous (if any) WRITE.
>>>
>>> If a DS is supposed to return the range until the next non-zero
>>> data, then it will need to contact every other DS or perhaps
>>> the MDS.
>>>
>>> If the MDS is supposed to honor a GET_SPARSE_BLOCK_MAP
>>> type of request from the client, then either each DS would have
>>> to send hole entries to the MDS or the MDS would have to
>>> probe each one.
>>>
>>> What if instead of a DS returning information about other DSes,
>>> it simply returns information about what it knows? I.e., my next
>>> data is at address X.
>>
>> I think that this is much cleaner from the protocol perspective.
>> The DS is essentially serving NFSv4.1 so its READ result applies
>> to the current filehandle which represents the slice stored
>> on it, not the logical file striped across multiple DSs.
>>
>> Benny
>
> I like this approach as well.  However it does present some complexity.  The value returned to the client has to be interpreted by the client, using the layout, to determine whether data may exist on another DS in the _possible_ hole.  Dense vs. sparse striping must also be taken into account.  The DS can only return the next byte offset in the stripe file where data exists (having no knowledge of stripe boundaries or dense/sparse striping).
>

Correct. The client has to do the reverse mapping, given the layout and
striping pattern.

Benny

>   -Dan
>
>>
>>>
>>> Consider a file with a width of 32k. The first write it
>> gets is at 1M
>>> and then it gets 5 other contiguous writes. The next data is at
>>> 2M and it gets 4 other contiguous writes. The DS can't assume
>>> that any other DS has zeros in the first 1M. Worst case, all other
>>> N-1 DSes do have data there.
>>>
>>> In that scenario, N-1 DSes will return 32k on the first read and
>>> 1 DS will return a hole for it only until 1M. The client will then
>>> only send N-1 READs until it it gets to the 1M mark.
>>>
>>>
>>> _______________________________________________
>>> nfsv4 mailing list
>>> nfsv4@ietf.org
>>> https://www.ietf.org/mailman/listinfo/nfsv4
>>>
>> _______________________________________________
>> nfsv4 mailing list
>> nfsv4@ietf.org
>> https://www.ietf.org/mailman/listinfo/nfsv4
>>
>>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4