[ofw] winverbs ND provider

Sean Hefty sean.hefty at intel.com
Tue Jan 12 14:22:46 PST 2010


>Here is one set of test results.  This is between 2 2-processor systems
>with mthca.
>
>winverbs
>threads	1	2	4
>conn/sec	644	1294	1661
>accept	1363	1228	1566
>disc		814	715	706
>
>ibal
>threads	1	2	4
>conn/sec	1454	1854	1823
>accept	386	536	568
>disc		457	596	772
>
>So, at 4 threads, there's only about a 10% difference, but over a 100%
>difference for a single thread.  rdma_cmatose, which is single
>threaded,
>reports about 715 connections / second for winverbs.
>
>I'll try to see what the impact is of using work threads in the kernel
>driver.

I converted winverbs to use synchronous calls in the kernel.  The rates
were slightly lower.  There just isn't a lot of code in the winverbs ND
provider or winverbs library, so I'm not sure why the difference appears
so large.  I'll try to measure the socket calls used by winverbs to see
how much time is spent there.  That's really the only significant piece
of code I can see.

In any case, after looking closer at ndconn and what it does, I think we
just ignore the performance numbers that it reports.  The numbers are
not very reproducible or accurate.  Literally thousands of connections
can form outside of the timing of the test.

The ibal ND provider is likely to perform better than the winverbs ND
provider, since it pokes its fingers into the guts of the IB CM.  I
haven't noticed any application level difference yet.  If we use the 2
threaded numbers from above, then there would only be a 1 second
difference establishing connections across 4000 MPI ranks.
 
- Sean




More information about the ofw mailing list