[omniORB] Performance comparison of OmniEvents and OmniNotifiy

Christopher Petrilli petrilli at gmail.com
Tue Mar 1 11:44:38 GMT 2005


On Tue, 1 Mar 2005 09:02:40 +0000, Alex Tingle
<alex.omniorb at firetree.net> wrote:
> On Mon, 28 Feb 2005 21:07:41 -0500
> Christopher Petrilli <petrilli at gmail.com> wrote:
> 
> > I've been looking at the two options for distributing a high volume of
> > events in a system, and looking at both of these, and searching the
> > web, I've seen people argue that both are faster than the other.  I
> > realize OmniNotify has more capabilities (some of which would be nice
> > to have), but performance is the #1 issue in this case.
> >
> > The events would be CORBA structs with about 35 fields in them.
> 
> (I am the author of omniEvents 2.4+)
> 
> Use omniNotify if you need the notification service. Use omniEvents if
> your needs are simpler, or if you need the high availability feature.

Well, the background is this, and perhaps it will help understand my
approach.  I was originally using Elvin (http://www.mantara.com/),
which has an amazingly simple binding to most languages, and is a
breeze to use.  However, I was using CORBA for all the other services.
 My goal was to unify on one "architecture" and use CORBA Events or
Notification framework.  I'm wondering if, however, that's too much
complexity?
 
> I've done some limited comparison testing between the two. As I recall,
> the latency is about the same for isolated individual events. As the
> volume of events increases, omniEvents starts to pull ahead, but
> omniNotify's performance is still good.

In this case, I would need some of the capabilities of omniNotify, as
I'd like to be able to choose which events I see, and perhaps only if
they meet certain requirements.  THis is something that can be done
easily in the constraint language in Elvin.

> I think this is to be expected - omniEvents is optimised for high
> volumes. It starts to batch-up events as the volume increases.

Does it do any form of batching on the edges of the service? In other
words, does it push/pull 1 event at  a time from the supplier and
consumers, or does it actually move batches?  The spec seems to imply
it must be a one at a time method.

I would love to hear your take on omniEvents v. Elvin?

Chris
-- 
| Christopher Petrilli
| petrilli at gmail.com



More information about the omniORB-list mailing list