[Beowulf] MS HPC... Oh dear...
landman at scalableinformatics.com
Mon Jun 12 08:29:48 PDT 2006
Robert G. Brown wrote:
> There are two important differences that you miss, Joe. The first is
> that "dynamic link library" is a much cooler sounding name than a
> "shared object" library. "DLL" sort of rolls off of the tongue where
> "SO" sounds like it wants to be followed by "B".
Eek... you are right. I am notorious for being really bad (TM) at
naming things, and I though "so" was cooler than "dll". My bad.
> The second is that historically DLLs have been one of the best ways to
> break a WinXX system ever invented. Every g*dd**n time one installs a
> new piece of software on a WinXX system that needs to "update" a
> critical DLL so that >>it<< is happy, you have a significant probability
> of breaking at least one piece of software that used the version you
> replaced, especially if IT loaded a different version of the SAME DLL
> when it was originally loaded.
I remember those days. Update the browser. Hey, telnet stopped working
> Installshield ain't yum, and no software vendor is willing to wait for
> MS to "fix" things in their distribution DLLs so that their own package
> works correctly with it, so they each fix what they need to fix and
>> 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.
>> Which is about the complexity that most end users/customers want.
> In the best of all universes, this is true. But in the best of all
> universes, I'd have naked slave girls fanning me and periodically
> stuffing grapes in my mouth while I type, right?
Hmmm.... might your significant other have something to say about this?
> In the real world, this is true if a) There >>is<< a well defined,
> carefully versioned API; b) there is a single point of support for the
> DLL (at least for DLLs that have to integrate tightly with the also
> carefully versioned operating system); c) the API/ABI is written in such
> a way that it remains (mostly) backwards compatible; c) software that
> uses the DLL is version aware; d) the software installation process for
> the OS is version aware.
> Now, let's see -- RPM-based linux, supported by e.g. yum, does this very
> nicely. ALL software is dependency aware and is typically built per
> distro per major revision thereof. People who refuse to use rpm --force
> ever, and who only use rpm-based software, and who never install their
> own "private" copy of a shared library but instead only use the one that
> comes "with" the distro and built to the same standards and dependency
> rules find that installing package X almost never breaks package Y.
The problem is that (for commercial software) you now have to
build/support N different distros. And the good folks at Microsoft are
going to make that point to the world, to the ISVs, etc.
There is a question of practicality versus purity. I believe you are
arguing for purity (of distro and build), and I am arguing that this is
not as practical as a well implemented ABI.
> Debian also plays nicely here -- dependency awareness, build
> consistency, strong resistance to multiple libraries satisfying any
> given shared dependency and dependency loops and so on.
Which all but one or two commercial ISVs completely ignore as a target
distro. This may change with Ubuntu, but not likely by much.
> WinDoze? Don't make me laugh. Anybody in the room who hasn't broken at
> least one WinXX app by installing another (without the slightest warning
> or complaint from the OS or install process) please raise their hand.
> Hmmm, not a lot of hands out there....;-)
I especially like the remove feature which occasionally takes down the
OS by removing a critical .dll. :(
> So FUNCTIONALLY sure, DLLs and SO are the same thing. Practically
> speaking, Wine and/or Cedega typically install applications (and all
> their application-specific DLLs) in their own independent fake trees
> just to avoid this very problem, because it is difficult enough to debug
> a WinXX emulator as it is without having to also debug dueling DLLs.
My arguments are that the Microsoft cluster bits will be important for
people who dont care about the underlying technology, and simply want "a
cluster". Loaded statement granted, but Microsoft is not known for weak
marketing, and they will go to town with perceived weaknesses, real,
imagined, or concocted.
Joseph Landman, Ph.D
Founder and CEO
Scalable Informatics LLC,
email: landman at scalableinformatics.com
web : http://www.scalableinformatics.com
phone: +1 734 786 8423
fax : +1 734 786 8452 or +1 866 888 3112
cell : +1 734 612 4615
More information about the Beowulf