This discussion is archived
1 Reply Latest reply: Aug 7, 2012 8:56 AM by 845849 RSS

How does SGE allocate instructions when multiprocessing?

939627 Newbie
Currently Being Moderated
Dear all,

I am trying to understand how SGE allocates instructions across multiple processing cores when I submit a single executable to a job queue. This becomes a significant issue when I am comparing the advantages to manually implementing message passing versus letting SGE automatically parallelize an executable that may have dependencies.

For example, suppose we submit a small program that calculates the sum of adding the numbers 1 through n, where the code itself is written for a serial environment (n-1 steps). Say we have access to n/2 processing units. Theoretically, we could finish the computation in log_2(n) steps (ignore other time factors). If I were to submit this serial code and request n/2 processes with qsub, how will the instructions be allocated amongst the processors?

Does anyone have any experience with this?

P.S. I would test this myself, but my system administrators have to rebuild the entire system to give me this functionality for the platform I am interested in (long story).
  • 1. Re: How does SGE allocate instructions when multiprocessing?
    845849 Newbie
    Currently Being Moderated
    MylesBaker wrote:

    This becomes a significant issue when I am comparing the advantages to manually implementing message passing versus letting SGE automatically parallelize an executable that may have dependencies.
    SGE does not auto. parallelize your applications for you -- for that you may want to look at OpenMP, which IMO is easier than changing your application to use MPI.

    Rayson

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points