0
$\begingroup$

I am able to launch remote kernels from my Windows box to our Linux cluster that

  1. has the data I need and
  2. the capacity to run analysis (numerous & speedy cores, spacious memory, etc.).

Works great except for the fact that there's a bit of latency. That's not a huge deal given the cost of the calculations I run, but what kills me is the predictive interface. Any time Mathematica tries to be helpful with the predictive interface functions, the latency kicks in, the program stops responding, and I have to wait for the remote kernel to return its results before any part of Mathematica becomes responsive.

Is there a way to peg the local kernel to user interface or predictive interface tasks and assign the remote kernel(s) to computation only?

$\endgroup$
6
  • 1
    $\begingroup$ You can turn off the predictive interface, which might be the most practical solution here. Out of curiosity, do you have 9.0.0 or 9.0.1? $\endgroup$
    – Szabolcs
    Commented Nov 25, 2013 at 18:40
  • $\begingroup$ You could also use the parallel tools and run the subkernels on the remote machine. This way you will be able to manage (ParallelEvaluate) what computations run remotely what what runs locally. $\endgroup$
    – Szabolcs
    Commented Nov 25, 2013 at 18:41
  • $\begingroup$ Szabolcs - thanks for the practical solution: I've done that in the mean time and it helps tremendously. I happen to be running 9.0.0, though I have the installation binary to 9.0.1 available--just haven't gotten around to installing it yet. Is there a significant difference between the two? $\endgroup$ Commented Nov 25, 2013 at 19:28
  • $\begingroup$ I'm not sure, but some predictive-interface-related (and other) bugs were supposed to be fixed in 9.0.1, I would definitely install it, and try if it's better. It's just a guess. There's also this thing, which suggests that your problem might eventually go away (in a future version) (??). Regarding the ParallelEvluate-based solution, one inconvenience is that ParallelEvaluate doesn't automatically DsitributeDefinitions like e.g. Parallelize does. $\endgroup$
    – Szabolcs
    Commented Nov 25, 2013 at 19:31
  • $\begingroup$ This is an interesting idea, but even if you could set this up, the first thing the predictive interface would need to do is pull your output from the remote kernel back to the local for analysis. Depends what the latency hangup is really attributed to. $\endgroup$
    – Joel Klein
    Commented Nov 26, 2013 at 19:20

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.