From: Trond Myklebust <Trond.Myklebust@netapp.com>
To: Boaz Harrosh <bharrosh@panasas.com>
Cc: Peng Tao <bergwolf@gmail.com>,
linux-nfs@vger.kernel.org, bhalevy@tonian.com,
Garth Gibson <garth@panasas.com>,
Matt Benjamin <matt@linuxbox.com>,
Marc Eshel <eshel@almaden.ibm.com>,
Fred Isaman <iisaman@netapp.com>
Subject: Re: [PATCH 0/4] nfs41: allow layoutget at pnfs_do_multiple_writes
Date: Tue, 29 Nov 2011 19:58:38 -0500 [thread overview]
Message-ID: <1322614718.11286.104.camel@lade.trondhjem.org> (raw)
In-Reply-To: <4ED577AE.2060209@panasas.com>
On Tue, 2011-11-29 at 16:24 -0800, Boaz Harrosh wrote:
> On 11/29/2011 03:30 PM, Trond Myklebust wrote:
> > On Tue, 2011-11-29 at 14:58 -0800, Boaz Harrosh wrote:
> >>
> >> The kind of typologies I'm talking about a single layout get ever 1GB is
> >> marginal to the gain I get in deploying 100 of DSs. I have thousands of
> >> DSs I want to spread the load evenly. I'm limited by the size of the layout
> >> (Device info in the case of files) So I'm limited by the number of DSs I can
> >> have in a layout. For large files these few devices become an hot spot all
> >> the while the rest of the cluster is idle.
> >
> > I call "bullshit" on that whole argument...
> >
> > You've done sod all so far to address the problem of a client managing
>
> sod? I don't know this word?
'sod all' == 'nothing'
it's an English slang...
> > layout segments for a '1000 DS' case. Are you expecting that all pNFS
> > object servers out there are going to do that for you? How do I assume
> > that a generic pNFS files server is going to do the same? As far as I
> > know, the spec is completely moot on the whole subject.
> >
>
> What? The all segments thing is in the Generic part of the spec and is not
> at all specific or even specified in the objects and blocks RFCs.
..and it doesn't say _anything_ about how a client is supposed to manage
them in order to maximise efficiency.
> There is no layout in the spec, there are only layout_segments. Actually
> what we call layout_segments, in the spec, it is simply called a layout.
>
> The client asks for a layout (segment) and gets one. An ~0 length one
> is just a special case. Without layout_get (segment) there is no optional
> pnfs support.
>
> So we are reading two different specs because to me it clearly says
> layout - which is a segment.
>
> Because the way I read it the pNFS is optional in 4.1. But if I'm a
> pNFS client I need to expect layouts (segments)
>
> > IOW: I'm not even remotely interested in your "everyday problems" if
> > there are no "everyday solutions" that actually fit the generic can of
> > spec worms that the pNFS layout segments open.
>
> That I don't understand. What "spec worms that the pNFS layout segments open"
> Are you seeing. Because it works pretty simple for me. And I don't see the
> big difference for files. One thing I learned for the past is that when you
> have concerns I should understand them and start to address them. Because
> your insights are usually on the Money. If you are concerned then there is
> something I should fix.
I'm saying that if I need to manage layouts that deal with >1000 DSes,
then I presumably need a strategy for ensuring that I return/forget
segments that are no longer needed, and I need a strategy for ensuring
that I always hold the segments that I do need; otherwise, I could just
ask for a full-file layout and deal with the 1000 DSes (which is what we
do today)...
My problem is that the spec certainly doesn't give me any guidance as to
such a strategy, and I haven't seen anybody else step up to the plate.
In fact, I strongly suspect that such a strategy is going to be very
application specific.
IOW: I don't accept that a layout-segment based solution is useful
without some form of strategy for telling me which segments to keep and
which to throw out when I start hitting client resource limits. I also
haven't seen any strategy out there for setting loga_length (as opposed
to loga_minlength) in the LAYOUTGET requests: as far as I know that is
going to be heavily application-dependent in the 1000-DS world.
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust@netapp.com
www.netapp.com
next prev parent reply other threads:[~2011-11-30 0:58 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-03 4:52 [PATCH 0/4] nfs41: allow layoutget at pnfs_do_multiple_writes Peng Tao
2011-11-29 21:34 ` Boaz Harrosh
2011-11-29 21:50 ` Boaz Harrosh
2011-11-29 21:57 ` Trond Myklebust
2011-11-29 22:40 ` Boaz Harrosh
2011-11-29 22:47 ` Trond Myklebust
2011-11-29 22:58 ` Boaz Harrosh
2011-11-29 23:30 ` Trond Myklebust
2011-11-29 23:49 ` Marc Eshel
2011-11-30 0:08 ` Trond Myklebust
2011-11-30 0:20 ` Marc Eshel
2011-11-30 0:37 ` Trond Myklebust
2011-11-30 0:50 ` Boaz Harrosh
2011-11-30 19:39 ` J. Bruce Fields
2011-11-30 0:52 ` Marc Eshel
2011-11-30 19:44 ` J. Bruce Fields
2011-12-01 9:47 ` Benny Halevy
2011-12-01 11:14 ` J. Bruce Fields
2011-12-01 11:48 ` J. Bruce Fields
2011-11-30 0:42 ` Boaz Harrosh
2011-11-30 0:24 ` Boaz Harrosh
2011-11-30 0:58 ` Trond Myklebust [this message]
2011-11-30 1:46 ` Boaz Harrosh
2011-11-30 2:07 ` Trond Myklebust
2011-11-30 3:08 ` Boaz Harrosh
2011-11-30 12:33 ` Benny Halevy
2011-11-30 0:37 ` Matt W. Benjamin
2011-11-30 0:48 ` Matt W. Benjamin
2011-11-30 1:01 ` Trond Myklebust
2011-11-30 1:03 ` Matt W. Benjamin
2011-11-29 23:01 ` Trond Myklebust
2011-11-29 23:47 ` Boaz Harrosh
2011-11-30 3:16 ` tao.peng
2011-11-30 3:50 ` Boaz Harrosh
2011-11-30 5:05 ` tao.peng
2011-11-30 12:42 ` Benny Halevy
2011-12-03 4:52 ` [PATCH 1/4] nfsv41: export pnfs_find_alloc_layout Peng Tao
2011-12-03 4:52 ` [PATCH 2/4] nfsv41: add and export pnfs_find_get_layout_locked Peng Tao
2011-12-03 4:52 ` [PATCH 3/4] nfsv41: get lseg before issue LD IO if pgio doesn't carry lseg Peng Tao
2011-11-30 13:01 ` Benny Halevy
2011-11-30 13:20 ` Peng Tao
2011-12-03 4:52 ` [PATCH 4/4] pnfsblock: do ask for layout in pg_init Peng Tao
2011-11-29 16:40 ` Trond Myklebust
2011-11-29 17:25 ` Peng Tao
2011-11-29 17:43 ` Trond Myklebust
2011-11-30 2:55 ` tao.peng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1322614718.11286.104.camel@lade.trondhjem.org \
--to=trond.myklebust@netapp.com \
--cc=bergwolf@gmail.com \
--cc=bhalevy@tonian.com \
--cc=bharrosh@panasas.com \
--cc=eshel@almaden.ibm.com \
--cc=garth@panasas.com \
--cc=iisaman@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=matt@linuxbox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).