[Beowulf] MS HPC... Oh dear...
ashley at quadrics.com
Mon Jun 12 08:46:57 PDT 2006
On Mon, 2006-06-12 at 11:18 -0400, Joe Landman wrote:
> Ashley Pittman wrote:
> >> More to the point, this dynamic binding allows you to write to the API,
> >> present a consistent ABI, and handle the hardware details elsewhere in a
> >> driver which can be linked in by the .so/.dll/.eieio method at runtime.
> > That's exactly what I thought. I was thrown by your "This is a nice
> > idea" comment because using Windows is no different to Linux in this
> > respect.
> The major difference will be that Microsoft enforces its worldview here,
> which in this particular point, will likely be more in line with what we
> should see on Linux, but don't for a variety of reasons (see Greg L's
> post on MPI ABI). We need it, we just haven't collectively decided that
> there is enough pain to make this the general case yet. Microsoft
> decided (correctly) that this was a good thing, and will just do it.
> This will have a number of side effects, including making "porting" to
> new hardware communication adapters MPI stacks a thing of the past, but
> only on windows. Not on Linux.
I can almost see your argument here, currently there isn't a MPI ABI and
you think that on Windows this situation might be different? The
technical problems of making a stable, cross ISV ABI are the same on
Linux and Windows (possibly even slightly worse under Windows), the only
difference being that under Linux there is a large amount of inertia in
keeping the status quo as moving to a consistent model would break at
least somebodies applications, under a brave new Windows world that
inertia isn't there so the ISV might as well mimic the ABI of somebody
(in this case Microsoft) from day one.
In practise I don't think this is going to be a step forward for two
reasons, firstly the devil is in the detail so having two different code
bases export the same ABI might work at the compile/link level but they
would still behave subtlety differently at run-time, secondly windows is
well known for it's DLL hell model, they can't even have maintain
consistency between release so tracking it externally would be a very
difficult (and error prone) thing to do.
More information about the Beowulf