Re: Parallel remote kernel: MathLink connection not active
- To: mathgroup at smc.vnet.net
- Subject: [mg121604] Re: Parallel remote kernel: MathLink connection not active
- From: John Fultz <jfultz at wolfram.com>
- Date: Thu, 22 Sep 2011 07:24:19 -0400 (EDT)
- Delivered-to: firstname.lastname@example.org
- Reply-to: jfultz at wolfram.com
It looks me to like what you're trying to do is to hook up a kernel launched with the -subkernel option to a front end. Is that right? If so, then what you're trying to do is (or should be) a violation of the license agreement. In the terms of the license agreement, what you're calling a "parallel" kernel is a "Computation Process". The only way you should be accessing a Computation Process is through the various kernel parallel processing commands, issued by a legitimate "Controlling Process" kernel. If you have typical single-machine licenses, then you have 2 Controlling Processes and 4 Computation Processes per system. Any front end you are interactively using has got to be talking to one of the 2 Controlling Process kernels. The language of the license agreement can be a bit confusing on this point...in part because the front ends are also split into Controlling and Computation Processes. That's because a Computation Process kernel may require rendering services, which means that it would launch a Computation Process front end. But that front end is not interactive...it's purely used to fulfill computational services. Along with the legal language, there is some enforcement of this policy built into the technology. That is what you're running into. If what you meant, instead, was that you were trying to issue this as a command-line to something like LaunchKernels, then including a fuller record of your Mathematica input and what you're trying to do might be helpful. Sincerely, John Fultz jfultz at wolfram.com User Interface Group Wolfram Research, Inc. On Tue, 20 Sep 2011 06:10:02 -0400 (EDT), Andrew wrote: > Hi all > > I'm struggling to set up parallel remote kernels, and searching around > it seems that I am not alone but I could not find a solution. > > In my case, both client and server are running Windows; the server is > running CopSSH and I have successfully set up a single remote kernel > using mathssh: > > java -jar "`mathssh`" user@server "math -mathlink -LinkMode Connect - > LinkProtocol TCPIP -LinkName `linkname` -LinkHost x.x.x.x" > > where x.x.x.x is the client's IP. I can set a notebook to use this > remote kernel, and executing $MachineName gives the name of the > server, so everything is working as expected. > > However, I can't seem to get the same to work for parallel kernels. I > have pretty much just copied the configuration across and tweaked the > replacements: > > java -jar "C:\Program Files\Wolfram \ > Research\Mathematica\8.0\SystemFiles\Java\WolframSSH.jar" user@`1` > "math -mathlink -LinkMode Connect -LinkProtocol TCPIP -LinkName `2` - > LinkHost x.x.x.x -subkernel -noinit >& /dev/null &" > > However, when it fires up, the server kernel spits out the error > LinkConnect::linkc: > LinkObject[55512 at x.x.x.x,55513 at x.x.x.x, 1, 1] > > which "is generated by an attempt to access a MathLink connection that > is not active". > > Any ideas?