[Beowulf] Re: What now? (Glen Gardner)

Glen Gardner Glen.Gardner at verizon.net
Thu Aug 19 16:50:27 PDT 2004

It looks like you hit the thread just fine.

By "simple imaging software", I mean low-level image processing. It 
typically involves very simple computational tasks, like lowpass 
filters, highpass filters , based on convolution masks. These kind of 
tasks are easily parallelized and the filters can usually be written by 
most people in a few hours.
In any case, I have a number of rather simple filters writtien in C for 
MPI.  I then call the filters in combination using a shell script to do 
more complex things. In this way I can use a suite of simple, generic 
tools in a highly configurable fashion to perfrom more complex imaging 
tasks in a wider variety of situations than I could with a highly 
specialized (and more complex) program.

By "embarrassingly parallel" I mean the parallel programs consist of 
processes which communicate with each other very little (or not at all).
In the case of my imaging software , it only communicates twice. First 
to divide the imaging data into separate jobs for each node, and once 
more after processing, to gather and reassemble the "finished" data into 
an image.

MPI and PVM are publicly available parallel environments. They provide a 
means of communicating between processes.  If you install one of them on 
a Linux or FreeBSD cluster you can use it with the compilers that came 
with the operating system.  From there, you pretty much have to write 
your own parallel programs.

The software which I have written is not a GPL release, and and it is 
not public domain.  I have no plans to release it at this time. But such 
code is a very simple thing to write and sufficient information about 
the basics of image processing can be found in most undergraduate 
textbooks on remote sensing and image processing.

I feel a need to justify my position on this, so please bear with me.

There is a general reluctance, on the part of many people (myself 
included), to publicly release parallel code due to; the unfortunate 
federal restrictions on the export of high performance computing 
technology, the high dollar value of good  parallel code, and the high 
rate of plagiarism in the programming industry. Also, the highly 
customized nature of Beowulf machines makes it difficult (or impossible) 
to be sure that a given parallel program will compile and run from one 
Beowulf  to the next. Overall, the situation discourages public releases 
of parallel code, and is an unhappy impediment to the sharing of new 
ideas among high performance computing advocates.  

A lot of people are working to improve the situation, and hopefully 
there will eventually be a platform for making official releases of 
parallel code that serves to protect the author's rights as well as 
making more software available to the public, without upsetting ITAR, 
homeland security, etc..


dajelen at att.net wrote:

> Hi all,
> I receive this maillist as a digest and I wasn't sure how to reply to 
> this thread.
> I've been eagerly following this thread of what to do with a Beowulf 
> once it is assembled.
> Glen mentioned imaging software that is very simple and embarassingly 
> simple.
> Is anything proprietary about this software?
> I'd like to learn more about how it works, what it can do, and how to 
> install/run
> it on a Beowulf cluster.
> This is one of the possibilities I've been considering for a Beowulf 
> cluster and would like
> to learn from someone who has already accomplished it.
> Thanks,
> Dave
> P.S.  To all of you, I really do appreciate the input about books and 
> classes that you have
> provided.
>Beowulf mailing list, Beowulf at beowulf.org
>To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf

Glen E. Gardner, Jr.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20040819/3c83aaf9/attachment.html>

More information about the Beowulf mailing list