Index: doc/theses/colby_parsons_MMath/diagrams/gulp.tikz
===================================================================
--- doc/theses/colby_parsons_MMath/diagrams/gulp.tikz	(revision f945fa7ba076d346ab1aa115747f79712d70331d)
+++ doc/theses/colby_parsons_MMath/diagrams/gulp.tikz	(revision f945fa7ba076d346ab1aa115747f79712d70331d)
@@ -0,0 +1,118 @@
+
+
+\tikzset{every picture/.style={line width=0.75pt}} %set default line width to 0.75pt        
+
+\begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1]
+%uncomment if require: \path (0,300); %set diagram left start at 0, and has height of 300
+
+%Shape: Rectangle [id:dp1659927180988856] 
+\draw   (22,27) -- (61.43,27) -- (61.43,67) -- (22,67) -- cycle ;
+%Straight Lines [id:da9150394725307409] 
+\draw    (86.43,49.29) -- (64.43,49.29) ;
+\draw [shift={(62.43,49.29)}, rotate = 360] [color={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.75]    (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29)   ;
+%Shape: Rectangle [id:dp5679109027383422] 
+\draw   (87,38.29) -- (180.43,38.29) -- (180.43,60.29) -- (87,60.29) -- cycle ;
+%Shape: Rectangle [id:dp60162597566272] 
+\draw   (36.43,150.57) -- (36.43,181.29) -- (15.71,181.29) -- (15.71,150.57) -- cycle ;
+%Shape: Rectangle [id:dp00028539200901533945] 
+\draw   (67.71,129.57) -- (67.71,181.29) -- (46.71,181.29) -- (46.71,129.57) -- cycle ;
+%Shape: Rectangle [id:dp019176495354326972] 
+\draw   (99.43,150.43) -- (99.43,181) -- (78.14,181) -- (78.14,150.43) -- cycle ;
+%Shape: Circle [id:dp7790209479077526] 
+\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (113,130.71) .. controls (113,128.66) and (114.66,127) .. (116.71,127) .. controls (118.77,127) and (120.43,128.66) .. (120.43,130.71) .. controls (120.43,132.77) and (118.77,134.43) .. (116.71,134.43) .. controls (114.66,134.43) and (113,132.77) .. (113,130.71) -- cycle ;
+%Shape: Circle [id:dp7009203011691245] 
+\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (123.43,130.71) .. controls (123.43,128.66) and (125.09,127) .. (127.14,127) .. controls (129.19,127) and (130.86,128.66) .. (130.86,130.71) .. controls (130.86,132.77) and (129.19,134.43) .. (127.14,134.43) .. controls (125.09,134.43) and (123.43,132.77) .. (123.43,130.71) -- cycle ;
+%Shape: Circle [id:dp13342086511975615] 
+\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (133.86,130.71) .. controls (133.86,128.66) and (135.52,127) .. (137.57,127) .. controls (139.62,127) and (141.29,128.66) .. (141.29,130.71) .. controls (141.29,132.77) and (139.62,134.43) .. (137.57,134.43) .. controls (135.52,134.43) and (133.86,132.77) .. (133.86,130.71) -- cycle ;
+%Shape: Square [id:dp5447259154641135] 
+\draw   (78.43,87.43) -- (99.43,87.43) -- (99.43,108.43) -- (78.43,108.43) -- cycle ;
+%Shape: Square [id:dp9780910526987703] 
+\draw   (78.43,108.43) -- (99.43,108.43) -- (99.43,129.43) -- (78.43,129.43) -- cycle ;
+%Shape: Square [id:dp9823297574958101] 
+\draw   (78.43,129.43) -- (99.43,129.43) -- (99.43,150.43) -- (78.43,150.43) -- cycle ;
+%Shape: Square [id:dp42147825010074946] 
+\draw   (46.71,87.57) -- (67.71,87.57) -- (67.71,108.57) -- (46.71,108.57) -- cycle ;
+%Shape: Square [id:dp3720622851077644] 
+\draw   (46.71,108.57) -- (67.71,108.57) -- (67.71,129.57) -- (46.71,129.57) -- cycle ;
+%Shape: Square [id:dp8448654065415757] 
+\draw   (15.71,87.57) -- (36.71,87.57) -- (36.71,108.57) -- (15.71,108.57) -- cycle ;
+%Shape: Square [id:dp2533544685166682] 
+\draw   (15.71,108.57) -- (36.71,108.57) -- (36.71,129.57) -- (15.71,129.57) -- cycle ;
+%Shape: Square [id:dp9760476892204948] 
+\draw   (15.71,129.57) -- (36.71,129.57) -- (36.71,150.57) -- (15.71,150.57) -- cycle ;
+%Straight Lines [id:da46897947198012346] 
+\draw [line width=1.5]    (159,103) -- (286.43,103.28) ;
+\draw [shift={(289.43,103.29)}, rotate = 180.13] [color={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=1.5]    (14.21,-4.28) .. controls (9.04,-1.82) and (4.3,-0.39) .. (0,0) .. controls (4.3,0.39) and (9.04,1.82) .. (14.21,4.28)   ;
+%Shape: Rectangle [id:dp6844038034652369] 
+\draw   (311,27) -- (350.43,27) -- (350.43,67) -- (311,67) -- cycle ;
+%Straight Lines [id:da5386711560234967] 
+\draw    (375.43,49.29) -- (353.43,49.29) ;
+\draw [shift={(351.43,49.29)}, rotate = 360] [color={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.75]    (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29)   ;
+%Shape: Rectangle [id:dp20768625890026393] 
+\draw   (325.43,87.29) -- (325.43,181.29) -- (304.71,181.29) -- (304.71,87.29) -- cycle ;
+%Shape: Rectangle [id:dp32577291428753474] 
+\draw   (356.71,129.57) -- (356.71,181.29) -- (335.71,181.29) -- (335.71,129.57) -- cycle ;
+%Shape: Rectangle [id:dp10534292306832405] 
+\draw   (388.43,150.43) -- (388.43,181) -- (367.14,181) -- (367.14,150.43) -- cycle ;
+%Shape: Circle [id:dp989546025522698] 
+\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (402,130.71) .. controls (402,128.66) and (403.66,127) .. (405.71,127) .. controls (407.77,127) and (409.43,128.66) .. (409.43,130.71) .. controls (409.43,132.77) and (407.77,134.43) .. (405.71,134.43) .. controls (403.66,134.43) and (402,132.77) .. (402,130.71) -- cycle ;
+%Shape: Circle [id:dp5955588220746968] 
+\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (412.43,130.71) .. controls (412.43,128.66) and (414.09,127) .. (416.14,127) .. controls (418.19,127) and (419.86,128.66) .. (419.86,130.71) .. controls (419.86,132.77) and (418.19,134.43) .. (416.14,134.43) .. controls (414.09,134.43) and (412.43,132.77) .. (412.43,130.71) -- cycle ;
+%Shape: Square [id:dp6935199297420136] 
+\draw   (367.43,87.43) -- (388.43,87.43) -- (388.43,108.43) -- (367.43,108.43) -- cycle ;
+%Shape: Square [id:dp1542729206893625] 
+\draw   (367.43,108.43) -- (388.43,108.43) -- (388.43,129.43) -- (367.43,129.43) -- cycle ;
+%Shape: Square [id:dp4041666917107074] 
+\draw   (367.43,129.43) -- (388.43,129.43) -- (388.43,150.43) -- (367.43,150.43) -- cycle ;
+%Shape: Square [id:dp9744423299493161] 
+\draw   (335.71,87.57) -- (356.71,87.57) -- (356.71,108.57) -- (335.71,108.57) -- cycle ;
+%Shape: Square [id:dp5773675505996159] 
+\draw   (335.71,108.57) -- (356.71,108.57) -- (356.71,129.57) -- (335.71,129.57) -- cycle ;
+%Shape: Square [id:dp6606430482391594] 
+\draw   (375.71,39.57) -- (396.71,39.57) -- (396.71,60.57) -- (375.71,60.57) -- cycle ;
+%Shape: Square [id:dp16495050226244046] 
+\draw   (396.71,39.57) -- (417.71,39.57) -- (417.71,60.57) -- (396.71,60.57) -- cycle ;
+%Shape: Square [id:dp8971949101160452] 
+\draw   (417.71,39.57) -- (438.71,39.57) -- (438.71,60.57) -- (417.71,60.57) -- cycle ;
+%Curve Lines [id:da5700920716781663] 
+\draw    (85.31,61.45) .. controls (58.28,79.84) and (59.5,65.87) .. (24.43,87.43) ;
+\draw [shift={(87,60.29)}, rotate = 145.02] [color={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.75]    (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29)   ;
+%Curve Lines [id:da847564611490147] 
+\draw    (316,46.63) .. controls (316.91,62.7) and (341.22,66.13) .. (345.68,49.43) ;
+\draw [shift={(346.21,46.63)}, rotate = 96.82] [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.08]  [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle    ;
+%Curve Lines [id:da9415106890705836] 
+\draw    (316,46.63) .. controls (316.17,30.17) and (339.1,27.27) .. (344.63,40.33) ;
+%Shape: Circle [id:dp8950891305794957] 
+\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (422.86,130.71) .. controls (422.86,128.66) and (424.52,127) .. (426.57,127) .. controls (428.62,127) and (430.29,128.66) .. (430.29,130.71) .. controls (430.29,132.77) and (428.62,134.43) .. (426.57,134.43) .. controls (424.52,134.43) and (422.86,132.77) .. (422.86,130.71) -- cycle ;
+
+% Text Node
+\draw (15,6) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize Executor Thread}};
+% Text Node
+\draw (85,20) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize Empty local queue}};
+% Text Node
+\draw (8,197) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize Sharded message queues}};
+% Text Node
+\draw (21,184) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize 0}};
+% Text Node
+\draw (52,184) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize 1}};
+% Text Node
+\draw (85,184) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize 2}};
+% Text Node
+\draw (70,71) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize Gulps queue 0}};
+% Text Node
+\draw (303,6) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize Executor Thread}};
+% Text Node
+\draw (374,21) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize Local queue}};
+% Text Node
+\draw (297,198) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize Sharded message queues}};
+% Text Node
+\draw (310,184) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize 0}};
+% Text Node
+\draw (341,184) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize 1}};
+% Text Node
+\draw (374,184) node [anchor=north west][inner sep=0.75pt]   [align=left] {{\footnotesize 2}};
+% Text Node
+\draw (190,86) node [anchor=north west][inner sep=0.75pt]  [font=\footnotesize] [align=left] {After gulp};
+
+
+\end{tikzpicture}
