[Beowulf] Differenz between a Grid and a Cluster???
Joe Landman
landman at scalableinformatics.com
Thu Sep 22 08:46:36 PDT 2005
Robert G. Brown wrote:
> Joe Landman writes:
[...]
> <warning>
> patented rgb ramble follows, hit d now or waste your day...:-)
> </warning>
"I'm sorry, is this a 5 minute argument, or the full half hour?"
(quoting Monty Python )
I've been writing (carefully) makefiles that had to work across Crays,
RISC, Linux,... for quite a while (better part of 16 years), so I am
unfortunately familar with the pain of cross platform.
<soapbox context="builder of software that has to work the same
everywhere regardless of the platform">
Note to vendors of differentiated OS/hardware solutions: They are not.
Many are a pain in the neck to port to. Make it painless to
transition (ala AMD64), and we might do it if the benefits outweigh the
costs of typing "make". Make it painful (pick your favorite declining
architecture), and we won't. Really, this isn't rocket science ...
</soapbox>
Right now, one of bits of software works the same across 3 different
ABIs, three different OSes, each with a few versions. It has to. We
don't have a choice. It is a royal pain and quite expensive for us to
deal with surprising issues on some of these platforms.
>> [...]
>>
>>> Some of the gridware packages do exactly this -- you don't distribute
>>> binaries, you distribute tarball (or other) packages and a set of rules
>>> to build and THEN run your application. I don't think that any of these
>>> use rpms, although they should -- a well designed src rpm is a nearly
>>
>> RPM is not a panacea. It has lots of problems in general. The idea
>> is good, just the implementation ranges from moderately ok to
>> absolutely horrendous, depending upon what you want to do with it. If
>> you view RPM as a fancy container for a package, albiet one that is
>> slightly brain damaged, you are least likely to be bitten by some of
>> its more interesting features. What features? Go look at the RedHat
>> kernels circa 2.4 for all the work-arounds they needed to do to deal
>> with its shortcomings.
>>
>> I keep hearing how terrible tarballs and zip files are for package
>> distribution. But you know, unlike RPMs, they work the same,
>> everywhere. Sure they don't have versioning and file/package registry
>> for easy installation/removal. That is an easily fixable problem IMO.
>> Sure they don't have scripting of the install. Again, this is easily
>> fixable (jar files and the par files are examples that come to mind
>> for software distribution from java and perl respectively).
>
> Sure, and when you're done you'll have reinvented an rpm, or close to
> it.
Hmmm. What I object to about RPM is not RPM or the philosophy behind
it. That is good. What I object to are the specifications and the
details of implementation. Whats really fun is to take a nice simple
spec file you have been using for the past few years and discover that
with the new version of RPM in FCx, some simple feature broke that you
were relying on working, so you have to redo all your spec files ...
What I object to is that rather than a simple and elegant design, it is
a patch upon a patch upon a patch, several of them incompatible. It
does not play well with many tools, requiring some interesting
acrobatics to get it to work with various software bits. This is not
the philosophy thats wrong, I agree completely with the philosophy. The
implementation is what is broken. Horribly.
A long time ago, there was a nice little book I read titled "the unix
haters guide" or something like that, which detailed what was wrong with
unix. It was amusing, but it had one particular valid point. That
point was, that if something is broken, and people start writing
work-arounds for the broken-ness into their codes, then that broken-ness
which could have been fixed is now part of the specification of the
system. I have a sense that this is descriptive of the RPM
implementations, and specification.
These days I try to keep my RPMs as absolutely simple as possible. But
it is important to note that it is effectively impossible to coax some
software into the full RPM format (.src rpms that wind up as .arch.rpm)
due to the way they do builds, or allow/suggest you to reconfigure them
GAMESS comes to mind as do a few others. The solution to this is
*NOT* to exclude software that doesn't fit the confines of RPM, but to
fix RPM so that enables you to describe any build method, capture any
software you can build into it, including binaries built after the
original binary installation (ala GAMESS) so you can track project
modifications. Its just not there, and insisting that all software
adapt to RPM as it is the defacto "standard" package manager simply
makes life harder on those whose software will not adapt to RPM.
--
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
cell : +1 734 612 4615
More information about the Beowulf
mailing list