Adding existing CR work for Intermediate Data Storage

This commit is contained in:
Noah L. Schrick 2023-04-06 15:11:12 -05:00
parent df44ccbf7f
commit 5ca0a34a63
7 changed files with 329 additions and 181 deletions

View File

@ -1,16 +1,13 @@
\relax \relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\babel@aux[2]{} \providecommand\babel@aux[2]{}
\@nameuse{bbl@beforestart} \@nameuse{bbl@beforestart}
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel \global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2} \gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} \gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined \AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel \let\newlabel\oldnewlabel
\fi} \fi}
\fi} \fi}
@ -18,14 +15,29 @@
\gdef\HyperFirstAtBeginDocument#1{#1} \gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{} \providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{} \providecommand\HyField@AuxAddToCoFields[2]{}
\bibdata{Bibliography} \citation{cook_rage_2018}
\bibstyle{ieeetr} \citation{cook_rage_2018}
\citation{cook_rage_2018}
\citation{li_concurrency_2019}
\citation{li_combining_2019}
\citation{zhang_boosting_2017}
\citation{ainsworth_graph_2016}
\citation{berry_graph_2007}
\citation{cook_rage_2018}
\citation{zhang_boosting_2017}
\babel@aux{nil}{} \babel@aux{nil}{}
\@writefile{toc}{\contentsline {section}{\numberline {I}Introduction}{1}{section.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {I}Introduction}{1}{section.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {II}Related Work}{1}{section.2}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {II}Related Work}{1}{section.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {III}Implementing C/R}{1}{section.3}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {III}Implementing C/R}{1}{section.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-A}}Implementation Approach}{1}{subsection.3.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-A}}Introduction to Intermediate Database Storage}{1}{subsection.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-B}}Implementation Challenges}{1}{subsection.3.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-B}}Memory Constraint Difficulties}{1}{subsection.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {IV}Results}{1}{section.4}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-C}}Maximizing Performance with Intermediate Database Storage}{1}{subsection.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {V}Conclusion}{1}{section.5}\protected@file@percent } \bibdata{Bibliography}
\gdef \@abspage@last{1} \bibstyle{ieeetr}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-D}}Portability}{2}{subsection.3.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-E}}Implementation Approach}{2}{subsection.3.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-F}}Implementation Challenges}{2}{subsection.3.6}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {IV}Results}{2}{section.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {V}Conclusion}{2}{section.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{References}{2}{section*.3}\protected@file@percent }
\gdef \@abspage@last{2}

View File

@ -0,0 +1,3 @@
\begin{thebibliography}{}
\end{thebibliography}

View File

@ -1,4 +1,4 @@
This is BibTeX, Version 0.99d (TeX Live 2022/Arch Linux) This is BibTeX, Version 0.99d (TeX Live 2023/Arch Linux)
Capacity: max_strings=200000, hash_size=200000, hash_prime=170003 Capacity: max_strings=200000, hash_size=200000, hash_prime=170003
The top-level auxiliary file: Schrick-Noah_AG-CG-CR.aux The top-level auxiliary file: Schrick-Noah_AG-CG-CR.aux
The style file: ieeetr.bst The style file: ieeetr.bst

View File

