
Thanks for the comments. I had some experience with MPI like systems. I implemented several parallel rendering algorithms on PVM workstation clusters before and helped developing CAM geometrical algorithms on PVM at one of my former employer. I have been out of this field since then. Although bearing the same name of message passing, Channel framework is for application domains quite different from those targeted by MPI/PVM. Channel is for developing message passing/event dispatching systems in distributed embedded systems, desktop and enterprise applications. During my last eight years of employment, i worked on various telecom switches/routers, and distributed enterprise applications; designed and implemented 3 small proprietary message passing systems. Later i found that they all share a common set of primitives. Channel intends providing a basic set of "light weight" primitives in a template framework for programmers to construct a message passing facility customized for their applications (in my experience, the message passing systems in embedded world and enterprise world have different requirements and tradeoff). Also Channel is easy to configure and use - as easy to use as STL containers :-) In this sense, Channel is quite in the similar field as GUI event/signal systems. By instantiating Channel template with "NULL" SynchPolicy, it can be used as a single threaded event dispatcher, and gain the extra benefit of being able to plugin different routing/dispatching algorithms and easily transformed into distributed eventing systems later. Yes, most design considerations of message passing systems still apply, such as avoiding data copying (Channel did it by message reference counting). More suggestions and comments are highly appreciated. Thanks Yigong On 2/27/06, Doug Gregor <dgregor@cs.indiana.edu> wrote:
On Feb 27, 2006, at 3:01 AM, Yigong Liu wrote:
Is there any interests in libraries for distributed message passing and event dispatching?
Yes, but I'm afraid that enumerating my own requirements would throw a wrench in the works. I work primarily with the Message Passing Interface (MPI) for message passing in high-performance computing applications. Although we still work with the message-passing paradigm (and could benefit from a higher-level message passing library), our performance requirements make it such that we need to avoid extraneous buffering at all costs. I hope to get a chance to look at Channel in the future, but for now I have a simple question for you: Have you looked at MPI before, and does it fit into your idea of distributed message passing?
Doug
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost