Wiritng results

This commit is contained in:
Noah L. Schrick 2023-04-19 16:12:08 -05:00
parent a86f77d797
commit e0905a0457
13 changed files with 196 additions and 79 deletions

View File

@ -1 +1 @@
load,exploit,appl,nodes,runtime,task0,task1,task3,task4,task5
load,exploit,appl,nodes,runtime,task0,task1,task2,task3,task4,task5

View File

@ -825,3 +825,16 @@
296,192,75,7,23490.471000,0,6303.6,4233.38,462.256,193.123,0
296,192,75,11,10048.356000,0,3927.12,2566.14,448.038,187.57,0
296,192,75,12,6367.721000,0,2259.08,2165.39,379.227,184.58,0
296,192,100,4,27985.090000,0,7315.56,5648.59,400.992,201.941,0
296,192,100,5,28102.298000,0,7283.72,5656.43,463.276,198.647,0
296,192,100,6,30251.226000,0,7450.48,6465.63,477.498,250.285,0
296,192,100,7,31718.292000,0,8636.27,5732.31,393.129,299.022,0
296,192,100,10,10155.169000,0,3491.69,3354.44,454.262,205.671,0
296,192,100,11,11954.256000,0,4611.84,3241.29,429.406,207.792,0
296,192,100,12,7929.457000,0,2934.86,2693.78,382.558,221.012,0
296,384,0,4,8951.850000,0,3522.83,20.054,380.025,251.68,0
296,384,0,5,9022.542000,0,3560.87,20.1415,380.215,191.771,0
296,384,0,6,9659.159000,0,3662.09,20.336,446.857,186.781,0
296,384,0,7,5730.417000,0,2475.98,20.2225,371.225,212.417,0
296,384,0,9,4908.263000,0,2097.58,288.186,380.105,240.339,0
296,384,0,10,4901.544000,0,1814.81,476,438.053,247.114,0

1 395 6 0 2 1772.319000 0 203.185 272.299 311.078 0 0
825 296 192 75 7 23490.471000 0 6303.6 4233.38 462.256 193.123 0
826 296 192 75 11 10048.356000 0 3927.12 2566.14 448.038 187.57 0
827 296 192 75 12 6367.721000 0 2259.08 2165.39 379.227 184.58 0
828 296 192 100 4 27985.090000 0 7315.56 5648.59 400.992 201.941 0
829 296 192 100 5 28102.298000 0 7283.72 5656.43 463.276 198.647 0
830 296 192 100 6 30251.226000 0 7450.48 6465.63 477.498 250.285 0
831 296 192 100 7 31718.292000 0 8636.27 5732.31 393.129 299.022 0
832 296 192 100 10 10155.169000 0 3491.69 3354.44 454.262 205.671 0
833 296 192 100 11 11954.256000 0 4611.84 3241.29 429.406 207.792 0
834 296 192 100 12 7929.457000 0 2934.86 2693.78 382.558 221.012 0
835 296 384 0 4 8951.850000 0 3522.83 20.054 380.025 251.68 0
836 296 384 0 5 9022.542000 0 3560.87 20.1415 380.215 191.771 0
837 296 384 0 6 9659.159000 0 3662.09 20.336 446.857 186.781 0
838 296 384 0 7 5730.417000 0 2475.98 20.2225 371.225 212.417 0
839 296 384 0 9 4908.263000 0 2097.58 288.186 380.105 240.339 0
840 296 384 0 10 4901.544000 0 1814.81 476 438.053 247.114 0

View File

@ -1,4 +1,4 @@
load,exploit,appl,nodes,runtime,task0,task1,task3,task4,task5
load,exploit,appl,nodes,runtime,task0,task1,task2,task3,task4,task5
395,6,0,2,1772.319000,0,203.185,272.299,311.078,0,0
395,6,0,3,1871.757000,0,203.071,20.159,253.848,0,0
395,6,0,4,1953.241000,0,215.554,21.14,262.591,0,0
@ -826,6 +826,19 @@ load,exploit,appl,nodes,runtime,task0,task1,task3,task4,task5
296,192,75,7,23490.471000,0,6303.6,4233.38,462.256,193.123,0
296,192,75,11,10048.356000,0,3927.12,2566.14,448.038,187.57,0
296,192,75,12,6367.721000,0,2259.08,2165.39,379.227,184.58,0
296,192,100,4,27985.090000,0,7315.56,5648.59,400.992,201.941,0
296,192,100,5,28102.298000,0,7283.72,5656.43,463.276,198.647,0
296,192,100,6,30251.226000,0,7450.48,6465.63,477.498,250.285,0
296,192,100,7,31718.292000,0,8636.27,5732.31,393.129,299.022,0
296,192,100,10,10155.169000,0,3491.69,3354.44,454.262,205.671,0
296,192,100,11,11954.256000,0,4611.84,3241.29,429.406,207.792,0
296,192,100,12,7929.457000,0,2934.86,2693.78,382.558,221.012,0
296,384,0,4,8951.850000,0,3522.83,20.054,380.025,251.68,0
296,384,0,5,9022.542000,0,3560.87,20.1415,380.215,191.771,0
296,384,0,6,9659.159000,0,3662.09,20.336,446.857,186.781,0
296,384,0,7,5730.417000,0,2475.98,20.2225,371.225,212.417,0
296,384,0,9,4908.263000,0,2097.58,288.186,380.105,240.339,0
296,384,0,10,4901.544000,0,1814.81,476,438.053,247.114,0
395,6,0,1,549.759000,0,198.494,179.04,44.75,0,5.646
395,6,25,1,539.196000,0,192.308,174.378,44.006,0,5.7
395,6,50,1,545.386000,0,194.225,175.032,44.278,0,5.927

