Closed dspinellis closed 7 years ago
Good news and bad news: The good news is the graph is correct. This is evident from the explanation given below.
The bad news is there are three sequences of negotiation going on (it wasn't clear to me earlier).
call matrix
negotiates with cat
; the negotiation happens once and leads to the execution of the matrix
function.matrix
function dgsh-parallel
negotiates with cat
; the negotiation happens once and leads to the 5-degree parallel execution of the row
functionrow
function dgsh-parallel
negotiates with paste
; the negotiation will happen once for each execution of the function, that is five times.By counting the distinct negotiation processes we find seven distinct graphs as per the contents of the dot file.
call
is another name for dgsh --dgsh-negotiate
.
This breaks the graph into pieces.
Let's discuss this, so that I fully understand it.
We agreed to avoid invoking the dgsh-parallel
script with dgsh --dgsh-negotiate
. Instead, scripts will inherit DGSH_IN
and DGSH_OUT
from the called process.
I removed the--dgsh-negotiate
from dgsh-parallel
. Now example/5x5 is no longer running.
When running
example/5x5.sh
withDGSH_DOT_DRAW
the following file is created.