On 6/3/2010 3:54 AM, Trevor Vaughan wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've been following this thread with interest and I think that Donavan
is hitting upon something that I've also been wanting.

However, the way I was looking at it was as a set of atomic, optionally
blocking, semaphores in a set of parallel threads.

If you look at each puppet client as an individual thread and realize
that you need things to happen cross-client that depend on the state of
one or more clients, then you've deconstructed this into a classic
parallel programming application (with all the constituent nonsense).

Interesting perspective! Especially as this allows one to re-use the existing research to evaluate the pitfalls of such an approach.


Deadlocks can be circumvented by partially aborting transactions (i.e. failing dependend resources) instead of locking.

Serializability is not really a concern of puppet, since we have eventual convergence.

A more complex problem in our case would be contention of locks (e.g. when used for orchestrating a N-out-of-M rollout). I'm thinking of thundering herd problems or often repeated and aborted transactions.



Best Regards, David
--
dasz.at OG              Tel: +43 (0)664 2602670     Web: http://dasz.at
Klosterneuburg                                         UID: ATU64260999

       FB-Nr.: FN 309285 g          FB-Gericht: LG Korneuburg

--
You received this message because you are subscribed to the Google Groups "Puppet 
Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to