[ofw] RE: [PATCHv2] WinVerbs: Make QP modification asynchronous
Fab Tillier
ftillier at windows.microsoft.com
Thu Feb 12 15:17:52 PST 2009
> Can you re-run the test, but give the application one thread per core?
The app isn't multithreaded so I ran two apps side by side:
Async: 3562
Sync: 2705
The CPU wasn't pegged in either of these tests, so I ran again with 4 apps side by side...
Async: 3933
Sync: 3869
Still not CPU bound, but close and I think the part that isn't CPU bound is due to QP creation and destruction. It's hard to get all 4 to start at the same time, too, so there's a little skew between them.
> I would also like to see the results of using the work item for an
> application that waits for the Modify to complete. (This is how
> libibverbs, DAPL, or an IBAL compatibility layer would use the calls. I
> don't think the ND provider uses the call.)
You mean strict serialization? As in move each QP through its states, destroy it, and only then create the next? Don't you have a test for that at the libibverbs level you can use?
> I would assume that adding this functionally to Connect() and Accept()
> would provide a result that's similar, but those are harder to test.
Yes, I have that coded but not yet tested. The Connect/Accept change would help MSMPI since that's what the ND Provider does today.
Writing a test that establishes connections is significantly more complicated, though, and I wanted to demonstrate the benefits of the asynchronous operations and get buy in on that before really investing a lot of time/effort for something that's going to be rejected...
More information about the ofw
mailing list