[Beowulf] Seg Fault with pvm_upkstr() and Linux.

Josh Zamor jzamor at gmail.com
Wed Mar 16 12:25:01 PST 2005

On Mar 16, 2005, at 10:37 AM, Vincent Diepeveen wrote:
> Did you configure GMP correctly?
> For math with big numbers it default does not use FFT calculations but 
> way
> slower methods. You might want to recompile it with FFT enabled in 
> case you
> didn't do this yet.

I actually haven't done this, though I'll certainly try that soon.

> In general in parallel programming the worst performance you get when 
> all
> processes must report to 1 central process.
> It's far more efficient when each process is equal and 'divides' the 
> work
> done.
> A simple calculation example of a problem i had at a 512 processor SGI 
> is
> that each 'hub' can handle at most 680MB data per second (for 4 
> processors
> in total yes).
> However if 499 other processors start reading/writing from/to this 
> 'hub'
> then real disasters will happen.
> Things will completely lock up. Not only because all processors must 
> divide
> the small bandwidth, but also because you will get switch latency 
> overhead
> problems of routers and switches.
> If they first must stream a few bytes data from A to B and then 
> suddenly
> from C to D, that's far less efficient than when 1 switch/router must
> stream only from A to B.
> Switches and routers sometimes have their own cache which is optimized 
> for
> those benchmark streaming tests simply. Switch latency can cause 
> serious
> problems if all processors want to use the same communication 
> resources.
> The general rule is to keep the routers/switches as less possible as 
> busy
> and try to make embarrassingly as possible parallel software.

This is exactly the sort of thing that I will be looking for shortly, 
do you have any recommendations on either books or online texts that 
cover this sort of thing (best practices when programming for 
clusters)? I'm currently just experimenting, but this is a field that I 
think I want to get involved in.

> which compiler do you compile with?
> I hope gcc only and not intel c++?
> intel c++ is notorious with floating points in order to get faster at
> benchmarks.
> Are you busy with floating point or with integers?

I am currently using gcc's c compiler, ver 3.3.x. And doing mostly 
integer calculations currently.

> Are you using PGO with gcc?  (pgo = profile guided optimizations)
> There is major bugs even in latest 3.4.3 gcc in the PGO.
> Those guys are all volunteers and very cool guys.
> Very slow in bugfixing as they have other jobs too, and i don't blame 
> them.

Actually, I haven't, but profilers are one of the things that I want to 
get more familiar with... Thank you for the suggestions, I really 
appreciate them having done limited parallel programming on this scale.

-J Zamor
jzamor at gmail.com

More information about the Beowulf mailing list