MPI Tasks 1, 2, 4, 5

This commit is contained in:
Noah L. Schrick 2022-03-19 00:10:18 -05:00
parent 91da8e314f
commit 9a7ff0432c
12 changed files with 180 additions and 134 deletions

View File

@ -1,13 +1,13 @@
\relax
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{37}{}\protected@file@percent }
\newlabel{App:A}{{A}{37}}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{38}{}\protected@file@percent }
\newlabel{App:B}{{B}{38}}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{38}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{38}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{38}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{39}{}\protected@file@percent }
\newlabel{App:A}{{A}{39}}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{40}{}\protected@file@percent }
\newlabel{App:B}{{B}{40}}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{40}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{40}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{40}{}\protected@file@percent }
\@setckpt{Appendices}{
\setcounter{page}{39}
\setcounter{page}{41}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}

View File

@ -12,27 +12,33 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{26}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{27}{}\protected@file@percent }
\newlabel{fig:tasks}{{5.1}{27}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Node Allocation for each Task}}{28}{}\protected@file@percent }
\newlabel{fig:node-alloc}{{5.2}{28}}
\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{28}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Zero}{28}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task One}{28}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Two}{28}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Three}{28}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Four and Task Five}{28}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Node Allocation for each Task}}{29}{}\protected@file@percent }
\newlabel{fig:node-alloc}{{5.2}{29}}
\@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}\it Results}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Root Node}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Database Node}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task 0}{29}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task 1}{29}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Data Distribution of Task One}}{29}{}\protected@file@percent }
\newlabel{fig:Task1-Data-Dist}{{5.3}{29}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Communication From Task 1 to Task 2 when the Number of Nodes Allocated is Equal}}{30}{}\protected@file@percent }
\newlabel{fig:Task1-Case1}{{5.4}{30}}
\@writefile{toc}{\contentsline {subsubsection}{Task 2}{30}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces Communication From Task 1 to Task 2 when Task 1 Has More Nodes Allocated}}{31}{}\protected@file@percent }
\newlabel{fig:Task1-Case2}{{5.5}{31}}
\@writefile{toc}{\contentsline {subsubsection}{Task 3}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task 4 and Task 5}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}\it Results}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Root Node}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Database Node}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{32}{}\protected@file@percent }
\@setckpt{Chapter5}{
\setcounter{page}{31}
\setcounter{page}{33}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}
@ -47,7 +53,7 @@
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{2}
\setcounter{figure}{5}
\setcounter{table}{0}
\setcounter{lofdepth}{1}
\setcounter{lotdepth}{1}

View File

