[Beowulf] Re: Re: Home beowulf - NIC latencies
ashley at quadrics.com
Wed Feb 16 03:55:37 PST 2005
On Wed, 2005-02-16 at 03:39 -0500, Patrick Geoffray wrote:
> In general yes, more opportunities for optimization is better. Now,
> assuming that irregular datatypes can be optimized as much as regular
> ones is wrong. The hardware can gather/scatter better than the
> application for nice long strides.
> However, MPI libs should print
> insults when tiny segments are used (when the scatter/gather efficiency
> collapse). The developer assumes that's it's fine because he does not
> know or he does not care.
I have seen code that used a multi megabyte array of 64bit float/short
pairs, effectively having 10 bits of data and 6 bits of "space".
Changing this to a 64bit float and two 32bit ints removed the void space
and replaced it with deliberate zero data. The "data transferred" went
up, application buffer sizes remained the same and performance was a
whole lot better. The application writer had used a short to "save
space" and was somewhat stunned at the performance improvement.
This is a situation that would be best avoided, maybe user education is
the key but it's a common problem and there are an awful lot of users.
I'm not against complex datatypes on MPI but they are hard to deal with
and do get mis-used.
More information about the Beowulf