digraph single_ppl {
   rankdir=LR;

   subgraph {
      "Memory";
      "Monitor";
   }

   subgraph cluster_pipeline {
       style=dashed
       node [shape=box]
       {
           node [bgcolor=grey style=dashed]
           "Scaler-0";
           "Scaler-1";
           "Scaler-0/1"
       }

      node [bgcolor=grey style=filled]
      "Layer-0" -> "Scaler-0"
      "Layer-1" -> "Scaler-0"
      "Layer-2" -> "Scaler-1"
      "Layer-3" -> "Scaler-1"

      "Layer-0" -> "Compiz"
      "Layer-1" -> "Compiz"
      "Layer-2" -> "Compiz"
      "Layer-3" -> "Compiz"
      "Scaler-0" -> "Compiz"
      "Scaler-1" -> "Compiz"

      "Compiz" -> "Scaler-0/1" -> "Wb_layer"
      "Compiz" -> "Improc" -> "Timing Controller"
   }

   "Wb_layer" -> "Memory"
   "Timing Controller" -> "Monitor"
}