MathGroup Archive 2008

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

Search the Archive

running multiple mathkernel's

  • To: mathgroup at
  • Subject: [mg90394] running multiple mathkernel's
  • From: Bob F <deepyogurt at>
  • Date: Tue, 8 Jul 2008 02:26:37 -0400 (EDT)

Is there a way to automatically have Mathematica v6 run a separate
MathKernel for two notebooks so that they could run concurrently? I
was running a really long calculation that ended up taking about an
hour, and so opened up another notebook to do something else while I
waited for the other notebook to finish running. I thought that
Mathematica would run the second MathKernel that is available for this
second notebook, but the only thing that happened in the second
notebook was wait for the first one to finish.

So I started looking into setting up a second kernel via the
"Evaluation/Kernel Configuration Options" menu item, and added a
second MathKernel to automatically launch on front end startup,
thinking that Mathematica would use this spare MathKernel on the
second notebook, but it didn't. I could see the two MathKernel
processes running, but only one of them would actually run all the
notebooks that I tried to run at the same time.

What I ended up doing was manually assigning a kernel to the second
notebook with the "Evaluation/Notebook's Kernel", and then finally it
would run at the same time as the other. I tried this on both Mac and
Windows versions of Mathematica V6 with similar behavior and results.

After spending the time in getting all this done, I thought surely
there must be a way for Mathematica to automatically use as many
MathKernel's as needed for running more than one notebook at a time,
within the limit's of your licenses. With a normal Mathematica license
you can run up to two MathKernel processes and one front end
Mathematica processor. I even thought that if you had two licenses on
two different computers that you could conceivably run 4 MathKernel's,
but this is apparently only possible if you have something called
network licensing, which costs more money than a normal license. There
is also something called PersonalGrid that has up to 5 MathKernals (1
master plus 4 computation kernels) but am guessing it would have the
same issue of having to manually assign a kernel to a notebook, so
each notebook program could conceivably run at the same time. Does
anyone know if this is the case or not? If not how does it really

What is the purpose of having two MathKernel processes as part of the
license if you have to go thru all the extra work of manual
assignment? Why doesn't Mathematica do this automatically for you??  I
had a suggestion that I should run two copies of Mathematica, but that
seemed way to much overhead for what I wanted to do. Is this what most
people do who have a similar situation of one really long calculation
and wanting to do other work in another notebook while waiting for the
long one to finish?

Does anyone have any suggestions on how to do this association of
notebooks to MathKernel processes so that they could be running at the
same time in some sort of automatic fashion and avoid having to
manually manage it like I did?? It would seem that with multi-core and
multi-processor systems becoming more common that this would be of
interest to more and more people. Any comments or suggestions of how
this works in Mathematica?



  • Prev by Date: Re: Extracting terms of a polynomial into a list and then
  • Next by Date: Re: Re: Set::setraw error
  • Previous by thread: Re: Extracting terms of a polynomial into a list and then
  • Next by thread: Re: running multiple mathkernel's