From: David Teigland <teigland@redhat.com>
To: Steven Dake <sdake@mvista.com>
Cc: linux-kernel@vger.kernel.org, akpm@osdl.org
Subject: Re: [PATCH 1b/7] dlm: core locking
Date: Tue, 26 Apr 2005 13:49:33 +0800 [thread overview]
Message-ID: <20050426054933.GC12096@redhat.com> (raw)
In-Reply-To: <1114466097.30427.32.camel@persist.az.mvista.com>
On Mon, Apr 25, 2005 at 02:54:58PM -0700, Steven Dake wrote:
> On Mon, 2005-04-25 at 09:58, David Teigland wrote:
> > The core dlm functions. Processes dlm_lock() and dlm_unlock() requests.
> > Creates lockspaces which give applications separate contexts/namespaces in
> > which to do their locking. Manages locks on resources' grant/convert/wait
> > queues. Sends and receives high level locking operations between nodes.
> > Delivers completion and blocking callbacks (ast's) to lock holders.
> > Manages the distributed directory that tracks the current master node for
> > each resource.
> >
>
> David
>
> Very positive there are some submissions relating to cluster kernel work
> for lkml to review.. good job..
>
> I have some questions on the implementation:
>
> It appears as though a particular processor is identified as the "lock
> master" or processor that maintains the state of the lock. So for
> example, if a processor wants to acquire a lock, it sends a reqeust to
> the lock master which either grants or rejects the request for the
> lock. What happens in the scenario that a lock master leaves the
> current configuration? This scneario is very likely in practice.
Of course, every time a node fails.
> How do you synchronize the membership events that occur with the kernel
> to kernel communication that takes place using SCTP?
SCTP isn't much different than TCP, so I'm not sure how that's relevant.
It's used primarily so we can take advantage of multi-homing when you have
redundant networks.
When the membership of a lockspace needs to change, whether adding or
removing a node, activity is suspended in that lockspace on all the nodes
using it. After all are suspended, the lockspace is then told (on all
lockspace members) what the new membership is. Recovery then takes place:
new masters are selected and waiting requests redirected.
> It appears from your patches there is some external (userland)
> application that maintains the current list of processors that qualify
> as "lock servers".
correct
> Is there then a dependence on external membership algorithms?
We simply require that the membership system is in agreement before the
lockspace is told what the new members are. The membership system
ultimately drives the lockspace membership and we can't have the
membership system on different nodes telling the dlm different stories
about who's in/out.
So, yes, the membership system ultimately needs to follow some algorithm
that guarantees agreement. There are rigorous, distributed ways of doing
that (your evs work which I look forward to using), and simpler methods,
e.g. driving it from some single point of control.
> What user application today works to configure the dlm services in the
> posted patch?
I've been using the command line program "dlm_tool" where I act as the
membership system myself. We're just putting together pieces that will
drive this from a membership system (like openais). Again, the pieces you
decide to use in userspace are flexible and depend on how you want to use
the dlm.
> With usage of SCTP protocol, there is now some idea of moving the
> protocol for cluster communication into the kernel and using SCTP as
> that protocol...
Neither SCTP nor the dlm are about cluster communication, they're both
about simple point-to-point messages. When you move up to userspace and
start talking about membership, then the issue of group communication
models comes up and your openais/evs work is very relevant. Might you be
misled about what SCTP does?
Dave
next prev parent reply other threads:[~2005-04-26 5:46 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-25 16:58 [PATCH 1b/7] dlm: core locking David Teigland
2005-04-25 18:34 ` Nikita Danilov
2005-04-25 20:44 ` Daniel Phillips
2005-04-25 22:27 ` Nikita Danilov
2005-04-26 1:34 ` Daniel Phillips
2005-04-25 20:41 ` Jesper Juhl
2005-04-26 5:00 ` Daniel Phillips
2005-04-25 21:54 ` Steven Dake
2005-04-26 5:49 ` David Teigland [this message]
2005-04-26 17:40 ` Steven Dake
2005-04-26 22:24 ` Daniel Phillips
2005-04-26 23:04 ` Steven Dake
2005-04-27 0:53 ` Daniel Phillips
2005-04-27 1:50 ` Steven Dake
2005-04-27 4:21 ` Daniel Phillips
2005-04-27 3:02 ` David Teigland
2005-04-27 13:41 ` Lars Marowsky-Bree
2005-04-27 14:26 ` David Teigland
2005-04-28 12:33 ` Lars Marowsky-Bree
2005-04-28 16:39 ` Daniel McNeil
2005-04-28 16:45 ` Lars Marowsky-Bree
2005-04-29 8:25 ` Daniel Phillips
2005-05-02 20:45 ` Lars Marowsky-Bree
2005-05-02 23:23 ` Daniel Phillips
2005-04-29 4:01 ` David Teigland
2005-04-29 22:58 ` Daniel McNeil
2005-04-30 4:29 ` David Teigland
2005-04-30 9:09 ` Daniel Phillips
2005-04-30 10:32 ` Lars Marowsky-Bree
2005-04-30 11:12 ` Daniel Phillips
2005-05-02 20:51 ` Lars Marowsky-Bree
2005-05-02 22:21 ` Daniel Phillips
2005-05-05 12:25 ` Stephen C. Tweedie
2005-05-05 12:40 ` copy_to_user question linux
2005-05-05 13:13 ` Richard B. Johnson
2005-05-05 19:29 ` [PATCH 1b/7] dlm: core locking Daniel Phillips
2005-04-28 2:52 ` Daniel Phillips
2005-04-28 12:37 ` Lars Marowsky-Bree
2005-04-28 23:43 ` Daniel Phillips
2005-04-28 6:49 ` Daniel Phillips
2005-04-28 12:55 ` Lars Marowsky-Bree
2005-04-29 0:26 ` Daniel Phillips
2005-04-29 2:52 ` David Teigland
2005-04-29 3:49 ` Daniel Phillips
2005-05-02 21:00 ` Lars Marowsky-Bree
2005-05-03 2:54 ` David Teigland
2005-04-27 12:33 ` Domen Puncer
2005-04-27 13:30 ` David Teigland
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=20050426054933.GC12096@redhat.com \
--to=teigland@redhat.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sdake@mvista.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