LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2004-06-02 10:45:17


On Wed, 2 Jun 2004, mohammed mubeen jukaku wrote:

> I havnt used the -s option for mpirun, the executable is residing on all
> m/cs. Basically its a master slave approach wherin the master sends
> chunks of data to all slaves for processing and wait for the slaves to
> return the partial output. This process continues untill there is no
> more data to send.

Just out of curiousity:

1. Is this an encoder derived from
    http://www.osl.iu.edu/~jsquyres/bladeenc/ ? I did that as a toy
    and educational tool several years ago, and stopped development a
    long time ago. Indeed, BladeEnc has been abondoned in favor of the
    Ogg/Vorbis project. If so, note that this encode works nicely in
    parallel, but heed all the warnings on that web page -- due to the
    differential aspects of MP3 encoding, you will *not* get the same
    result encoding in parallel as you will in serial. That being
    said, I still have lots of MP3s that were encoded with the parallel
    bladeenc, and I listen to them on a regular basis (i.e., I can't
    tell the difference by listening to them, but I'm not a huge
    audiophile).

    As a further sidenote to this digression, the Ogg Vorbis encoder is
    *not* parallelizable (or at least it wasn't the last time I
    checked, which I think was sometime within the last year) for deep,
    complex reasons.

2. The process you describe is essentially what my parallelized
    BladeEnc did. It did not suffer from any problems based on
    location of the exexecutable. I suggest using the timer / binary
    search method to discover where the bottleneck is occuring. LAM
    should not care about filesystem location with respect to the
    overall speed of your application; it sounds like there is some
    kind of outside influence that is slowing things down.

> On Wed, 02 Jun 2004 Jeff Squyres wrote :
>> On Tue, 1 Jun 2004, mohammed mubeen jukaku wrote:
>>
>>> I have developed a parallel MP3 encoder using BladeEncoder as the base. It runs quite fast on NFS (I have a single home dir). But its damm slow when not on NFS (for eg. when i run from /tmp, which is availble on all m/cs) - ofcourse slower than the serial encoder. Can any1 help me?
>>
>> While your results may seem counter-intuitive, there are probably a lot of factors involved here. One large one to investigate is how you're sending the data out. Another is how you're sending the executable out (are you using the -s option to mpirun, or is the executable and/or data already staged on each node).
>>
>> You might want to throw some crude timers around portions of your program and see exactly where the delay is occuring -- sometimes such timers and a binary search through your code (narrowing the timer range on smaller and smaller parts of your code to find out where the major time sink is) can be quite enlightening. :-)
>>
>> -- {+} Jeff Squyres
>> {+} jsquyres_at_[hidden]
>> {+} http://www.lam-mpi.org/
>

-- 
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/