@ -59,14 +59,40 @@ For determining which tasks should be handled by the root note, a few considerat
\TUsubsubsection{Communication Structure}
\TUsubsubsection{Task Zero}
Task Zero is performed by the root node, and is a conditional task; it is not guaranteed to be executed at each pipeline iteration. Task Zero is only executed when the frontier is empty, but the database still holds unexplored states. This occurs when there are memory constraints, and database storage is performed during execution to offload the demand, as discussed in Section \ref{sec:db-stor}. After the completion of Task 0, the frontier has a state popped, and the root node sends the state to n$_1$. If the frontier is empty, the root node sends the finalize signal to all nodes.
\TUsubsubsection{Task One}
\TUsubsubsection{Task Two}
\TUsubsubsection{Task Three}
Task Three is performed only by the root node, and no division of work is necessary. The work performed during this task is that seen in Figure \ref{fig:sync-fire}.
\TUsubsubsection{Task Four and Task Five}
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 no other task relies on data sent from these tasks. 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.
\TUsubsubsection{Task 0}
Task 0 is performed by the root node, and is a conditional task; it is not guaranteed to be executed at each pipeline iteration. Task 0 is only executed when the frontier is empty, but the database still holds unexplored states. This occurs when there are memory constraints, and database storage is performed during execution to offload the demand, as discussed in Section \ref{sec:db-stor}. After the completion of Task 0, the frontier has a state popped, and the root node sends the state to n$_1$. If the frontier is empty, the root node sends the finalize signal to all nodes.
\TUsubsubsection{Task 1}
Task 1 begins by distributing the workload between nodes based on the local task communicator rank. Rather than splitting the exploit list at the root node and sending sub-lists to each node allocated to Task 1, each node checks its local communicator rank and performs a modulo operation with the number of nodes allocated to determine whether it should proceed with the current iteration of the exploit loop. Since the exploit list is static, each node has the exploit list initialized prior to the generation process, and communication cost can be avoided from sending sub-lists to each node. Each node in Task 1 works to compile a reduced exploit list that is applicable to the current network state. A breakdown of the Task 1 distribution can be seen in Figure \ref{fig:Task1-Data-Dist}.
\begin{figure}[htp]
\includegraphics[width=\linewidth]{"./Chapter5_img/Task1-Data-Dist.png"}
\vspace{.2truein} \centerline{}
\caption{Data Distribution of Task One}
\label{fig:Task1-Data-Dist}
\end{figure}
Once the computation work of Task 1 is completed, each node must send their compiled applicable exploit list to Task 2. Rather than merging all lists and splitting them back out in Task 2, each node in Task 1 will send an applicable exploit list to at most one node allocated to Task 2. Based on the allocation of nodes seen in Figure \ref{fig:node-alloc}, there are 2 potential cases: the number of nodes allocated to Task 1 is equal to the number of nodes allocated to Task 2, or the number of nodes allocated to Task 1 is one greater than the number of nodes allocated to Task 2. For the first case, each node in Task 1 sends the applicable exploit list to its global rank+n$_1$). This case can be seen in Figure \ref{fig:Task1-Case1}. For the second case, since there are more nodes allocated to Task 1 than Task 2, node n$_1$ scatters its partial applicable exploit list in the local Task 1 communicator, and all other Task 1 nodes follow the same pattern seen in the first case. This second case can be seen in Figure \ref{fig:Task1-Case2}.
\begin{figure}[htp]
\includegraphics[width=\linewidth]{"./Chapter5_img/Task1-Case1.png"}
\vspace{.2truein} \centerline{}
\caption{Communication From Task 1 to Task 2 when the Number of Nodes Allocated is Equal}
\label{fig:Task1-Case1}
\end{figure}
\begin{figure}[htp]
\includegraphics[width=\linewidth]{"./Chapter5_img/Task1-Case2.png"}
\vspace{.2truein} \centerline{}
\caption{Communication From Task 1 to Task 2 when Task 1 Has More Nodes Allocated}
\label{fig:Task1-Case2}
\end{figure}
\TUsubsubsection{Task 2}
\TUsubsubsection{Task 3}
Task 3 is performed only by the root node, and no division of work is necessary. The work performed during this task is that seen from the Synchronous Firing figure (Figure \ref{fig:sync-fire}). The root node will continuously check for new states until the Task 2 finalize signal is detected. When the root node has processed all states and has received the Task 2 finalize signal, it will complete Task 3 by sending the instance and/or frontier to Task 4 and/or 5, respectively if applicable, then proceeds to Task 0.
\TUsubsubsection{Task 4 and Task 5}
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.
\TUsubsubsection{MPI Tags}
\TUsubsection{Performance Expectations}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -1,23 +1,23 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{31}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{32}{}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{34}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{34}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{34}{}\protected@file@percent }
\@setckpt{Chapter6}{
\setcounter{page}{33}
\setcounter{page}{35}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}

View File

@ -1,8 +1,8 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{35}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{35}{}\protected@file@percent }
\@setckpt{Chapter7}{
\setcounter{page}{34}
\setcounter{page}{36}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}

View File

@ -32,9 +32,9 @@
\bibcite{cook_rage_2018}{9}
\bibcite{cook_scalable_2016}{10}
\@writefile{toc}{{\hfill \ }}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{34}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{36}{}\protected@file@percent }
\@writefile{toc}{\addvspace {10pt}}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{34}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{36}{}\protected@file@percent }
\@writefile{toc}{{\hfill \ }}
\bibcite{CVE-2019-10747}{11}
\bibcite{dai_fpgp_2016}{12}
@ -54,4 +54,4 @@
\bibcite{zhang_boosting_2017}{26}
\bibstyle{plain}
\@input{Appendices.aux}
\gdef \@abspage@last{48}
\gdef \@abspage@last{50}

View File

