[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
>
>