\relax \citation{pacheco_introduction_2011} \@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{28}{}\protected@file@percent } \newlabel{ch:MPI}{{5}{28}} \@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack and Compliance Graph Generation}{28}{}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {5.2}\bf Necessary Components}{28}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{28}{}\protected@file@percent } \citation{li_concurrency_2019} \citation{9150145} \citation{7087377} \@writefile{toc}{\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{29}{}\protected@file@percent } \newlabel{sec:Tasking-Approach}{{5.3}{29}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{29}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Task Overview of the Attack and Compliance Graph Generation Process\relax }}{30}{}\protected@file@percent } \newlabel{fig:tasks}{{5.1}{30}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{31}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{31}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Node Allocation for each Task\relax }}{32}{}\protected@file@percent } \newlabel{fig:node-alloc}{{5.2}{32}} \@writefile{toc}{\contentsline {subsubsection}{Task 0}{33}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{Task 1}{33}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Data Distribution of Task One\relax }}{34}{}\protected@file@percent } \newlabel{fig:Task1-Data-Dist}{{5.3}{34}} \@writefile{toc}{\contentsline {subsubsection}{Task 2}{34}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{Task 3}{34}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Communication From Task 1 to Task 2 when the Number of Nodes Allocated is Equal\relax }}{35}{}\protected@file@percent } \newlabel{fig:Task1-Case1}{{5.4}{35}} \@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces Communication From Task 1 to Task 2 when Task 1 Has More Nodes Allocated\relax }}{36}{}\protected@file@percent } \newlabel{fig:Task1-Case2}{{5.5}{36}} \@writefile{toc}{\contentsline {subsubsection}{Task 4 and Task 5}{36}{}\protected@file@percent } \newlabel{sec:T4T5}{{5.3.2}{36}} \@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces MPI Tags for the MPI Tasking Approach\relax }}{37}{}\protected@file@percent } \newlabel{table:tasking-tag}{{5.1}{37}} \@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{37}{}\protected@file@percent } \newlabel{sec:tasking-tag}{{5.3.2}{37}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations and Use Cases}{37}{}\protected@file@percent } \newlabel{sec:Task-perf-expec}{{5.3.3}{37}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}\it Results}{38}{}\protected@file@percent } \newlabel{sec:Tasking-Results}{{5.3.4}{38}} \@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces Example of a Not Applicable Exploit for the MPI Tasking Testing\relax }}{39}{}\protected@file@percent } \newlabel{fig:NA-exp}{{5.6}{39}} \@writefile{lof}{\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 }}{40}{}\protected@file@percent } \newlabel{fig:Spd-Eff-Task}{{5.7}{40}} \citation{li_concurrency_2019} \@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{41}{}\protected@file@percent } \newlabel{sec:Subgraphing_Approach}{{5.4}{41}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{41}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{41}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces Example Graph Using the MPI Subgraphing Approach\relax }}{42}{}\protected@file@percent } \newlabel{fig:subg}{{5.8}{42}} \@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{42}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{Root Node}{43}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces Frontier Merging and Data Distribution Process\relax }}{44}{}\protected@file@percent } \newlabel{fig:front-merg}{{5.9}{44}} \@writefile{toc}{\contentsline {subsubsection}{Database Node}{44}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{44}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations and Use Cases}{44}{}\protected@file@percent } \newlabel{sec:perf_expec_subg}{{5.4.3}{44}} \citation{lawrence_livermore_national_laboratory_mpip_nodate} \@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces MPI Tags for the MPI Subgraphing Approach\relax }}{45}{}\protected@file@percent } \newlabel{table:subg-tag}{{5.2}{45}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}\it Results}{45}{}\protected@file@percent } \newlabel{sec:Subgraphing-Results}{{5.4.4}{45}} \@writefile{lof}{\contentsline {figure}{\numberline {5.10}{\ignorespaces First iteration results of MPI Subgraphing in terms of Runtime\relax }}{46}{}\protected@file@percent } \newlabel{fig:Subg_base}{{5.10}{46}} \@writefile{lof}{\contentsline {figure}{\numberline {5.11}{\ignorespaces First iteration results of MPI Subgraphing in terms of Speedup and Efficiency\relax }}{47}{}\protected@file@percent } \newlabel{fig:Subg_SE}{{5.11}{47}} \@writefile{lof}{\contentsline {figure}{\numberline {5.12}{\ignorespaces Modified Subgraphing Example Graph with Two New Edges\relax }}{49}{}\protected@file@percent } \newlabel{fig:subg_mod}{{5.12}{49}} \@writefile{lof}{\contentsline {figure}{\numberline {5.13}{\ignorespaces Duplicate States Explored vs Actual Number of States for the 1-4 Service Tests\relax }}{50}{}\protected@file@percent } \newlabel{fig:subg_dup}{{5.13}{50}} \@writefile{lof}{\contentsline {figure}{\numberline {5.14}{\ignorespaces Speedup and Efficiency of MPI Subgraphing when using a DHT\relax }}{52}{}\protected@file@percent } \newlabel{fig:subg_DHT_Spd}{{5.14}{52}} \@writefile{lof}{\contentsline {figure}{\numberline {5.15}{\ignorespaces Runtime of MPI Subgraphing when using a DHT vs not using a DHT\relax }}{53}{}\protected@file@percent } \newlabel{fig:subg_DHT_base}{{5.15}{53}} \@setckpt{Chapter5}{ \setcounter{page}{54} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} \setcounter{enumiii}{0} \setcounter{enumiv}{0} \setcounter{footnote}{0} \setcounter{mpfootnote}{0} \setcounter{part}{0} \setcounter{chapter}{5} \setcounter{section}{4} \setcounter{subsection}{4} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} \setcounter{figure}{15} \setcounter{table}{2} \setcounter{caption@flags}{2} \setcounter{continuedfloat}{0} \setcounter{subfigure}{0} \setcounter{subtable}{0} \setcounter{float@type}{8} \setcounter{algorithm}{0} \setcounter{ALG@line}{0} \setcounter{ALG@rem}{0} \setcounter{ALG@nested}{0} \setcounter{ALG@Lnr}{2} \setcounter{ALG@blocknr}{10} \setcounter{ALG@storecount}{0} \setcounter{ALG@tmpcounter}{0} \setcounter{lofdepth}{1} \setcounter{lotdepth}{1} }