[Beowulf] A start in Parallel Programming?

Kyle Spaans 3lucid at gmail.com
Tue Mar 13 11:20:39 EDT 2007

Hello Beowulf list.
Some of you may remember me from earlier in the summer. Well, after
nearly a year of lurking, I'm back!

As a background update: I'm at the University of Waterloo, studying
math in a program called Computational Math [solving problems
computationally, sound familiar? haw haw haw]. I'm taking a good
variety of courses [Maths, CS, Physics, and French]. I've gotten
through my first semester OK, and currently I'm living near Toronto on
my 4-month Co-op work term.

I just read this article,
<http://arstechnica.com/articles/paedia/hardware/physx-hpc.ars>, and
it has rekindled my desire to get started in parallel and
multi-threaded programming. By now, I'm plenty comfortable with Linux
[had to compile a custom kernel to get Linux to work on my desktop
because the hard drive controller didn't have drivers in the kernel],
and I've got access to lots of old and cheap computers. I've got even
more computers waiting for me, with remote access, at my dad's house
[more specifically three dual 2GHz Xeon rigs with a gig of Rambus DRAM
each]. Before I fully entrench myself with getting the cluster setup,
I want to make sure I can at least write some trivial parallel code
that I can USE on my cluster. Thanks to all your earlier emails, I've
got a good list of little problems I can start out with, not to
mention problems from my math classes. My question now is, how? Please
let me know if any of these are FAQs or Google'able, I'm a capable
RTFM'er but I just haven't found answers to these questions yet.

Do I really need MPI/OpenMPI/OpenMP/PVM? If so, does that mean I
should suck it up and learn Fortran/C/C++? Or can I just devise my own
message passing system to help me parallelize the workload? For
example, TCP sockets were mentioned. In my CS class I learned Scheme
[a dialect of LISP], and I know Scheme can work with TCP sockets. It
has also gotten me very interested in the Functional Programming
paradigm [but is it ideal for parallel programming?]. If possible, I'd
like to stick with Scheme for now, as it'll make my CS class coming up
this summer all the more interesting.

Speed isn't what I'm worried about right now, I just want to get
started thinking about and writing parallel code.
Thanks for your help!
Beowulf mailing list, Beowulf at beowulf.org
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf


More information about the Beowulf mailing list