@ -5,4 +5,7 @@
\contentsline {figure}{\numberline {4.2}{\ignorespaces Inclusion of Synchronous Firing into GNU Bison, GNU Flex, and the overall program}}{21}{}%
\contentsline {figure}{\numberline {4.3}{\ignorespaces Synchronous Firing in the Graph Generation Process}}{23}{}%
\contentsline {figure}{\numberline {5.1}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{27}{}%
\contentsline {figure}{\numberline {5.2}{\ignorespaces Node Allocation for each Task}}{29}{}%
\contentsline {figure}{\numberline {5.2}{\ignorespaces Node Allocation for each Task}}{28}{}%
\contentsline {figure}{\numberline {5.3}{\ignorespaces Data Distribution of Task One}}{29}{}%
\contentsline {figure}{\numberline {5.4}{\ignorespaces Communication From Task 1 to Task 2 when the Number of Nodes Allocated is Equal}}{30}{}%
\contentsline {figure}{\numberline {5.5}{\ignorespaces Communication From Task 1 to Task 2 when Task 1 Has More Nodes Allocated}}{31}{}%

View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.2.14) 18 MAR 2022 00:30
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.2.14) 18 MAR 2022 22:14
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@ -285,54 +285,65 @@ 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.
[26] [27 <./Chapter5_img/horiz_task.drawio.png>]
<./Chapter5_img/node-alloc.png, id=138, 818.30719pt x 536.75531pt>
File: ./Chapter5_img/node-alloc.png Graphic file (type png)
<use ./Chapter5_img/node-alloc.png>
Package pdftex.def Info: ./Chapter5_img/node-alloc.png used on input line 54.
(pdftex.def) Requested size: 469.75499pt x 308.1323pt.
[28 <./Chapter5_img/node-alloc.PNG>]
<./Chapter5_img/Task1-Data-Dist.png, id=143, 1017.04968pt x 336.50719pt>
File: ./Chapter5_img/Task1-Data-Dist.png Graphic file (type png)
<use ./Chapter5_img/Task1-Data-Dist.png>
Package pdftex.def Info: ./Chapter5_img/Task1-Data-Dist.png used on input line
68.
(pdftex.def) Requested size: 469.75499pt x 155.42674pt.
[29 <./Chapter5_img/Task1-Data-Dist.PNG>]
<./Chapter5_img/Task1-Case1.png, id=148, 586.44093pt x 339.51843pt>
File: ./Chapter5_img/Task1-Case1.png Graphic file (type png)
<use ./Chapter5_img/Task1-Case1.png>
Package pdftex.def Info: ./Chapter5_img/Task1-Case1.png used on input line 77.
LaTeX Warning: File `"./Chapter5_img/node-alloc.png"' not found on input line 5
4.
(pdftex.def) Requested size: 469.75499pt x 271.9622pt.
<./Chapter5_img/Task1-Case2.png, id=149, 702.37407pt x 414.79968pt>
File: ./Chapter5_img/Task1-Case2.png Graphic file (type png)
<use ./Chapter5_img/Task1-Case2.png>
Package pdftex.def Info: ./Chapter5_img/Task1-Case2.png used on input line 85.
! Package pdftex.def Error: File `./Chapter5_img/node-alloc.png' not found: usi
ng draft setting.
See the pdftex.def package documentation for explanation.
Type H <return> for immediate help.
...
l.54 ...inewidth]{"./Chapter5_img/node-alloc.png"}
?
[28] [29]) [30]
(pdftex.def) Requested size: 469.75499pt x 277.43332pt.
[30 <./Chapter5_img/Task1-Case1.PNG>] [31 <./Chapter5_img/Task1-Case2.PNG>]) [
32]
\openout2 = `Chapter6.aux'.
(./Chapter6.tex
CHAPTER 6.
[31
[33
]) [32]
]) [34]
\openout2 = `Chapter7.aux'.
(./Chapter7.tex
CHAPTER 7.
) [33
) [35
] (./Schrick-Noah_MS-Thesis.bbl [34
] (./Schrick-Noah_MS-Thesis.bbl [36
] [35])
] [37])
\c@appendixno=\count269
[36]
[38]
\openout2 = `Appendices.aux'.
(./Appendices.tex [37
(./Appendices.tex [39
])
[38] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux)
[40] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux)
(./Chapter3.aux) (./Chapter4.aux) (./Chapter5.aux) (./Chapter6.aux)
(./Chapter7.aux) (./Appendices.aux)) )
(\end occurred inside a group at level 6)
@ -345,13 +356,13 @@ CHAPTER 7.
### semi simple group (level 1) entered at line 52 (\begingroup)
### bottom level
Here is how much of TeX's memory you used:
2235 strings out of 478353
40301 string characters out of 5854635
345065 words of memory out of 5000000
2225 strings out of 478353
40165 string characters out of 5854635
345098 words of memory out of 5000000
20287 multiletter control sequences out of 15000+600000
407326 words of font info for 40 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
55i,7n,62p,946b,1305s stack positions out of 5000i,500n,10000p,200000b,80000s
55i,7n,62p,1109b,1305s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.en
c}</usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/
texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb></usr/share/texmf-dist/fon
@ -360,10 +371,10 @@ ts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texmf-dist/fonts/type1/public
y10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb></usr/
share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt12.pfb></usr/share/texmf-di
st/fonts/type1/public/cm-super/sfrm1200.pfb>
Output written on Schrick-Noah_MS-Thesis.pdf (48 pages, 434929 bytes).
Output written on Schrick-Noah_MS-Thesis.pdf (50 pages, 594171 bytes).
PDF statistics:
211 PDF objects out of 1000 (max. 8388607)
134 compressed objects within 2 object streams
226 PDF objects out of 1000 (max. 8388607)
139 compressed objects within 2 object streams
0 named destinations out of 1000 (max. 500000)
31 words of extra memory for PDF output out of 10000 (max. 10000000)
51 words of extra memory for PDF output out of 10000 (max. 10000000)

Binary file not shown.

View File

@ -50,48 +50,48 @@
\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{26}{}%
\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{26}{}%
\contentsline {subsubsection}{Communication Structure}{28}{}%
\contentsline {subsubsection}{Task Zero}{28}{}%
\contentsline {subsubsection}{Task One}{28}{}%
\contentsline {subsubsection}{Task Two}{28}{}%
\contentsline {subsubsection}{Task Three}{28}{}%
\contentsline {subsubsection}{Task Four and Task Five}{28}{}%
\contentsline {subsubsection}{MPI Tags}{30}{}%
\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{30}{}%
\contentsline {subsection}{\numberline {5.3.4}\it Results}{30}{}%
\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{30}{}%
\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{30}{}%
\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{30}{}%
\contentsline {subsubsection}{Communication Structure}{30}{}%
\contentsline {subsubsection}{Worker Nodes}{30}{}%
\contentsline {subsubsection}{Root Node}{30}{}%
\contentsline {subsubsection}{Database Node}{30}{}%
\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{30}{}%
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{31}{}%
\contentsline {section}{\numberline {6.1}\bf Small Networks}{31}{}%
\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{31}{}%
\contentsline {subsection}{\numberline {6.1.2}\it Results}{31}{}%
\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{31}{}%
\contentsline {section}{\numberline {6.2}\bf Large Networks}{31}{}%
\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{31}{}%
\contentsline {subsection}{\numberline {6.2.2}\it Results}{31}{}%
\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{31}{}%
\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{31}{}%
\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{31}{}%
\contentsline {subsection}{\numberline {6.3.2}\it Results}{31}{}%
\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{31}{}%
\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{31}{}%
\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{32}{}%
\contentsline {subsection}{\numberline {6.4.2}\it Results}{32}{}%
\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{32}{}%
\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{33}{}%
\contentsline {section}{\numberline {7.1}\bf Future Work}{33}{}%
\contentsline {subsubsection}{Task 0}{29}{}%
\contentsline {subsubsection}{Task 1}{29}{}%
\contentsline {subsubsection}{Task 2}{30}{}%
\contentsline {subsubsection}{Task 3}{31}{}%
\contentsline {subsubsection}{Task 4 and Task 5}{31}{}%
\contentsline {subsubsection}{MPI Tags}{31}{}%
\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{32}{}%
\contentsline {subsection}{\numberline {5.3.4}\it Results}{32}{}%
\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{32}{}%
\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{32}{}%
\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{32}{}%
\contentsline {subsubsection}{Communication Structure}{32}{}%
\contentsline {subsubsection}{Worker Nodes}{32}{}%
\contentsline {subsubsection}{Root Node}{32}{}%
\contentsline {subsubsection}{Database Node}{32}{}%
\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{32}{}%
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{33}{}%
\contentsline {section}{\numberline {6.1}\bf Small Networks}{33}{}%
\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{33}{}%
\contentsline {subsection}{\numberline {6.1.2}\it Results}{33}{}%
\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{33}{}%
\contentsline {section}{\numberline {6.2}\bf Large Networks}{33}{}%
\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{33}{}%
\contentsline {subsection}{\numberline {6.2.2}\it Results}{33}{}%
\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{33}{}%
\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{33}{}%
\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{33}{}%
\contentsline {subsection}{\numberline {6.3.2}\it Results}{33}{}%
\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{33}{}%
\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{33}{}%
\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{34}{}%
\contentsline {subsection}{\numberline {6.4.2}\it Results}{34}{}%
\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{34}{}%
\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{35}{}%
\contentsline {section}{\numberline {7.1}\bf Future Work}{35}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{34}{}%
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{36}{}%
\addvspace {10pt}
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{34}{}%
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{36}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{37}{}%
\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{38}{}%
\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{38}{}%
\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{38}{}%
\contentsline {subsubsection}{A Sub-subsection in an Appendix}{38}{}%
\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{39}{}%
\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{40}{}%
\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{40}{}%
\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{40}{}%
\contentsline {subsubsection}{A Sub-subsection in an Appendix}{40}{}%