
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
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
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
----- Original Message ----- From: "Andy Little" <andy@servocomm.freeserve.co.uk> To: <boost@lists.boost.org> Sent: Thursday, November 03, 2005 10:49 PM Subject: Re: [boost] Active objects? [snip] the particular 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,
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
Or indeed, implicit licking. 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.