hpcs-17-subord

Subordination: Providing Resilience to Simultaneous Failure of Multiple Cluster Nodes
git clone https://git.igankevich.com/hpcs-17-subord.git
Log | Files | Refs

ppl.dot (2291B)


      1 graph Pipeline {
      2 
      3   node [fontname="Times",fontsize=7,margin="0.01,0.01",shape=box,height="0.1",width="0.1",penwidth="0.5"]
      4   graph [fontname="Times",fontsize=8,nodesep="0.07",ranksep="0.05",rankdir="LR",margin="-0.1,-0.1",bgcolor=transparent]
      5   edge [arrowsize=0.66,penwidth="0.5"]
      6 
      7   subgraph cluster_daemon {
      8     label="Daemon process"
      9     style=filled
     10     color=lightgrey
     11 
     12     factory [label="Factory"]
     13     parallel_ppl [label="Parallel\npipeline"]
     14     io_ppl [label="I/O\npipeline"]
     15     sched_ppl [label="Schedule-based\npipeline"]
     16     net_ppl [label="Network\npipeline"]
     17     proc_ppl [label="Process\npipeline"]
     18 
     19     upstream [label="Upstream\nthread pool"]
     20     downstream [label="Downstream\nthread pool"]
     21   }
     22 
     23   factory--parallel_ppl
     24   factory--io_ppl
     25   factory--sched_ppl
     26   factory--net_ppl
     27   factory--proc_ppl
     28 
     29   subgraph cluster_hardware {
     30     label="Compute devices"
     31     style=filled
     32     color=lightgrey
     33 
     34     cpu [label="CPU"]
     35     core0 [label="Core 0"]
     36     core1 [label="Core 1"]
     37     core2 [label="Core 2"]
     38     core3 [label="Core 3"]
     39 
     40     storage [label="Storage"]
     41     disk0 [label="Disk 0"]
     42 
     43     network [label="Network"]
     44     nic0 [label="NIC 0"]
     45 
     46     timer [label="Timer"]
     47 
     48   }
     49 
     50   core0--cpu
     51   core1--cpu
     52   core2--cpu
     53   core3--cpu
     54 
     55   disk0--storage
     56   nic0--network
     57 
     58   parallel_ppl--upstream
     59   parallel_ppl--downstream
     60 
     61   upstream--{core0,core1,core2,core3} [style="dashed"]
     62   downstream--core0 [style="dashed"]
     63 
     64   io_ppl--core0 [style="dashed"]
     65   io_ppl--disk0 [style="dashed"]
     66   sched_ppl--core0 [style="dashed"]
     67   sched_ppl--timer [style="dashed"]
     68   net_ppl--core0 [style="dashed"]
     69   net_ppl--nic0 [style="dashed"]
     70   proc_ppl--core0 [style="dashed"]
     71 
     72   subgraph cluster_children {
     73     style=filled
     74     color=white
     75 
     76     subgraph cluster_child0 {
     77       label="Child process 0"
     78       style=filled
     79       color=lightgrey
     80       labeljust=right
     81 
     82       app0_factory [label="Factory"]
     83       app0 [label="Child process\rpipeline"]
     84     }
     85 
     86 #    subgraph cluster_child1 {
     87 #      label="Child process 1"
     88 #      style=filled
     89 #      color=lightgrey
     90 #      labeljust=right
     91 #
     92 #      app1_factory [label="Factory"]
     93 #      app1 [label="Child process\rpipeline"]
     94 #    }
     95   }
     96 
     97   proc_ppl--app0
     98 #  proc_ppl--app1
     99 
    100   app0_factory--app0 [constraint=false]
    101 #  app1_factory--app1 [constraint=false]
    102 
    103 }