1 load,exploit,appl,nodes,runtime,task0,task1,task3,task4,task5 load exploit appl nodes runtime task0 task1 task2 task3 task4 task5
2 395,6,0,2,1772.319000,0,203.185,272.299,311.078,0,0 395 6 0 2 1772.319000 0 203.185 272.299 311.078 0 0
3 395,6,0,3,1871.757000,0,203.071,20.159,253.848,0,0 395 6 0 3 1871.757000 0 203.071 20.159 253.848 0 0
4 395,6,0,4,1953.241000,0,215.554,21.14,262.591,0,0 395 6 0 4 1953.241000 0 215.554 21.14 262.591 0 0
826 296,192,75,7,23490.471000,0,6303.6,4233.38,462.256,193.123,0 296 192 75 7 23490.471000 0 6303.6 4233.38 462.256 193.123 0
827 296,192,75,11,10048.356000,0,3927.12,2566.14,448.038,187.57,0 296 192 75 11 10048.356000 0 3927.12 2566.14 448.038 187.57 0
828 296,192,75,12,6367.721000,0,2259.08,2165.39,379.227,184.58,0 296 192 75 12 6367.721000 0 2259.08 2165.39 379.227 184.58 0
829 296 192 100 4 27985.090000 0 7315.56 5648.59 400.992 201.941 0
830 296 192 100 5 28102.298000 0 7283.72 5656.43 463.276 198.647 0
831 296 192 100 6 30251.226000 0 7450.48 6465.63 477.498 250.285 0
832 296 192 100 7 31718.292000 0 8636.27 5732.31 393.129 299.022 0
833 296 192 100 10 10155.169000 0 3491.69 3354.44 454.262 205.671 0
834 296 192 100 11 11954.256000 0 4611.84 3241.29 429.406 207.792 0
835 296 192 100 12 7929.457000 0 2934.86 2693.78 382.558 221.012 0
836 296 384 0 4 8951.850000 0 3522.83 20.054 380.025 251.68 0
837 296 384 0 5 9022.542000 0 3560.87 20.1415 380.215 191.771 0
838 296 384 0 6 9659.159000 0 3662.09 20.336 446.857 186.781 0
839 296 384 0 7 5730.417000 0 2475.98 20.2225 371.225 212.417 0
840 296 384 0 9 4908.263000 0 2097.58 288.186 380.105 240.339 0
841 296 384 0 10 4901.544000 0 1814.81 476 438.053 247.114 0
842 395,6,0,1,549.759000,0,198.494,179.04,44.75,0,5.646 395 6 0 1 549.759000 0 198.494 179.04 44.75 0 5.646
843 395,6,25,1,539.196000,0,192.308,174.378,44.006,0,5.7 395 6 25 1 539.196000 0 192.308 174.378 44.006 0 5.7
844 395,6,50,1,545.386000,0,194.225,175.032,44.278,0,5.927 395 6 50 1 545.386000 0 194.225 175.032 44.278 0 5.927

View File