@ -1,18 +1,18 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Arch Linux) (preloaded format=pdflatex 2022.4.29) 27 JUN 2022 16:12 This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Arch Linux) (preloaded format=pdflatex 2023.4.3) 6 APR 2023 15:09
entering extended mode entering extended mode
restricted \write18 enabled. restricted \write18 enabled.
%&-line parsing enabled. %&-line parsing enabled.
**Schrick-Noah_AG-CG-CR.tex **Schrick-Noah_AG-CG-CR
(./Schrick-Noah_AG-CG-CR.tex (./Schrick-Noah_AG-CG-CR.tex
LaTeX2e <2021-11-15> patch level 1 LaTeX2e <2022-11-01> patch level 1
L3 programming layer <2022-04-10> L3 programming layer <2023-02-22>
(/usr/share/texmf-dist/tex/latex/ieeetran/IEEEtran.cls (/usr/share/texmf-dist/tex/latex/ieeetran/IEEEtran.cls
Document Class: IEEEtran 2015/08/26 V1.8b by Michael Shell Document Class: IEEEtran 2015/08/26 V1.8b by Michael Shell
-- See the "IEEEtran_HOWTO" manual for usage information. -- See the "IEEEtran_HOWTO" manual for usage information.
-- http://www.michaelshell.org/tex/ieeetran/ -- http://www.michaelshell.org/tex/ieeetran/
\@IEEEtrantmpdimenA=\dimen138 \@IEEEtrantmpdimenA=\dimen140
\@IEEEtrantmpdimenB=\dimen139 \@IEEEtrantmpdimenB=\dimen141
\@IEEEtrantmpdimenC=\dimen140 \@IEEEtrantmpdimenC=\dimen142
\@IEEEtrantmpcountA=\count185 \@IEEEtrantmpcountA=\count185
\@IEEEtrantmpcountB=\count186 \@IEEEtrantmpcountB=\count186
\@IEEEtrantmpcountC=\count187 \@IEEEtrantmpcountC=\count187
@ -24,11 +24,11 @@ File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm.
) )
-- Using 8.5in x 11in (letter) paper. -- Using 8.5in x 11in (letter) paper.
-- Using PDF output. -- Using PDF output.
\@IEEEnormalsizeunitybaselineskip=\dimen141 \@IEEEnormalsizeunitybaselineskip=\dimen143
-- This is a 10 point document. -- This is a 10 point document.
\CLASSINFOnormalsizebaselineskip=\dimen142 \CLASSINFOnormalsizebaselineskip=\dimen144
\CLASSINFOnormalsizeunitybaselineskip=\dimen143 \CLASSINFOnormalsizeunitybaselineskip=\dimen145
\IEEEnormaljot=\dimen144 \IEEEnormaljot=\dimen146
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <5> not available LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <5> not available
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. (Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090.
LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <5> not available LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <5> not available
@ -79,40 +79,40 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <24> not available
LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <24> not available LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <24> not available
(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. (Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090.
\IEEEquantizedlength=\dimen145 \IEEEquantizedlength=\dimen147
\IEEEquantizedlengthdiff=\dimen146 \IEEEquantizedlengthdiff=\dimen148
\IEEEquantizedtextheightdiff=\dimen147 \IEEEquantizedtextheightdiff=\dimen149
\IEEEilabelindentA=\dimen148 \IEEEilabelindentA=\dimen150
\IEEEilabelindentB=\dimen149 \IEEEilabelindentB=\dimen151
\IEEEilabelindent=\dimen150 \IEEEilabelindent=\dimen152
\IEEEelabelindent=\dimen151 \IEEEelabelindent=\dimen153
\IEEEdlabelindent=\dimen152 \IEEEdlabelindent=\dimen154
\IEEElabelindent=\dimen153 \IEEElabelindent=\dimen155
\IEEEiednormlabelsep=\dimen154 \IEEEiednormlabelsep=\dimen156
\IEEEiedmathlabelsep=\dimen155 \IEEEiedmathlabelsep=\dimen157
\IEEEiedtopsep=\skip47 \IEEEiedtopsep=\skip48
\c@section=\count188 \c@section=\count188
\c@subsection=\count189 \c@subsection=\count189
\c@subsubsection=\count190 \c@subsubsection=\count190
\c@paragraph=\count191 \c@paragraph=\count191
\c@IEEEsubequation=\count192 \c@IEEEsubequation=\count192
\abovecaptionskip=\skip48 \abovecaptionskip=\skip49
\belowcaptionskip=\skip49 \belowcaptionskip=\skip50
\c@figure=\count193 \c@figure=\count193
\c@table=\count194 \c@table=\count194
\@IEEEeqnnumcols=\count195 \@IEEEeqnnumcols=\count195
\@IEEEeqncolcnt=\count196 \@IEEEeqncolcnt=\count196
\@IEEEsubeqnnumrollback=\count197 \@IEEEsubeqnnumrollback=\count197
\@IEEEquantizeheightA=\dimen156 \@IEEEquantizeheightA=\dimen158
\@IEEEquantizeheightB=\dimen157 \@IEEEquantizeheightB=\dimen159
\@IEEEquantizeheightC=\dimen158 \@IEEEquantizeheightC=\dimen160
\@IEEEquantizeprevdepth=\dimen159 \@IEEEquantizeprevdepth=\dimen161
\@IEEEquantizemultiple=\count198 \@IEEEquantizemultiple=\count198
\@IEEEquantizeboxA=\box50 \@IEEEquantizeboxA=\box51
\@IEEEtmpitemindent=\dimen160 \@IEEEtmpitemindent=\dimen162
\IEEEPARstartletwidth=\dimen161 \IEEEPARstartletwidth=\dimen163
\c@IEEEbiography=\count199 \c@IEEEbiography=\count199
\@IEEEtranrubishbin=\box51 \@IEEEtranrubishbin=\box52
) )
** ATTENTION: Overriding command lockouts (line 2). ** ATTENTION: Overriding command lockouts (line 2).
(/usr/share/texmf-dist/tex/latex/cite/cite.sty (/usr/share/texmf-dist/tex/latex/cite/cite.sty
@ -121,8 +121,8 @@ LaTeX Info: Redefining \nocite on input line 332.
Package: cite 2015/02/27 v 5.5 Package: cite 2015/02/27 v 5.5
) )
(/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty (/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
Package: amsmath 2021/10/15 v2.17l AMS math features Package: amsmath 2022/04/08 v2.17n AMS math features
\@mathmargin=\skip50 \@mathmargin=\skip51
For additional information on amsmath, use the `?' option. For additional information on amsmath, use the `?' option.
(/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
@ -131,31 +131,41 @@ Package: amstext 2021/08/26 v2.01 AMS text
(/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty (/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
File: amsgen.sty 1999/11/30 v2.0 generic functions File: amsgen.sty 1999/11/30 v2.0 generic functions
\@emptytoks=\toks17 \@emptytoks=\toks17
\ex@=\dimen162 \ex@=\dimen164
)) ))
(/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty (/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d Bold Symbols Package: amsbsy 1999/11/29 v1.2d Bold Symbols
\pmbraise@=\dimen163 \pmbraise@=\dimen165
) )
(/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty (/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
Package: amsopn 2021/08/26 v2.02 operator names Package: amsopn 2022/04/08 v2.04 operator names
) )
\inf@bad=\count266 \inf@bad=\count266
LaTeX Info: Redefining \frac on input line 234. LaTeX Info: Redefining \frac on input line 234.
\uproot@=\count267 \uproot@=\count267
\leftroot@=\count268 \leftroot@=\count268
LaTeX Info: Redefining \overline on input line 399. LaTeX Info: Redefining \overline on input line 399.
LaTeX Info: Redefining \colon on input line 410.
\classnum@=\count269 \classnum@=\count269
\DOTSCASE@=\count270 \DOTSCASE@=\count270
LaTeX Info: Redefining \ldots on input line 496. LaTeX Info: Redefining \ldots on input line 496.
LaTeX Info: Redefining \dots on input line 499. LaTeX Info: Redefining \dots on input line 499.
LaTeX Info: Redefining \cdots on input line 620. LaTeX Info: Redefining \cdots on input line 620.
\Mathstrutbox@=\box52 \Mathstrutbox@=\box53
\strutbox@=\box53 \strutbox@=\box54
\big@size=\dimen164 LaTeX Info: Redefining \big on input line 722.
LaTeX Info: Redefining \Big on input line 723.
LaTeX Info: Redefining \bigg on input line 724.
LaTeX Info: Redefining \Bigg on input line 725.
\big@size=\dimen166
LaTeX Font Info: Redeclaring font encoding OML on input line 743. LaTeX Font Info: Redeclaring font encoding OML on input line 743.
LaTeX Font Info: Redeclaring font encoding OMS on input line 744. LaTeX Font Info: Redeclaring font encoding OMS on input line 744.
\macc@depth=\count271 \macc@depth=\count271
LaTeX Info: Redefining \bmod on input line 905.
LaTeX Info: Redefining \pmod on input line 910.
LaTeX Info: Redefining \smash on input line 940.
LaTeX Info: Redefining \relbar on input line 970.
LaTeX Info: Redefining \Relbar on input line 971.
\c@MaxMatrixCols=\count272 \c@MaxMatrixCols=\count272
\dotsspace@=\muskip16 \dotsspace@=\muskip16
\c@parentequation=\count273 \c@parentequation=\count273
@ -165,18 +175,18 @@ LaTeX Font Info: Redeclaring font encoding OMS on input line 744.
\column@=\count276 \column@=\count276
\maxfields@=\count277 \maxfields@=\count277
\andhelp@=\toks19 \andhelp@=\toks19
\eqnshift@=\dimen165 \eqnshift@=\dimen167
\alignsep@=\dimen166 \alignsep@=\dimen168
\tagshift@=\dimen167 \tagshift@=\dimen169
\tagwidth@=\dimen168 \tagwidth@=\dimen170
\totwidth@=\dimen169 \totwidth@=\dimen171
\lineht@=\dimen170 \lineht@=\dimen172
\@envbody=\toks20 \@envbody=\toks20
\multlinegap=\skip51 \multlinegap=\skip52
\multlinetaggap=\skip52 \multlinetaggap=\skip53
\mathdisplay@stack=\toks21 \mathdisplay@stack=\toks21
LaTeX Info: Redefining \[ on input line 2938. LaTeX Info: Redefining \[ on input line 2953.
LaTeX Info: Redefining \] on input line 2939. LaTeX Info: Redefining \] on input line 2954.
) )
(/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
Package: amssymb 2013/01/14 v3.01 AMS font symbols Package: amssymb 2013/01/14 v3.01 AMS font symbols
@ -193,24 +203,24 @@ LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
Package: algorithmic 2009/08/24 v0.1 Document Style `algorithmic' Package: algorithmic 2009/08/24 v0.1 Document Style `algorithmic'
(/usr/share/texmf-dist/tex/latex/base/ifthen.sty (/usr/share/texmf-dist/tex/latex/base/ifthen.sty
Package: ifthen 2020/11/24 v1.1c Standard LaTeX ifthen package (DPC) Package: ifthen 2022/04/13 v1.1d Standard LaTeX ifthen package (DPC)
) )
(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty (/usr/share/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC) Package: keyval 2022/05/29 v1.15 key=value parser (DPC)
\KV@toks@=\toks22 \KV@toks@=\toks22
) )
\c@ALC@unique=\count278 \c@ALC@unique=\count278
\c@ALC@line=\count279 \c@ALC@line=\count279
\c@ALC@rem=\count280 \c@ALC@rem=\count280
\c@ALC@depth=\count281 \c@ALC@depth=\count281
\ALC@tlm=\skip53 \ALC@tlm=\skip54
\algorithmicindent=\skip54 \algorithmicindent=\skip55
) )
(/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf-dist/tex/latex/graphics/graphics.sty (/usr/share/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR) Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf-dist/tex/latex/graphics/trig.sty (/usr/share/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2021/08/11 v1.11 sin cos tan (DPC) Package: trig 2021/08/11 v1.11 sin cos tan (DPC)
@ -221,25 +231,25 @@ File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
Package graphics Info: Driver file: pdftex.def on input line 107. Package graphics Info: Driver file: pdftex.def on input line 107.
(/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def (/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex File: pdftex.def 2022/09/22 v1.2b Graphics/color driver for pdftex
)) ))
\Gin@req@height=\dimen171 \Gin@req@height=\dimen173
\Gin@req@width=\dimen172 \Gin@req@width=\dimen174
) )
(/usr/share/texmf-dist/tex/generic/babel/babel.sty (/usr/share/texmf-dist/tex/generic/babel/babel.sty
Package: babel 2022/02/26 3.73 The Babel package Package: babel 2023/02/13 3.86 The Babel package
\babel@savecnt=\count282 \babel@savecnt=\count282
\U@D=\dimen173 \U@D=\dimen175
\l@unhyphenated=\language87 \l@unhyphenated=\language87
(/usr/share/texmf-dist/tex/generic/babel/txtbabel.def) (/usr/share/texmf-dist/tex/generic/babel/txtbabel.def)
\bbl@readstream=\read2 \bbl@readstream=\read2
\bbl@dirlevel=\count283 \bbl@dirlevel=\count283
Package babel Info: You haven't specified a language. I'll use 'nil' Package babel Info: You haven't specified a language as a class or package
(babel) as the main language. Reported on input line 4305. (babel) option. I'll load 'nil'. Reported on input line 4422.
(/usr/share/texmf-dist/tex/generic/babel/nil.ldf (/usr/share/texmf-dist/tex/generic/babel/nil.ldf
Language: nil 2022/02/26 3.73 Nil language Language: nil 2023/02/13 3.86 Nil language
\l@nil=\language88 \l@nil=\language88
)) ))
(/usr/share/texmf-dist/tex/latex/base/textcomp.sty (/usr/share/texmf-dist/tex/latex/base/textcomp.sty
@ -254,29 +264,31 @@ Package: inputenc 2021/02/14 v1.3d Input encoding file
Package: float 2001/11/08 v1.3d Float enhancements (AL) Package: float 2001/11/08 v1.3d Float enhancements (AL)
\c@float@type=\count284 \c@float@type=\count284
\float@exts=\toks25 \float@exts=\toks25
\float@box=\box54 \float@box=\box55
\@float@everytoks=\toks26 \@float@everytoks=\toks26
\@floatcapt=\box55 \@floatcapt=\box56
) )
(/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty (/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2021/10/31 v2.13 LaTeX color extensions (UK) Package: xcolor 2022/06/12 v2.14 LaTeX color extensions (UK)
(/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg (/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration File: color.cfg 2016/01/02 v1.6 sample color configuration
) )
Package xcolor Info: Driver file: pdftex.def on input line 227. Package xcolor Info: Driver file: pdftex.def on input line 227.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1352.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1356. (/usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx)
Package xcolor Info: Model `RGB' extended on input line 1368. Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1353.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1370. Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1357.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1371. Package xcolor Info: Model `RGB' extended on input line 1369.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1372. Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1371.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1373. Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1372.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1374. Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1373.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1375. Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1374.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1375.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1376.
) )
(/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty (/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty
Package: hyperref 2022-02-21 v7.00n Hypertext links for LaTeX Package: hyperref 2023-02-07 v7.00v Hypertext links for LaTeX
(/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty (/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO)
@ -295,8 +307,8 @@ Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available. Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found. Package pdftexcmds Info: \pdfdraftmode found.
) )
(/usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty (/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty
Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO)
) )
(/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty (/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
@ -313,15 +325,26 @@ Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO)
(/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty (/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty
Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO)
) )
(/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty (/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty
Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO) Package: nameref 2022-05-17 v2.50 Cross-referencing by name of section
(/usr/share/texmf-dist/tex/latex/refcount/refcount.sty
Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
) )
\@linkdim=\dimen174 (/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
\Hy@linkcounter=\count285 Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
\Hy@pagecounter=\count286
(/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty
Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO)
))
\c@section@level=\count285
)
\@linkdim=\dimen176
\Hy@linkcounter=\count286
\Hy@pagecounter=\count287
(/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def (/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def
File: pd1enc.def 2022-02-21 v7.00n Hyperref: PDFDocEncoding definition (HO) File: pd1enc.def 2023-02-07 v7.00v Hyperref: PDFDocEncoding definition (HO)
Now handling font encoding PD1 ... Now handling font encoding PD1 ...
... no UTF-8 mapping file for font encoding PD1 ... no UTF-8 mapping file for font encoding PD1
) )
@ -331,28 +354,28 @@ Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
(/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty (/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty
Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO)
) )
\Hy@SavedSpaceFactor=\count287 \Hy@SavedSpaceFactor=\count288
(/usr/share/texmf-dist/tex/latex/hyperref/puenc.def (/usr/share/texmf-dist/tex/latex/hyperref/puenc.def
File: puenc.def 2022-02-21 v7.00n Hyperref: PDF Unicode definition (HO) File: puenc.def 2023-02-07 v7.00v Hyperref: PDF Unicode definition (HO)
Now handling font encoding PU ... Now handling font encoding PU ...
... no UTF-8 mapping file for font encoding PU ... no UTF-8 mapping file for font encoding PU
) )
Package hyperref Info: Hyper figures OFF on input line 4137. Package hyperref Info: Hyper figures OFF on input line 4177.
Package hyperref Info: Link nesting OFF on input line 4142. Package hyperref Info: Link nesting OFF on input line 4182.
Package hyperref Info: Hyper index ON on input line 4145. Package hyperref Info: Hyper index ON on input line 4185.
Package hyperref Info: Plain pages OFF on input line 4152. Package hyperref Info: Plain pages OFF on input line 4192.
Package hyperref Info: Backreferencing OFF on input line 4157. Package hyperref Info: Backreferencing OFF on input line 4197.
Package hyperref Info: Implicit mode ON; LaTeX internals redefined. Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
Package hyperref Info: Bookmarks ON on input line 4390. Package hyperref Info: Bookmarks ON on input line 4425.
\c@Hy@tempcnt=\count288 \c@Hy@tempcnt=\count289
(/usr/share/texmf-dist/tex/latex/url/url.sty (/usr/share/texmf-dist/tex/latex/url/url.sty
\Urlmuskip=\muskip17 \Urlmuskip=\muskip17
Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
) )
LaTeX Info: Redefining \url on input line 4749. LaTeX Info: Redefining \url on input line 4763.
\XeTeXLinkMargin=\dimen175 \XeTeXLinkMargin=\dimen177
(/usr/share/texmf-dist/tex/generic/bitset/bitset.sty (/usr/share/texmf-dist/tex/generic/bitset/bitset.sty
Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
@ -361,57 +384,55 @@ Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO
) )
)) ))
\Fld@menulength=\count289 \Fld@menulength=\count290
\Field@Width=\dimen176 \Field@Width=\dimen178
\Fld@charsize=\dimen177 \Fld@charsize=\dimen179
Package hyperref Info: Hyper figures OFF on input line 6027. Package hyperref Info: Hyper figures OFF on input line 6042.
Package hyperref Info: Link nesting OFF on input line 6032. Package hyperref Info: Link nesting OFF on input line 6047.
Package hyperref Info: Hyper index ON on input line 6035. Package hyperref Info: Hyper index ON on input line 6050.
Package hyperref Info: backreferencing OFF on input line 6042. Package hyperref Info: backreferencing OFF on input line 6057.
Package hyperref Info: Link coloring OFF on input line 6047. Package hyperref Info: Link coloring OFF on input line 6062.
Package hyperref Info: Link coloring with OCG OFF on input line 6052. Package hyperref Info: Link coloring with OCG OFF on input line 6067.
Package hyperref Info: PDF/A mode OFF on input line 6057. Package hyperref Info: PDF/A mode OFF on input line 6072.
LaTeX Info: Redefining \ref on input line 6097.
LaTeX Info: Redefining \pageref on input line 6101.
(/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty (/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty
Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi
package with kernel methods package with kernel methods
) )
\Hy@abspage=\count290 \Hy@abspage=\count291
\c@Item=\count291 \c@Item=\count292
\c@Hfootnote=\count292 \c@Hfootnote=\count293
) )
Package hyperref Info: Driver (autodetected): hpdftex. Package hyperref Info: Driver (autodetected): hpdftex.
(/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def (/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def
File: hpdftex.def 2022-02-21 v7.00n Hyperref driver for pdfTeX File: hpdftex.def 2023-02-07 v7.00v Hyperref driver for pdfTeX
(/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty (/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty
Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac
kage kage
with kernel methods with kernel methods
) )
\Fld@listcount=\count293 \Fld@listcount=\count294
\c@bookmark@seq@number=\count294 \c@bookmark@seq@number=\count295
(/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty (/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO)
(/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty (/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
) )
Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
86. 85.
) )
\Hy@SectionHShift=\skip55 \Hy@SectionHShift=\skip56
) )
Package hyperref Info: Option `colorlinks' set `true' on input line 24. Package hyperref Info: Option `colorlinks' set `true' on input line 24.
(/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def (/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
File: l3backend-pdftex.def 2022-04-14 L3 backend support: PDF output (pdfTeX) File: l3backend-pdftex.def 2023-01-16 L3 backend support: PDF output (pdfTeX)
\l__color_backend_stack_int=\count295 \l__color_backend_stack_int=\count296
\l__pdf_internal_box=\box56 \l__pdf_internal_box=\box57
) )
(./Schrick-Noah_AG-CG-CR.aux) (./Schrick-Noah_AG-CG-CR.aux)
\openout1 = `Schrick-Noah_AG-CG-CR.aux'. \openout1 = `Schrick-Noah_AG-CG-CR.aux'.
@ -438,16 +459,16 @@ LaTeX Font Info: ... okay on input line 26.
-- Lines per column: 56 (exact). -- Lines per column: 56 (exact).
(/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii (/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).] [Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count296 \scratchcounter=\count297
\scratchdimen=\dimen178 \scratchdimen=\dimen180
\scratchbox=\box57 \scratchbox=\box58
\nofMPsegments=\count297 \nofMPsegments=\count298
\nofMParguments=\count298 \nofMParguments=\count299
\everyMPshowfont=\toks27 \everyMPshowfont=\toks27
\MPscratchCnt=\count299 \MPscratchCnt=\count300
\MPscratchDim=\dimen179 \MPscratchDim=\dimen181
\MPnumerator=\count300 \MPnumerator=\count301
\makeMPintoPDFobject=\count301 \makeMPintoPDFobject=\count302
\everyMPtoPDFconversion=\toks28 \everyMPtoPDFconversion=\toks28
) (/usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty ) (/usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
@ -460,21 +481,6 @@ e
)) ))
Package hyperref Info: Link coloring ON on input line 26. Package hyperref Info: Link coloring ON on input line 26.
(/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty
Package: nameref 2021-04-02 v2.47 Cross-referencing by name of section
(/usr/share/texmf-dist/tex/latex/refcount/refcount.sty
Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
)
(/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
)
\c@section@level=\count302
)
LaTeX Info: Redefining \ref on input line 26.
LaTeX Info: Redefining \pageref on input line 26.
LaTeX Info: Redefining \nameref on input line 26.
(./Schrick-Noah_AG-CG-CR.out) (./Schrick-Noah_AG-CG-CR.out) (./Schrick-Noah_AG-CG-CR.out) (./Schrick-Noah_AG-CG-CR.out)
\@outlinefile=\write3 \@outlinefile=\write3
\openout3 = `Schrick-Noah_AG-CG-CR.out'. \openout3 = `Schrick-Noah_AG-CG-CR.out'.
@ -491,7 +497,73 @@ LaTeX Font Info: Trying to load font information for U+msb on input line 47.
(/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd (/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2013/01/14 v3.01 AMS symbols B File: umsb.fd 2013/01/14 v3.01 AMS symbols B
) )
No file Schrick-Noah_AG-CG-CR.bbl.
LaTeX Warning: Citation `cook_rage_2018' on page 1 undefined on input line 62.
LaTeX Warning: Citation `cook_rage_2018' on page 1 undefined on input line 62.
Underfull \hbox (badness 1496) in paragraph at lines 62--63
\OT1/ptm/m/n/10 of attack graph generation in regards to its scalability.
[]
LaTeX Warning: Citation `cook_rage_2018' on page 1 undefined on input line 65.
LaTeX Warning: Citation `li_concurrency_2019' on page 1 undefined on input line
66.
LaTeX Warning: Citation `li_combining_2019' on page 1 undefined on input line 6
6.
LaTeX Warning: Citation `zhang_boosting_2017' on page 1 undefined on input line
68.
LaTeX Warning: Citation `ainsworth_graph_2016' on page 1 undefined on input lin
e 68.
LaTeX Warning: Citation `berry_graph_2007' on page 1 undefined on input line 68
.
LaTeX Warning: Citation `cook_rage_2018' on page 1 undefined on input line 68.
LaTeX Warning: Citation `zhang_boosting_2017' on page 1 undefined on input line
80.
Underfull \hbox (badness 2941) in paragraph at lines 83--83
\OT1/ptm/m/it/10 C. Maximizing Performance with Intermediate Database
[]
[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texmf-dist/fon
ts/enc/dvips/base/8r.enc}
]
Underfull \hbox (badness 3343) in paragraph at lines 101--105
[]\OT1/ptm/m/n/10 However, a new issue arose with database storage.
[]
(./Schrick-Noah_AG-CG-CR.bbl
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.3 \end{thebibliography}
?
)
** Conference Paper ** ** Conference Paper **
Before submitting the final camera ready copy, remember to: Before submitting the final camera ready copy, remember to:
@ -503,31 +575,29 @@ Before submitting the final camera ready copy, remember to:
uses only Type 1 fonts and that every step in the generation uses only Type 1 fonts and that every step in the generation
process uses the appropriate paper size. process uses the appropriate paper size.
[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} [2] (./Schrick-Noah_AG-CG-CR.aux)
LaTeX Warning: There were undefined references.
]
(./Schrick-Noah_AG-CG-CR.aux)
Package rerunfilecheck Info: File `Schrick-Noah_AG-CG-CR.out' has not changed. Package rerunfilecheck Info: File `Schrick-Noah_AG-CG-CR.out' has not changed.
(rerunfilecheck) Checksum: 08D99EA39166B2E6D69F2C7CCCC457C2;866. (rerunfilecheck) Checksum: C307A791803EA9C782F9DEB32BA6EA45;1939.
) )
Here is how much of TeX's memory you used: Here is how much of TeX's memory you used:
11909 strings out of 478238 12020 strings out of 476025
187698 string characters out of 5850456 189813 string characters out of 5796533
499692 words of memory out of 5000000 1871388 words of memory out of 5000000
29982 multiletter control sequences out of 15000+600000 32293 multiletter control sequences out of 15000+600000
503999 words of font info for 93 fonts, out of 8000000 for 9000 549188 words of font info for 103 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191 1141 hyphenation exceptions out of 8191
60i,8n,63p,246b,340s stack positions out of 5000i,500n,10000p,200000b,80000s 75i,8n,76p,737b,452s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texmf-dist/fon </usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/
ts/type1/urw/times/utmb8a.pfb></usr/share/texmf-dist/fonts/type1/urw/times/utmb texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/share/texmf-dist/fonts/type1/
i8a.pfb></usr/share/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/share/tex urw/times/utmbi8a.pfb></usr/share/texmf-dist/fonts/type1/urw/times/utmr8a.pfb><
mf-dist/fonts/type1/urw/times/utmri8a.pfb> /usr/share/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
Output written on Schrick-Noah_AG-CG-CR.pdf (1 page, 53355 bytes). Output written on Schrick-Noah_AG-CG-CR.pdf (2 pages, 76375 bytes).
PDF statistics: PDF statistics:
67 PDF objects out of 1000 (max. 8388607) 97 PDF objects out of 1000 (max. 8388607)
55 compressed objects within 1 object stream 82 compressed objects within 1 object stream
11 named destinations out of 1000 (max. 500000) 17 named destinations out of 1000 (max. 500000)
57 words of extra memory for PDF output out of 10000 (max. 10000000) 97 words of extra memory for PDF output out of 10000 (max. 10000000)

View File

@ -1,7 +1,12 @@
\BOOKMARK [1][-]{section.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 1 \BOOKMARK [1][-]{section.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 1
\BOOKMARK [1][-]{section.2}{\376\377\000R\000e\000l\000a\000t\000e\000d\000\040\000W\000o\000r\000k}{}% 2 \BOOKMARK [1][-]{section.2}{\376\377\000R\000e\000l\000a\000t\000e\000d\000\040\000W\000o\000r\000k}{}% 2
\BOOKMARK [1][-]{section.3}{\376\377\000I\000m\000p\000l\000e\000m\000e\000n\000t\000i\000n\000g\000\040\000C\000/\000R}{}% 3 \BOOKMARK [1][-]{section.3}{\376\377\000I\000m\000p\000l\000e\000m\000e\000n\000t\000i\000n\000g\000\040\000C\000/\000R}{}% 3
\BOOKMARK [2][-]{subsection.3.1}{\376\377\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000A\000p\000p\000r\000o\000a\000c\000h}{section.3}% 4 \BOOKMARK [2][-]{subsection.3.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n\000\040\000t\000o\000\040\000I\000n\000t\000e\000r\000m\000e\000d\000i\000a\000t\000e\000\040\000D\000a\000t\000a\000b\000a\000s\000e\000\040\000S\000t\000o\000r\000a\000g\000e}{section.3}% 4
\BOOKMARK [2][-]{subsection.3.2}{\376\377\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000C\000h\000a\000l\000l\000e\000n\000g\000e\000s}{section.3}% 5 \BOOKMARK [2][-]{subsection.3.2}{\376\377\000M\000e\000m\000o\000r\000y\000\040\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\040\000D\000i\000f\000f\000i\000c\000u\000l\000t\000i\000e\000s}{section.3}% 5
\BOOKMARK [1][-]{section.4}{\376\377\000R\000e\000s\000u\000l\000t\000s}{}% 6 \BOOKMARK [2][-]{subsection.3.3}{\376\377\000M\000a\000x\000i\000m\000i\000z\000i\000n\000g\000\040\000P\000e\000r\000f\000o\000r\000m\000a\000n\000c\000e\000\040\000w\000i\000t\000h\000\040\000I\000n\000t\000e\000r\000m\000e\000d\000i\000a\000t\000e\000\040\000D\000a\000t\000a\000b\000a\000s\000e\000\040\000S\000t\000o\000r\000a\000g\000e}{section.3}% 6
\BOOKMARK [1][-]{section.5}{\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n}{}% 7 \BOOKMARK [2][-]{subsection.3.4}{\376\377\000P\000o\000r\000t\000a\000b\000i\000l\000i\000t\000y}{section.3}% 7
\BOOKMARK [2][-]{subsection.3.5}{\376\377\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000A\000p\000p\000r\000o\000a\000c\000h}{section.3}% 8
\BOOKMARK [2][-]{subsection.3.6}{\376\377\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000C\000h\000a\000l\000l\000e\000n\000g\000e\000s}{section.3}% 9
\BOOKMARK [1][-]{section.4}{\376\377\000R\000e\000s\000u\000l\000t\000s}{}% 10
\BOOKMARK [1][-]{section.5}{\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n}{}% 11
\BOOKMARK [1][-]{section*.3}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 12

Binary file not shown.

View File

@ -58,8 +58,66 @@ Attack Graph; Compliance Graph; MPI; High-Performance Computing; Checkpoint/Rest
\section{Related Work} \section{Related Work}
\section{Implementing C/R} \section{Implementing C/R}
\subsection{Introduction to Intermediate Database Storage}
Chapter 2 and the author of \cite{cook_rage_2018} discuss the challenges of attack graph generation in regards to its scalability. Specifically, the author of \cite{cook_rage_2018} displays results from generations based on 11 assets and 11 exploits that lead to 14,200 total states. Generating an attack or compliance graph based on a large network with a multitude of assets and involving a more thorough exploit or compliance violation checking will prevent the entire graph from being stored in memory as originally designed. This Section discusses the challenges of graph generation in regards to memory, and a solution through the implementation of intermediate database storage.
\subsection{Memory Constraint Difficulties}
Previous works with RAGE have been designed around maximizing performance to limit the longer runtime 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}. To this end, the output graph is contained in memory during the generation process to minimize disk writing and reading. This also allows for leveraging the
performance benefits of memory operations, since graph computation relies less on processor speed and more on 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 an initial and final storage mechanism to write the starting and 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 introduces a few complications. When generating large graphs, 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 an HPC
system with substantial amounts of 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 states and their information,
as well as all of the edges.
The frontier quickly becomes a problem point with large graphs that have a large height value, and 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 continues to grow 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.
\subsection{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. This would allow for proper utilization of systems with greater memory, and would reduce fine-tuning of a maximum size variable before database writes on different systems. Since there is an associated cost with preparing
the writes to disk, the communication cost across nodes, the writing to disk itself, and a cost for 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 graph 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, the 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 where the first argument is completely evaluated before processing the second, some performance is gained. The performance gained is due to not having to pass a SQL statement to disk to check the size of the unexplored states table unless the frontier is empty. The original generation design stored new states
into the frontier during the critical section to avoid testing on already-explored states. To follow this design decision, writing new states to the database is also performed during the critical section.
For the graph instance, a check in the critical section determines if the size of the graph 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 option in terms of performance, it was also not feasible when the amount of data to store was large in relation to system memory. 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.
\subsection{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 an HPC 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.
\subsection{Implementation Approach} \subsection{Implementation Approach}
SCR: Adam Moody, Greg Bronevetsky, Kathryn Mohror, Bronis R. de Supinski, Design, Modeling, and Evaluation of a Scalable Multi-level Checkpointing System, LLNL-CONF-427742, Supercomputing 2010, New Orleans, LA, November 2010.
\subsection{Implementation Challenges} \subsection{Implementation Challenges}
\section{Results} \section{Results}