[PVFS2-developers] BMI client pre-init all interfaces
pw at osc.edu
Tue Mar 23 15:52:32 EST 2004
I noticed that the performance using bmi_ib dropped hugely, like more
than one order of magnitude, between a couple of weeks ago and now.
Turns out to be related to the auto-initialization of all the BMI
interfaces on the client. If I manually disable bmi_tcp in Makefile.in,
performance goes back to normal. (The delay is in every _testcontext
first calling into bmi_tcp which polls on its listening socket for no
good reason, costing an extra 20 ms. Then it does the IB poll which
takes only 100 us.)
My question is: why this change? Do all pvfs2 apps parse the tab file
before calling BMI_initialize (via PVFS_sys_initialize())? If so, we
know all interfaces that might be used and can restrict the set. Does
this dynamic tab stuff Neill has been adding mean that methods might be
If dynamic will happen, it would be easy enough to add a second array of
"potential" versus "active" interfaces to BMI and only enable them if
the client bothers to use them. This only has to be detected in
BMI_addr_lookup, I think.
Note this is only a client problem. The overhead isn't as noticable
on the server.
More information about the PVFS2-developers