code:run_swarm
This is an old revision of the document!
Flow Chart of SWARM
<graphviz dot width=500> digraph swarm {
Start [shape=ellipse]; split_comm[shape=box, label="Split MPI-communicator\ninto a master rank\nand multiple worker groups."]; if_master [shape=diamond, label="Master rank?"]; Start -> split_comm -> if_master; if_master -> m1 [label="yes", weight=0]; if_master -> w1 [label="no", weight=0]; node [shape=box, width=3.5];
subgraph cluster_m {
color = blue; label = "Master"; m1[label="Receive report (blocking)"]; m2[label="CALL steer(report, command)"]; m3[label="Send new command as reply"]; m1 -> m2 -> m3;
}
subgraph cluster_w {
label = "Worker"; color = blue; w1[label="Send report"]; w2[label="CALL execute(command, report)"]; w3[label="Receive command (blocking)"]; w1 -> w2 -> w3;
}
subgraph hidden1 {
rank="same"; w1 -> m1 [label="MPI", color=red, minlen=2.0];
}
subgraph hidden2 {
color=blue; label="lalal"; rank="same"; w3 -> m3 [label="MPI", dir=back, color=green, minlen=2.0];
}
} </graphviz>
code/run_swarm.1421783069.txt.gz · Last modified: 2020/08/21 10:14 (external edit)