New sync fire image

This commit is contained in:
Noah L. Schrick 2023-04-22 17:54:56 -05:00
parent cb5bdea23c
commit fc264a9efc
5 changed files with 193 additions and 7 deletions

View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Arch Linux) (preloaded format=pdflatex 2023.4.3) 22 APR 2023 17:39
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Arch Linux) (preloaded format=pdflatex 2023.4.3) 22 APR 2023 17:54
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@ -564,13 +564,18 @@ File: ./images/Task1-Case2.png Graphic file (type png)
<use ./images/Task1-Case2.png>
Package pdftex.def Info: ./images/Task1-Case2.png used on input line 160.
(pdftex.def) Requested size: 252.0pt x 148.82143pt.
<./images/Sync-Fire.png, id=199, 489.83pt x 1053.9375pt>
<./images/Sync-Fire.png, id=199, 373.395pt x 1024.82875pt>
File: ./images/Sync-Fire.png Graphic file (type png)
<use ./images/Sync-Fire.png>
Package pdftex.def Info: ./images/Sync-Fire.png used on input line 170.
(pdftex.def) Requested size: 252.0pt x 542.21298pt.
[4 <./images/Task1-Data-Dist.PNG> <./images/Task1-Case1.PNG> <./images/Task1-C
ase2.PNG>]
(pdftex.def) Requested size: 201.60077pt x 553.32109pt.
Underfull \hbox (badness 10000) in paragraph at lines 170--172
[][]
[]
[4 <./images/Task1-Data-Dist.PNG> <./images/Task1-Case1.PNG> <./images/Task1-Ca
se2.PNG>]
LaTeX Warning: No positions in optional float specifier.
Default added (so using `tbp') on input line 185.
@ -757,7 +762,7 @@ msfonts/cm/cmsy10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cms
y7.pfb></usr/share/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/share/texm
f-dist/fonts/type1/urw/times/utmbi8a.pfb></usr/share/texmf-dist/fonts/type1/urw
/times/utmr8a.pfb></usr/share/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
Output written on Schrick-Noah_MPI-Tasking.pdf (12 pages, 943367 bytes).
Output written on Schrick-Noah_MPI-Tasking.pdf (12 pages, 937784 bytes).
PDF statistics:
385 PDF objects out of 1000 (max. 8388607)
308 compressed objects within 4 object streams

Binary file not shown.

View File

@ -167,7 +167,7 @@ Once the computation work of Task 1 is completed, each node must send their comp
Each node in Task 2 iterates through the received partial applicable exploit list and creates new states with edges to the current state. Part of Task 2's workload is to handle a feature called synchronous firing. This feature allows for a grouping of assets. Rather than an exploit firing separately across all assets, synchronous firing allows for an exploit to fire one time, simultaneously across a group of assets. Syncing multiple exploits that could be distributed across multiple nodes leads to additional overhead and complexity. To prevent these difficulties, each node checks its partial applicable exploit list for exploits that are part of a group, removes these exploits from its list, and sends the exploits belonging to a group to the Task 2 local communicator root. Since the Task 2 local root now contains all group exploits, it can execute the synchronous firing work without additional communication or synchronization between other MPI nodes in the Task 2 stage. Other than the additional setup steps required for synchronous firing for the local root, all work performed during this task by all MPI nodes is that seen from the synchronous firing figure (Figure \ref{fig:sync-fire}).
\begin{figure}[htp]
\includegraphics[width=\linewidth]{"./images/Sync-Fire.png"}
\includegraphics[width=0.8\linewidth]{"./images/Sync-Fire.png"}
\vspace{.2truein} \centerline{}
\caption{Program Flow of Synchronous Firing in Task 2}
\label{fig:sync-fire}

181
images/Sync-Fire Normal file
View File

@ -0,0 +1,181 @@
<mxfile host="app.diagrams.net" modified="2023-04-22T22:53:12.998Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" etag="cYbAeeBUogMmzFaDdVZ4" version="21.1.4" type="device">
<diagram id="K7JRYQhel2MMmrMd0Y0x" name="Page-1">
<mxGraphModel dx="1587" dy="758" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Yg0w0YBVZnjJYA129H6i-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Yg0w0YBVZnjJYA129H6i-1" target="Yg0w0YBVZnjJYA129H6i-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Yg0w0YBVZnjJYA129H6i-1" value="Pull next applicable exploit" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="370" y="60" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Yg0w0YBVZnjJYA129H6i-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Yg0w0YBVZnjJYA129H6i-2" target="Yg0w0YBVZnjJYA129H6i-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="S02b3ZSHm7epOyOR5ffc-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Yg0w0YBVZnjJYA129H6i-2" target="5dyq7pQDjFANX0ohcFdJ-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="645" y="270" as="targetPoint" />
<Array as="points">
<mxPoint x="280" y="205" />
<mxPoint x="280" y="210" />
<mxPoint x="277" y="210" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="S02b3ZSHm7epOyOR5ffc-6" value="&lt;font style=&quot;font-size: 13px&quot;&gt;No&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="S02b3ZSHm7epOyOR5ffc-5" vertex="1" connectable="0">
<mxGeometry x="-0.3739" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Yg0w0YBVZnjJYA129H6i-2" value="Part of a group?" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="380" y="160" width="100" height="90" as="geometry" />
</mxCell>
<mxCell id="Yg0w0YBVZnjJYA129H6i-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" parent="1" source="Yg0w0YBVZnjJYA129H6i-4" target="Yg0w0YBVZnjJYA129H6i-1" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="520" y="345" />
<mxPoint x="520" y="105" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Yg0w0YBVZnjJYA129H6i-7" value="Break" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=13;fontStyle=1" parent="Yg0w0YBVZnjJYA129H6i-6" vertex="1" connectable="0">
<mxGeometry x="-0.0684" y="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Yg0w0YBVZnjJYA129H6i-8" value="&lt;font style=&quot;font-size: 13px&quot;&gt;Fired&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Yg0w0YBVZnjJYA129H6i-6" vertex="1" connectable="0">
<mxGeometry x="-0.8947" y="1" relative="1" as="geometry">
<mxPoint y="-16" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="Yg0w0YBVZnjJYA129H6i-4" target="isFYcWvU-x2YYOKhLKfV-25" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Yg0w0YBVZnjJYA129H6i-4" value="Group status?" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="380" y="300" width="100" height="90" as="geometry" />
</mxCell>
<mxCell id="Yg0w0YBVZnjJYA129H6i-9" value="Yes" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="425" y="260" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.317;entryY=0.014;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="5dyq7pQDjFANX0ohcFdJ-5" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="361.5833333333335" y="620" as="sourcePoint" />
<mxPoint x="404.2099999999998" y="685.04" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=-0.013;entryY=0.401;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="5dyq7pQDjFANX0ohcFdJ-4" target="5dyq7pQDjFANX0ohcFdJ-5" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="280" y="350" />
<mxPoint x="280" y="718" />
</Array>
<mxPoint x="645" y="340" as="sourcePoint" />
<mxPoint x="454.25" y="685.04" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="S02b3ZSHm7epOyOR5ffc-14" value="Not Fired" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="360" y="380" width="70" height="20" as="geometry" />
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="isFYcWvU-x2YYOKhLKfV-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="427.25" y="880.0000000000002" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-1" value="Pull next loop vector exploit" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="367.25" y="800" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" target="isFYcWvU-x2YYOKhLKfV-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="427.25" y="760" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="427.25" y="990" as="targetPoint" />
<mxPoint x="427.25" y="960.0000000000002" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="isFYcWvU-x2YYOKhLKfV-23" target="Yg0w0YBVZnjJYA129H6i-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="430" y="970" as="sourcePoint" />
<Array as="points">
<mxPoint x="580" y="1035" />
<mxPoint x="580" y="75" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-16" value="Yes" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="337.25" y="1010" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-22" value="No" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="490" y="1020" width="30" height="20" as="geometry" />
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="isFYcWvU-x2YYOKhLKfV-23" target="isFYcWvU-x2YYOKhLKfV-1" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="327.25" y="1035" />
<mxPoint x="327.25" y="830" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-23" value="More items?" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="377.25" y="990" width="100" height="90" as="geometry" />
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="isFYcWvU-x2YYOKhLKfV-25" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="361.5" y="550" as="targetPoint" />
<Array as="points">
<mxPoint x="362" y="470" />
<mxPoint x="362" y="540" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="isFYcWvU-x2YYOKhLKfV-25" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="498.5" y="550" as="targetPoint" />
<Array as="points">
<mxPoint x="500" y="470" />
<mxPoint x="500" y="540" />
<mxPoint x="499" y="540" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="isFYcWvU-x2YYOKhLKfV-25" target="Yg0w0YBVZnjJYA129H6i-1" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="550" y="470" />
<mxPoint x="550" y="90" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-31" value="&lt;font style=&quot;font-size: 12px&quot;&gt;No&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontStyle=0" parent="isFYcWvU-x2YYOKhLKfV-30" vertex="1" connectable="0">
<mxGeometry x="-0.8744" y="-4" relative="1" as="geometry">
<mxPoint y="-6" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-25" value="All assets ready&lt;br&gt;&amp;nbsp;to fire?" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="375" y="420" width="110" height="100" as="geometry" />
</mxCell>
<mxCell id="isFYcWvU-x2YYOKhLKfV-29" value="Yes" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="430" y="520" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="5dyq7pQDjFANX0ohcFdJ-1" value="SET Loop vector = map[group]" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="297.25" y="550" width="120" height="70" as="geometry" />
</mxCell>
<mxCell id="5dyq7pQDjFANX0ohcFdJ-3" value="SET Group status&amp;nbsp;&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;= Fired" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="440" y="550" width="120" height="70" as="geometry" />
</mxCell>
<mxCell id="5dyq7pQDjFANX0ohcFdJ-4" value="SET Loop vector = applicable exploit&amp;nbsp; &amp;nbsp;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="217.25" y="280" width="120" height="70" as="geometry" />
</mxCell>
<mxCell id="5dyq7pQDjFANX0ohcFdJ-5" value="Make new state" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="365" y="690" width="120" height="70" as="geometry" />
</mxCell>
<mxCell id="5dyq7pQDjFANX0ohcFdJ-6" value="Update state" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="365" y="880" width="120" height="80" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 71 KiB