[omniORB] Measuring omniorb's footprint. New footprint benchmark.

Richard Hardgrave richard.hardgrave@teradyne.com
Thu, 21 Feb 2002 20:19:47 -0600 (CST)


> From owner-omniorb-list@uk.research.att.com Thu Feb 21 19:57 CST 2002
> X-pair-Authenticated: 24.126.75.99
> Date: Thu, 21 Feb 2002 18:02:23 -0800
> From: Dan Kegel <dank@kegel.com>
> X-Accept-Language: en
> MIME-Version: 1.0
> To: "omniorb-list@uk.research.att.com" <omniorb-list@uk.research.att.com>
> Subject: [omniORB] Measuring omniorb's footprint.  New footprint benchmark.
> Content-Transfer-Encoding: 7bit
> X-Loop: omniorb-list@uk.research.att.com
> 
> I finally wrote that little corba footprint benchmark I've
> been threatening to write since November.  The code and
> initial results are up at http://www.kegel.com/dkcorbabench/
> 
> The benchmark measures how long it takes to do a parallel echo 
> (i.e.
>   for all servers do
>      invoke_deferred echo request
>   for all servers do
>      collect results )
> as a function of the number of echo servers running on the
> computer (both the client and all servers are running locally).
> 
> Here's an example run showing how the latency increases with
> the number of servers:
> 
> /bin # ./footprint1 100 300
> Latency to 1 children is 25 ticks
> Latency to 2 children is 15 ticks
> Latency to 3 children is 18 ticks
> Latency to 4 children is 22 ticks
> Latency to 5 children is 25 ticks
> Latency to 6 children is 27 ticks
> Latency to 7 children is 31 ticks
> Latency to 8 children is 33 ticks
> Latency to 9 children is 48 ticks
> Latency to 10 children is 40 ticks
> Latency to 11 children is 44 ticks
> Latency to 12 children is 46 ticks
> Latency to 13 children is 50 ticks
> Latency to 14 children is 52 ticks
> Latency to 15 children is 56 ticks
> Latency to 16 children is 58 ticks
> Latency to 17 children is 63 ticks
> Latency to 18 children is 66 ticks
> Latency to 19 children is 68 ticks
> Latency to 20 children is 72 ticks
> Latency to 21 children is 74 ticks
> Latency to 22 children is 125 ticks
> Latency to 23 children is 284 ticks
> echo_diiclt: An exception was thrown!
> 
> The above was with an echo server mistakenly linked with -lomniDymamic3.
> When I relinked it without that library, I got up to about 28 servers
> before exceding 100ms.  For comparison, with a companion benchmark
> based on pipes, I got about ten times as many servers running before
> I exceeded 100ms.
> 
> It kinda looks like omniorb is using a megabyte per server process,
> even though they're all identical.  That's a bit excessive. 
> Suggestions for reducing this overhead would be most welcome.
> Also, my benchmark could use a code review; it's only the second
> or third corba program I've ever written, and my first ever using
> the DII.
> 
> Comments welcome.  Is this stuff of interest to anyone else?

Sure.

What OS? Linux? Solaris?  What version?

What hardware?

How much memory?

Single processor?

Which CORBA bindings? C++? Python?

Regards,

Richard

> 
> Thanks,
> Dan
> 
>