diff --git a/Bibliography.bib b/Bibliography.bib index 236198a..58e735f 100644 --- a/Bibliography.bib +++ b/Bibliography.bib @@ -1225,3 +1225,11 @@ doi={10.1109/IPDPSW50202.2020.00128}} @ARTICLE{7087377, author={Kaynar, Kerem and Sivrikaya, Fikret}, journal={IEEE Transactions on Dependable and Secure Computing}, title={Distributed Attack Graph Generation}, year={2016}, volume={13}, number={5}, pages={519-532}, doi={10.1109/TDSC.2015.2423682}} + + +@misc{lawrence_livermore_national_laboratory_mpip_nodate, + title = {{mpiP}}, + shorttitle = {A light-weight {MPI} profiler.}, + url = {https://software.llnl.gov/mpiP/}, + author = {{Lawrence Livermore National Laboratory}}, +} diff --git a/Chapter5.aux b/Chapter5.aux index 094ec3f..5f3366a 100644 --- a/Chapter5.aux +++ b/Chapter5.aux @@ -31,6 +31,7 @@ \newlabel{table:tasking-tag}{{\caption@xref {table:tasking-tag}{ on input line 104}}{36}} \@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces MPI Tags for the MPI Tasking Approach\relax }}{36}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{36}{}\protected@file@percent } +\newlabel{sec:tasking-tag}{{5.3.2}{36}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations and Use Cases}{37}{}\protected@file@percent } \newlabel{Task-perf-expec}{{5.3.3}{37}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}\it Results}{37}{}\protected@file@percent } @@ -49,10 +50,22 @@ \@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces Frontier Merging and Data Distribution Process\relax }}{43}{}\protected@file@percent } \newlabel{fig:front-merg}{{5.9}{43}} \@writefile{toc}{\contentsline {subsubsection}{Database Node}{43}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{43}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations and Use Cases}{43}{}\protected@file@percent } +\newlabel{sec:perf_expec_subg}{{5.4.3}{43}} +\newlabel{table:subg-tag}{{\caption@xref {table:subg-tag}{ on input line 192}}{44}} +\@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces MPI Tags for the MPI Subgraphing Approach\relax }}{44}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}\it Results}{44}{}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {5.10}{\ignorespaces First iteration results of MPI Subgraphing in terms of Runtime\relax }}{45}{}\protected@file@percent } +\newlabel{fig:Subg_base}{{5.10}{45}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.11}{\ignorespaces First iteration results of MPI Subgraphing in terms of Speedup and Efficiency\relax }}{45}{}\protected@file@percent } +\newlabel{fig:Subg_SE}{{5.11}{45}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.12}{\ignorespaces Modified Subgraphing Example Graph with Two New Edges\relax }}{47}{}\protected@file@percent } +\newlabel{fig:subg_mod}{{5.12}{47}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.13}{\ignorespaces Duplicate States Explored vs Actual Number of States for the 1-4 Service Tests\relax }}{48}{}\protected@file@percent } +\newlabel{fig:subg_dup}{{5.13}{48}} \@setckpt{Chapter5}{ -\setcounter{page}{45} +\setcounter{page}{49} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} @@ -67,8 +80,8 @@ \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} -\setcounter{figure}{9} -\setcounter{table}{1} +\setcounter{figure}{13} +\setcounter{table}{2} \setcounter{caption@flags}{2} \setcounter{continuedfloat}{0} \setcounter{subfigure}{0} diff --git a/Chapter5.tex b/Chapter5.tex index 7333535..a5b4268 100644 --- a/Chapter5.tex +++ b/Chapter5.tex @@ -98,7 +98,7 @@ Task 3 is performed only by the root node, and no division of work is necessary. \TUsubsubsection{Task 4 and Task 5} \label{sec:T4T5} Intermediate database operations, though not frequent and may never occur for small graphs, are lengthy and time-consuming when they do occur. As discussed in Section \ref{sec:db-stor}, the two main memory consumers are the frontier and the instance, both of which are contained by the root node. Since the database storage requests are blocking, the pipeline would halt for a lengthy period of time while waiting for the root node to finish potentially two large storages. Tasks 4 and 5 work to alleviate the stall by executing independently of the regular pipeline execution flow. Since Tasks 4 and 5 do not send any data, no other tasks must wait for these tasks to complete. The root node can then asynchronously send the frontier and instance to the appropriate nodes as needed, clear its memory, and continue execution without delay. After initial testing, it was determined that the communication cost of the asynchronous sending of data for Tasks 4 and 5 is less than the time requirement of a database storage operation performed by the root node. -\TUsubsubsection{MPI Tags} +\TUsubsubsection{MPI Tags} \label{sec:tasking-tag} To ensure that the intended message is received by each node, the MPI message envelopes have their tag fields specified. When a node sends a message, it specifies a tag that corresponds with the data and intent for which it is sent. The tag values were arbitrarily chosen, and tags can be added to the existing list or removed as desired. When receiving a message, a node can specify to only look for messages that have an envelope with a matching tag field. Not only do tags ensure that nodes are receiving the correct messages, they also reduce complexity for program design. Table \ref{table:tasking-tag} displays the list of tags used for the MPI Tasking approach. \begin{table}[] \label{table:tasking-tag} @@ -186,9 +186,61 @@ The root node is also responsible for merging the subgraphs. The root node will \TUsubsubsection{Database Node} A node dedicated to database operations is also present in this approach. The work performed for the subgraphing approach is identical to the work performed by Tasks 4 and 5 in the tasking approach, which is discussed in Section \ref{sec:T4T5}. -\TUsubsection{Performance Expectations and Use Cases} +\TUsubsubsection{MPI Tags} +Similar to Section \ref{sec:tasking-tag} that discussed the usage of MPI Tags for the tasking approach, the subgraphing approach also made use of MPI Tags. Table \ref{table:subg-tag} displays the integers and descriptions of the tags used for this approach. + +\begin{table}[] \label{table:subg-tag} + \centering + \begin{tabular}{|l|l|} + \hline + \textbf{Tag} & \textbf{Description} \\ \hline + 1 & New State from Root to Workers \\ \hline + 2 & Workers Finished Subgraphing Signal \\ \hline + 3 & Local Node Frontiers \\ \hline + 5 & NetworkState for Hash Map Update \\ \hline + 6 & Fact for Hash Map Update \\ \hline + 7 & Factbases for Intermediate Database Storage \\ \hline + 8 & Edges for Intermediate Database Storage \\ \hline + 10 & Local Node Factbases \\ \hline + 11 & Local Node Edges \\ \hline + 50 & NetworkState for Intermediate Database Storage \\ \hline + 99 & Generation Finalize Signal \\ \hline + \end{tabular} + \caption{MPI Tags for the MPI Subgraphing Approach} +\end{table} + +\TUsubsection{Performance Expectations and Use Cases} \label{sec:perf_expec_subg} This approach is intended to reduce runtime when the frontier grows at a rate faster than it can be explored. However, since this approach is designed for distributed systems, there is no guarantee that speedup can be achieved when duplicate work is performed. Not only is there wasted time by the worker nodes when duplicate work occurs, but duplicate work also contributes to a longer runtime due to increased communication between nodes to adequately explore the graph, and also leads to increased numbers of merging calls by the root node. The ideal scenario for the subgraphing approach is when the graph is sparse, and the graph more aligns with a tree structure where each node only has one parent. When the graph is sparse, there is a lower likelihood of duplicate work occurring, since worker nodes have a lower probability of exploring a graph node that connects to a different graph node that has been (or will be) explored by another worker node. If each graph node were only able to have one parent, there is a lower likelihood that worker nodes would explore the same graph cluster. \TUsubsection{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 Subgraphing approach on the 4 example networks discussed in \ref{sec:Sync-Test}. All tests used synchronous firing. The initial results are seen in Figure \ref{fig:Subg_base}, which displays the results in terms of their runtimes. Only the serial runtime from the 2 Service test is displayed for conciseness. The results in terms of speedup and efficiency are seen in Figure \ref{fig:Subg_SE}. + +\begin{figure}[htp] + \includegraphics[width=\linewidth]{"./Chapter5_img/MPISubg_RT_No_DHT.png"} + \vspace{.2truein} \centerline{} + \caption{First iteration results of MPI Subgraphing in terms of Runtime} + \label{fig:Subg_base} +\end{figure} +\begin{figure}[htp] + \includegraphics[width=\linewidth]{"./Chapter5_img/Subg_SE_base.png"} + \vspace{.2truein} \centerline{} + \caption{First iteration results of MPI Subgraphing in terms of Speedup and Efficiency} + \label{fig:Subg_SE} +\end{figure} +As noted from the Figures, the performance from this approach appears quite poor. The serial approach has greater performance in all cases, and the resulting speedups for all 4 service tests are below 1.0 when using the subgraphing approach. Likewise, the efficiency continues to worsen as more compute nodes are added to the system. There are a few reasons for this poor performance. Figure \ref{fig:subg} illustrates an example graph that is considered favorable to this approach in that branches are relatively distinct, and the graph is not fully connected. As a result in this example graph, each compute node is working on independent graph structures that do not overlap, and all work is distinct. This graph can quickly lead to issues through a few modifications. Figure \ref{fig:subg_mod} utilizes the same example graph from Figure \ref{fig:subg}, but adds two edges between the outside branches. With this arrangement, the 1st and 3rd compute nodes will perform work that overlaps with the work performed by the 2nd compute node. Both compute node 1 and compute node 3 will explore State 5, and depending on the depth limit, compute nodes 1 and 3 will continue to explore State 5's children, leading to almost all of compute 2's work being duplicated. This duplicate work occurs at an alarming rate in the service tests that were performed. Figure \ref{fig:subg_dup} illustrates that there is an extraordinarily large amount of duplicate work occurring in the testing, which substantially increases the runtime of this approach. The duplicate work, as discussed in Section \ref{sec:perf_expec_subg}, not only wastes compute nodes' times and leads to a longer exploration process, but it also requires the root node to perform more merging and cleanup work. When using mpiP (a light-weight MPI profiler provided by Lawrence Livermore National Laboratory), it is seen that this extra merging and cleanup work performed by the root causes additional delays in distributing data, and the compute nodes spent a combined 35\% total application runtime just waiting to receive more data from the root node in the 1 service test. + +\begin{figure}[htp] + \includegraphics[width=\linewidth]{"./Chapter5_img/dup.drawio.png"} + \vspace{.2truein} \centerline{} + \caption{Modified Subgraphing Example Graph with Two New Edges} + \label{fig:subg_mod} +\end{figure} + +\begin{figure}[htp] + \includegraphics[width=\linewidth]{"./Chapter5_img/Dup_DHT.png"} + \vspace{.2truein} \centerline{} + \caption{Duplicate States Explored vs Actual Number of States for the 1-4 Service Tests} + \label{fig:subg_dup} +\end{figure} \ No newline at end of file diff --git a/Chapter5_img/Dup_DHT.png b/Chapter5_img/Dup_DHT.png new file mode 100644 index 0000000..577e443 Binary files /dev/null and b/Chapter5_img/Dup_DHT.png differ diff --git a/Chapter5_img/MPISubg_Eff_No_DHT.png b/Chapter5_img/MPISubg_Eff_No_DHT.png new file mode 100644 index 0000000..84eff3f Binary files /dev/null and b/Chapter5_img/MPISubg_Eff_No_DHT.png differ diff --git a/Chapter5_img/MPISubg_RT_No_DHT.png b/Chapter5_img/MPISubg_RT_No_DHT.png new file mode 100644 index 0000000..3bd7a21 Binary files /dev/null and b/Chapter5_img/MPISubg_RT_No_DHT.png differ diff --git a/Chapter5_img/MPISubg_Spd_No_DHT.png b/Chapter5_img/MPISubg_Spd_No_DHT.png new file mode 100644 index 0000000..a95fef4 Binary files /dev/null and b/Chapter5_img/MPISubg_Spd_No_DHT.png differ diff --git a/Chapter5_img/Subg_SE_base.png b/Chapter5_img/Subg_SE_base.png new file mode 100644 index 0000000..8fb57a5 Binary files /dev/null and b/Chapter5_img/Subg_SE_base.png differ diff --git a/Chapter5_img/dup.drawio.png b/Chapter5_img/dup.drawio.png new file mode 100644 index 0000000..938e825 Binary files /dev/null and b/Chapter5_img/dup.drawio.png differ diff --git a/Chapter6.aux b/Chapter6.aux index e1e0908..5a8e46b 100644 --- a/Chapter6.aux +++ b/Chapter6.aux @@ -1,9 +1,9 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{45}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Future Work}{45}{}\protected@file@percent } -\newlabel{sec:FW}{{6.1}{45}} +\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{49}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Future Work}{49}{}\protected@file@percent } +\newlabel{sec:FW}{{6.1}{49}} \@setckpt{Chapter6}{ -\setcounter{page}{46} +\setcounter{page}{50} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Exported Items.bib b/Exported Items.bib new file mode 100644 index 0000000..6fa22ba --- /dev/null +++ b/Exported Items.bib @@ -0,0 +1,7 @@ + +@misc{lawrence_livermore_national_laboratory_mpip_nodate, + title = {{mpiP}}, + shorttitle = {A light-weight {MPI} profiler.}, + url = {https://software.llnl.gov/mpiP/}, + author = {{Lawrence Livermore National Laboratory}}, +} diff --git a/Schrick-Noah_MS-Thesis.aux b/Schrick-Noah_MS-Thesis.aux index b716f16..aca2d0a 100644 --- a/Schrick-Noah_MS-Thesis.aux +++ b/Schrick-Noah_MS-Thesis.aux @@ -12,7 +12,7 @@ \@writefile{toc}{\contentsline {section}{\hspace {-\parindent }LIST OF TABLES}{viii}{}\protected@file@percent } \@writefile{toc}{{\hfill \ }} \@writefile{lof}{{\vspace {\baselineskip }}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }LIST OF FIGURES}{ix}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }LIST OF FIGURES}{x}{}\protected@file@percent } \@input{Chapter1.aux} \@input{Chapter2.aux} \@input{Chapter3.aux} @@ -31,9 +31,9 @@ \bibcite{cook_rage_2018}{9} \bibcite{berry_graph_2007}{10} \@writefile{toc}{{\hfill \ }} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{46}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{50}{}\protected@file@percent } \@writefile{toc}{\addvspace {10pt}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{46}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{50}{}\protected@file@percent } \@writefile{toc}{{\hfill \ }} \bibcite{ainsworth_graph_2016}{11} \bibcite{yao_efficient_2018}{12} @@ -52,4 +52,4 @@ \bibcite{CVE-2019-10747}{25} \bibcite{louthan_hybrid_2011}{26} \bibstyle{ieeetr} -\gdef \@abspage@last{57} +\gdef \@abspage@last{62} diff --git a/Schrick-Noah_MS-Thesis.lof b/Schrick-Noah_MS-Thesis.lof index 38877d3..318049c 100644 --- a/Schrick-Noah_MS-Thesis.lof +++ b/Schrick-Noah_MS-Thesis.lof @@ -15,3 +15,7 @@ \contentsline {figure}{\numberline {5.7}{\ignorespaces Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size\relax }}{39}{}% \contentsline {figure}{\numberline {5.8}{\ignorespaces Example Graph Using the MPI Subgraphing Approach\relax }}{41}{}% \contentsline {figure}{\numberline {5.9}{\ignorespaces Frontier Merging and Data Distribution Process\relax }}{43}{}% +\contentsline {figure}{\numberline {5.10}{\ignorespaces First iteration results of MPI Subgraphing in terms of Runtime\relax }}{45}{}% +\contentsline {figure}{\numberline {5.11}{\ignorespaces First iteration results of MPI Subgraphing in terms of Speedup and Efficiency\relax }}{45}{}% +\contentsline {figure}{\numberline {5.12}{\ignorespaces Modified Subgraphing Example Graph with Two New Edges\relax }}{47}{}% +\contentsline {figure}{\numberline {5.13}{\ignorespaces Duplicate States Explored vs Actual Number of States for the 1-4 Service Tests\relax }}{48}{}% diff --git a/Schrick-Noah_MS-Thesis.log b/Schrick-Noah_MS-Thesis.log index b2a0400..395cbc4 100644 --- a/Schrick-Noah_MS-Thesis.log +++ b/Schrick-Noah_MS-Thesis.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.3.21) 21 MAR 2022 12:10 +This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.3.21) 26 MAR 2022 19:03 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -213,14 +213,14 @@ Overfull \hbox (1.75291pt too wide) in paragraph at lines 24--24 [8 -] (./Schrick-Noah_MS-Thesis.lof) +] (./Schrick-Noah_MS-Thesis.lof +[9 + +]) \tf@lof=\write5 \openout5 = `Schrick-Noah_MS-Thesis.lof'. - -[9 - -] + [10] \openout2 = `Chapter1.aux'. (./Chapter1.tex @@ -244,7 +244,7 @@ CHAPTER 2. (./Chapter3.tex CHAPTER 3. -<./Chapter3_img/PW.png, id=60, 958.58125pt x 525.965pt> +<./Chapter3_img/PW.png, id=63, 958.58125pt x 525.965pt> File: ./Chapter3_img/PW.png Graphic file (type png) Package pdftex.def Info: ./Chapter3_img/PW.png used on input line 17. @@ -255,7 +255,7 @@ Package pdftex.def Info: ./Chapter3_img/PW.png used on input line 17. ] [9 <./Chapter3_img/PW.png>] -<./Chapter3_img/CC.png, id=67, 658.46pt x 527.9725pt> +<./Chapter3_img/CC.png, id=71, 658.46pt x 527.9725pt> File: ./Chapter3_img/CC.png Graphic file (type png) Package pdftex.def Info: ./Chapter3_img/CC.png used on input line 57. @@ -266,7 +266,7 @@ Package pdftex.def Info: ./Chapter3_img/CC.png used on input line 57. (./Chapter4.tex CHAPTER 4. -<./Chapter4_img/non-sync_ex.drawio.png, id=91, 1014.79124pt x 400.49625pt> +<./Chapter4_img/non-sync_ex.drawio.png, id=94, 1014.79124pt x 400.49625pt> File: ./Chapter4_img/non-sync_ex.drawio.png Graphic file (type png) Package pdftex.def Info: ./Chapter4_img/non-sync_ex.drawio.png used on input l @@ -283,37 +283,37 @@ Overfull \hbox (30.42026pt too wide) in paragraph at lines 49--49 , ()= [] -<./Chapter4_img/Bison-Flex.png, id=103, 1447.4075pt x 492.84125pt> +<./Chapter4_img/Bison-Flex.png, id=106, 1447.4075pt x 492.84125pt> File: ./Chapter4_img/Bison-Flex.png Graphic file (type png) Package pdftex.def Info: ./Chapter4_img/Bison-Flex.png used on input line 61. (pdftex.def) Requested size: 469.75499pt x 159.95341pt. [20] [21 <./Chapter4_img/Bison-Flex.png (PNG copy)>] -<./Chapter4_img/Sync-Fire.png, id=111, 489.83pt x 1052.93375pt> +<./Chapter4_img/Sync-Fire.png, id=115, 489.83pt x 1052.93375pt> File: ./Chapter4_img/Sync-Fire.png Graphic file (type png) Package pdftex.def Info: ./Chapter4_img/Sync-Fire.png used on input line 85. (pdftex.def) Requested size: 244.9144pt x 526.46559pt. [22] [23 <./Chapter4_img/Sync-Fire.png>] [24] -<./Chapter4_img/Sync-Runtime-Bar.png, id=123, 435.591pt x 238.491pt> +<./Chapter4_img/Sync-Runtime-Bar.png, id=126, 435.591pt x 238.491pt> File: ./Chapter4_img/Sync-Runtime-Bar.png Graphic file (type png) Package pdftex.def Info: ./Chapter4_img/Sync-Runtime-Bar.png used on input lin e 123. (pdftex.def) Requested size: 469.75499pt x 257.2098pt. -<./Chapter4_img/Sync-Runtime.png, id=124, 402.522pt x 236.082pt> +<./Chapter4_img/Sync-Runtime.png, id=127, 402.522pt x 236.082pt> File: ./Chapter4_img/Sync-Runtime.png Graphic file (type png) Package pdftex.def Info: ./Chapter4_img/Sync-Runtime.png used on input line 12 4. (pdftex.def) Requested size: 469.75499pt x 275.52676pt. -<./Chapter4_img/Sync-StateSpace-Bar.png, id=125, 434.058pt x 230.169pt> +<./Chapter4_img/Sync-StateSpace-Bar.png, id=128, 434.058pt x 230.169pt> File: ./Chapter4_img/Sync-StateSpace-Bar.png Graphic file (type png) Package pdftex.def Info: ./Chapter4_img/Sync-StateSpace-Bar.png used on input line 131. (pdftex.def) Requested size: 469.75499pt x 249.11264pt. -<./Chapter4_img/Sync-StateSpace.png, id=126, 402.741pt x 236.301pt> +<./Chapter4_img/Sync-StateSpace.png, id=129, 402.741pt x 236.301pt> File: ./Chapter4_img/Sync-StateSpace.png Graphic file (type png) Package pdftex.def Info: ./Chapter4_img/Sync-StateSpace.png used on input line @@ -332,33 +332,33 @@ CHAPTER 5. ] -<./Chapter5_img/horiz_task.drawio.png, id=144, 1125.20375pt x 738.76pt> +<./Chapter5_img/horiz_task.drawio.png, id=147, 1125.20375pt x 738.76pt> File: ./Chapter5_img/horiz_task.drawio.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/horiz_task.drawio.png used on input li ne 42. (pdftex.def) Requested size: 469.75499pt x 308.4171pt. [29] [30 <./Chapter5_img/horiz_task.drawio.png>] -<./Chapter5_img/node-alloc.png, id=152, 818.30719pt x 536.75531pt> +<./Chapter5_img/node-alloc.png, id=155, 818.30719pt x 536.75531pt> File: ./Chapter5_img/node-alloc.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/node-alloc.png used on input line 54. (pdftex.def) Requested size: 469.75499pt x 308.1323pt. [31 <./Chapter5_img/node-alloc.PNG>] -<./Chapter5_img/Task1-Data-Dist.png, id=157, 1017.04968pt x 336.50719pt> +<./Chapter5_img/Task1-Data-Dist.png, id=160, 1017.04968pt x 336.50719pt> File: ./Chapter5_img/Task1-Data-Dist.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/Task1-Data-Dist.png used on input line 70. (pdftex.def) Requested size: 469.75499pt x 155.42674pt. [32] -<./Chapter5_img/Task1-Case1.png, id=161, 586.44093pt x 339.51843pt> +<./Chapter5_img/Task1-Case1.png, id=164, 586.44093pt x 339.51843pt> File: ./Chapter5_img/Task1-Case1.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/Task1-Case1.png used on input line 79. (pdftex.def) Requested size: 469.75499pt x 271.9622pt. -<./Chapter5_img/Task1-Case2.png, id=162, 702.37407pt x 414.79968pt> +<./Chapter5_img/Task1-Case2.png, id=165, 702.37407pt x 414.79968pt> File: ./Chapter5_img/Task1-Case2.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/Task1-Case2.png used on input line 86. @@ -383,18 +383,18 @@ LaTeX Warning: No positions in optional float specifier. LaTeX Warning: Reference `sec:Task-perf-expec' on page 38 undefined on input li ne 136. -<./Chapter5_img/NA.png, id=182, 369.38pt x 118.4425pt> +<./Chapter5_img/NA.png, id=185, 369.38pt x 118.4425pt> File: ./Chapter5_img/NA.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/NA.png used on input line 142. (pdftex.def) Requested size: 184.68954pt x 59.2211pt. -<./Chapter5_img/Speedup-Esize-Tasking.png, id=183, 620.208pt x 321.93pt> +<./Chapter5_img/Speedup-Esize-Tasking.png, id=186, 620.208pt x 321.93pt> File: ./Chapter5_img/Speedup-Esize-Tasking.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/Speedup-Esize-Tasking.png used on inpu t line 150. (pdftex.def) Requested size: 469.75499pt x 243.83916pt. -<./Chapter5_img/Eff-Esize-Tasking.png, id=184, 620.208pt x 322.149pt> +<./Chapter5_img/Eff-Esize-Tasking.png, id=187, 620.208pt x 322.149pt> File: ./Chapter5_img/Eff-Esize-Tasking.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/Eff-Esize-Tasking.png used on input li @@ -402,34 +402,73 @@ ne 151. (pdftex.def) Requested size: 469.75499pt x 244.00504pt. [38] [39 <./Chapter5_img/NA.png> <./Chapter5_img/Speedup-Esize-Tasking.png> <./ Chapter5_img/Eff-Esize-Tasking.png>] -<./Chapter5_img/subgraphing.drawio.png, id=193, 824.07875pt x 743.77875pt> +<./Chapter5_img/subgraphing.drawio.png, id=197, 824.07875pt x 743.77875pt> File: ./Chapter5_img/subgraphing.drawio.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/subgraphing.drawio.png used on input l ine 165. (pdftex.def) Requested size: 247.22552pt x 223.13535pt. [40] [41 <./Chapter5_img/subgraphing.drawio.png>] -<./Chapter5_img/front_merge.drawio.png, id=203, 1059.96pt x 465.74pt> +<./Chapter5_img/front_merge.drawio.png, id=206, 1059.96pt x 465.74pt> File: ./Chapter5_img/front_merge.drawio.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/front_merge.drawio.png used on input l ine 178. (pdftex.def) Requested size: 469.75499pt x 206.4044pt. - [42] [43 <./Chapter5_img/front_merge.drawio.png>]) [44] + [42] + +Package caption Warning: \label without proper reference on input line 192. +See the caption package documentation for explanation. + + +LaTeX Warning: Reference `table:subg-tag' on page 43 undefined on input line 19 +0. + + +LaTeX Warning: No positions in optional float specifier. + Default added (so using `tbp') on input line 192. + +[43 <./Chapter5_img/front_merge.drawio.png>] +<./Chapter5_img/MPISubg_RT_No_DHT.png, id=214, 399.018pt x 250.098pt> +File: ./Chapter5_img/MPISubg_RT_No_DHT.png Graphic file (type png) + +Package pdftex.def Info: ./Chapter5_img/MPISubg_RT_No_DHT.png used on input li +ne 219. +(pdftex.def) Requested size: 469.75499pt x 294.44524pt. +<./Chapter5_img/Subg_SE_base.png, id=215, 853.662pt x 249.003pt> +File: ./Chapter5_img/Subg_SE_base.png Graphic file (type png) + +Package pdftex.def Info: ./Chapter5_img/Subg_SE_base.png used on input line 22 +6. +(pdftex.def) Requested size: 469.75499pt x 137.02046pt. + [44] [45 <./Chapter5_img/MPISubg_RT_No_DHT.png> <./Chapter5_img/Subg_SE_base.p +ng>] +<./Chapter5_img/dup.drawio.png, id=225, 824.07875pt x 743.77875pt> +File: ./Chapter5_img/dup.drawio.png Graphic file (type png) + +Package pdftex.def Info: ./Chapter5_img/dup.drawio.png used on input line 236. + +(pdftex.def) Requested size: 469.75499pt x 423.98099pt. +<./Chapter5_img/Dup_DHT.png, id=226, 796.065pt x 483.99pt> +File: ./Chapter5_img/Dup_DHT.png Graphic file (type png) + +Package pdftex.def Info: ./Chapter5_img/Dup_DHT.png used on input line 243. +(pdftex.def) Requested size: 469.75499pt x 285.59593pt. +) [46] [47 <./Chapter5_img/dup.drawio.png>] [48 <./Chapter5_img/Dup_DHT.png>] \openout2 = `Chapter6.aux'. (./Chapter6.tex CHAPTER 6. -) [45 +) [49 -] (./Schrick-Noah_MS-Thesis.bbl [46 +] (./Schrick-Noah_MS-Thesis.bbl [50 -] [47]) [48] +] [51]) [52] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux) (./Chapter3.aux ) (./Chapter4.aux) (./Chapter5.aux) (./Chapter6.aux)) @@ -446,13 +485,13 @@ LaTeX Warning: There were undefined references. ### semi simple group (level 1) entered at line 52 (\begingroup) ### bottom level Here is how much of TeX's memory you used: - 3681 strings out of 478276 - 69233 string characters out of 5853013 - 361906 words of memory out of 5000000 - 21819 multiletter control sequences out of 15000+600000 + 3720 strings out of 478276 + 70439 string characters out of 5853013 + 362026 words of memory out of 5000000 + 21854 multiletter control sequences out of 15000+600000 473155 words of font info for 41 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 - 67i,8n,77p,1717b,1424s stack positions out of 5000i,500n,10000p,200000b,80000s + 67i,8n,77p,1843b,1424s stack positions out of 5000i,500n,10000p,200000b,80000s {/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.en c} -Output written on Schrick-Noah_MS-Thesis.pdf (57 pages, 1183415 bytes). +Output written on Schrick-Noah_MS-Thesis.pdf (62 pages, 1657051 bytes). PDF statistics: - 265 PDF objects out of 1000 (max. 8388607) - 154 compressed objects within 2 object streams + 289 PDF objects out of 1000 (max. 8388607) + 165 compressed objects within 2 object streams 0 named destinations out of 1000 (max. 500000) - 96 words of extra memory for PDF output out of 10000 (max. 10000000) + 116 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/Schrick-Noah_MS-Thesis.lot b/Schrick-Noah_MS-Thesis.lot index 716731b..ead4312 100644 --- a/Schrick-Noah_MS-Thesis.lot +++ b/Schrick-Noah_MS-Thesis.lot @@ -1,2 +1,3 @@ {\vspace {\baselineskip }} \contentsline {table}{\numberline {5.1}{\ignorespaces MPI Tags for the MPI Tasking Approach\relax }}{36}{}% +\contentsline {table}{\numberline {5.2}{\ignorespaces MPI Tags for the MPI Subgraphing Approach\relax }}{44}{}% diff --git a/Schrick-Noah_MS-Thesis.pdf b/Schrick-Noah_MS-Thesis.pdf index 2d564ee..7c139bd 100644 Binary files a/Schrick-Noah_MS-Thesis.pdf and b/Schrick-Noah_MS-Thesis.pdf differ diff --git a/Schrick-Noah_MS-Thesis.toc b/Schrick-Noah_MS-Thesis.toc index e17b60b..ce8c435 100644 --- a/Schrick-Noah_MS-Thesis.toc +++ b/Schrick-Noah_MS-Thesis.toc @@ -9,7 +9,7 @@ {\hfill \ } \contentsline {section}{\hspace {-\parindent }LIST OF TABLES}{viii}{}% {\hfill \ } -\contentsline {section}{\hspace {-\parindent }LIST OF FIGURES}{ix}{}% +\contentsline {section}{\hspace {-\parindent }LIST OF FIGURES}{x}{}% \contentsline {chapter}{\numberline {CHAPTER 1: }{\bf \uppercase {INTRODUCTION}}}{1}{}% \contentsline {section}{\numberline {1.1}\bf Introduction to Attack Graphs}{1}{}% \contentsline {section}{\numberline {1.2}\bf Application to Compliance}{2}{}% @@ -64,12 +64,13 @@ \contentsline {subsubsection}{Worker Nodes}{41}{}% \contentsline {subsubsection}{Root Node}{42}{}% \contentsline {subsubsection}{Database Node}{43}{}% +\contentsline {subsubsection}{MPI Tags}{43}{}% \contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations and Use Cases}{43}{}% \contentsline {subsection}{\numberline {5.4.4}\it Results}{44}{}% -\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{45}{}% -\contentsline {section}{\numberline {6.1}\bf Future Work}{45}{}% +\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{49}{}% +\contentsline {section}{\numberline {6.1}\bf Future Work}{49}{}% {\hfill \ } -\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{46}{}% +\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{50}{}% \addvspace {10pt} -\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{46}{}% +\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{50}{}% {\hfill \ }