[Beowulf] small-footprint MS WIn "MinWin"

Robert G. Brown rgb at phy.duke.edu
Wed Oct 24 09:48:39 PDT 2007

On Wed, 24 Oct 2007, Robert Latham wrote:

> On Mon, Oct 22, 2007 at 02:37:15PM -0400, Robert G. Brown wrote:
>> If we really, truly, wanted to run our programs as fast as they
>> possibly could, we wouldn't really use "a kernel" at all.  We would
>> write bootloaders that ran our applications, each one custom
>> compiled for a very specific hardware platform, directly on the
>> hardware.
> This is pretty much exactly what IBM has on their bluegene compute
> nodes.

And I'll bet it isn't terribly easy to repurpose that computer as a
consequence.  As in they probably require something like an assembler
prologue and epilogue for any running static linked binary, and when I
say static, I mean that ANYTHING that you might want to do had better be
in that binary -- the binary probably needs to include its own small
libc and/or libm or just be written in raw assembler throughout.

IBM is rich.  They can afford to write a large, complex program in
assembler or a "kernel-like" compiler-supported environment with
assembler wrappers on a one-off basis, just to advertise their genius
and product line.

Normal mortals, however, no longer code much in assembler (even if in
principle they know how), want the convenience of shared libraries (even
if they aren't as fast as static linked, unrolled libraries), enjoy
having a kernel to manage devices and interrupts and scheduling and
timing and memory.

The cool thing is that to the hard-core beowulf builder, this IS an
extreme option, and all the other options discussed on this thread in
between are there too.  So if you positively must be the fastest,
expense be damned, boot into your task and strip out all the
non-task-related code.  If the task requires a wheel you'll have to
build it, possibly out of assembler, but when you are done and have
hand-optimized it, you will be right up there as close to theoretical
maximum performance as is possible for the task.  If you want to code in
a day all by yourself what would take a team of programmers weeks to
code the other way, having a kernel, a compiler, libraries are all nice.
Similarly you have management tradeoffs that may or many not include
single user operation (with a kernel) running X or not, running whole VM
environments around your task(s) or not.  You get to do the cost-benefit
calculation, taking into account your own time, abilities, and
resources, and decide.


> ==rob

Robert G. Brown
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone(cell): 1-919-280-8443
Web: http://www.phy.duke.edu/~rgb
Lulu Bookstore: http://stores.lulu.com/store.php?fAcctID=877977

More information about the Beowulf mailing list