diff --git a/doc/figures/arch.obj b/doc/figures/arch.obj
index 679b89a6a4c1f142b28f4502db3f4bde38f6c58f..132b23f1753bbb38b5631970a07c905cb1fb1719 100644
--- a/doc/figures/arch.obj
+++ b/doc/figures/arch.obj
@@ -1,5 +1,5 @@
 %TGIF 4.1.40
-state(0,37,100.000,0,0,0,4,1,9,1,1,0,0,3,0,1,0,'Courier',0,80640,0,5,0,10,0,0,1,1,0,16,0,0,1,1,1,1,1088,1408,1,0,2880,0).
+state(0,37,100.000,0,0,0,4,0,1,4,1,0,0,3,0,1,0,'Courier',0,80640,0,0,0,10,0,0,1,1,0,16,0,0,1,1,1,1,1088,1408,1,0,2880,0).
 %
 % @(#)$Header$
 % %W%
@@ -19,135 +19,186 @@ color_info(11,65535,0,[
 	"DarkSlateGray", 10402, 19764, 18724, 12079, 20303, 20303, 1
 ]).
 script_frac("0.6").
-fg_bg_colors('black','white').
+fg_bg_colors('red','white').
 page(1,"",1,'').
-box('black','',264,96,364,132,0,1,1,0,0,0,0,0,0,'1',0,[
+poly('black','',2,[
+	364,116,428,116],3,1,1,45,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-box('black','',208,192,268,224,0,1,1,1,0,0,0,0,0,'1',0,[
+box('black','',300,16,400,52,0,1,1,46,5,0,0,0,0,'1',0,[
+]).
+text('black',308,28,1,0,1,81,15,47,12,3,0,0,0,0,2,81,15,0,0,"",0,0,0,0,40,'',[
+minilines(81,15,0,0,0,0,0,[
+mini_line(81,12,3,0,0,0,[
+str_block(0,81,12,3,0,-1,0,0,0,[
+str_seg('black','Courier',0,80640,81,12,3,0,-1,0,0,0,0,0,
+	"slurmctld")])
+])
+])]).
+poly('black','',2,[
+	336,52,336,100],3,1,1,49,0,0,5,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-text('black',212,200,1,0,1,54,15,6,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,212,'',[
-minilines(54,15,0,0,0,0,0,[
+group([
+text('black',160,45,1,1,1,54,15,14,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,57,'',[
+minilines(54,15,0,0,1,0,0,[
 mini_line(54,12,3,0,0,0,[
 str_block(0,54,12,3,0,-1,0,0,0,[
 str_seg('black','Courier',0,80640,54,12,3,0,-1,0,0,0,0,0,
-	"slurmd")])
+	"squeue")])
 ])
-])]).
-text('black',272,108,1,0,1,90,15,8,12,3,0,0,0,0,2,90,15,0,0,"",0,0,0,0,120,'',[
-minilines(90,15,0,0,0,0,0,[
-mini_line(90,12,3,0,0,0,[
-str_block(0,90,12,3,0,-1,0,0,0,[
-str_seg('black','Courier',0,80640,90,12,3,0,-1,0,0,0,0,0,
-	"slurmctld")])
+])]),
+rcbox('black','',126,36,194,68,0,1,1,0,16,34,0,0,0,0,'1',0,[
 ])
-])]).
-text('black',100,140,1,0,1,36,15,10,12,3,0,0,0,0,2,36,15,0,0,"",0,0,0,0,152,'',[
-minilines(36,15,0,0,0,0,0,[
+],
+300,1,0,[
+]).
+group([
+text('black',160,151,1,1,1,36,15,10,12,3,0,0,0,0,2,36,15,0,0,"",0,0,0,0,163,'',[
+minilines(36,15,0,0,1,0,0,[
 mini_line(36,12,3,0,0,0,[
 str_block(0,36,12,3,0,-1,0,0,0,[
 str_seg('black','Courier',0,80640,36,12,3,0,-1,0,0,0,0,0,
 	"srun")])
 ])
-])]).
-text('black',92,192,1,0,1,63,15,12,12,3,0,0,0,0,2,63,15,0,0,"",0,0,0,0,204,'',[
-minilines(63,15,0,0,0,0,0,[
+])]),
+rcbox('black','',130,142,190,174,0,1,1,0,16,32,0,0,0,0,'1',0,[
+])
+],
+304,0,0,[
+]).
+group([
+text('black',160,85,1,1,1,63,15,12,12,3,0,0,0,0,2,63,15,0,0,"",0,0,0,0,97,'',[
+minilines(63,15,0,0,1,0,0,[
 mini_line(63,12,3,0,0,0,[
 str_block(0,63,12,3,0,-2,0,0,0,[
 str_seg('black','Courier',0,80640,63,12,3,0,-2,0,0,0,0,0,
 	"scancel")])
 ])
-])]).
-text('black',92,92,1,0,1,54,15,14,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,104,'',[
-minilines(54,15,0,0,0,0,0,[
-mini_line(54,12,3,0,0,0,[
-str_block(0,54,12,3,0,-1,0,0,0,[
-str_seg('black','Courier',0,80640,54,12,3,0,-1,0,0,0,0,0,
-	"squeue")])
+])]),
+rcbox('black','',124,76,196,108,0,1,1,0,16,33,0,0,0,0,'1',0,[
 ])
-])]).
-text('black',436,104,1,0,1,90,15,16,12,3,0,0,0,0,2,90,15,0,0,"",0,0,0,0,116,'',[
-minilines(90,15,0,0,0,0,0,[
-mini_line(90,12,3,0,0,0,[
-str_block(0,90,12,3,0,-1,0,0,0,[
-str_seg('black','Courier',0,80640,90,12,3,0,-1,0,0,0,0,0,
+],
+308,1,0,[
+]).
+group([
+box('black','',264,96,364,132,0,1,1,0,0,0,0,0,0,'1',0,[
+]),
+text('black',314,107,1,1,1,81,15,8,12,3,0,0,0,0,2,81,15,0,0,"",0,0,0,0,119,'',[
+minilines(81,15,0,0,1,0,0,[
+mini_line(81,12,3,0,0,0,[
+str_block(0,81,12,3,0,-1,0,0,0,[
+str_seg('black','Courier',0,80640,81,12,3,0,-1,0,0,0,0,0,
+	"slurmctld")])
+])
+])])
+],
+324,1,0,[
+]).
+group([
+text('black',482,107,1,1,1,72,15,16,12,3,0,0,0,0,2,72,15,0,0,"",0,0,0,0,119,'',[
+minilines(72,15,0,0,1,0,0,[
+mini_line(72,12,3,0,0,0,[
+str_block(0,72,12,3,0,-2,0,0,0,[
+str_seg('black','Courier',0,80640,72,12,3,0,-2,0,0,0,0,0,
 	"scontrol")])
 ])
-])]).
-box('black','',276,192,336,224,0,1,1,21,0,0,0,0,0,'1',0,[
+])]),
+rcbox('black','',428,98,536,130,0,1,1,0,16,35,0,0,0,0,'1',0,[
+])
+],
+328,0,0,[
+]).
+poly('black','',2,[
+	194,52,264,112],3,1,1,359,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-text('black',280,200,1,0,1,54,15,22,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,212,'',[
-minilines(54,15,0,0,0,0,0,[
+poly('black','',2,[
+	196,92,264,116],3,1,1,361,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+group([
+group([
+box('black','',222,220,282,252,0,1,1,1,0,0,0,0,0,'1',0,[
+]),
+text('black',252,229,1,1,1,54,15,6,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,241,'',[
+minilines(54,15,0,0,1,0,0,[
 mini_line(54,12,3,0,0,0,[
 str_block(0,54,12,3,0,-1,0,0,0,[
 str_seg('black','Courier',0,80640,54,12,3,0,-1,0,0,0,0,0,
 	"slurmd")])
 ])
-])]).
-box('black','',344,192,404,224,0,1,1,23,0,0,0,0,0,'1',0,[
-]).
-text('black',348,200,1,0,1,54,15,24,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,212,'',[
-minilines(54,15,0,0,0,0,0,[
+])])
+],
+312,0,0,[
+]),
+group([
+box('black','',298,220,358,252,0,1,1,334,0,0,0,0,0,'1',0,[
+]),
+text('black',328,229,1,1,1,54,15,333,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,241,'',[
+minilines(54,15,0,0,1,0,0,[
 mini_line(54,12,3,0,0,0,[
 str_block(0,54,12,3,0,-1,0,0,0,[
 str_seg('black','Courier',0,80640,54,12,3,0,-1,0,0,0,0,0,
 	"slurmd")])
 ])
-])]).
-poly('black','',2,[
-	280,132,232,192],3,1,1,25,0,0,0,0,0,0,0,'1',0,0,
-    "0","",[
-    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+])])
+],
+332,0,0,[
+]),
+group([
+box('black','',374,220,434,252,0,1,1,337,0,0,0,0,0,'1',0,[
+]),
+text('black',404,229,1,1,1,54,15,336,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,241,'',[
+minilines(54,15,0,0,1,0,0,[
+mini_line(54,12,3,0,0,0,[
+str_block(0,54,12,3,0,-1,0,0,0,[
+str_seg('black','Courier',0,80640,54,12,3,0,-1,0,0,0,0,0,
+	"slurmd")])
+])
+])])
+],
+335,0,0,[
+])
+],
+372,0,0,[
 ]).
-poly('black','',2,[
-	300,132,300,192],3,1,1,26,0,0,0,0,0,0,0,'1',0,0,
+poly('red','',2,[
+	251,221,312,131],3,1,1,381,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-poly('black','',2,[
-	324,132,368,192],3,1,1,31,0,0,0,0,0,0,0,'1',0,0,
+poly('red','',2,[
+	327,220,315,132],3,1,1,382,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-rcbox('black','',84,132,144,164,0,1,1,0,16,32,0,0,0,0,'1',0,[
-]).
-rcbox('black','',84,184,156,216,0,1,1,0,16,33,0,0,0,0,'1',0,[
-]).
-rcbox('black','',84,80,152,112,0,1,1,0,16,34,0,0,0,0,'1',0,[
-]).
-rcbox('black','',428,96,536,128,0,1,1,0,16,35,0,0,0,0,'1',0,[
-]).
-poly('black','',2,[
-	152,96,264,100],3,1,1,39,0,0,0,0,0,0,0,'1',0,0,
+poly('red','',2,[
+	319,132,403,220],3,1,1,385,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
 poly('black','',2,[
-	144,148,264,108],3,1,1,43,0,0,0,0,0,0,0,'1',0,0,
+	190,158,263,118],3,1,1,386,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-poly('black','',2,[
-	152,192,264,120],3,1,1,44,0,0,0,0,0,0,0,'1',0,0,
+poly('blue','',2,[
+	190,158,252,220],3,1,1,387,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-poly('black','',2,[
-	364,112,428,112],3,1,1,45,0,0,0,0,0,0,0,'1',0,0,
+poly('blue','',2,[
+	190,159,326,219],3,1,1,388,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-box('black','',300,16,400,52,0,1,1,46,5,0,0,0,0,'1',0,[
-]).
-text('black',308,28,1,0,1,90,15,47,12,3,0,0,0,0,2,90,15,0,0,"",0,0,0,0,40,'',[
-minilines(90,15,0,0,0,0,0,[
-mini_line(90,12,3,0,0,0,[
-str_block(0,90,12,3,0,-1,0,0,0,[
-str_seg('black','Courier',0,80640,90,12,3,0,-1,0,0,0,0,0,
-	"slurmctld")])
-])
-])]).
-poly('black','',2,[
-	336,52,336,100],3,1,1,49,0,0,5,0,0,0,0,'1',0,0,
+poly('blue','',2,[
+	190,159,402,220],3,1,1,389,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).