Intermediate Database Storage Section
This commit is contained in:
parent
85aa771c9a
commit
08dae8e19a
@ -1,23 +1,23 @@
|
||||
\relax
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{19}{}\protected@file@percent }
|
||||
\newlabel{App:A}{{A}{19}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {A.1}{\ignorespaces Title of the Only Table in this Appendix.}}{19}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{20}{}\protected@file@percent }
|
||||
\newlabel{App:B}{{B}{20}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{20}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{20}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{20}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {B.1}{\ignorespaces Title of the First Table in this Appendix.}}{20}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {B.1}{\ignorespaces Title of the First Figure in this Appendix.}}{21}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {B.2}{\ignorespaces Title of the Second Table in this Appendix.}}{21}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {B.2}{\ignorespaces Title of the Second Figure in this Appendix.}}{21}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{22}{}\protected@file@percent }
|
||||
\newlabel{App:A}{{A}{22}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {A.1}{\ignorespaces Title of the Only Table in this Appendix.}}{22}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{23}{}\protected@file@percent }
|
||||
\newlabel{App:B}{{B}{23}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{23}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{23}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{23}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {B.1}{\ignorespaces Title of the First Table in this Appendix.}}{23}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {B.1}{\ignorespaces Title of the First Figure in this Appendix.}}{24}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {B.2}{\ignorespaces Title of the Second Table in this Appendix.}}{24}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {B.2}{\ignorespaces Title of the Second Figure in this Appendix.}}{24}{}\protected@file@percent }
|
||||
\@setckpt{Appendices}{
|
||||
\setcounter{page}{22}
|
||||
\setcounter{page}{25}
|
||||
\setcounter{equation}{0}
|
||||
\setcounter{enumi}{0}
|
||||
\setcounter{enumii}{0}
|
||||
\setcounter{enumiii}{0}
|
||||
\setcounter{enumiv}{3}
|
||||
\setcounter{enumiv}{6}
|
||||
\setcounter{footnote}{1}
|
||||
\setcounter{mpfootnote}{0}
|
||||
\setcounter{part}{0}
|
||||
|
||||
16
Chapter3.aux
16
Chapter3.aux
@ -6,15 +6,23 @@
|
||||
\newlabel{fig:PW}{{3.1}{6}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.2}\bf Compound Operators}{6}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.3}\bf Color Coding}{7}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Color Coding a Small Network Based on Violations}}{8}{}\protected@file@percent }
|
||||
\newlabel{fig:CC}{{3.2}{8}}
|
||||
\citation{cook_rage_2018}
|
||||
\citation{li_concurrency_2019}
|
||||
\citation{li_combining_2019}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Color Coding a Small Network Based on Violations}}{8}{}\protected@file@percent }
|
||||
\newlabel{fig:CC}{{3.2}{8}}
|
||||
\citation{zhang_boosting_2017}
|
||||
\citation{ainsworth_graph_2016}
|
||||
\citation{berry_graph_2007}
|
||||
\citation{cook_rage_2018}
|
||||
\citation{zhang_boosting_2017}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.4}\bf Intermediate Database Storage}{9}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.5}\bf Relational Operators}{9}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}\it Memory Constraint Difficulties}{9}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}\it Maximizing Performance with Intermediate Database Storage}{10}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}\it Portability}{11}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.5}\bf Relational Operators}{12}{}\protected@file@percent }
|
||||
\@setckpt{Chapter3}{
|
||||
\setcounter{page}{10}
|
||||
\setcounter{page}{13}
|
||||
\setcounter{equation}{0}
|
||||
\setcounter{enumi}{0}
|
||||
\setcounter{enumii}{0}
|
||||
|
||||
49
Chapter3.tex
49
Chapter3.tex
@ -59,8 +59,55 @@ Figure \ref{fig:CC} displays an example graph that leverages color coding to eas
|
||||
\end{figure}
|
||||
|
||||
\TUsection{Intermediate Database Storage}
|
||||
\TUsubsection{Memory Constraint Difficulties}
|
||||
Previous works with RAGE have been designed around maximizing performance to limit the longer runtimes caused by the state space explosion, such as the works seen by the authors of \cite{cook_rage_2018},
|
||||
\cite{li_concurrency_2019}, and \cite{li_combining_2019}.
|
||||
\cite{li_concurrency_2019}, and \cite{li_combining_2019}. To this end, the output graph is stored in memory during the generation process to minimize disk writing and reading, as well as leverage the
|
||||
performance benefits of memory operations since graph computation relies less on processor speed than that of data dependency complexity, parallelism coarseness, and memory access time
|
||||
\cite{zhang_boosting_2017}, \cite{ainsworth_graph_2016}, \cite{berry_graph_2007}. The author of \cite{cook_rage_2018} does incorporate PostgreSQL as a final storage mechanism to write the resulting
|
||||
graph information, but no intermediate storage is otherwise conducted.
|
||||
|
||||
While the design decision to not use intermediate storage maximizes performance for graph generation, it does suffer from a few complications. When generating large networks, the system runs the risk
|
||||
of running out of memory. This typically does not occur when generation is conducted on small graphs, and is especially true when relatively small graphs are generated on a High Performance Computing
|
||||
system with substantial memory. However, when running on local systems, or when the graph is large, memory can quickly be depleted due to state space explosion. The memory depletion is due to two primary
|
||||
memory consumption points: the frontier which contains all of the states that still need to be explored, and the graph instance, which holds all of the network states and their state information
|
||||
as well as all of the edges.
|
||||
|
||||
The frontier quickly becomes a problem point with large networks that contain many layers before reaching leaf nodes. During the generation process, RAGE works on a Breadth-First Search approach, and new states
|
||||
are continuously discovered each time a state from the frontier is explored. In almost all cases, this means that for every state that is removed from the frontier, several more are added, leading to an ever-growing
|
||||
frontier that can not be adequately reduced for large networks. Simultaneously, the graph instance is ever-growing as states are explored. When the network contains numerous assets, each with their own large sets of
|
||||
qualities, the size of each state becomes noticeably larger. With some graphs containing millions of nodes and billions of edges, like those mentioned by the authors of \cite{zhang_boosting_2017}, it becomes increasingly
|
||||
unlikely that the graph can be fully contained within system memory.
|
||||
|
||||
\TUsubsection{Maximizing Performance with Intermediate Database Storage}
|
||||
Rather than a static implementation of storing to the database on disk at a set interval or a set size, the goal was to dynamically store to the database only when necessary. Since there is an associated cost with preparing
|
||||
the writes to disk, the communication cost across nodes, the writing to disk itself, and with retrieving items from disk, it is desirable to store as much in memory for as long as possible and only write when necessary. When
|
||||
running RAGE, a new argument can be passed \textit{(-a $<$double$>$)} to specify the amount of memory the tool should use before writing to disk. This argument is a value between 0 and 0.99 to specify a percentage.
|
||||
This double is immediately reduced by 10\%. For instance, if 0.6 is passed, it is immediately reduced to 0.5. This acts as a buffer for PostgreSQL. Since queries will consume a variable amount of memory through parsing or preparation,
|
||||
an additional 10\% is saved as a precaution. This can be changed later as needed or desired for future optimizations. Specific to the graph data, the statement is made that the frontier is allowed to consume half of the allocated memory,
|
||||
and that the instance is allowed to consume the other half.
|
||||
|
||||
To decide when to store to the database instead of memory, two separate checks are made. The first check is for the frontier. If the size of the frontier consumes equal to or more than the allowed allocated memory, then all new states
|
||||
are stored into a new table in the database called “unexplored states”. Each new state from this point forward is stored in the table, regardless of if room is freed in the frontier. This is to ensure proper ordering of the FIFO queue.
|
||||
The only time new states are stored directly into the frontier is when the unexplored states table is empty. Once the frontier has been completely emptied, new states are then pulled from the database into the frontier. To pull from
|
||||
the database, parent loop for the generator process has been altered. Instead of a while loop for when the frontier is not empty, it has been adjusted to when the frontier is not empty or the unexplored states table is not empty. Due
|
||||
to C++ using short-circuit evaluation, some performance is gained since no SQL statement must be passed to disk to check the size of the unexplored states table unless the frontier is empty. The original design was to store new states
|
||||
into the frontier during the critical section to avoid testing on already-explored states. As a result, writing new states to the database is also performed during the critical section.
|
||||
|
||||
For the instance, a check in the critical section determines if the size of the instance consumes more than its allocated share of the memory. If it does, the edges, network states, and network state items are written to the database,
|
||||
and are then removed from memory.
|
||||
|
||||
However, a new issue arose with database storage. The original design was to save staging, preparation, and communication cost by writing all the data in one query (as in, writing all of the network states in one query, all the network
|
||||
state items in one query, and all the edges in one query). While this was best in terms of performance, it was also not feasible. Building the SQL queries themselves quickly began depleting the already constrained memory with large storage
|
||||
requests. As a result, the storage process would consume too much memory and crash the generator tool. To combat this, all queries had to be broken up into multiple queries. As previously mentioned, an extra 10\% buffer was saved
|
||||
for the storage process. SQL query strings are now built until they consume the 10\% buffer, where they are then processed by PostgreSQL, cleared, and the query building process resumes.
|
||||
|
||||
\TUsubsection{Portability}
|
||||
The intermediate database storage is greatly advantageous in increasing the portability of RAGE across various systems, while still allowing for performance benefits. By allowing for a user-defined argument, users can safely assign
|
||||
a value that allows for other processes and for the host OS to continue their workloads. While the ``total memory" component currently utilizes the Linux \textit{sysconf()} function, this is not rigid and is easily adjustable. When
|
||||
working on a High-Perfomance Computing cluster, using this function could lead to difficulties since multiple users may be working on the same nodes, which prevents RAGE from fully using all system memory. This could be prevented
|
||||
by using a job scheduler argument such as Slurm's ``--exclusive" option, but this may not be desirable. Instead, a user could pass in the amount of total memory to use (and can be reused from a job scheduler's memory allocation
|
||||
request option), and the intermediate database storage process would function in the same fashion.
|
||||
|
||||
|
||||
\TUsection{Relational Operators} Fifth section of the third chapter.
|
||||
|
||||
|
||||
14
Chapter4.aux
14
Chapter4.aux
@ -1,12 +1,12 @@
|
||||
\relax
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{10}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.1}\bf First Heading}{10}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.2}\bf Second Heading}{11}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Title of the Second Figure}}{11}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {4.1}{\ignorespaces Title of the Second Table}}{11}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {4.2}{\ignorespaces Title of the Third Table}}{11}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{13}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.1}\bf First Heading}{13}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.2}\bf Second Heading}{14}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Title of the Second Figure}}{14}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {4.1}{\ignorespaces Title of the Second Table}}{14}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {4.2}{\ignorespaces Title of the Third Table}}{14}{}\protected@file@percent }
|
||||
\@setckpt{Chapter4}{
|
||||
\setcounter{page}{12}
|
||||
\setcounter{page}{15}
|
||||
\setcounter{equation}{0}
|
||||
\setcounter{enumi}{0}
|
||||
\setcounter{enumii}{0}
|
||||
|
||||
14
Chapter5.aux
14
Chapter5.aux
@ -1,12 +1,12 @@
|
||||
\relax
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {IMPLEMENTATION OF MESSAGE PASSING INTERFACE}}}{12}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Tasking Approach}{12}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.2}\bf Subgraphing Approach}{13}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Title of the Second Figure}}{13}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces Title of the Second Table}}{13}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces Title of the Third Table}}{13}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {IMPLEMENTATION OF MESSAGE PASSING INTERFACE}}}{15}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Tasking Approach}{15}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.2}\bf Subgraphing Approach}{16}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Title of the Second Figure}}{16}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces Title of the Second Table}}{16}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces Title of the Third Table}}{16}{}\protected@file@percent }
|
||||
\@setckpt{Chapter5}{
|
||||
\setcounter{page}{14}
|
||||
\setcounter{page}{17}
|
||||
\setcounter{equation}{0}
|
||||
\setcounter{enumi}{0}
|
||||
\setcounter{enumii}{0}
|
||||
|
||||
14
Chapter6.aux
14
Chapter6.aux
@ -1,12 +1,12 @@
|
||||
\relax
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{14}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf First Heading}{14}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Second Heading}{15}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Title of the Second Figure}}{15}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Title of the Second Table}}{15}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {6.2}{\ignorespaces Title of the Third Table}}{15}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{17}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf First Heading}{17}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Second Heading}{18}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Title of the Second Figure}}{18}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Title of the Second Table}}{18}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {6.2}{\ignorespaces Title of the Third Table}}{18}{}\protected@file@percent }
|
||||
\@setckpt{Chapter6}{
|
||||
\setcounter{page}{16}
|
||||
\setcounter{page}{19}
|
||||
\setcounter{equation}{0}
|
||||
\setcounter{enumi}{0}
|
||||
\setcounter{enumii}{0}
|
||||
|
||||
14
Chapter7.aux
14
Chapter7.aux
@ -1,12 +1,12 @@
|
||||
\relax
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{16}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf First Heading}{16}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {7.2}\bf Second Heading}{17}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces Title of the Second Figure}}{17}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {7.1}{\ignorespaces Title of the Second Table}}{17}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {7.2}{\ignorespaces Title of the Third Table}}{17}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{19}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf First Heading}{19}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {7.2}\bf Second Heading}{20}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces Title of the Second Figure}}{20}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {7.1}{\ignorespaces Title of the Second Table}}{20}{}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {7.2}{\ignorespaces Title of the Third Table}}{20}{}\protected@file@percent }
|
||||
\@setckpt{Chapter7}{
|
||||
\setcounter{page}{18}
|
||||
\setcounter{page}{21}
|
||||
\setcounter{equation}{0}
|
||||
\setcounter{enumi}{0}
|
||||
\setcounter{enumii}{0}
|
||||
|
||||
@ -21,14 +21,17 @@
|
||||
\@input{Chapter6.aux}
|
||||
\@input{Chapter7.aux}
|
||||
\bibdata{Bibliography}
|
||||
\bibcite{cook_rage_2018}{1}
|
||||
\bibcite{li_combining_2019}{2}
|
||||
\bibcite{li_concurrency_2019}{3}
|
||||
\bibcite{ainsworth_graph_2016}{1}
|
||||
\bibcite{berry_graph_2007}{2}
|
||||
\bibcite{cook_rage_2018}{3}
|
||||
\bibcite{li_combining_2019}{4}
|
||||
\bibcite{li_concurrency_2019}{5}
|
||||
\bibcite{zhang_boosting_2017}{6}
|
||||
\bibstyle{plain}
|
||||
\@writefile{toc}{{\hfill \ }}
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{18}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{21}{}\protected@file@percent }
|
||||
\@writefile{toc}{\addvspace {10pt}}
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{18}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{21}{}\protected@file@percent }
|
||||
\@writefile{toc}{{\hfill \ }}
|
||||
\@input{Appendices.aux}
|
||||
\gdef \@abspage@last{30}
|
||||
\gdef \@abspage@last{33}
|
||||
|
||||
@ -1,5 +1,16 @@
|
||||
\begin{thebibliography}{1}
|
||||
|
||||
\bibitem{ainsworth_graph_2016}
|
||||
Sam Ainsworth and Timothy~M. Jones.
|
||||
\newblock Graph prefetching using data structure knowledge.
|
||||
\newblock {\em Proceedings of the International Conference on Supercomputing},
|
||||
01-03-June, 2016.
|
||||
|
||||
\bibitem{berry_graph_2007}
|
||||
Jonathan Berry and Bruce Hendrickson.
|
||||
\newblock Graph {Analysis} with {High} {Performance} {Computing}.
|
||||
\newblock {\em Computing in Science and Engineering}, 2007.
|
||||
|
||||
\bibitem{cook_rage_2018}
|
||||
Kyle Cook.
|
||||
\newblock {\em {RAGE}: {The} {Rage} {Attack} {Graph} {Engine}}.
|
||||
@ -17,4 +28,11 @@ Ming Li, Peter Hawrylak, and John Hale.
|
||||
\newblock {\em Proceedings - 2019 2nd International Conference on Data
|
||||
Intelligence and Security, ICDIS 2019}, pages 174--179, 2019.
|
||||
|
||||
\bibitem{zhang_boosting_2017}
|
||||
Jialiang Zhang, Soroosh Khoram, and Jing Li.
|
||||
\newblock Boosting the performance of {FPGA}-based graph processor using hybrid
|
||||
memory cube: {A} case for breadth first search.
|
||||
\newblock {\em FPGA 2017 - Proceedings of the 2017 ACM/SIGDA International
|
||||
Symposium on Field-Programmable Gate Arrays}, pages 207--216, 2017.
|
||||
|
||||
\end{thebibliography}
|
||||
|
||||
@ -12,45 +12,45 @@ The style file: plain.bst
|
||||
A level-1 auxiliary file: Appendices.aux
|
||||
Database file #1: Bibliography.bib
|
||||
Warning--empty school in cook_rage_2018
|
||||
You've used 3 entries,
|
||||
You've used 6 entries,
|
||||
2118 wiz_defined-function locations,
|
||||
518 strings with 4565 characters,
|
||||
and the built_in function-call counts, 944 in all, are:
|
||||
= -- 94
|
||||
> -- 43
|
||||
< -- 1
|
||||
+ -- 17
|
||||
- -- 14
|
||||
* -- 58
|
||||
:= -- 166
|
||||
add.period$ -- 9
|
||||
call.type$ -- 3
|
||||
change.case$ -- 15
|
||||
535 strings with 5191 characters,
|
||||
and the built_in function-call counts, 1883 in all, are:
|
||||
= -- 190
|
||||
> -- 87
|
||||
< -- 2
|
||||
+ -- 34
|
||||
- -- 28
|
||||
* -- 111
|
||||
:= -- 324
|
||||
add.period$ -- 18
|
||||
call.type$ -- 6
|
||||
change.case$ -- 31
|
||||
chr.to.int$ -- 0
|
||||
cite$ -- 4
|
||||
duplicate$ -- 39
|
||||
empty$ -- 64
|
||||
format.name$ -- 14
|
||||
if$ -- 193
|
||||
cite$ -- 7
|
||||
duplicate$ -- 79
|
||||
empty$ -- 130
|
||||
format.name$ -- 28
|
||||
if$ -- 392
|
||||
int.to.chr$ -- 0
|
||||
int.to.str$ -- 3
|
||||
missing$ -- 2
|
||||
newline$ -- 18
|
||||
num.names$ -- 6
|
||||
pop$ -- 16
|
||||
int.to.str$ -- 6
|
||||
missing$ -- 5
|
||||
newline$ -- 33
|
||||
num.names$ -- 12
|
||||
pop$ -- 30
|
||||
preamble$ -- 1
|
||||
purify$ -- 13
|
||||
purify$ -- 26
|
||||
quote$ -- 0
|
||||
skip$ -- 32
|
||||
skip$ -- 68
|
||||
stack$ -- 0
|
||||
substring$ -- 47
|
||||
swap$ -- 12
|
||||
text.length$ -- 1
|
||||
substring$ -- 94
|
||||
swap$ -- 24
|
||||
text.length$ -- 2
|
||||
text.prefix$ -- 0
|
||||
top$ -- 0
|
||||
type$ -- 12
|
||||
type$ -- 24
|
||||
warning$ -- 1
|
||||
while$ -- 9
|
||||
width$ -- 4
|
||||
write$ -- 33
|
||||
while$ -- 18
|
||||
width$ -- 7
|
||||
write$ -- 65
|
||||
(There was 1 warning)
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
\contentsline {figure}{\numberline {2.1}{\ignorespaces Title of the Second Figure}}{4}{}%
|
||||
\contentsline {figure}{\numberline {3.1}{\ignorespaces Path Walking to State 14}}{6}{}%
|
||||
\contentsline {figure}{\numberline {3.2}{\ignorespaces Color Coding a Small Network Based on Violations}}{8}{}%
|
||||
\contentsline {figure}{\numberline {4.1}{\ignorespaces Title of the Second Figure}}{11}{}%
|
||||
\contentsline {figure}{\numberline {5.1}{\ignorespaces Title of the Second Figure}}{13}{}%
|
||||
\contentsline {figure}{\numberline {6.1}{\ignorespaces Title of the Second Figure}}{15}{}%
|
||||
\contentsline {figure}{\numberline {7.1}{\ignorespaces Title of the Second Figure}}{17}{}%
|
||||
\contentsline {figure}{\numberline {B.1}{\ignorespaces Title of the First Figure in this Appendix.}}{21}{}%
|
||||
\contentsline {figure}{\numberline {B.2}{\ignorespaces Title of the Second Figure in this Appendix.}}{21}{}%
|
||||
\contentsline {figure}{\numberline {4.1}{\ignorespaces Title of the Second Figure}}{14}{}%
|
||||
\contentsline {figure}{\numberline {5.1}{\ignorespaces Title of the Second Figure}}{16}{}%
|
||||
\contentsline {figure}{\numberline {6.1}{\ignorespaces Title of the Second Figure}}{18}{}%
|
||||
\contentsline {figure}{\numberline {7.1}{\ignorespaces Title of the Second Figure}}{20}{}%
|
||||
\contentsline {figure}{\numberline {B.1}{\ignorespaces Title of the First Figure in this Appendix.}}{24}{}%
|
||||
\contentsline {figure}{\numberline {B.2}{\ignorespaces Title of the Second Figure in this Appendix.}}{24}{}%
|
||||
|
||||
@ -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) 25 FEB 2022 11:28
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.2.14) 25 FEB 2022 15:10
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
@ -248,11 +248,11 @@ File: ./Chapter3_img/CC.png Graphic file (type png)
|
||||
<use ./Chapter3_img/CC.png>
|
||||
Package pdftex.def Info: ./Chapter3_img/CC.png used on input line 55.
|
||||
(pdftex.def) Requested size: 469.75499pt x 376.66768pt.
|
||||
[7] [8 <./Chapter3_img/CC.png>]) [9]
|
||||
[7] [8 <./Chapter3_img/CC.png>] [9] [10]
|
||||
[11]) [12]
|
||||
\openout2 = `Chapter4.aux'.
|
||||
|
||||
|
||||
(./Chapter4.tex
|
||||
(./Chapter4.tex
|
||||
CHAPTER 4.
|
||||
|
||||
Underfull \hbox (badness 2662) in paragraph at lines 4--4
|
||||
@ -265,12 +265,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 10--207
|
||||
|
||||
[]
|
||||
|
||||
[10
|
||||
[13
|
||||
|
||||
|
||||
|
||||
|
||||
] [11]
|
||||
] [14]
|
||||
\openout2 = `Chapter5.aux'.
|
||||
|
||||
(./Chapter5.tex
|
||||
@ -286,12 +286,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 10--208
|
||||
|
||||
[]
|
||||
|
||||
[12
|
||||
[15
|
||||
|
||||
|
||||
|
||||
|
||||
] [13]
|
||||
] [16]
|
||||
\openout2 = `Chapter6.aux'.
|
||||
|
||||
(./Chapter6.tex
|
||||
@ -307,12 +307,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 10--209
|
||||
|
||||
[]
|
||||
|
||||
[14
|
||||
[17
|
||||
|
||||
|
||||
|
||||
|
||||
] [15]
|
||||
] [18]
|
||||
\openout2 = `Chapter7.aux'.
|
||||
|
||||
(./Chapter7.tex
|
||||
@ -328,24 +328,24 @@ Underfull \hbox (badness 10000) in paragraph at lines 10--210
|
||||
|
||||
[]
|
||||
|
||||
[16
|
||||
[19
|
||||
|
||||
|
||||
|
||||
|
||||
] [17] (./Schrick-Noah_MS-Thesis.bbl)
|
||||
] [20] (./Schrick-Noah_MS-Thesis.bbl)
|
||||
\c@appendixno=\count269
|
||||
[18
|
||||
[21
|
||||
|
||||
|
||||
|
||||
]
|
||||
\openout2 = `Appendices.aux'.
|
||||
|
||||
(./Appendices.tex [19
|
||||
(./Appendices.tex [22
|
||||
|
||||
]) [20]
|
||||
[21] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux)
|
||||
]) [23]
|
||||
[24] (./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)
|
||||
@ -358,10 +358,10 @@ Underfull \hbox (badness 10000) in paragraph at lines 10--210
|
||||
### semi simple group (level 1) entered at line 52 (\begingroup)
|
||||
### bottom level
|
||||
Here is how much of TeX's memory you used:
|
||||
2122 strings out of 478353
|
||||
37182 string characters out of 5854635
|
||||
339856 words of memory out of 5000000
|
||||
20194 multiletter control sequences out of 15000+600000
|
||||
2125 strings out of 478353
|
||||
37243 string characters out of 5854635
|
||||
339865 words of memory out of 5000000
|
||||
20197 multiletter control sequences out of 15000+600000
|
||||
407503 words of font info for 40 fonts, out of 8000000 for 9000
|
||||
1141 hyphenation exceptions out of 8191
|
||||
55i,8n,62p,960b,1269s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
@ -375,10 +375,10 @@ re/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texmf-dist/
|
||||
fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/texmf-dist/fonts/type1/pu
|
||||
blic/amsfonts/cm/cmti12.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/
|
||||
sfrm1200.pfb>
|
||||
Output written on Schrick-Noah_MS-Thesis.pdf (30 pages, 241252 bytes).
|
||||
Output written on Schrick-Noah_MS-Thesis.pdf (33 pages, 251664 bytes).
|
||||
PDF statistics:
|
||||
153 PDF objects out of 1000 (max. 8388607)
|
||||
98 compressed objects within 1 object stream
|
||||
164 PDF objects out of 1000 (max. 8388607)
|
||||
105 compressed objects within 2 object streams
|
||||
0 named destinations out of 1000 (max. 500000)
|
||||
11 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
||||
|
||||
@ -2,14 +2,14 @@
|
||||
\contentsline {table}{\numberline {1.1}{\ignorespaces Title of the First Table.}}{2}{}%
|
||||
\contentsline {table}{\numberline {2.1}{\ignorespaces Title of the Second Table}}{4}{}%
|
||||
\contentsline {table}{\numberline {2.2}{\ignorespaces Title of the Third Table}}{4}{}%
|
||||
\contentsline {table}{\numberline {4.1}{\ignorespaces Title of the Second Table}}{11}{}%
|
||||
\contentsline {table}{\numberline {4.2}{\ignorespaces Title of the Third Table}}{11}{}%
|
||||
\contentsline {table}{\numberline {5.1}{\ignorespaces Title of the Second Table}}{13}{}%
|
||||
\contentsline {table}{\numberline {5.2}{\ignorespaces Title of the Third Table}}{13}{}%
|
||||
\contentsline {table}{\numberline {6.1}{\ignorespaces Title of the Second Table}}{15}{}%
|
||||
\contentsline {table}{\numberline {6.2}{\ignorespaces Title of the Third Table}}{15}{}%
|
||||
\contentsline {table}{\numberline {7.1}{\ignorespaces Title of the Second Table}}{17}{}%
|
||||
\contentsline {table}{\numberline {7.2}{\ignorespaces Title of the Third Table}}{17}{}%
|
||||
\contentsline {table}{\numberline {A.1}{\ignorespaces Title of the Only Table in this Appendix.}}{19}{}%
|
||||
\contentsline {table}{\numberline {B.1}{\ignorespaces Title of the First Table in this Appendix.}}{20}{}%
|
||||
\contentsline {table}{\numberline {B.2}{\ignorespaces Title of the Second Table in this Appendix.}}{21}{}%
|
||||
\contentsline {table}{\numberline {4.1}{\ignorespaces Title of the Second Table}}{14}{}%
|
||||
\contentsline {table}{\numberline {4.2}{\ignorespaces Title of the Third Table}}{14}{}%
|
||||
\contentsline {table}{\numberline {5.1}{\ignorespaces Title of the Second Table}}{16}{}%
|
||||
\contentsline {table}{\numberline {5.2}{\ignorespaces Title of the Third Table}}{16}{}%
|
||||
\contentsline {table}{\numberline {6.1}{\ignorespaces Title of the Second Table}}{18}{}%
|
||||
\contentsline {table}{\numberline {6.2}{\ignorespaces Title of the Third Table}}{18}{}%
|
||||
\contentsline {table}{\numberline {7.1}{\ignorespaces Title of the Second Table}}{20}{}%
|
||||
\contentsline {table}{\numberline {7.2}{\ignorespaces Title of the Third Table}}{20}{}%
|
||||
\contentsline {table}{\numberline {A.1}{\ignorespaces Title of the Only Table in this Appendix.}}{22}{}%
|
||||
\contentsline {table}{\numberline {B.1}{\ignorespaces Title of the First Table in this Appendix.}}{23}{}%
|
||||
\contentsline {table}{\numberline {B.2}{\ignorespaces Title of the Second Table in this Appendix.}}{24}{}%
|
||||
|
||||
Binary file not shown.
@ -24,26 +24,29 @@
|
||||
\contentsline {section}{\numberline {3.2}\bf Compound Operators}{6}{}%
|
||||
\contentsline {section}{\numberline {3.3}\bf Color Coding}{7}{}%
|
||||
\contentsline {section}{\numberline {3.4}\bf Intermediate Database Storage}{9}{}%
|
||||
\contentsline {section}{\numberline {3.5}\bf Relational Operators}{9}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{10}{}%
|
||||
\contentsline {section}{\numberline {4.1}\bf First Heading}{10}{}%
|
||||
\contentsline {section}{\numberline {4.2}\bf Second Heading}{11}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {IMPLEMENTATION OF MESSAGE PASSING INTERFACE}}}{12}{}%
|
||||
\contentsline {section}{\numberline {5.1}\bf Tasking Approach}{12}{}%
|
||||
\contentsline {section}{\numberline {5.2}\bf Subgraphing Approach}{13}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{14}{}%
|
||||
\contentsline {section}{\numberline {6.1}\bf First Heading}{14}{}%
|
||||
\contentsline {section}{\numberline {6.2}\bf Second Heading}{15}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{16}{}%
|
||||
\contentsline {section}{\numberline {7.1}\bf First Heading}{16}{}%
|
||||
\contentsline {section}{\numberline {7.2}\bf Second Heading}{17}{}%
|
||||
\contentsline {subsection}{\numberline {3.4.1}\it Memory Constraint Difficulties}{9}{}%
|
||||
\contentsline {subsection}{\numberline {3.4.2}\it Maximizing Performance with Intermediate Database Storage}{10}{}%
|
||||
\contentsline {subsection}{\numberline {3.4.3}\it Portability}{11}{}%
|
||||
\contentsline {section}{\numberline {3.5}\bf Relational Operators}{12}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{13}{}%
|
||||
\contentsline {section}{\numberline {4.1}\bf First Heading}{13}{}%
|
||||
\contentsline {section}{\numberline {4.2}\bf Second Heading}{14}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {IMPLEMENTATION OF MESSAGE PASSING INTERFACE}}}{15}{}%
|
||||
\contentsline {section}{\numberline {5.1}\bf Tasking Approach}{15}{}%
|
||||
\contentsline {section}{\numberline {5.2}\bf Subgraphing Approach}{16}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{17}{}%
|
||||
\contentsline {section}{\numberline {6.1}\bf First Heading}{17}{}%
|
||||
\contentsline {section}{\numberline {6.2}\bf Second Heading}{18}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{19}{}%
|
||||
\contentsline {section}{\numberline {7.1}\bf First Heading}{19}{}%
|
||||
\contentsline {section}{\numberline {7.2}\bf Second Heading}{20}{}%
|
||||
{\hfill \ }
|
||||
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{18}{}%
|
||||
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{21}{}%
|
||||
\addvspace {10pt}
|
||||
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{18}{}%
|
||||
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{21}{}%
|
||||
{\hfill \ }
|
||||
\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{19}{}%
|
||||
\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{20}{}%
|
||||
\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{20}{}%
|
||||
\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{20}{}%
|
||||
\contentsline {subsubsection}{A Sub-subsection in an Appendix}{20}{}%
|
||||
\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{22}{}%
|
||||
\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{23}{}%
|
||||
\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{23}{}%
|
||||
\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{23}{}%
|
||||
\contentsline {subsubsection}{A Sub-subsection in an Appendix}{23}{}%
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user