User Tools

Site Tools


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;
m3 -> m1 [weight=0];

}

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;
w3 -> w1 [weight=0];

}

subgraph hidden1 {

rank="same";
w1 -> m1 [label="MPI", color=red, minlen=3.5];

}

subgraph hidden2 {

color=blue;
label="lalal";
rank="same";
w3 -> m3 [label="MPI", dir=back, color=green, minlen=3.5];

}

} </graphviz>

code/run_swarm.1421784635.txt.gz · Last modified: 2020/08/21 10:14 (external edit)