@ -101,16 +101,27 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-D}}Testing Platform}{7}{subsection.6.4}\protected@file@percent }
\newlabel{sec:test-platform}{{\mbox {VI-D}}{7}{Testing Platform}{subsection.6.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-E}}Testing Process}{7}{subsection.6.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {VII}Analysis and Results}{8}{section.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VII-A}}Exploratory Data Analysis}{8}{subsection.7.1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Parallel Coordinates Plot of MPI Tasking Parameters and Runtime(ms)}}{8}{figure.9}\protected@file@percent }
\newlabel{fig:para_coords}{{9}{8}{Parallel Coordinates Plot of MPI Tasking Parameters and Runtime(ms)}{figure.9}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VII-B}}Nonlinear Regression}{8}{subsection.7.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {VIII}Results}{8}{section.8}\protected@file@percent }
\newlabel{sec:Tasking-Results}{{VIII}{8}{Results}{section.8}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Number of Nodes and Exploits (Averaged) vs. Runtime (ms)}}{8}{figure.10}\protected@file@percent }
\newlabel{fig:nodes-exp}{{10}{8}{Number of Nodes and Exploits (Averaged) vs. Runtime (ms)}{figure.10}{}}
\bibdata{Bibliography}
\bibcite{9678822}{1}
\@writefile{toc}{\contentsline {section}{\numberline {VII}Results}{8}{section.7}\protected@file@percent }
\newlabel{sec:Tasking-Results}{{VII}{8}{Results}{section.7}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size}}{8}{figure.9}\protected@file@percent }
\newlabel{fig:Spd-Eff-Task}{{9}{8}{Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size}{figure.9}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces MPI Tasking Approach Runtime Results}}{8}{figure.10}\protected@file@percent }
\newlabel{fig:Tasking-RT}{{10}{8}{MPI Tasking Approach Runtime Results}{figure.10}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Results for the MPI Tasking Approach in Terms of Speedup}}{8}{figure.11}\protected@file@percent }
\newlabel{fig:Tasking-Spd}{{11}{8}{Results for the MPI Tasking Approach in Terms of Speedup}{figure.11}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Applicability of Exploits (\%) and Database Load (\%) (Averaged) vs. Runtime (ms)}}{9}{figure.11}\protected@file@percent }
\newlabel{fig:appl-load}{{11}{9}{Applicability of Exploits (\%) and Database Load (\%) (Averaged) vs. Runtime (ms)}{figure.11}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size}}{9}{figure.12}\protected@file@percent }
\newlabel{fig:Spd-Eff-Task}{{12}{9}{Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size}{figure.12}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces MPI Tasking Approach Runtime Results}}{9}{figure.13}\protected@file@percent }
\newlabel{fig:Tasking-RT}{{13}{9}{MPI Tasking Approach Runtime Results}{figure.13}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces Results for the MPI Tasking Approach in Terms of Speedup}}{9}{figure.14}\protected@file@percent }
\newlabel{fig:Tasking-Spd}{{14}{9}{Results for the MPI Tasking Approach in Terms of Speedup}{figure.14}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces Results for the MPI Tasking Approach in Terms of Efficiency}}{9}{figure.15}\protected@file@percent }
\newlabel{fig:Tasking-Eff}{{15}{9}{Results for the MPI Tasking Approach in Terms of Efficiency}{figure.15}{}}
\bibcite{7993827}{2}
\bibcite{8652334}{3}
\bibcite{baloyi_guidelines_2019}{4}
@ -138,10 +149,7 @@
\bibcite{li_combining_2019}{26}
\bibcite{Slurm}{27}
\bibstyle{ieeetr}
\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces Results for the MPI Tasking Approach in Terms of Efficiency}}{9}{figure.12}\protected@file@percent }
\newlabel{fig:Tasking-Eff}{{12}{9}{Results for the MPI Tasking Approach in Terms of Efficiency}{figure.12}{}}
\@writefile{toc}{\contentsline {section}{\numberline {VIII}Analysis}{9}{section.8}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {IX}Conclusion and Future Work}{9}{section.9}\protected@file@percent }
\newlabel{sec:FW}{{IX}{9}{Conclusion and Future Work}{section.9}{}}
\@writefile{toc}{\contentsline {section}{References}{9}{section*.1}\protected@file@percent }
\gdef \@abspage@last{9}
\@writefile{toc}{\contentsline {section}{\numberline {IX}Conclusion and Future Work}{10}{section.9}\protected@file@percent }
\newlabel{sec:FW}{{IX}{10}{Conclusion and Future Work}{section.9}{}}
\@writefile{toc}{\contentsline {section}{References}{10}{section*.1}\protected@file@percent }
\gdef \@abspage@last{10}

View File

