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


Reply via email to