Some time ago David published an implementation of a simple monitor for ParallelTable
which dynamically displays current values of the iterator for all parallel kernels. However this implementation has significant drawback: if one kernel "freezes" while others have finished their work, this monitor will still display all the kernels as running and there is no straightaway way to decide at which value of the iterator the freezing occurred.
How to create a monitor for ParallelTable
that will display only values of the iterator which currently are under evaluation? Ideally the value of the iterator should be shown along with the number of the parallel kernel where it is evaluating (I mean not $KernelID
but the number shown as CellLabel
like "(kernel 3)"
when something is printed from a parallel kernel)? Timings for different values of the iterator may differ by orders of magnitude. A toy example:
ParallelTable[Pause[RandomVariate[ExponentialDistribution[1/2]]], {i, 50}]