|
Boost : |
From: Scott Woods (scottw_at_[hidden])
Date: 2005-11-03 17:53:18
----- Original Message -----
From: "Andy Little" <andy_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Thursday, November 03, 2005 10:49 PM
Subject: Re: [boost] Active objects?
[snip]
> Its difficult to discuss this without a concrete example. A system may
involve
> only a collection of similar processes, but I conjecture they can be
modelled
> equivalently as workers for one manager process. An analogy maybe the
> difference between a star and a mesh network topology. The star topology
is
> theoretically less efficien, but It is possible to provide a strategy
for
> management which is not as simple with a mesh, because the manager doesnt
not
> have the same simple birds-eye view of the system. The hub can monitor
the
> system and therefore optimise busy connections ( One point brought up by
Herb
> Sutter is that it is important to be able to check that a system is
using
> concurrency efficiently or even at all), can overrule and shut down
particular
> threads, or even shut down the whole system in an orderly fashion.
>
> > Of course, they do not send the same messages (was this your concern?
:-).
>
> I guess I was trying to point out that systems must have a higher level of
> organisation , and once this is realised a peer to peer network becomes
less
> attractive because of its fragility and lack of controllability compared
to a
> centrally managed system. A peer to peer network may promise higher
performance
> from an eyeball analysis, but bottlenecks are difficult to find and so
difficult
> to remove.
>
> > The "higher level of organisation" that you expect would manifest
> > itself in the different messages being sent, e.g. CHALLENGE, WELCOME
> > and the different roles that each object has in an exchange.
>
> I think that this throws up the problems of explicit licking and
unlocking,
Or indeed, implicit licking.
> which the HS model was trying to hide, but I take the point that the HS
model
> wont cover all situatons. Nevertheless it would be interesting to try to
remodel
> existing systems using it to find out what it can and cant model ( and how
that
> affects performance). In the simple situations I can think of using it
for, ie
> saving files and math calculations it seems to fit very well though
Agreed. It feels as though we come from different areas of software
development
but have drawn similar conclusions.
The issues you highlight earlier (e.g. peer-to-peer vs centrally manager)
are *big*.
While I typically punt for peer-to-peer designs I will readily concede that
certain systems
have requirements that cannot be met by such an approach. It seems to be a
case-by-case
thing to me as neither is the silver bullet. These issues are also almost
going off-topic.
Except that "peer-to-peer" and "centrally managed" are both examples of
software
systems that I believe would be difficult to develop using (HS's) active
objects and
futures :-)
Cheers.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk