I'd like remote slave kernels to produce log files on my local machine, subject to the following constraints:
1) I don't want to install a distributed filesystem or do other administrative work on the remote machines. I am not their administrator.
2) I don't want to rewrite the interaction between master/slave kernels to support explicit passing of log messages. The slaves are doing long-running computations with lots of state; they need time to finish. On the other hand I need to see the log files as the computations are running.
I know that it is possible to intercept a message (see here) and run a snippet of code, without disturbing the main line of computation (The answer in the link aborts the computation, but you could just as easily do something less intrusive). Is there some way, spiritually along these lines, to generate and then intercept an interprocess communication, which I can use to cause the master kernel to write log entries to files on my local machine?
SetSharedFunction
. My main kernel is running a WaitNext loop. I'm traversing a tree, the structure of which I do not know in advance, so I schedule nodes for processing via ParallelSubmit as I discover them. It sounds like you are saying that SetSharedFunction won't work in my situation. $\endgroup$