
"Scott Woods" wrote
I used the word symmetric to try and distinguish the nature of objects in the world of D. Schmidt, from those of H. Sutter. It refers to the equivalent potentials that each object has to send messages (to HS; call a queuable method) to another object. There is an asymmetry on the HS model where calls are made to an active object and information is returned through the future concept. In a world such as that of DS (also refer to SDL) all exchange of information is through the same mechanism.
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, 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 regards Andy Little