@ -1,8 +1,8 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Arch Linux) (preloaded format=pdflatex 2023.4.3) 6 APR 2023 16:33
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Arch Linux) (preloaded format=pdflatex 2023.4.3) 18 APR 2023 16:06
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**Schrick-Noah_MPI-Tasking
**Schrick-Noah_MPI-Tasking.tex
(./Schrick-Noah_MPI-Tasking.tex
LaTeX2e <2022-11-01> patch level 1
L3 programming layer <2023-02-22>
@ -502,7 +502,7 @@ Underfull \hbox (badness 2119) in paragraph at lines 55--56
[]
Underfull \hbox (badness 2293) in paragraph at lines 60--61
Underfull \hbox (badness 2293) in paragraph at lines 59--60
\OT1/ptm/m/n/10 process to parallelize and deploy on High-Performance
[]
@ -511,137 +511,168 @@ ts/enc/dvips/base/8r.enc}
]
LaTeX Font Info: Trying to load font information for U+msa on input line 73.
LaTeX Font Info: Trying to load font information for U+msa on input line 72.
(/usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2013/01/14 v3.01 AMS symbols A
)
LaTeX Font Info: Trying to load font information for U+msb on input line 73.
LaTeX Font Info: Trying to load font information for U+msb on input line 72.
(/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2013/01/14 v3.01 AMS symbols B
)
Underfull \hbox (badness 1584) in paragraph at lines 73--76
Underfull \hbox (badness 1584) in paragraph at lines 72--75
\OT1/ptm/m/n/10 improvement specific to attack graphs. As a means of
[]
Underfull \hbox (badness 4378) in paragraph at lines 77--80
Underfull \hbox (badness 4378) in paragraph at lines 76--79
\OT1/ptm/m/n/10 parallelization. The authors of [[][]23[][]] leverage OpenMP
[]
Underfull \hbox (badness 3260) in paragraph at lines 77--80
Underfull \hbox (badness 3260) in paragraph at lines 76--79
\OT1/ptm/m/n/10 to parallelize the exploration of a FIFO queue. This
[]
[2]
<./images/horiz_task.drawio.png, id=181, 1181.41376pt x 785.93625pt>
<./images/horiz_task.drawio.png, id=190, 1181.41376pt x 785.93625pt>
File: ./images/horiz_task.drawio.png Graphic file (type png)
<use ./images/horiz_task.drawio.png>
Package pdftex.def Info: ./images/horiz_task.drawio.png used on input line 116
Package pdftex.def Info: ./images/horiz_task.drawio.png used on input line 115
.
(pdftex.def) Requested size: 252.0pt x 167.64183pt.
<./images/node-alloc.png, id=184, 818.30719pt x 536.75531pt>
<./images/node-alloc.png, id=193, 818.30719pt x 536.75531pt>
File: ./images/node-alloc.png Graphic file (type png)
<use ./images/node-alloc.png>
Package pdftex.def Info: ./images/node-alloc.png used on input line 128.
Package pdftex.def Info: ./images/node-alloc.png used on input line 127.
(pdftex.def) Requested size: 252.0pt x 165.29492pt.
[3 <./images/horiz_task.drawio.png> <./images/node-alloc.PNG>]
<./images/Task1-Data-Dist.png, id=196, 597.98407pt x 197.48781pt>
<./images/Task1-Data-Dist.png, id=204, 597.98407pt x 197.48781pt>
File: ./images/Task1-Data-Dist.png Graphic file (type png)
<use ./images/Task1-Data-Dist.png>
Package pdftex.def Info: ./images/Task1-Data-Dist.png used on input line 145.
Package pdftex.def Info: ./images/Task1-Data-Dist.png used on input line 144.
(pdftex.def) Requested size: 252.0pt x 83.22455pt.
<./images/Task1-Case1.png, id=200, 586.44093pt x 339.51843pt>
<./images/Task1-Case1.png, id=208, 586.44093pt x 339.51843pt>
File: ./images/Task1-Case1.png Graphic file (type png)
<use ./images/Task1-Case1.png>
Package pdftex.def Info: ./images/Task1-Case1.png used on input line 154.
Package pdftex.def Info: ./images/Task1-Case1.png used on input line 153.
(pdftex.def) Requested size: 252.0pt x 145.89163pt.
<./images/Task1-Case2.png, id=201, 702.37407pt x 414.79968pt>
<./images/Task1-Case2.png, id=209, 702.37407pt x 414.79968pt>
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 161.
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=203, 489.83pt x 1053.9375pt>
<./images/Sync-Fire.png, id=211, 489.83pt x 1053.9375pt>
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 171.
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>]
LaTeX Warning: No positions in optional float specifier.
Default added (so using `tbp') on input line 186.
Default added (so using `tbp') on input line 185.
[5 <./images/Sync-Fire.png>]
Underfull \hbox (badness 1389) in paragraph at lines 217--218
Underfull \hbox (badness 1389) in paragraph at lines 216--217
\OT1/ptm/m/n/10 the performance of each task. Generating larger graphs
[]
LaTeX Warning: No positions in optional float specifier.
Default added (so using `tbp') on input line 219.
Default added (so using `tbp') on input line 218.
<./images/NA.png, id=227, 369.38pt x 118.4425pt>
<./images/NA.png, id=235, 369.38pt x 118.4425pt>
File: ./images/NA.png Graphic file (type png)
<use ./images/NA.png>
Package pdftex.def Info: ./images/NA.png used on input line 243.
Package pdftex.def Info: ./images/NA.png used on input line 242.
(pdftex.def) Requested size: 184.68954pt x 59.2211pt.
[6 <./images/NA.png>]
<./images/Applicable_E.png, id=238, 360.34625pt x 104.39pt>
<./images/Applicable_E.png, id=246, 360.34625pt x 104.39pt>
File: ./images/Applicable_E.png Graphic file (type png)
<use ./images/Applicable_E.png>
Package pdftex.def Info: ./images/Applicable_E.png used on input line 267.
Package pdftex.def Info: ./images/Applicable_E.png used on input line 266.
(pdftex.def) Requested size: 180.17268pt x 52.19485pt.
Underfull \hbox (badness 2057) in paragraph at lines 280--282
Underfull \hbox (badness 2057) in paragraph at lines 279--281
[]\OT1/ptm/m/n/10 The database load parameter was changed based on
[]
Underfull \hbox (badness 7451) in paragraph at lines 300--301
Underfull \hbox (badness 7451) in paragraph at lines 299--300
\OT1/ptm/m/n/10 All nodes are connected with a 10Gbps Infiniband
[]
[7 <./images/Applicable_E.png>]
Underfull \hbox (badness 3713) in paragraph at lines 310--311
<./images/para_coords.png, id=262, 1468.48625pt x 451.6875pt>
File: ./images/para_coords.png Graphic file (type png)
<use ./images/para_coords.png>
Package pdftex.def Info: ./images/para_coords.png used on input line 310.
(pdftex.def) Requested size: 252.0pt x 77.50954pt.
<./images/nodes-runtime.png, id=263, 431.4519pt x 330.9966pt>
File: ./images/nodes-runtime.png Graphic file (type png)
<use ./images/nodes-runtime.png>
Package pdftex.def Info: ./images/nodes-runtime.png used on input line 318.
(pdftex.def) Requested size: 252.0pt x 193.33171pt.
<./images/exploits-runtime.png, id=264, 409.7709pt x 350.5095pt>
File: ./images/exploits-runtime.png Graphic file (type png)
<use ./images/exploits-runtime.png>
Package pdftex.def Info: ./images/exploits-runtime.png used on input line 319.
(pdftex.def) Requested size: 252.0pt x 215.55405pt.
<./images/applicability-runtime.png, id=265, 431.4519pt x 337.5009pt>
File: ./images/applicability-runtime.png Graphic file (type png)
<use ./images/applicability-runtime.png>
Package pdftex.def Info: ./images/applicability-runtime.png used on input line
326.
(pdftex.def) Requested size: 252.0pt x 197.13081pt.
<./images/dbload-runtime.png, id=266, 431.4519pt x 337.5009pt>
File: ./images/dbload-runtime.png Graphic file (type png)
<use ./images/dbload-runtime.png>
Package pdftex.def Info: ./images/dbload-runtime.png used on input line 327.
(pdftex.def) Requested size: 252.0pt x 197.13081pt.
Underfull \hbox (badness 3713) in paragraph at lines 339--340
[]\OT1/ptm/m/n/10 In terms of efficiency, 2 compute nodes offer the
[]
<./images/Speedup-Esize-Tasking.png, id=260, 620.208pt x 321.93pt>
[8 <./images/para_coords.png> <./images/nodes-runtime.png> <./images/exploits-r
untime.png>]
<./images/Speedup-Esize-Tasking.png, id=288, 620.208pt x 321.93pt>
File: ./images/Speedup-Esize-Tasking.png Graphic file (type png)
<use ./images/Speedup-Esize-Tasking.png>
Package pdftex.def Info: ./images/Speedup-Esize-Tasking.png used on input line
318.
347.
(pdftex.def) Requested size: 252.0pt x 130.80338pt.
<./images/Eff-Esize-Tasking.png, id=261, 620.208pt x 322.149pt>
<./images/Eff-Esize-Tasking.png, id=289, 620.208pt x 322.149pt>
File: ./images/Eff-Esize-Tasking.png Graphic file (type png)
<use ./images/Eff-Esize-Tasking.png>
Package pdftex.def Info: ./images/Eff-Esize-Tasking.png used on input line 319
Package pdftex.def Info: ./images/Eff-Esize-Tasking.png used on input line 348
.
(pdftex.def) Requested size: 252.0pt x 130.89236pt.
<./images/Tasking_RT.png, id=262, 860.46469pt x 257.96375pt>
<./images/Tasking_RT.png, id=290, 860.46469pt x 257.96375pt>
File: ./images/Tasking_RT.png Graphic file (type png)
<use ./images/Tasking_RT.png>
Package pdftex.def Info: ./images/Tasking_RT.png used on input line 326.
Package pdftex.def Info: ./images/Tasking_RT.png used on input line 355.
(pdftex.def) Requested size: 252.0pt x 75.54756pt.
<./images/Tasking_Spd.png, id=263, 860.46469pt x 276.53313pt>
<./images/Tasking_Spd.png, id=291, 860.46469pt x 276.53313pt>
File: ./images/Tasking_Spd.png Graphic file (type png)
<use ./images/Tasking_Spd.png>
Package pdftex.def Info: ./images/Tasking_Spd.png used on input line 333.
Package pdftex.def Info: ./images/Tasking_Spd.png used on input line 362.
(pdftex.def) Requested size: 252.0pt x 80.98582pt.
<./images/Tasking_Eff.png, id=264, 860.46469pt x 276.53313pt>
<./images/Tasking_Eff.png, id=292, 860.46469pt x 276.53313pt>
File: ./images/Tasking_Eff.png Graphic file (type png)
<use ./images/Tasking_Eff.png>
Package pdftex.def Info: ./images/Tasking_Eff.png used on input line 340.
Package pdftex.def Info: ./images/Tasking_Eff.png used on input line 369.
(pdftex.def) Requested size: 252.0pt x 80.98582pt.
(./Schrick-Noah_MPI-Tasking.bbl
Underfull \vbox (badness 10000) has occurred while \output is active []
(./Schrick-Noah_MPI-Tasking.bbl
Underfull \vbox (badness 3815) has occurred while \output is active []
[8 <./images/Speedup-Esize-Tasking.png> <./images/Eff-Esize-Tasking.png> <./im
ages/Tasking_RT.png> <./images/Tasking_Spd.png>]
[9 <./images/applicability-runtime.png> <./images/dbload-runtime.png> <./image
s/Speedup-Esize-Tasking.png> <./images/Eff-Esize-Tasking.png> <./images/Tasking
_RT.png> <./images/Tasking_Spd.png> <./images/Tasking_Eff.png>]
Underfull \hbox (badness 1442) in paragraph at lines 21--26
\OT1/ptm/m/n/8 A Focus on Cyberphysical Systems and Internet of Things,'' in
[]
@ -684,19 +715,22 @@ Before submitting the final camera ready copy, remember to:
uses only Type 1 fonts and that every step in the generation
process uses the appropriate paper size.
[9 <./images/Tasking_Eff.png>] (./Schrick-Noah_MPI-Tasking.aux)
[10] (./Schrick-Noah_MPI-Tasking.aux)
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
Package rerunfilecheck Info: File `Schrick-Noah_MPI-Tasking.out' has not change
d.
(rerunfilecheck) Checksum: 282EFB5F213C3BBCE81796BF27E429B0;3411.
(rerunfilecheck) Checksum: F261765C4242D52E5D05144E1219080C;3827.
)
Here is how much of TeX's memory you used:
12254 strings out of 476025
194956 string characters out of 5796533
12305 strings out of 476025
196397 string characters out of 5796533
1871388 words of memory out of 5000000
32452 multiletter control sequences out of 15000+600000
32492 multiletter control sequences out of 15000+600000
550927 words of font info for 105 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
75i,14n,76p,2022b,592s stack positions out of 5000i,500n,10000p,200000b,80000s
75i,14n,76p,2026b,600s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/
texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texmf-dist/font
s/type1/public/amsfonts/cm/cmr7.pfb></usr/share/texmf-dist/fonts/type1/public/a
@ -704,10 +738,10 @@ 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 (9 pages, 1046533 bytes).
Output written on Schrick-Noah_MPI-Tasking.pdf (10 pages, 1313338 bytes).
PDF statistics:
340 PDF objects out of 1000 (max. 8388607)
286 compressed objects within 3 object streams
76 named destinations out of 1000 (max. 500000)
266 words of extra memory for PDF output out of 10000 (max. 10000000)
370 PDF objects out of 1000 (max. 8388607)
304 compressed objects within 4 object streams
82 named destinations out of 1000 (max. 500000)
307 words of extra memory for PDF output out of 10000 (max. 10000000)

View File

@ -19,7 +19,9 @@
\BOOKMARK [2][-]{subsection.6.3}{\376\377\000D\000a\000t\000a\000b\000a\000s\000e\000\040\000L\000o\000a\000d}{section.6}% 19
\BOOKMARK [2][-]{subsection.6.4}{\376\377\000T\000e\000s\000t\000i\000n\000g\000\040\000P\000l\000a\000t\000f\000o\000r\000m}{section.6}% 20
\BOOKMARK [2][-]{subsection.6.5}{\376\377\000T\000e\000s\000t\000i\000n\000g\000\040\000P\000r\000o\000c\000e\000s\000s}{section.6}% 21
\BOOKMARK [1][-]{section.7}{\376\377\000R\000e\000s\000u\000l\000t\000s}{}% 22
\BOOKMARK [1][-]{section.8}{\376\377\000A\000n\000a\000l\000y\000s\000i\000s}{}% 23
\BOOKMARK [1][-]{section.9}{\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n\000\040\000a\000n\000d\000\040\000F\000u\000t\000u\000r\000e\000\040\000W\000o\000r\000k}{}% 24
\BOOKMARK [1][-]{section*.1}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 25
\BOOKMARK [1][-]{section.7}{\376\377\000A\000n\000a\000l\000y\000s\000i\000s\000\040\000a\000n\000d\000\040\000R\000e\000s\000u\000l\000t\000s}{}% 22
\BOOKMARK [2][-]{subsection.7.1}{\376\377\000E\000x\000p\000l\000o\000r\000a\000t\000o\000r\000y\000\040\000D\000a\000t\000a\000\040\000A\000n\000a\000l\000y\000s\000i\000s}{section.7}% 23
\BOOKMARK [2][-]{subsection.7.2}{\376\377\000N\000o\000n\000l\000i\000n\000e\000a\000r\000\040\000R\000e\000g\000r\000e\000s\000s\000i\000o\000n}{section.7}% 24
\BOOKMARK [1][-]{section.8}{\376\377\000R\000e\000s\000u\000l\000t\000s}{}% 25
\BOOKMARK [1][-]{section.9}{\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n\000\040\000a\000n\000d\000\040\000F\000u\000t\000u\000r\000e\000\040\000W\000o\000r\000k}{}% 26
\BOOKMARK [1][-]{section*.1}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 27

Binary file not shown.

View File

@ -54,8 +54,7 @@ Attack Graph; Compliance Graph; MPI; High-Performance Computing; Cybersecurity;
\section{Introduction} \label{sec:Intro}
As the size of computer networks continues to grow, cybersecurity analysts are tasked to mitigate risk with increasing difficulty. The authors of \cite{9678822}, \cite{7993827}, and \cite{8652334} discuss how the rapidly expanding network sizes bring about drastic changes along with the requirement to shift and refocus to accommodate the expansion. This includes presenting novel architectures to support the ever-growing IPTV networks, examinations of computer viruses through epidemiology modeling, and evaluations of new routing schemes. In recent years, a greater usage of cyber-physical systems and a growing adoption of the Internet of Things (IoT) also contributes to an increased need for risk mitigation across varying types of networks, as discussed by the authors of \cite{baloyi_guidelines_2019}, \cite{allman_complying_2006}, and \cite{j_hale_compliance_nodate}. One approach for analyzing the large number of hosts and growing lists of exploits is to automate the generation of attack or compliance graphs for later use. Attack and compliance graphs are directed acyclic graphs (DAGs) that typically represent one or many systems as nodes in a graph, and any changes that could be made to them as edges. The automation of these graphs has been used and presented by authors such as \cite{ou_scalable_2006}, \cite{CPSIOT}, and \cite{ming_jo}. The graph generators will take system information and exploits to check for as input, and will exhaustively draw all possible ways that the systems may be at risk of a cybersecurity attack or at risk of violating a compliance regulation or mandate. If a system is able to be modified through a setting change (regardless of intent), have its compliance standing altered, or have a policy updated, an edge is drawn from that node to a new node with the changed system properties. This process is repeated until all possible alterations are identified and represented in the resulting attack or compliance graph.
Difficulties
Due to the expansion in network size, and with the inclusion of IoT and cyber-physical devices, the generation of attack and compliance graph quickly becomes difficult with the large number of assets needed to be processed. In addition, the number of regulatory and compliance checks, the large number of exploit and vulnerability entries available, and any custom internal standard checks or zero-day scripting causes a state space explosion in the graph generation process. As a result, these graphs become infeasible to generate and process serially.
Due to the expansion in network size, and with the inclusion of IoT and cyber-physical devices, the generation of attack and compliance graph quickly becomes difficult with the large number of assets needed to be processed. In addition, the number of regulatory and compliance checks, the large number of exploit and vulnerability entries available, and any custom internal standard checks or zero-day scripting causes a state space explosion in the graph generation process. As a result, real-world graphs become infeasible to generate and process serially.
The attack and compliance graph generation is a viable process to parallelize and deploy on High-Performance Computing (HPC) environments, and related parallel and speedup works are discussed in Section \ref{sec:rel_works}. This work presents an extension to RAGE (RAGE Attack Graph Engine \cite{cook_rage_2018}) to function on distributed computing environments to take advantage of the increased computing power using message-passing. As mentioned by the author of \cite{pacheco_introduction_2011}, MPI is a widely used message-passing API, and one goal of this work was to utilize an API that was not only familiar and accessible, but versatile and powerful for parallelizing RAGE for distributed computing platforms. This work discusses a task parallelism approach for the generation process, and uses OpenMPI for the MPI implementation.
@ -302,6 +301,55 @@ All nodes are connected with a 10Gbps Infiniband interconnect.
\subsection{Testing Process}
Each parameter discussed in this section was individually changed until all permutations of parameters were explored. In addition to changing the parameters, all tests were conducted on a varying number of nodes. All permutations of parameters were examined on 1 compute node (serially) through 12 compute nodes. A bash script for looping through parameters was created on the distributed computing testing platform, with jobs sent to Slurm Workload Manager \cite{Slurm}. When a job is completed with Slurm, the bash script would use grep on the output file to extract the necessary data, and add it to a CSV file that was used for the data analysis.
\section{Analysis and Results}
Exploratory data analysis was performed on the resulting data using Python to ascertain data relationships. Due to the multivariate nature of the data, there is difficulty visualizing all four independent variables (parameters) and the outcome (runtime) simultaneously. Figure \ref{fig:para_coords} makes uses of Plotly's parallel coordinates to visualize the parameters and their relationship to the runtime. Using pivot tables, Figures \ref{fig:nodes-exp} and \ref{fig:appl-load} show the runtime as they relate to the average of each individual parameter. These figures display the expected outcome: as the number of nodes increase, the runtime decreases, and as the number of exploits, applicability of exploits, and database load increases, the runtime likewise increases.
\begin{figure}[htp]
\centering
\includegraphics[width=\linewidth]{"./images/para_coords.png"}
\vspace{.2truein} \centerline{}
\caption{Parallel Coordinates Plot of MPI Tasking Parameters and Runtime(ms)}
\label{fig:para_coords}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=\linewidth]{"./images/nodes-runtime.png"}
\includegraphics[width=\linewidth]{"./images/exploits-runtime.png"}
\caption{Number of Nodes and Exploits (Averaged) vs. Runtime (ms)}
\label{fig:nodes-exp}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=\linewidth]{"./images/applicability-runtime.png"}
\includegraphics[width=\linewidth]{"./images/dbload-runtime.png"}
\caption{Applicability of Exploits (\%) and Database Load (\%) (Averaged) vs. Runtime (ms)}
\label{fig:appl-load}
\end{figure}
In terms of speedup, when the number of entries in the exploit list is small, the serial approach has better performance. As discussed in Section \ref{sec:Task-perf-expec}, this is expected due to the time elapsed for the communication cost exceeding the time taken to generate a state. However, as the number of items in the exploit list increase, the Tasking Approach quickly begins to outperform the serial approach. It is notable that even when the tasking pipeline is not fully saturated (when there are less compute nodes assigned than tasks), the performance is still approximately equal to that of the serial approach. The other noticeable feature is that as more compute nodes are assigned, the speedup continues to increase.
Figure \ref{fig:overall-speedup} displays the overall minimum, maximum, and mean of speedup across all problem sizes. It is observable through the mean and maximum bars that as other problem size parameters increase, the speedup of the Tasking Approach also increases. Since database load, applicability of exploits, and number of exploits all affect the runtime, increasing the problem size through any of these parameters showcases the viability of the parallelized approach. At the same time, it is worth noting that the parallelized approach is not strictly better. The minimum speedups shown in Figure \ref{fig:overall-speedup} demonstrate that for small problem sizes, the serial approach performs better due to the communication costs.
\begin{figure}[htp]
\centering
\includegraphics[width=\linewidth]{"./images/overall-speedup.png"}
\vspace{.2truein} \centerline{}
\caption{Minimum, Maximum, and Mean Speedups of MPI Tasking Across All Problem Sizes}
\label{fig:overall-speedup}
\end{figure}
Figure \ref{fig:overall-efficiency} displays the overall minimum, maximum, and mean of efficiency across all problem sizes. In terms of efficiency, 2 compute nodes offer the greatest value. While the 2 compute node configuration does offer the greatest efficiency, it does not provide a speedup greater than 1.0 on any of the testing cases conducted. The results also demonstrate that an odd number of compute nodes in a fully saturated pipeline has better efficiency that an even number of compute nodes. When referring to Figure \ref{fig:node-alloc}, when there is an odd number number of compute nodes, Task 1 is allocated more nodes than Task 2. Task 1 was responsible for iterating through an increased size of the exploit list, so more nodes is advantageous in distributing the workload. However, when many exploits were not applicable, Task 2 had a lower workload. Some test cases only had 6 applicable exploits, which is a substantially lower workload for Task 2 compared to cases where Task 1 had upwards of 49,000 exploits. As the applicability of exploits increase, the disparity in efficiency for odd and even number of nodes is not present.
\begin{figure}[htp]
\centering
\includegraphics[width=\linewidth]{"./images/overall-efficiency.png"}
\vspace{.2truein} \centerline{}
\caption{Minimum, Maximum, and Mean Efficiencies of MPI Tasking Across All Problem Sizes}
\label{fig:overall-efficiency}
\end{figure}
\section{Results} \label{sec:Tasking-Results}
A series of tests were conducted on the platform described at the beginning of Section \ref{sec:test-platform}, and results were collected in regards to the effect of the MPI Tasking approach on increasing sizes of exploit lists for a varying number of nodes. The exploit list initially began with 6 items, and each test scaled the number of exploits by a factor of 2. The final test was with an exploit list with 49,512 entries. If all of the items in these exploit lists were applicable, the runtime would be too great for feasible testing due to the state space explosion. To prevent state-space explosion but still gather valid results, each exploit list in the tests contained 6 exploits that could be applicable, and all remaining exploits were not applicable. The not applicable exploits were created in a fashion similar to that seen in Figure \ref{fig:NA-exp}. By creating a multitude of not applicable exploits, testing can safely be conducted by ensuring state space explosion would not occur while still observing the effectiveness of the tasking approach.
@ -342,7 +390,6 @@ Figures \ref{fig:Tasking-RT}, \ref{fig:Tasking-Spd}, and \ref{fig:Tasking-Eff} d
\label{fig:Tasking-Eff}
\end{figure}
\section{Analysis}
\section{Conclusion and Future Work} \label{sec:FW}

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
images/dbload-runtime.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
images/exploits-runtime.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
images/nodes-runtime.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
images/para_coords.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB