[omniORB] CORBA performance on InfiniBand network

Johnny Willemsen jwillemsen at remedy.nl
Mon Aug 3 12:04:44 BST 2015


Hi,

I agree, instead of fragmenting the data yourself, let CORBA do this, it
could do it probably much better then your code does. Also be aware that
CORBA is just a specification, there are multiple implementations which
means you now test the omniORB implementation. We do mostly use TAO and
TAOX11 which has its own optimizations, it could be worth to benchmark
with different implementations.

Also omniORB and TAO have support for ZIOP which enables you to let the
ORB compress your data, it is a trade off between CPU usage and
bandwidth and could help in some use cases.

In our experience we mostly beat any customer created own IPC mechanism
because a CORBA implementation is way more optimized.

Best regards,

Johnny Willemsen
Remedy IT
http://www.remedy.nl



On 08/03/2015 09:27 AM, Michael Teske wrote:
> 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
>>
> 
> 
> _______________________________________________
> 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