[omniORB] CORBA performance on InfiniBand network

Soundararajan, Krishna Krishna.Soundararajan at kla-tencor.com
Mon Aug 3 06:01:22 BST 2015


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20150803/26ac80c9/attachment.html>


More information about the omniORB-list mailing list