[omniORB] CORBA performance on InfiniBand network

Michael Teske subscribe at teskor.de
Mon Aug 3 08:27:02 BST 2015


Hi,

without any in-depth analysis, bandwidth is not the only relevant
networking parameter here. You might want to change ping time to your
hosts, too. Because a CORBA call usually waits until an ACK is received,
ping times can have a big influence here when sending small data
packets. That's why we usually have algorithms that transfer more than
one message per call, as CORBA sequences. If the messages neither get
too small or too big, CORBA can be very performant, so I'd prefer it any
time over self-written TCP protocols.

Regards,
  Michael


Am 03.08.15 um 07:01 schrieb Soundararajan, Krishna:
> Hi,
> I am performing a bandwidth comparison study on CORBA using Infiniband
> and 10GeT link.
> I created a simple CORBA app to test the CORBA performance on IB vs 10GeT.
> A CORBA servant object is hosted on Windows R2 server with 64GB RAM and
> Intel Xeon 2.5GHz processor.
> The clients are hosted in RHEL server with 36GB RAM and Intel Xeon
> 2.5GHz processor.
>  
> There have been two variables which were used. Each remote call is
> repeated until the total data sent is 8GB
> a)      Remote calls are made with different argument sizes from
> 1kB,2kB,4kB upto 1mB.
> b)       Number of client threads is varied from 1 to 32(Each thread
> splitting totalData/NumOfThreads)
>  
> The surprising result is that CORBA performance on 10GeT is better than
> Infiniband.
>   	  	IB(theoretical max: 54Gbps) 	10 GeT(theoretical max: 10Gbps) 	1
> GeT(theoretical max: 1Gbps)
> CORBA 	  	B/w:8.66 	B/w:8.76 	B/w:0.864
>   	  	MTU:2044 	MTU:9048 	MTU:63
>   	  	Parallel:26 	Parallel:32 	Parallel:32
>   	  	KB/call:256 	kB/Call:256 	kB/Call:64
>   	  	Window scaling :ON 	Window scaling :ON 	Window scaling :ON
>   	  	  	  	 
> Socket 	  	B/w:43.6 	B/w:9.35 	B/w:0.951
>   	  	Rec.Window:1M 	Rec.Window:512K 	Rec.Window:63K
>   	  	Send.Window:256 	Send.Window:256K 	Send.Window:256K
>   	  	Parallel:6 	Parallel:2 	Parallel:3
> 
>  
> Here Socket performance means the bandwidth measured by iperf.
>  
> With this results, I have following questions.
> 
>  1. I read in several old articles in internet that ORB kills the
>     throughput because of inefficient memory copies and
>     marshalling/unmarshalling. In 10Gb Ethernet and 1 Gb Ethernet, I do
>     see almost  90% utilization(CORBA compared to ethernet). But IB card
>     give less than 25% of network utilization. What is causing this
>     overhead?
>  2. Though CORBA is meant to be used for remote method calls, we are
>     amazed with its superiority in serializing. Can we use it as
>     alternative for socket data transfer with amnual serializing code?
>     Is CORBA suitable in high bandwidth  networks for data transfer?
> 
>  
> Thanks
> Krishna
>  
> 
> 
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
> http://www.omniorb-support.com/mailman/listinfo/omniorb-list
> 




More information about the omniORB-list mailing list