NAMD / pypelinin

Python library to distribute jobs and pipelines among a cluster
3 stars 5 forks source link

Better documentation #40

Open turicas opened 11 years ago

turicas commented 11 years ago

Things to add includes:

turicas commented 11 years ago

A diagram helps a lot understanding the architecture.

We can use this DOT file:

digraph "pypelinin architecture" {
    ranksep="1.5";
    ratio="expand";
    "Pipeliner" [style="filled", fillcolor="yellow"];
    "Broker #2" [style="filled", fillcolor="green"];
    "Worker #2-1" [style="filled", fillcolor="red"];
    "Worker #2-M" [style="filled", fillcolor="red"];
    "Broker #P" [style="filled", fillcolor="green"];
    "Worker #P-1" [style="filled", fillcolor="red"];
    "Worker #P-Q" [style="filled", fillcolor="red"];
    "Router" [style="filled", fillcolor="blue"];
    "Broker #1" [style="filled", fillcolor="green"];
    "Worker #1-1" [style="filled", fillcolor="red"];
    "Worker #1-2" [style="filled", fillcolor="red"];
    "Worker #1-N" [style="filled", fillcolor="red"];

    "Router" -> "Broker #1";
    "Broker #1" -> "Router"
    "Router" -> "Broker #2";
    "Broker #2" -> "Router"
    "Router" -> "Broker #P";
    "Broker #P" -> "Router"
    "Router" -> "Pipeliner";
    "Pipeliner" -> "Router";

    "Broker #2" -> "Worker #2-1";
    "Broker #2" -> "Worker #2-M";
    "Worker #2-1" -> "Broker #2";
    "Worker #2-M" -> "Broker #2";

    "Broker #P" -> "Worker #P-1";
    "Broker #P" -> "Worker #P-Q";
    "Worker #P-1" -> "Broker #P";
    "Worker #P-Q" -> "Broker #P";

    "Broker #1" -> "Worker #1-1";
    "Broker #1" -> "Worker #1-2";
    "Broker #1" -> "Worker #1-N";
    "Worker #1-1" -> "Broker #1";
    "Worker #1-2" -> "Broker #1";
    "Worker #1-N" -> "Broker #1";
}

To create PNG from DOT:

twopi -Tpng -opypelinin.png pypelinin.dot

Result:

pypelinin

andrebco commented 11 years ago

Related to #2.