[omniORB] ad hoc corba benchmark, results

Dan Kegel dank@kegel.com
Sat, 23 Feb 2002 17:37:09 -0800


[This is a new version of something I posted earlier on omniorb-list.]

I am considering using Corba on a project that will require
running about a thousand corba objects on about 500 64MB embedded
processors, all controlled from a single client.

Corba has a reputation for using lots of resources, so I
put together a little reality check benchmark which measures 
how many corba server processes can be spawned on the same machine.

If you run it on a machine which is starving for memory
(like my 64 MB diskless nodes, which need every byte for
the real application they're running), my little benchmark
is pretty sensitive to the total footprint of the corba server.

I went to some trouble to make it compile both on OmniOrb3
and with Tao 1.2.  If others need to do the same, perhaps my
sources will be useful.

At the suggestion of people on the omniorb list, I made sure
that I invoke a method of each remote object once (to force the
tcp connection to be made) before the measurement begins.
I also revised my writeup to make it clearer what this benchmark
measures.

The code, a description of the benchmark, the scripts I used to
build the ORBs, and results on various machines are at
   http://www.kegel.com/dkcorbabench/

I'm hoping to use this benchmark to help me reduce the runtime
footprint of the ORB to a minimum.  I would really appreciate any
concrete suggestions for how to reduce memory consumption of
both omniorb and tao programs.

Thanks,
Dan