Lustre-devel archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Zhuravlev <Alex.Zhuravlev@Sun.COM>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] global epochs [an alternative proposal, long and dry].
Date: Tue, 23 Dec 2008 13:21:49 +0300	[thread overview]
Message-ID: <4950BBBD.4030405@sun.com> (raw)
In-Reply-To: <18768.46808.716111.644627@gargle.gargle.HOWL>

Nikita Danilov wrote:
> If we have no more than 1 reintegration in a given epoch on a given
> client, then the server that received an OP = (U(0), ..., U(N)) in epoch
> E from a client, can send to SC a message telling it that this client
> contains N volatile updates in epoch E, and whenever some server commits
> one of U's it sends to SC a message asking it to decrease a counter for
> this client. Most obvious implementation will batch these notification,
> i.e., when a server commits a transaction group it notifies SC about all
> changes in one message. I personally don't think that is the best
> approach.

essentially this is very similar to dependency-based recovery, but with
no it's advantages and with SC tracking all states and being single point
of failure. I think we need more scalable solution.

> Yes, and this mechanism (if it is correct at all) will guarantee that an
> epoch cannot depend on a future epoch.

again, it's not about dependency, it's about network overhead of global epochs.

>  > just to list my observations about global epochs:
>  >   * it's a problem to implement synchronous operations
>  >   * network overhead even with local-only changes depending on workload
>  >   * disk overhead even with local-only changes
>  >   * SC is a single point of failure with any topology as it's the only place to
>  >     find final minimum
>  >   * tree reduction isn't obvious thing because client can't report its minimum
>  >     to any node, instead tree is rather static thing and any change should be
>  >     done very carefully. otherwise it's very easy to lose minimum
> 
> Unfortunately, as far as I know, no other solution was described with a
> level of detail sufficient to compare. :-)

I could say the same about tree reduction, for example ;)

dependency-based recovery was discussed with many details I think. and benefits are
very clear, IMHO. as well as overall simplicity due to local implementation (compared
with implementation involving all nodes in a cluster).

thanks, Alex

  reply	other threads:[~2008-12-23 10:21 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-22  7:53 [Lustre-devel] global epochs [an alternative proposal, long and dry] Nikita Danilov
2008-12-22 11:52 ` Alex Zhuravlev
2008-12-22 12:45   ` Nikita Danilov
2008-12-22 13:48     ` Alexander Zarochentsev
2008-12-22 14:21       ` Nikita Danilov
2008-12-22 14:45         ` Alex Zhuravlev
2008-12-22 14:44     ` Alex Zhuravlev
2008-12-22 17:15       ` Nikita Danilov
2008-12-22 17:36         ` Alex Zhuravlev
2008-12-22 18:57           ` Nikita Danilov
2008-12-23  6:44             ` Alex Zhuravlev
2008-12-23 10:00               ` Nikita Danilov
2008-12-23 10:21                 ` Alex Zhuravlev [this message]
2008-12-23 11:06                   ` Nikita Danilov
2008-12-23 11:31                     ` Alex Zhuravlev
2008-12-23 12:50                       ` Nikita Danilov
2008-12-23 13:11                         ` Alex Zhuravlev
2008-12-23 13:24                           ` Nikita Danilov
2008-12-24 10:32                         ` Alex Zhuravlev
2008-12-24 11:37                           ` Nikita Danilov
2008-12-26  9:01                             ` Alex Zhuravlev
2008-12-23 23:37             ` Andreas Dilger
2008-12-24 12:35               ` Eric Barton
2008-12-24 16:16               ` Nikita Danilov
2009-01-15 23:40 ` [Lustre-devel] global epochs vs fsync Alex Zhuravlev

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=4950BBBD.4030405@sun.com \
    --to=alex.zhuravlev@sun.com \
    --cc=lustre-devel@lists.lustre.org \
    /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