On Aug 13, 2007, at 11:12 AM, Galen Shipman wrote:
1) remove 0 byte optimization of not initializing the convertor
This costs us an “if“ in MCA_PML_BASE_SEND_REQUEST_INIT and an
“if“ in mca_pml_ob1_send_request_start_copy
+++
Measure the convertor initialization before taking any other action.
----------------------------------------------------------------------
--
I talked with Galen and then with Pasha; Pasha will look into this.
Specifically:
- Investigate ob1 and find all the places we're doing 0-byte
optimizations (I don't think that there are any in the openib btl...?).
- Selectively remove each of the zero-byte optimizations and measure
what the cost is, both in terms of time and cycles (using the RDTSC
macro/inline function that's somewhere already in OMPI). If
possible, it would be best to measure these individually rather than
removing all of them and looking at the aggregate.
- Do all of this with and without heterogeneous support enabled to
measure what the cost of heterogeneity is.
This will enable us to find out where the time is being spent.
Clearly, there's some differences between zero and nonzero byte
messages, so it would be a good first step to understand exactly what
they are.
----------------------------------------------------------------------
--
2) get rid of mca_pml_ob1_send_request_start_prepare and
This is also all good stuff; let's look into the zero-byte
optimizations first and then tackle the rest of these after that.
Good?
--
Jeff Squyres
Cisco Systems