From: Yigong Liu (yigongliu_at_[hidden])
Date: 2006-02-28 02:09:11
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.
On 2/27/06, Doug Gregor <dgregor_at_[hidden]> 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?
> Unsubscribe & other changes:
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk