MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Specifying jobs in Parallel Computing

  • To: mathgroup at
  • Subject: [mg31030] Re: Specifying jobs in Parallel Computing
  • From: Mike Yukish <may106 at>
  • Date: Fri, 5 Oct 2001 01:22:39 -0400 (EDT)
  • Organization: Penn State University, Center for Academic Computing
  • References: <9pecem$sil$>
  • Sender: owner-wri-mathgroup at

The ParallelTable load shares by design, as it sends a new term to be
evaluated to a remote kernel when that remote kernel is done with the last
one. So your CPU 3 kernel will be working faster, and therefore picking up
more of the load.

If you want to do what you said below, send iterates 2001 to 3000 to CPU 3,
for example, you'll have to write your own little routine to do that (not
hard). It is worth it if the function in the iteration is small, because the
comm latency between kernels can be extensive. Coarsely spreading out the
problem will result in only a few communications. Not doing a coarse
parallelization results in 3000 communications. The only drawback is if you
miscalculate and one kernel has much more work than the others.

"Toshiyuki (Toshi) Meshii" wrote:

> Hello,
> I wonder if I can specify the quantity of the jobs by ParallelTable, or
> similar commands.
> For example, suppose there is one master + three slave machines connected.
> All I can do at this moment is like
> a = ParallelTable[ i^2 +3, {i, 1, 3000}]
> so that I do not know the load level of each slave machines.
> Because I know the CPU speed, I want to divide the total job so that (for
> example)
> CPU 1 --- i = 1 to 500
> CPU 2 --- i = 501 to 2000
> CPU 3 --- i = 2001 to 3000
> Is this possible by Mathematica's parallel computing kit?
> -Toshi

  • Prev by Date: Many Lists
  • Next by Date: Re: RGBColor to Hue?
  • Previous by thread: Specifying jobs in Parallel Computing
  • Next by thread: Specifying significant figures in FindMinimum