diff --git a/Images/BytesWeek.png b/Images/BytesWeek.png deleted file mode 100644 index 9ebc060..0000000 Binary files a/Images/BytesWeek.png and /dev/null differ diff --git a/Images/BytesWeekZoom.png b/Images/BytesWeekZoom.png deleted file mode 100644 index 3b6f0ea..0000000 Binary files a/Images/BytesWeekZoom.png and /dev/null differ diff --git a/Images/IOWeek.png b/Images/IOWeek.png deleted file mode 100644 index 768e2a3..0000000 Binary files a/Images/IOWeek.png and /dev/null differ diff --git a/Images/IOWeekZoom.pdf b/Images/IOWeekZoom.pdf deleted file mode 100644 index 7a1f371..0000000 Binary files a/Images/IOWeekZoom.pdf and /dev/null differ diff --git a/Images/IOWeekZoom.png b/Images/IOWeekZoom.png deleted file mode 100644 index eeb7860..0000000 Binary files a/Images/IOWeekZoom.png and /dev/null differ diff --git a/Images/SMBHeader.jpg b/Images/SMBHeader.jpg deleted file mode 100644 index a832165..0000000 Binary files a/Images/SMBHeader.jpg and /dev/null differ diff --git a/Images/Thumbs.db b/Images/Thumbs.db deleted file mode 100644 index a599466..0000000 Binary files a/Images/Thumbs.db and /dev/null differ diff --git a/Images/ThursdayBytes.png b/Images/ThursdayBytes.png deleted file mode 100644 index 7fa6cf0..0000000 Binary files a/Images/ThursdayBytes.png and /dev/null differ diff --git a/Images/ThursdayIO.png b/Images/ThursdayIO.png deleted file mode 100644 index 90a166f..0000000 Binary files a/Images/ThursdayIO.png and /dev/null differ diff --git a/Images/totalBufSeen.png b/Images/totalBufSeen.png deleted file mode 100644 index 82622df..0000000 Binary files a/Images/totalBufSeen.png and /dev/null differ diff --git a/Old/README.md b/Old/README.md deleted file mode 100644 index c366e09..0000000 --- a/Old/README.md +++ /dev/null @@ -1,4 +0,0 @@ -TracingPaper -============ - -Tracing Research diff --git a/Old/TracingPaper.aux b/Old/TracingPaper.aux deleted file mode 100644 index 804f3b1..0000000 --- a/Old/TracingPaper.aux +++ /dev/null @@ -1,96 +0,0 @@ -\relax -\citation{Leung2008} -\citation{Anderson2004} -\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}} -\newlabel{Introduction}{{1}{1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Purpose of Tracing}{1}} -\newlabel{Purpose of Tracing}{{1.1}{1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Issues with Tracing}{1}} -\newlabel{Issues with Tracing}{{1.2}{1}} -\citation{Leung2008} -\citation{Leung2008} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Previous Advances Due to Testing}{2}} -\newlabel{Previous Advances Due to Testing}{{1.3}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}The Need for a New Study}{2}} -\newlabel{The Need for a New Study}{{1.4}{2}} -\@writefile{toc}{\contentsline {section}{\numberline {2}Methodology}{2}} -\newlabel{Methodology}{{2}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Effects of System Setup on Tracing}{2}} -\newlabel{Effects of System Setup on Tracing}{{2.1}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Main Challenges}{2}} -\newlabel{Main Challenges}{{2.2}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Interpretation of Data}{2}} -\newlabel{Interpretation of Data}{{2.3}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Selective Importance of Information}{3}} -\newlabel{Selective Importance of Information}{{2.4}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Arbitrary Distribution of Collected Information}{3}} -\newlabel{Arbitrary Distribution of Collected Information}{{2.5}{3}} -\@writefile{toc}{\contentsline {section}{\numberline {3}Tracing System}{3}} -\newlabel{Tracing System}{{3}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Different Stages of Trace}{3}} -\newlabel{Different Stages of Trace}{{3.1}{3}} -\citation{MS-CIFS} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}About the Systems Being Traced}{4}} -\newlabel{About the Systems Being Traced}{{3.2}{4}} -\@writefile{toc}{\contentsline {section}{\numberline {4}Trace Analysis}{4}} -\newlabel{Trace Analysis}{{4}{4}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Request/Response Command Pairing}{4}} -\newlabel{Request/Response Command Pairing}{{4.1}{4}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}IAT Calculation for Request/Response Pairs}{4}} -\newlabel{IAT Calculation for Request/Response Pairs}{{4.2}{4}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}SMB}{4}} -\newlabel{SMB}{{4.3}{4}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Other (e.g. HTML)}{5}} -\newlabel{Other (e.g. HTML)}{{4.4}{5}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Process ID Tracking}{5}} -\newlabel{Process ID Tracking}{{4.5}{5}} -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces \relax \fontsize {9}{11}\selectfont \abovedisplayskip 8.5\p@ plus3\p@ minus4\p@ \abovedisplayshortskip \z@ plus2\p@ \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ \def \leftmargin \leftmargini \topsep 4\p@ plus2\p@ minus2\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep {\leftmargin \leftmargini \topsep 4\p@ plus2\p@ minus2\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip \itshape Rough Sketch of Communication}}{5}} -\newlabel{fig-communication}{{1}{5}} -\citation{Anderson2004} -\citation{Anderson2004} -\citation{Anderson2004} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.5.1}event\_data Structure Tracking}{6}} -\newlabel{event_data Structure Tracking}{{4.5.1}{6}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}Run Patterns}{6}} -\newlabel{Run Patterns}{{4.6}{6}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.7}Locating Performance Bottlenecks}{6}} -\newlabel{Locating Performance Bottlenecks}{{4.7}{6}} -\@writefile{toc}{\contentsline {section}{\numberline {5}Intuition Confirm/Change}{6}} -\newlabel{Intuition Confirm/Change}{{5}{6}} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Characterizations of Different Packet Types}{6}} -\newlabel{Characterizations of Different Packet Types}{{5.1}{6}} -\@writefile{toc}{\contentsline {section}{\numberline {6}Related Work}{6}} -\newlabel{Related Work}{{6}{6}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Anderson 2004 Paper}{6}} -\newlabel{Anderson 2004 Paper}{{6.1}{6}} -\citation{EllardLedlie2003} -\citation{EllardLedlie2003} -\citation{EllardLedlie2003} -\citation{Ellard2003} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Ellard Ledlie 2003}{7}} -\newlabel{Ellard Ledlie 2003}{{6.2}{7}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Ellard 2003}{7}} -\newlabel{Ellard 2003}{{6.3}{7}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4}Leung 2008 Paper}{7}} -\newlabel{Leung 2008 Paper}{{6.4}{7}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.5}Orosz 2013 Paper}{8}} -\newlabel{Orosz 2013 Paper}{{6.5}{8}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.6}Dabir 2008 Paper}{8}} -\newlabel{Dabir 2008 Paper}{{6.6}{8}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.7}Narayan 2010 Paper}{8}} -\newlabel{Narayan 2010 Paper}{{6.7}{8}} -\bibcite{Leung2008}{1} -\bibcite{Ellard2003}{2} -\bibcite{EllardLedlie2003}{3} -\bibcite{Anderson2004}{4} -\bibcite{Orosz2013}{5} -\bibcite{Dabir2008}{6} -\bibcite{Narayan2010}{7} -\bibcite{Skopko2012}{8} -\bibcite{MS-CIFS}{9} -\bibcite{MS-SMB}{10} -\bibcite{MS-SMB2}{11} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.8}Skopko 2012 Paper}{9}} -\newlabel{Skopko 2012 Paper}{{6.8}{9}} -\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{9}} -\newlabel{Conclusion}{{7}{9}} diff --git a/Old/TracingPaper.bbl b/Old/TracingPaper.bbl deleted file mode 100644 index 9b431fa..0000000 --- a/Old/TracingPaper.bbl +++ /dev/null @@ -1,3 +0,0 @@ -\begin{thebibliography}{} - -\end{thebibliography} diff --git a/Old/TracingPaper.bib b/Old/TracingPaper.bib deleted file mode 100644 index 654ea16..0000000 --- a/Old/TracingPaper.bib +++ /dev/null @@ -1,70 +0,0 @@ -@InProceedings{Leung2008, -author = {Leung, Andrew W. and Pasupathy, Shankur and Goodson, Garth and Miller, Ethan L.}, -title = {Measurement and Analysis of Large-Scale Network File System Workloads}, -booktitle = {Proceedings of the 2008 USENIX Annual Technical Conferenece, Boston, MA}, -year = {2008}, -month = {June}, -} - -@InProceedings{Ellard2003, -author = {Ellard, Daniel and Seltzer, Margo}, -title = {NFS Tricks and Benchmarking Traps}, -booktitle = {Proceedings of the annual conference on USENIX Annual Technical Conference}, -pages = {16 - 16}, -year = {2003}, -} - -@InProceedings{EllardLedlie2003, -author = {Ellard, Daniel and Ledlie, Jonathan and Malkani, Pia and Seltzer, Margo}, -title = {Passive NFS Tracing of Email and Research Workloads}, -booktitle = {Proceedings of the 2nd USENIX conference on File and storage technologies}, -pages = {15 - 15}, -year = {2003}, -} - -@InProceedings{Anderson2004, -author = {Anderson, Eric and Kallahalla, Mahesh and Uysal, Mustafa and Swaiminathan, Ram}, -title = {Buttress: A Toolkit for Flexible and High Fidelity I/O Benchmarking}, -booktitle = {Proceedings of the 3rd USENIX Conference of File and Storage Technologies}, -pages = {45 - 58}, -year = {2004}, -month = {April}, -} - -@Misc{MS-CIFS, -title = {Common Internet File System (CIFS) Protocol}, -howpublished = {http://msdn.microsoft.com/en-us/library/ee442092.aspx}, -} - -@Misc{MS-SMB, -title = {Server Message Block (SMB) Protocol}, -howpublished = {http://msdn.microsoft.com/en-us/library/cc246231.aspx}, -} - -@Misc{MS-SMB2, -title = {Server Message Block (SMB) Protocol Versions 2 and 3}, -howpublished = {http://msdn.microsoft.com/en-us/library/cc246482.aspx}, -} - -@Misc{CUDAGuide, -author = {NVIDIA Corporation}, -title = {NVIDIA CUDA Programming Guide}, -month = {Feb}, -year = {2010}, -note = {version 3.0}, -} - -@InProceedings{Volkov2008, -author = {Volkov, v. and Demmel, J.W.}, -title = {Benchmarking GPUs to Tune Dense Linear Algebra}, -booktitle = {ACM/IEEE conference on Supercomputing}, -year = {2008}, -} - -@InProceedings{AbiSort2006, -author = {A. Greß and G. Zachmann}, -title = {GPU-ABiSort: Optimal Parallel Sorting on Stream Architectures}, -booktitle = {Proceedings of the 20th IEEE International Parallel and Distributed Processing Symposium (IPDPS)}, -year = {2006}, -month = {April}, -} diff --git a/Old/TracingPaper.blg b/Old/TracingPaper.blg deleted file mode 100644 index f436784..0000000 --- a/Old/TracingPaper.blg +++ /dev/null @@ -1,14 +0,0 @@ -This is BibTeX, Version 0.99dThe top-level auxiliary file: TracingPaper.aux -The style file: plain.bst -I couldn't open database file body.bib ----line 59 of file TracingPaper.aux - : \bibdata{body - : } -I'm skipping whatever remains of this command -I found no database files---while reading file TracingPaper.aux -Warning--I didn't find a database entry for "Leung2008" -Warning--I didn't find a database entry for "Anderson2004" -Warning--I didn't find a database entry for "MS-CIFS" -Warning--I didn't find a database entry for "EllardLedlie2003" -Warning--I didn't find a database entry for "Ellard2003" -(There were 2 error messages) diff --git a/Old/TracingPaper.log b/Old/TracingPaper.log deleted file mode 100644 index 8aa8a93..0000000 --- a/Old/TracingPaper.log +++ /dev/null @@ -1,285 +0,0 @@ -This is pdfTeX, Version 3.1415926-2.5-1.40.14 (MiKTeX 2.9 64-bit) (preloaded format=pdflatex 2014.12.20) 20 DEC 2014 14:13 -entering extended mode -**TracingPaper.tex -(C:\UConn\TracingPaper\TracingPaper.tex -LaTeX2e <2014/05/01> -Babel <3.9l> and hyphenation patterns for 68 languages loaded. -(C:\UConn\TracingPaper\usetex-v1.cls -Document Class: usetex-v1 2002/10/31 v1.2 usetex Usenix article class -("C:\Program Files\MiKTeX 2.9\tex\latex\base\article.cls" -Document Class: article 2014/09/29 v1.4h Standard LaTeX document class -("C:\Program Files\MiKTeX 2.9\tex\latex\base\size10.clo" -File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) -) -\c@part=\count79 -\c@section=\count80 -\c@subsection=\count81 -\c@subsubsection=\count82 -\c@paragraph=\count83 -\c@subparagraph=\count84 -\c@figure=\count85 -\c@table=\count86 -\abovecaptionskip=\skip41 -\belowcaptionskip=\skip42 -\bibindent=\dimen102 -) -("C:\Program Files\MiKTeX 2.9\tex\latex\endnotes\endnotes.sty" -\c@endnote=\count87 -\endnotesep=\dimen103 -\@enotes=\write3 -) -\@discard=\box26 - -("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\times.sty" -Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) -) -Warning: endnotes support is deprecated (see documentation for details) -\@sectionaboveskip=\skip43 -\@sectionbelowskip=\skip44 -\@subsectionaboveskip=\skip45 -) ("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\epsfig.sty" -Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR) - -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphicx.sty" -Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) - -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\keyval.sty" -Package: keyval 2014/10/28 v1.15 key=value parser (DPC) -\KV@toks@=\toks14 -) -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphics.sty" -Package: graphics 2014/10/28 v1.0p Standard LaTeX Graphics (DPC,SPQR) - -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\trig.sty" -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) -) -("C:\Program Files\MiKTeX 2.9\tex\latex\00miktex\graphics.cfg" -File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive -) -Package graphics Info: Driver file: pdftex.def on input line 91. - -("C:\Program Files\MiKTeX 2.9\tex\latex\pdftex-def\pdftex.def" -File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX - -("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\infwarerr.sty" -Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) -) -("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ltxcmds.sty" -Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) -) -\Gread@gobject=\count88 -)) -\Gin@req@height=\dimen104 -\Gin@req@width=\dimen105 -) -\epsfxsize=\dimen106 -\epsfysize=\dimen107 -) -("C:\Program Files\MiKTeX 2.9\tex\latex\url\url.sty" -\Urlmuskip=\muskip10 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) - -LaTeX Warning: Unused global option(s): - [XXX]. - -(C:\UConn\TracingPaper\TracingPaper.aux) -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Try loading font information for OT1+ptm on input line 54. - -("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\ot1ptm.fd" -File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm. -) -("C:\Program Files\MiKTeX 2.9\tex\context\base\supp-pdf.mkii" -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count89 -\scratchdimen=\dimen108 -\scratchbox=\box27 -\nofMPsegments=\count90 -\nofMParguments=\count91 -\everyMPshowfont=\toks15 -\MPscratchCnt=\count92 -\MPscratchDim=\dimen109 -\MPnumerator=\count93 -\makeMPintoPDFobject=\count94 -\everyMPtoPDFconversion=\toks16 -) -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <14.4> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 76. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <12> on input line 76. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <8> on input line 76. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <6> on input line 76. -LaTeX Font Info: Try loading font information for OT1+pcr on input line 76. - ("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\ot1pcr.fd" -File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr. -) -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 76. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <5> on input line 76. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 78. -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <10> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 98. -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <10> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 98. - [1{F:/ProgramData/MiKTeX/2.9/pdftex/config/pdftex.map} - - -] [2] -Underfull \hbox (badness 1117) in paragraph at lines 139--143 -\OT1/ptm/b/it/10 pcap2ds\OT1/ptm/m/n/10 : The pcap2ds pro-gram reads the con-te -nts - [] - -[3] -File: communications_sketch.png Graphic file (type png) - - -Package pdftex.def Info: communications_sketch.png used on input line 175. -(pdftex.def) Requested size: 180.67499pt x 180.89331pt. - -Underfull \vbox (badness 10000) has occurred while \output is active [] - - [4] -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! - -Underfull \vbox (badness 2443) has occurred while \output is active [] - -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! - -Underfull \vbox (badness 1082) has occurred while \output is active [] - - [5 ] -LaTeX Font Info: Try loading font information for OMS+ptm on input line 211. - - -("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\omsptm.fd" -File: omsptm.fd -) -LaTeX Font Info: Font shape `OMS/ptm/m/n' in size <10> not available -(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 211. - -Underfull \vbox (badness 10000) has occurred while \output is active [] - - [6] -Underfull \vbox (badness 10000) has occurred while \output is active [] - - [7] -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! - -Underfull \vbox (badness 8038) has occurred while \output is active [] - - -Underfull \vbox (badness 3250) has occurred while \output is active [] - - [8] -Underfull \hbox (badness 1215) in paragraph at lines 339--340 -[]\OT1/ptm/m/n/10 4. Dump-cap has op-tion called \OT1/ptm/m/it/10 snaplength \O -T1/ptm/m/n/10 to - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 376--377 -[]\OT1/ptm/m/it/10 Common In-ter-net File Sys-tem (CIFS) Pro- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 376--377 -\OT1/ptm/m/it/10 to-col\OT1/ptm/m/n/10 , urlhttp://msdn.microsoft.com/en- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 378--379 -[]\OT1/ptm/m/it/10 Server Mes-sage Block (SMB) Pro-to- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 378--379 -\OT1/ptm/m/it/10 col\OT1/ptm/m/n/10 , urlhttp://msdn.microsoft.com/en- - [] - -[9] (C:\UConn\TracingPaper\TracingPaper.aux) ) -Here is how much of TeX's memory you used: - 1489 strings out of 493705 - 20062 string characters out of 3144575 - 80912 words of memory out of 3000000 - 4813 multiletter control sequences out of 15000+200000 - 22634 words of font info for 45 fonts, out of 3000000 for 9000 - 1025 hyphenation exceptions out of 8191 - 34i,8n,21p,2810b,437s stack positions out of 5000i,500n,10000p,200000b,50000s -{C:/Program Files/MiKTeX 2.9/font -s/enc/dvips/fontname/8r.enc} -Output written on TracingPaper.pdf (9 pages, 4041453 bytes). -PDF statistics: - 60 PDF objects out of 1000 (max. 8388607) - 0 named destinations out of 1000 (max. 500000) - 6 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/Old/TracingPaper.out b/Old/TracingPaper.out deleted file mode 100644 index 4060be8..0000000 --- a/Old/TracingPaper.out +++ /dev/null @@ -1,23 +0,0 @@ -\BOOKMARK [1][-]{section.1}{Abstract}{}% 1 -\BOOKMARK [1][-]{section.2}{Introduction}{}% 2 -\BOOKMARK [2][-]{subsection.2.1}{Purpose of Tracing}{section.2}% 3 -\BOOKMARK [2][-]{subsection.2.2}{Issues with Tracing}{section.2}% 4 -\BOOKMARK [2][-]{subsection.2.3}{Previous Advances Due to Testing}{section.2}% 5 -\BOOKMARK [2][-]{subsection.2.4}{The Need for a New Study}{section.2}% 6 -\BOOKMARK [1][-]{section.3}{Methodology}{}% 7 -\BOOKMARK [2][-]{subsection.3.1}{Effects of System Setup on Tracing}{section.3}% 8 -\BOOKMARK [2][-]{subsection.3.2}{Main Challenges}{section.3}% 9 -\BOOKMARK [1][-]{section.4}{Tracing System}{}% 10 -\BOOKMARK [2][-]{subsection.4.1}{Different Stages of Trace}{section.4}% 11 -\BOOKMARK [2][-]{subsection.4.2}{About the Systems Being Traced}{section.4}% 12 -\BOOKMARK [1][-]{section.5}{Trace Analysis}{}% 13 -\BOOKMARK [2][-]{subsection.5.1}{SMB}{section.5}% 14 -\BOOKMARK [2][-]{subsection.5.2}{Other \(e.g. HTML\)}{section.5}% 15 -\BOOKMARK [2][-]{subsection.5.3}{Process ID Tracking}{section.5}% 16 -\BOOKMARK [2][-]{subsection.5.4}{Run Patterns}{section.5}% 17 -\BOOKMARK [2][-]{subsection.5.5}{Locating Performance Bottlenecks}{section.5}% 18 -\BOOKMARK [1][-]{section.6}{Intuition Confirm/Change}{}% 19 -\BOOKMARK [2][-]{subsection.6.1}{Characterizations of Different Packet Types}{section.6}% 20 -\BOOKMARK [1][-]{section.7}{Related Work}{}% 21 -\BOOKMARK [2][-]{subsection.7.1}{Leung 2008 Paper}{section.7}% 22 -\BOOKMARK [1][-]{section.8}{Conclusion}{}% 23 diff --git a/Old/TracingPaper.pdf b/Old/TracingPaper.pdf deleted file mode 100644 index 579aabe..0000000 Binary files a/Old/TracingPaper.pdf and /dev/null differ diff --git a/Old/TracingPaper.synctex.gz b/Old/TracingPaper.synctex.gz deleted file mode 100644 index 8eaa953..0000000 Binary files a/Old/TracingPaper.synctex.gz and /dev/null differ diff --git a/Old/TracingPaper.tex b/Old/TracingPaper.tex deleted file mode 100644 index 6c5dcd3..0000000 --- a/Old/TracingPaper.tex +++ /dev/null @@ -1,413 +0,0 @@ -% template-v1.tex: LaTeX2e template for Usenix papers. -% Version: usetex-v1, 31-Oct-2002 -% Revision history at end. - -\documentclass[XXX,endnotes]{usetex-v1} -% Choose the appropriate option: -% -% 1. workingdraft: -% -% For initial submission and shepherding. Features prominent -% date, notice of draft status, page numbers, and annotation -% facilities. The three supported annotation macros are: -% \edannote{text} -- anonymous annotation note -% \begin{ednote}{who} -- annotation note attributed -% text to ``who'' -% \end{ednote} -% \HERE -- a marker that can be left -% in the text and easily -% searched for later -% 2. proof: -% -% A galley proof identical to the final copy except for page -% numbering and proof date on the bottom. Annotations are -% removed. -% -% 3. webversion: -% -% A web-publishable version, uses \docstatus{} to indicate -% publication information (where and when paper was published), -% and page numbers. -% -% 4. finalversion: -% -% The final camera-ready-copy (CRC) version of the paper. -% Published in conference proceedings. This doesn't include -% page numbers, annotations, or draft status (Usenix adds -% headers, footers, and page numbers onto the CRC). -% -% If several are used, the last one in this list wins -% - -% -% In addition, the option "endnotes" permits the use of the -% otherwise-disabled, Usenix-deprecated footnote{} command in -% documents. In this case, be sure to include a -% \makeendnotes command at the end of your document or -% the endnotes will not actually appear. -% - -% These packages are optional, but useful -\usepackage{epsfig} % postscript figures -\usepackage{url} % \url{} command with good linebreaks - -\begin{document} - -\title{Tracing SMB: Searching for Unknowns} - -% document status: submitted to foo, published in bar, etc. -\docstatus{Submitted to Cool Stuff Conference 2002} - -% authors. separate groupings with \and. -\author{ -\authname{Paul A.\ Wortman} -\authaddr{ECE} -\authaddr{University of Connecticut} -\authaddr{ Storrs, CT, 06279} -\authurl{\url{paul.wortman@engr.uconn.edu}} -\authurl{\url{http://host.dom/yoururl}} -\and -\authname{Name Two} -\authaddr{Two's Institution} -\authurl{\url{two@host.dom}} -% -} % end author - -\maketitle - -\begin{abstract} -With any sort of benchmark, there are inherent oversimplifications that are taken into account when first designing these watermarks for advancing technology. In the case of networking benchmarks, many of these simplifications occur when dealing with either the spatial or temporal scaling of systems. While these simplifications were acceptable for the past systems being tested, this facile outlook is no longer acceptable for supplying worthwhile information. Without taking into account the intricacies of current day machines, technology will only be able to progress in the avenues that we know of, while never being able to tackle the bottlenecks that are made apparent through more accurate benchmarking. -\end{abstract} - -\section{Introduction} -\label{Introduction} - -Benchmarks are important for the purpose of developing and taking accurate metrics of current technologies. Benchmarks allow for the stress testing of different aspects of a system (e.g. network, single system). There are three steps to creating a benchmark; first one takes a trace of an existing system. This information is then used to compare the xpected actions of a system (theory) against the traces actions of said system (practice). The next step is to determine which aspects of the trace are most representative of what occured during the tracing of the system, which are used to discover the habits and patterns of said system. This discovered information is used to produce a benchmark, either by running a repeat of the captured traces or by using synthetic benchmark created from the trends found in tracing. - -As seen in previous trace work done [Leung et al, elllard et al, meyer et al], the general perceptions of how computer systems are being used versus their initial purpose have allowed for great strides in eliminating actual bottlenecks rather than spending unnecessary time working on “imagined” bottlenecks. Leung's \textit{et. al.} work led to a series of observations, from the fact that files are rarely re-opened to finding that read-write access patterns are more frequent~\cite{Leung2008}. Without illumination of these underlying actions (e.g. read-write ratios, file death rates, file access rates) these issues can not be readily tackled. The purpose of my work is to tackle this gap and hopefully bring insight to the complexity of network communication. -I/O benchmarking, the process of comparing I/O systems by subjecting them to known workloads, is a widespread practice in the storage industry and serves as the basis for purchasing decisions, performance tuning studies, and marketing campaigns~\cite{Anderson2004}. - -\subsection{Purpose of Tracing} -\label{Purpose of Tracing} -Performing these sorts of investigations and traces is important because without these attempts to better understand the intricacies of computer systems it is much more difficult for humankind to progress its technologies and make optimal use of its resources. Without a better understanding of materials one is not able to improve computer hardware, without a greater understanding of memory one is unable to make effective (and efficient) use of memory resources, and without further investigation one can not hope to strengthen the human understanding of network communication between devices and how the aspects of this communication may be directly effecting the performance of these systems. - -\subsection{Issues with Tracing} -\label{Issues with Tracing} -The majority of benchmarks are facile attempts to represent a known system and structure on which some “original” design/system was tested. While this is all well and good, there are many issues with this sort of approach; two important ones are temporal \& spatial concerns. With the matter of temporal scaling, the main concern is that current day benchmarks do not account for the subtleties of intercommunication between clients \& servers on a network. - -\textit{\textbf{Temporal Scaling}:} Temporal scaling refers to the need to account for the nuances of timing with respect to the run time of “commands”; consiting of computation, communication \& service. \textbf{Example:} If it takes process A 10s to run, and then at time 20s process B occurs, then the concern is how interacting on different systems affects the benchmark of processes A \& B. In these scenarios the nuances being examined are the way in which these processes interact with each other (if at all) and how the limiting factor in their operation is either the result of another process (e.g. process B must wait for process A), the result of the speed capabilities of the network (e.g. inter-arrival time is shorter due to faster transmission speeds) or even no effect (e.g. neither process A nor process B influence each other). A temporally scalable benchmarking system would take these subtleties into account when expanding its operation across multiple machines in a network. An ideal benchmark would be able to induce all three scenarios. -While these temporal issues have been tackled for a single processor (and even somewhat for cases of multi-processor), these same timing issues are not properly handled when dealing with inter-network communication. - -\textit{\textbf{Spatial Scaling}:} Spatial scaling refers to the need to account for the nuances of expanding a benchmark to incorporate a number of (\textbf{n}) machines over a network. While performing a benchmark on a single machine is easily feasible, there is much more to consider when dealing with multiple machines communicating with each other, and the expected requirements of fully testing these aspects. \textbf{Example:} Regardless of the number of machines that are being used, the benchmark should be able to adapt and incorporate many computers into the full testing of the system. A system that properly incorporates spatial scaling is one that would be able to detect (or be told) the number of machines on the system and incorporate communication (possibly even in varying intensities) between all the machines on that system, thus stress testing all communicative actions and aspects (e.g. resource locks, queueing) on the network which in turn allows for accurate representation of bottlenecks. -One finds similar limiting handicaps when dealing with the spatial aspect of computer networks. Due to the single-system nature of most benchmarks there is much simplification taken into account when using these benchmarks to represent a larger network. Common practice is to have this singular benchmark run in parallel across some N computer systems \& to take the result as a facile representation of a parallel/networked system, the simplification being that communication in between the systems is not accounted for. Thus the more interesting data (e.g. inter-network communication) is not accurately represented, and nothing can be done about inter-network bottlenecks because these issues are not even known. - -\subsection{Previous Advances Due to Testing} -\label{Previous Advances Due to Testing} - -\subsection{The Need for a New Study} -\label{The Need for a New Study} -\textbf{Make use of Leung Paper - 'Table 2: Summary of major file system studies over the past two decades'.} As has been pointed out by past work, the design of systems is usually guided by an understanding of the file system workloads and user behavior~\cite{Leung2008}. It is for that reason that new studies are constantly performed by the science community, from large scale studies to individual protocol studies \textit{CITE SUCH STUDIES HERE}. Even within these studies, the information gleaned is only as meaningful as the considerations of how the data is handled. The following are issues that our work hopes to alleviate: there has been no large scale study done on networks for some time, there has been no study on CIFS(Common Internet File System)/SMB(Server Message Block) protocols for even longer, and most importantly these studies have not tackled the spacial \& temporal scaling idiosyncrasies of network communication. It is for these reasons that we have developed this tracing system and have developed new studies for temporal scaling. This was done through process ID tracking which is further explained in section~\ref{Process ID Tracking}. - -\section{Methodology} -\label{Methodology} - -\subsection{Effects of System Setup on Tracing} -\label{Effects of System Setup on Tracing} -When initially designing the tracing system used in this paper, different aspects were taken into account, such as space limitations of the tracing system, packet capture limitations (e.g. file size), and speed limitations of the hardware. The major space limitation that is dealt with in this work is the amount of space that the system has for storing the captured packets, including the resulting ds-file compressions. The limitation encountered in the packet capture system deals with the functional pcap (packet capture file) size, found to be about 750MB. \textit{When attempting to run tshark with larger pcap files (such as 1GB) it was found that once the program ran for some time (typically about 772 files) it would crash (often due to a stack smashing error). Unfortunately the cause of this error has yet to be discovered.} The speed limitations of the hardware are dictated by the hardware being used (e.g. GB capture interface) and the software that makes use of this hardware (e.g. PF\_RING). After all, our data can only be as accurate as the information being captured. - -\subsection{Main Challenges} -\label{Main Challenges} -Challenges include: Interpretation of data, selective importance of information, arbitrary distribution of collected information - -\subsection{Interpretation of Data} -\label{Interpretation of Data} -Unfortunately benchmarks require that the person(s) creating the benchmark determines the interpretation of the data collected. To some degree these interpretations are easy to make (e.g. file system behavior \& user behavior~\cite{Leung2008}) while others are more complicated (e.g. temporal scaling of occurances of read/write), but in all scenarios there is still the requirment for human interpretation of the data. While having humans do the interpretations can be adventageous, a lack of all the "background" information can also lead to incorrectly interpreting the information. The hope of this project is that, despite the possible pitfall of incorrect data interpretation, we will be able to not only find out more about the workings and uses of a network but also produce a meaningful benchmark that will more accurately represent the spacial and temporal aspects of large communication networks. - -\subsection{Selective Importance of Information} -\label{Selective Importance of Information} -Expanding on the previous point about interpretation of data, another human factor of benchmark creation is selecting which information is important or which information will give the greatest insight to the workings on the network. As stated earlier too little information can lead to incorrect conclusions being drawn about the workings on the system, while too much information (and not knowing which information is pertinent) can lead to erroneous conclusions as well. Thus there is a need to strike a balance between what information is important enough to capture (so as not to slow down the capturing process through needless processing) while still obtaining enough information to acquire the bigger picture of what is going on. Unfortunately every step of the tracing process requires a degree of human input to decide what network information will end up providing the most complete picture of the network communication and how to interpret that data into meaningful graphs and tables. - -\subsection{Arbitrary Distribution of Collected Information} -\label{Arbitrary Distribution of Collected Information} -Even when all the information is collected and the most important data has been selected, there is still the issue of what lens should be used to view this information. In terms of the tracing data, the different lenses mainly deal with time: hour, day, week, month, semester, year, etc. Because the data being collected is from an active network, there will be differing activity depending on the time of day, week, and scholastic year. For example, although the first week or so of the year may contain a lot of traffic, this does not mean that trends of that period of time will occur for every week of the year (except perhaps the final week of the semester). The trends and habits of the network will change based on the time of year, time of day, and even depend on the exam schedule. For these reasons one will see different trends depending on the distribution of the data used for analysis, and the truly interesting examination of data requires looking at all different periods of time to see how all these factors play into the communications of the network. - -\section{Tracing System} -\label{Tracing System} - -\subsection{Different Stages of Trace} -\label{Different Stages of Trace} -\textit{\textbf{tshark}}: The tshark program acts as a collection program for grabbing all of the redirected network traffic and saving this packet information into files (i.e. pcap files). In order to help minimize packet loss, as this represents lost data, the '-n' option is used so that network object name resolution is disabled, thus helping simplify the packet capturing process. \textbf{Note:} This section may need to be changed to deal with Dumpcap depending on how testing goes -\\\textit{\textbf{pcap2ds}}: The pcap2ds program reads the contents of each pcap file and rewrites the information in the DataSeries format (i.e. ds files). The most important aspect of this step is that while this re-formatting of information is occurring, there is also a compression of information taking place (i.e., the file is in a "zipped"/"tar-ed" form). Preliminary examination of the numbers show ~99\% compression. The key reason for this compression is that the pcap2ds program goes through the contents of the pcap file and only writes field information that the user believes to be important or useful; not all of the information that is sent through network communications is pertinent to our tracking of client-server interactions. Due to the fundamental nature of this work, there is no need to track every piece of information that is exchanged, only that information which illuminates the behavior of the clients \& servers that function over the network (e.g. read \& write transactions). -\\\textit{\textbf{inotify}}: The inotify program acts as a watchdog for the directory in which tshark is writing its pcap files. As each pcap file is "completed" (i.e., has been written to the full desired size: 750MB) inotify "sees" the 'closed after write' (i.e., a file is closed after writing to it) that occurs and calls pcap2ds on the newly finished pcap file. In order to do this inotify calls the fork\_test() function, where a fork is called and each child process prepares the arguments required for running pcap2ds with a certain protocol (e.g. SMB, NFS, iSCSI), then runs that instance of pcap2ds. It should be noted that while the system is capable of performing pcap2ds using SMB, NFS \& iSCSI protocols, the system currently only deals with the SMB/CIFS protocol. While these forked pcap2ds instances run, inotify continues to monitor the pcap file directory so as not to miss any of the incoming information. -\\\textit{\textbf{analysis}}: The analysis program is used to analyze the data collected in order to gleam meaningful information from the traces captured. Currently this code is used to find the IAT (inter-arrivale time) between requests and responses for given command packets sent over the network. This analysis will eventually incorporate oplocks and other aspects of resource sharing on the network to gain a more complete picture of the network's usage and bottlenecks. - -\subsection{About the Systems Being Traced} -\label{About the Systems Being Traced} -\textit{\textbf{SMB Server, iSCSI Trace, ECS, etc.}}: The SMB/CIFS information being captured comes from the university network. All packet and transaction information is passed through a duplicating switch(\textit{pipe?}) that then allows for the tracing system to capture these packet transactions over a 10 GB(\textit{bytes?bit?}) port. The reason for using 10GB/b hardware is to help ensure that the system is able to capture any \& all information on the network -\\\textit{\textbf{Expectations}}: SMB will be heavily used by students to access their network accounts from any networked computer, along with network access to shared file systems and connected printers. Oplocks will be in heavy use and cause a slowdown of the system for multiuser shared storage space. Authentication of network computers could bottleneck during moments of high traffic (e.g. students all logging in for a class). -\\\textit{\textbf{Potential Difficulties}}: Unable to capture all of the traffic occurring, being able to preform packet analysis (pcap2ds) at a speed greater than or equal to the speed of the incoming information. To some degree the system attempts to alleviate this issue the intial capturing process (i.e. Dumpcap) is writing to a RAMDisk to as to not have the writing of the packets play the limiting factor of the trace. It should be noted that while the pcap2ds code reads from the RAMDisk it is writing to the SSD which has a signifcantly slower write speed. - -\section{Trace Analysis} -\label{Trace Analysis} -The trace analysis is performed by an AnalysisModule code that both processes the ds-files for extraction of information to an event\_data structure and also outputs meaningful information (such as the IAT times between request and response packets) to a file that can be used for further analysis. - -\subsection{Request/Response Command Pairing} -\label{Request/Response Command Pairing} -All comands sent over the network are coupled to an identifying MID/PID/TID/UID tuple. Since the only commands being examined are read or write commands, the identifying characteristic distinguishing a request command packet from a reponse command packet is the addition of an FID field with the sent packet. It is examination of the packets for this FID field that allows the analysis code to distinguish between request \& response command pakets. The pairing is done by examining the identifying tuple and assuming that each tuple-identified system will only send one command at a time (awaiting a response before sending the next command of that same type). - -\subsection{IAT Calculation for Request/Response Pairs} -\label{IAT Calculation for Request/Response Pairs} -The act of Response/Request (ResReq) IAT calculation is performed during the updating of the response-packet tracking within the event\_data structure. The IAT is calculated by finding the difference between the last request packet time (for the identified tuple) \& the time stamp of the currently recorded response packet. Since the time stamps for both the request and response packets are those belonging to the same identifying tuple, then we can assume that the IAT calculated is that of a single request-response pairing. It should be noted that in the scenario of a response packet occuring \textit{before} a request packet has been logged (e.g. not having the data from the originating request packet), the "IAT calculated" is placed in the "OTHER" bucket because the calculated IAT would produce eroneous data (e.g. N/A [0] - Response Time). - -\subsection{SMB} -\label{SMB} -Server Message Block (SMB) is the modern dialect of Common Internet File System (CIFS). The most important aspect of SAMBA (e.g. SMB) is that it is a stateful protocol , i.e. one where the information being sent via SMB has identifying fields that allow for process ID tracking. -\\The structure for sending message payloads in SMB is as follows: each SMB message is split into three blocks. The first block is a fixed-length SMB header. The second block is made up of two variable-length blocks called the SMB parameters. The third block is made up of the SMB data. Depending on the transaction occurring these different blocks are used in different manners. For example, the SMB protocol dictates that error responses \textbf{should} be sent with empty SMB parameters \& SMB data blocks (along with the WordCount \& ByteCount fields set to zero). The purpose of the SMB header is particularly important because the header identifies the message as an SMB message payload~\cite{MS-CIFS}. When used in a response message the header also includes status information that indicates whether and how the command succeeded or failed. The most important aspects of the SMB header, which the tracing system constantly examines, are the PID/MID tuple (for the purpose of identifying a client/server) and the commands value which is passed (notifying our tracing system of the actions taking place on the network). It is through this command field that the process ID tracking system is able to follow the different commands (read/write/general event) that occur and try to find patterns in these network communications. - -\subsection{Other (e.g. HTML)} -\label{Other (e.g. HTML)} - -\subsection{Process ID Tracking} -\label{Process ID Tracking} - -\begin{figure}[htbp] -\begin{centering} -\epsfig{file=communications_sketch, width=2.50in} -\small\itshape -\caption{\small\itshape Rough Sketch of Communication} -\label{fig-communication} -\end{centering} -\end{figure} - -Following these process IDs is as a way to check for intercommunication between two or more processes. In particular, we examine the compute time \& I/O (input/output) time (i.e. time spent in communication; between information arrivals). This is done by examining the inter-arrival times (IAT) between the server \& the client. This is interesting because this information will give us a realistic sense of the data transit time of the network connections being used (e.g. ethernet, firewire, fibre, etc.). Other pertinent information would be how often the client makes requests \& how often this event occurs per client process ID, identifiable by their PID/MID tuple. One could also track the amount of sharing that is occurring between users. The PID is the process identifier and the MID is the multiplex identifier, which is set by the client and is to be used for identifying groups of commands belonging to the same logical thread of operation on the client node. Tracking the IAT is interesting because we want to know the activity of the client (i.e. how many connections/connection requests each client is producing) which can be used to map behavior for low, medium \& high level clients (i.e. amount of traffic being produced) for use in an adaptive benchmarking system. The per client process ID can be used to map the activity of given programs, thus allowing for finer granularity in the produced benchmark (e.g. control down to process types ran by individual client levels). Figure~\ref{fig-communication} shows a rough sketch of communication between a client \& server. The general order that constitutes a full tracking is as follows: (client) computation [process to filesystem], (client) communication [SMB protocol used to send data client→server], (server) timestamping + service [server gets data, logs it, performs service], (server) communication [SMB data send server→client], (client) next computation. Other features of interest are the time between an open \& close, or how many opens/closes occurred in a window (e.g. a period of time). This information could be used as a gauge of current day trends in filesystem usage \& its consequent taxation on the surrounding network. It would also allow for greater insight on the r/w habits of users on a network along with a rough comparison between other registered events that occur on the network. Lastly, though no less important, it would allow us to look at how many occurrences there are of shared files between different users, though one must note that there is some issue (though hopefully rare) of resource locking (e.g. shared files) that needs to be taken into account. This is initially addressed by monitoring any oplock flags that are sent for read \& writes. - -Currently the focus of process ID tracking is to see the number of reads, writes and events that occur due to the actions of clients on the network. This is done by using a tuple of the PID \& MID fields which allows for the identification of client. Since these values are unique and \textbf{MUST} be sent with each packet, this tuple is used as the key for the unordered map that is used to track this information. The structure is as follows: the tuple functions as the key for the pairing of the identifying tuple \& corresponding event\_data structure; which is used to house pertinent information about reads/writes/events. The information stored in the structure is the last time a read/write/event occurred, the total IAT of the observed read/write/events, and the total number of reads/writes/events that have occurred for the identified tuple. The purpose for tracking this information is to profile the read/write “habits” of the users on the network as well as comparing this information against the general events’ inter-arrival times, thus allowing one to see if the read \& write events are being processed differently (e.g. longer or shorter IATs) than the rest of the events occurring on the network. This information also helps provide a preliminary mapping of how the network is used and what sort of traffic populates the communication. - -One should note that there are separate purposes to the PID/MID tuple from the PID/MID/TID/UID tuple. The first tuple (2-tuple) is used to uniquely identify groups of commands belonging to the same logical thread of operation on the client node, while the latter tuple (4-tuple) allows for unique identification for request \& responses that are part of the same transaction. While the PID/MID tuple is mainly what we are interested in, since this allows the following of a single logical thread, there is some interest in making use of the TID/UID tuple because this would allow us to count the number of transactions that occur in a single logical thread. This information could provide interesting information on how the computer systems on the network may be deciding to handle/send commands over the network; e.g. sending multiple commands per transaction, multiple packet commands per transaction, etc. - -\subsubsection{event\_data Structure Tracking} -\label{event_data Structure Tracking} -The purpose of the event\_data structure is to maintain a list of the interesting information associated with each PID/MID/TID/UID tuple seen on the network. It is through this structure that the read \& write times, IATs, and even number of occurances are tracked, along with the request/response IAT pairings. In this manner each tuple has the following information tracked, and both the packet processing is performed and the meaningful data is output from the AnalysisModule code. \textit{\textbf{ADD LIST OF event\_data INFORMATION HERE}}. Although there is a large number of aspects that can be examined when dealing with all of this network information, the current focus of this paper is to examine the possible read/write commands that can occur in via SMB protcols and the IAT times of the request and response packets for these commands. \textit{\textbf{Note:}} Eventually the addition of resource locks WILL be included because it is through this information that we can gain any sort of idea as to the interaction between users/other programs with the resources on the network. - -\subsection{Run Patterns} -\label{Run Patterns} - -\subsection{Locating Performance Bottlenecks} -\label{Locating Performance Bottlenecks} - -\section{Intuition Confirm/Change} -\label{Intuition Confirm/Change} - -\subsection{Characterizations of Different Packet Types} -\label{Characterizations of Different Packet Types} - -\section{Related Work} -\label{Related Work} - -\subsection{Anderson 2004 Paper} -\label{Anderson 2004 Paper} -This paper tackles the temporal inaccuracy of current day benchmarks \& the impact and errors produced due to these naive benchmarking tools. Timing accuracy (issuing I/Os at the desired time) at high I/O rates is difficult to achieve on stock operating systems ~\cite{Anderson2004}. Due to this inaccuracy, these may be introduction of substantial errors into observed system metrics when benchmarking I/O systems; including the use of these inaccurate tools for replaying traces or for producing synthetic workloads with known inter-arrival times ~\cite{Anderson2004}. Anderson \textit{et al.} demonstrates the need for timing accuracy for I/O benchmarking in the context of replaying I/O traces. Anderson \textit{et al.} showed that the error in perceived I/O response times can be as much as +350\% or -15\% by using naive benchmarking tools that have timing inaccuracies ~\cite{Anderson2004}. Anderson \textit{et al.}'s measurements indicated that the accuracy achieved by using standard system calls is not adequate and that errors in issuing I/Os can lead to substantial errors in measurements of I/O statistics such as mean latency and number of outstanding I/Os. -\begin{itemize} - \item 1. Timing in accuracy of benchmakrs can lead to error of +350\% or -15\% in perceived I/O response times. Accuracy achieved using standard system calls \textbf{not} adequate and error in issuing I/Os leads to substantial I/O statistics errors - \item 2. "We currently lack tools to easily and accurately generate complex I/O workloads on modern storage systems". \textit{\textbf{Result}}: May introduce substantial errors in observed system metrics when benchmark I/O systems use inaccurate tools - \item 3. I/O benchmarking widespread practice in storage industry and serves as basis for purchasing decisions, performance tuning studies and marketing campains. "how does a given storage system perform for my workload?" Benchmarking done by comparing I/O systems by subjecting them to known workloads - \item 4. Three general approaches based on trade-off between experimental complexity and resemblence to application - \begin{itemize} - \item 1. Connect system to production/test environment, run application, measure application metrics - \item 2. Collect traces from running application and replay them (after possible modification) back on test I/O system - \item 3. Generate sythetic workload and measure system performance - \end{itemize} - \item 5. Most studies assume issue accuracy using standard system calls adequate. Measures indicate not the case and errorsin issuing I/O can lead to substantial errors in issuing I/O can lead to substantial errors in I/O statistic measurements (e.g. mean latency and number of outstanding I/Os - \item 6. Inaccuracies in scheduling I/Os may result in as much as a factor of 3.5 difference in measured response time and factor of 26 in measured queue sizes; Differences too large to ignore - \item 7. Timing accuracy and high through-put involves three challenges - \begin{itemize} - \item 1. Designing for peak performance requirements - \item 2. Coping with OS timing inaccuracy - \item 3. Working around unpredictable OS behavior - \begin{itemize} - \item 1. Standard OS mechanisms to keep time and issue I/Os; accuracy determined by scheduling granularity of underlying OS - \item 2. Accuracy of I/O scheduling contingent upon thread being scheduled at right time by OS scheduling boundaries \textit{or} flatten bursts - \end{itemize} - \item 4. Unpredictable performance effects due to interrupts; locking, resource contention, kernel scheduling intracacies - \item 5. Examples of performance effects - \begin{itemize} - \item 1. \textit{gettimeofday}() function (SMP) from multiple threads may cause locking to preserve clock invarience - \item 2. Thread moving from one CPU to another difficulty keeping track of wall clock time - \end{itemize} - \item 6. In higher load case the kernel gets more opportunities to schedule threads and hence more I/O issuing threads get scheduled at right time - \end{itemize} -\end{itemize} - -\subsection{Ellard Ledlie 2003} -\label{Ellard Ledlie 2003} -This paper examines two workloads (research and email) to see if they resemble previously studied workloads, as well as performs several new analyses on the NFS protocol. Trace-based analyses have guided and motivated contemporary file system design for the past two decades; where the original analysis of the 4.2BSD file system motivated many of the design decisions of the log-structured file system (LFS)~\cite{EllardLedlie2003}. This paper also takes the stance that since the use of technology has expanded and evolved, this fundamental change in workloads needs to be traced to observe and understand the behavior. "We believe that as the community of computer users has expanded and evolved there has been a fundamental change in the workloads seen by file servers, and that the research community must find ways to observe and measure these new workloads."~\cite{EllardLedlie2003} Some of the contributions of this paper include new techniques for analyzing NFS traces along with tools to gather new anonymized NFS traces. Anderson \textit{et al.} also observed that much of the variance of load characterization statistics over time can be explained by high-level changes in the workload over time; despite, this correlation having been observed in many trace studies, its effects are usually ignored~\cite{EllardLedlie2003}. The most noticeable change in their traces was the difference between peak and off-peak hours of operation. This finding conveyed that time is a strong predictor of operation counts, amount of data transferred, and the read-write ratios for their CAMPUS (e.g. email) workload. - -\subsection{Ellard 2003} -\label{Ellard 2003} -This paper shows that the technology being actively researched gains improvement faster and that the technology that is not improved will end up being the bottleneck of the system. Ellard and Seltzer give the example of how file system performance is steadily losing ground relative to CPU, memory, and even network performance. Even though Ellard and Seltzer began their efforts to accurately measure the impact of changes to their system, they also discovered several other phenomena that interacted with the performance of the disk and file system in ways that had far more impact on the overall performance of the system than their improvements~\cite{Ellard2003}. This paper loosely groups all benchmarks into two categories: micro benchmarks and macro/workload benchmarks, the difference between these two being that micro benchmarks measure specific low-level aspects of system performance while workload benchmarks estimate the performance of the system running a particular workload. - -\subsection{Leung 2008 Paper} -\label{Leung 2008 Paper} -Comparison of file access patterns (RO, WO, RW) -\begin{itemize} - \item 1. Workloads more write-heavy than previously seen - \item 2. RW access patterns much more frequent - \item 3. Bytes transferred in much longer sequential runs - \item 4. Bytes transferred from much larger files - \item 5. Files live order of magnitude longer - \item 6. Most files not reopened once closed; If file re-opened, temporally related to previous closing of file -\end{itemize} -Files are infrequently shared by more than one client; over 76\% files never opened by more than one client. -File sharing rarely concurrent and usually read-only; 5\% of files opened by multiple client are concurrent and 90\% of sharing is read only -\textit{Compared to Previous Studies} -\begin{itemize} - \item 1. Both of our workloads are more write-oriented. Read to write byte ratios have significantly decreased. - \item 2. Read-write access patterns have increased 30-fold relative to read-only and write-only access patterns. - \item 3. Most bytes are transferred in longer sequential runs. These runs are an order of magnitude larger. - \item 4. Most bytes transferred are from larger files. File sizes are up to an order of magnitude larger. - \item 5. Files live an order of magnitude longer. Fewer than 50\% are deleted within a day of creation. -\end{itemize} -\textit{New Observations} -\begin{itemize} - \item 6. Files are rarely re-opened. Over 66\% are re-opened once and 95\% fewer than five times. - \item 7. Files re-opens are temporally related. Over 60\% of re-opens occur within a minute of the first. - \item 8. A small fraction of clients account for a large fraction of file activity. Fewer than 1\% of clients account for 50\% of file requests. - \item 9. Files are infrequently shared by more than one client. Over 76\% of files are never opened by more than one client. - \item 10. File sharing is rarely concurrent and sharing is usually read-only. Only 5\% of files opened by multiple clients are concurrent and 90\% of sharing is read-only. -\end{itemize} -\textit{List of interesting data points (comes from 'Table 3: Summary of trace statistics')} -\begin{itemize} - \item Clients, Days, Data Read (GB), Data Written (GB), R:W I/O Ratio, R:W Byte Ratio, Total Operations - \item Operation Names: Session Create, Open, Close, Read, Write, Flush, Lock, Delete, File Stat, Set Attribute, Directory Read, Rename, Pipe Transactions -\end{itemize} -\textit{Table 4: Comparison of file access patterns - This figure gives good show of Read-Only, Write-Only \& Read-Write} -\\\textit{Observations:} -\begin{itemize} - \item 1) “Both of our workloads are more write-heavy than workloads studied previously” - \item 2) “Read-write access patterns are much more frequent compared to past studies” - \item 3) “Bytes are transferred in much longer sequential runs than in previous studies” - \item 4) Bytes are transferred from much larger files than in previous studies - \item 5) Files live an order of magnitude longer than in previous studies - \item 6) Most files are not re-opened once they are closed - \item 7) If a file is re-opened, it is temporally related to the previous close -\end{itemize} - -\subsection{Orosz 2013 Paper} -\label{Orosz 2013 Paper} -\begin{itemize} - \item 1. Primary bottleneck in current timestamp resolution provided by Kernel is large deviation of deneration (timestamp generation) overhead decreases timestamp precision - \item 2. Simplifying the work of the kernel (i.e. time stamping process) will lead to lower packet loss - \item 3. "In network measurement, the precision of timestamping is a criterion more important than the low clock offset, especially for measuring packet inter-arrival times and round-trip delays at one single point of the network (e.g., active probing)" -\end{itemize} - -\subsection{Dabir 2008 Paper} -\label{Dabir 2008 Paper} -\begin{itemize} - \item 1. "Since Dumpcap is a single threaded application, it was suspected that while it is busy writing to disk, because it is blocked by the I/O call, it is unable to handle newly arriving packets due to the small size of the kernel buffer which quickly fills up." - \item 2. Increasing amount of kernel level buffer associated with capture socket could lead to better capture speeds with Dumpcap -\end{itemize} -\textit{Note}: While (item 1) could be a source of packet loss, until this is tested on a trace system do not assume this is a key limiting factor. It could be that by having Dumpcap write to RAM would alieviate this problem. If this is the case, Dabir \& Matrawy attempted to overcome this limitation by having synchronization between two threads (using two semaphores) where \textbf{one} thread would store/buffer incoming packets and the \textbf{second} thread would write the packet information to disk - -\subsection{Narayan 2010 Paper} -\label{Narayan 2010 Paper} -\begin{itemize} - \item 1. Striping Data in parallel file system can bottleneck if file distribution parameters do not fit access patterns of applications - \item 2. Parallel application have five major models of I/O - \begin{itemize} - \item 1. Single output file shared by multiple nodes by ranges - \item 2. Large sequential read by single node at beginning of computation and large sequential write by single node at end of computation - \item 3. Checkpointing of state - \item 4. Metadata and read intensive - small data I/O, frequent directory lookups for reads - \item 5. Each node outputs to its own file - \end{itemize} - \item 3. Distributing I/O across more nodes not decrease IATs because files striped across all nodes which causes any Read or Write to access all nodes - \item 4. From Figure 5: As we see in the graphs and data provided, as the number of I/O nodes increases (as well as the number of processors/servers) the IATs decrease along with the number of I/O operations increase. This leads to a larger \% of IATs occuring at lower times (e.g. < 1ms) - \item 5. From study on IATs, most parallel applications doing significant I/O increase the I/O frequency as the number of compute nodes increases. \textbf{However}, scaling I/O nodes alone causes issue because increased I/O load is transferred to each I/O storage node - \item 6. "I/O access models that assume independence or randomness between requests are not valid" -\end{itemize} - -\subsection{Skopko 2012 Paper} -\label{Skopko 2012 Paper} -\begin{itemize} - \item 1. Software based capture solutions heavily rely on OS's packet processing mechanism - \item 2. "Dumpcap itself uses relatively small system resources, however it is executed on a general purpose system that shares its resources between the running processes" - \item 3. Drivers typically operate in two different modes: interrupt mode and polling mode; importance of modes is dual - \begin{itemize} - \item 1. timestamps generated at enqueueing process reflect that tiem instead of moment of arrival at physical layer - \item 2. polling causes bursty packet forwarding, thus need for appropriate sized buffers to handle them - \end{itemize} - \item 4. Dumpcap has option called \textit{snaplength} to do truncation; compared to original measurement, smaller snaplength = fewer lost packets by Dumpcap -\end{itemize} - -\section{Conclusion} -\label{Conclusion} -\textit{Do the results show a continuation in the trend of traditional computer science workloads?} - -%references section -%\bibliographystyle{plain} -%\bibliography{body} - -\begin{thebibliography}{99} - -\bibitem{Leung2008} Andrew W.~Leung and Shankur Pasupathy and Garth Goodson and Ethan L.~Miller, -\emph{Measurement and Analysis of Large-Scale Network File System Workloads}, USENIX Annual Technical Conference (June 2008) - -\bibitem{Ellard2003} Daniel Ellard and Margo Seltzer, \emph{NFS Tricks and Benchmarking Traps}, -USENIX Annual Technical Conference (2003) - -\bibitem{EllardLedlie2003} Daniel Ellard and Jonathan Ledlie and Pia Malkani and Margo Seltzer, \emph{ -Passive NFS Tracking of Email and Research Workloads}, 2nd USENIX Conference on File and Storage Technologies (2003) - -\bibitem{Anderson2004} Eric Anderson and Mahesh Kallahalla and Mustafa Uysal and Ram Swaiminnathan, \emph{ -Buttress: A Toolkit for Flexible and High Fidelity I/O Benchmarking}, 3rd USENIX Conference of File and Storage Technologies (April 2004) - -\bibitem{Orosz2013} P\'{e}ter Orosz and Tam\'{a}s Skopk\'{o}, \emph{ -Multi-threaded Packet Timestamping for End-to-End QoS Evaluation}, The Eighth International Conference on Systems and Networks Communications (2013) - -\bibitem{Dabir2008} Abes Dabir and Ashraf Matrawy, \emph{ -Bottleneck Analysis of Traffic Monitoring using Wireshark}, IEEE (2008) - -\bibitem{Narayan2010} Sumit Narayan and John A. Chandy, \emph{ -I/O Characterization on a Parallel File System}, International Symposium on Performance Evaluation of Computer and Telecommunication Systems (2010) - -\bibitem{Skopko2012} Tam\'{a}s Skopk\'{o}, \emph{ -Loss Analysis of the Software-based Packet Capturing}, Carpathian Journal of Electronic and Computer Engineering 5 (2012) - -\bibitem{MS-CIFS} \emph{Common Internet File System (CIFS) Protocol}, url{http://msdn.microsoft.com/en-us/library/ee442092.aspx} - -\bibitem{MS-SMB} \emph{Server Message Block (SMB) Protocol}, url{http://msdn.microsoft.com/en-us/library/cc246231.aspx} - -\bibitem{MS-SMB2} \emph{Server Message Block (SMB) Protocol Versions 2 and 3}, url{http://msdn.microsoft.com/en-us/library/cc246482.aspx} - -\end{thebibliography} - -\end{document} - -% Revision History: -% designed specifically to meet requirements of -% TCL97 committee. -% originally a template for producing IEEE-format articles using LaTeX. -% written by Matthew Ward, CS Department, Worcester Polytechnic Institute. -% adapted by David Beazley for his excellent SWIG paper in Proceedings, -% Tcl 96 -% turned into a smartass generic template by De Clarke, with thanks to -% both the above pioneers -% use at your own risk. Complaints to /dev/null. -% make it two column with no page numbering, default is 10 point - -% Munged by Fred Douglis 10/97 to separate -% the .sty file from the LaTeX source template, so that people can -% more easily include the .sty file into an existing document. Also -% changed to more closely follow the style guidelines as represented -% by the Word sample file. -% This version uses the latex2e styles, not the very ancient 2.09 stuff. -% - -% Revised July--October 2002 by Bart Massey, Chuck Cranor, Erez -% Zadok and the FREENIX Track folks to ``be easier to use and work -% better''. Hah. Major changes include transformation into a -% latex2e class file, better support for drafts, and some -% layout improvements. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% for Ispell: -% LocalWords: workingdraft BCM ednote SubSections xfig SubSection joe diff --git a/Old/communications_sketch.png b/Old/communications_sketch.png deleted file mode 100644 index 7114a03..0000000 Binary files a/Old/communications_sketch.png and /dev/null differ diff --git a/README.md b/README.md deleted file mode 100644 index c366e09..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -TracingPaper -============ - -Tracing Research diff --git a/Templates/template-v1.aux b/Templates/template-v1.aux deleted file mode 100644 index 43da51d..0000000 --- a/Templates/template-v1.aux +++ /dev/null @@ -1,30 +0,0 @@ -\relax -\citation{heidrich} -\citation{perl5} -\citation{otcl} -\citation{ousterhout} -\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}} -\@writefile{toc}{\contentsline {section}{\numberline {2}This is Another Section}{1}} -\@writefile{toc}{\contentsline {section}{\numberline {3}This Section has Sub-Sections}{1}} -\newlabel{sec:secs}{{3}{1}} -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces \relax \fontsize {9}{11}\selectfont \abovedisplayskip 8.5\p@ plus3\p@ minus4\p@ \abovedisplayshortskip \z@ plus2\p@ \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ \def \leftmargin \leftmargini \topsep 4\p@ plus2\p@ minus2\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep {\leftmargin \leftmargini \topsep 4\p@ plus2\p@ minus2\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip \itshape This figure was created with \texttt {xfig}. If you want it to span two columns, use \texttt {figure*} in the LaTeX source file.}}{1}} -\newlabel{fig-sample}{{1}{1}} -\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Wonderful flowchart}}{1}} -\newlabel{fig:flowchart}{{2}{1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}First Sub-Section}{1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Footnotes}{1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Tables and Code}{1}} -\bibcite{beazley}{1} -\bibcite{CitePetName}{2} -\bibcite{embed}{3} -\bibcite{expect}{4} -\bibcite{heidrich}{5} -\bibcite{ousterhout}{6} -\bibcite{perl5}{7} -\bibcite{otcl}{8} -\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces \relax \fontsize {9}{11}\selectfont \abovedisplayskip 8.5\p@ plus3\p@ minus4\p@ \abovedisplayshortskip \z@ plus2\p@ \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ \def \leftmargin \leftmargini \topsep 4\p@ plus2\p@ minus2\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep {\leftmargin \leftmargini \topsep 4\p@ plus2\p@ minus2\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip \itshape Here is a complex table that spans two columns. It shows how also to straddle the table cells.}}{2}} -\newlabel{tab-sample}{{1}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Lists}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Last Sub-Section}{2}} -\@writefile{toc}{\contentsline {section}{\numberline {4}Acknowledgments}{2}} -\@writefile{toc}{\contentsline {section}{\numberline {5}Availability}{2}} diff --git a/Templates/template-v1.ent b/Templates/template-v1.ent deleted file mode 100644 index 65f16eb..0000000 --- a/Templates/template-v1.ent +++ /dev/null @@ -1,8 +0,0 @@ -\@doanenote {1} -macro:->Thus, -this -is -not -a -footnote -\@endanenote diff --git a/Templates/template-v1.log b/Templates/template-v1.log deleted file mode 100644 index a94d017..0000000 --- a/Templates/template-v1.log +++ /dev/null @@ -1,213 +0,0 @@ -This is pdfTeX, Version 3.1415926-2.3-1.40.12 (MiKTeX 2.9 64-bit) (preloaded format=pdflatex 2012.11.13) 27 SEP 2013 16:19 -entering extended mode -**C:/Users/rundeMT/Documents/UConn/Research/Conference*Paper/template-v1.tex -("C:/Users/rundeMT/Documents/UConn/Research/Conference Paper/template-v1.tex" -LaTeX2e <2009/09/24> -Babel and hyphenation patterns for english, afrikaans, ancientgreek, ar -abic, armenian, assamese, basque, bengali, bokmal, bulgarian, catalan, coptic, -croatian, czech, danish, dutch, esperanto, estonian, farsi, finnish, french, ga -lician, german, german-x-2009-06-19, greek, gujarati, hindi, hungarian, iceland -ic, indonesian, interlingua, irish, italian, kannada, kurmanji, lao, latin, lat -vian, lithuanian, malayalam, marathi, mongolian, mongolianlmc, monogreek, ngerm -an, ngerman-x-2009-06-19, nynorsk, oriya, panjabi, pinyin, polish, portuguese, -romanian, russian, sanskrit, serbian, slovak, slovenian, spanish, swedish, swis -sgerman, tamil, telugu, turkish, turkmen, ukenglish, ukrainian, uppersorbian, u -senglishmax, welsh, loaded. -("C:\Users\rundeMT\Documents\UConn\Research\Conference Paper\usetex-v1.cls" -Document Class: usetex-v1 2002/10/31 v1.2 usetex Usenix article class -("C:\Program Files\MiKTeX 2.9\tex\latex\base\article.cls" -Document Class: article 2007/10/19 v1.4h Standard LaTeX document class -("C:\Program Files\MiKTeX 2.9\tex\latex\base\size10.clo" -File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) -) -\c@part=\count79 -\c@section=\count80 -\c@subsection=\count81 -\c@subsubsection=\count82 -\c@paragraph=\count83 -\c@subparagraph=\count84 -\c@figure=\count85 -\c@table=\count86 -\abovecaptionskip=\skip41 -\belowcaptionskip=\skip42 -\bibindent=\dimen102 -) -("C:\Program Files\MiKTeX 2.9\tex\latex\endnotes\endnotes.sty" -\c@endnote=\count87 -\endnotesep=\dimen103 -\@enotes=\write3 -) -\@discard=\box26 - -("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\times.sty" -Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) -) -Warning: endnotes support is deprecated (see documentation for details) -\@sectionaboveskip=\skip43 -\@sectionbelowskip=\skip44 -\@subsectionaboveskip=\skip45 -) ("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\epsfig.sty" -Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR) - -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphicx.sty" -Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) - -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\keyval.sty" -Package: keyval 1999/03/16 v1.13 key=value parser (DPC) -\KV@toks@=\toks14 -) -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphics.sty" -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) - -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\trig.sty" -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) -) -("C:\Program Files\MiKTeX 2.9\tex\latex\00miktex\graphics.cfg" -File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive -) -Package graphics Info: Driver file: pdftex.def on input line 91. - -("C:\Program Files\MiKTeX 2.9\tex\latex\pdftex-def\pdftex.def" -File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX - -("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\infwarerr.sty" -Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) -) -("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ltxcmds.sty" -Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) -) -\Gread@gobject=\count88 -)) -\Gin@req@height=\dimen104 -\Gin@req@width=\dimen105 -) -\epsfxsize=\dimen106 -\epsfysize=\dimen107 -) -("C:\Program Files\MiKTeX 2.9\tex\latex\ltxmisc\url.sty" -\Urlmuskip=\muskip10 -Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc. -) - -LaTeX Warning: Unused global option(s): - [XXX]. - -("C:\Users\rundeMT\Documents\UConn\Research\Conference Paper\template-v1.aux") -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 54. -LaTeX Font Info: ... okay on input line 54. -LaTeX Font Info: Try loading font information for OT1+ptm on input line 54. - -("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\ot1ptm.fd" -File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm. -) -("C:\Program Files\MiKTeX 2.9\tex\context\base\supp-pdf.mkii" -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count89 -\scratchdimen=\dimen108 -\scratchbox=\box27 -\nofMPsegments=\count90 -\nofMParguments=\count91 -\everyMPshowfont=\toks15 -\MPscratchCnt=\count92 -\MPscratchDim=\dimen109 -\MPnumerator=\count93 -\makeMPintoPDFobject=\count94 -\everyMPtoPDFconversion=\toks16 -) -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <14.4> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 76. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <12> on input line 76. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <8> on input line 76. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <6> on input line 76. -LaTeX Font Info: Try loading font information for OT1+pcr on input line 76. - ("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\ot1pcr.fd" -File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr. -) -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 76. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <5> on input line 76. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 78. - - -LaTeX Warning: Leftover edannote command in final version ignored on input line - 88. - - -LaTeX Warning: Leftover ednote environment in final version ignored on input li -ne 91. - - -LaTeX Warning: File `sample.eps' not found on input line 132. - - -! LaTeX Error: Unknown graphics extension: .eps. - -See the LaTeX manual or LaTeX Companion for explanation. -Type H for immediate help. - ... - -l.132 \epsfig{file=sample.eps, width=2.50in} - -? -LaTeX Font Info: Font shape `OT1/pcr/m/it' in size <9> not available -(Font) Font shape `OT1/pcr/m/sl' tried instead on input line 135. - -LaTeX Warning: Leftover HERE command in final version ignored on input line 161 -. - -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <10> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 181. -LaTeX Font Info: Font shape `OT1/pcr/bx/n' in size <10> not available -(Font) Font shape `OT1/pcr/b/n' tried instead on input line 182. -[1{C:/ProgramData/MiKTeX/2.9/pdftex/config/pdftex.map} - - -] -LaTeX Font Info: Try loading font information for OMS+ptm on input line 275. - - -("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\omsptm.fd" -File: omsptm.fd -) -LaTeX Font Info: Font shape `OMS/ptm/m/n' in size <10> not available -(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 275. - -("C:\Users\rundeMT\Documents\UConn\Research\Conference Paper\template-v1.ent") -[2] ("C:\Users\rundeMT\Documents\UConn\Research\Conference Paper\template-v1.au -x") ) -Here is how much of TeX's memory you used: - 1463 strings out of 494049 - 19698 string characters out of 3146058 - 78442 words of memory out of 3000000 - 4745 multiletter control sequences out of 15000+200000 - 24237 words of font info for 51 fonts, out of 3000000 for 9000 - 715 hyphenation exceptions out of 8191 - 34i,8n,21p,731b,435s stack positions out of 5000i,500n,10000p,200000b,50000s -{C:/Program Files/MiKTeX 2.9/fonts/enc/dvips/fontname/8r.enc} -Output written on template-v1.pdf (2 pages, 96328 bytes). -PDF statistics: - 38 PDF objects out of 1000 (max. 8388607) - 0 named destinations out of 1000 (max. 500000) - 1 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/Templates/template-v1.pdf b/Templates/template-v1.pdf deleted file mode 100644 index 791c38e..0000000 Binary files a/Templates/template-v1.pdf and /dev/null differ diff --git a/Templates/template-v1.synctex.gz b/Templates/template-v1.synctex.gz deleted file mode 100644 index ca9f0e7..0000000 Binary files a/Templates/template-v1.synctex.gz and /dev/null differ diff --git a/Templates/template-v1.tex b/Templates/template-v1.tex deleted file mode 100644 index 129d23e..0000000 --- a/Templates/template-v1.tex +++ /dev/null @@ -1,378 +0,0 @@ -% template-v1.tex: LaTeX2e template for Usenix papers. -% Version: usetex-v1, 31-Oct-2002 -% Revision history at end. - -\documentclass[XXX,endnotes]{usetex-v1} -% Choose the appropriate option: -% -% 1. workingdraft: -% -% For initial submission and shepherding. Features prominent -% date, notice of draft status, page numbers, and annotation -% facilities. The three supported annotation macros are: -% \edannote{text} -- anonymous annotation note -% \begin{ednote}{who} -- annotation note attributed -% text to ``who'' -% \end{ednote} -% \HERE -- a marker that can be left -% in the text and easily -% searched for later -% 2. proof: -% -% A galley proof identical to the final copy except for page -% numbering and proof date on the bottom. Annotations are -% removed. -% -% 3. webversion: -% -% A web-publishable version, uses \docstatus{} to indicate -% publication information (where and when paper was published), -% and page numbers. -% -% 4. finalversion: -% -% The final camera-ready-copy (CRC) version of the paper. -% Published in conference proceedings. This doesn't include -% page numbers, annotations, or draft status (Usenix adds -% headers, footers, and page numbers onto the CRC). -% -% If several are used, the last one in this list wins -% - -% -% In addition, the option "endnotes" permits the use of the -% otherwise-disabled, Usenix-deprecated footnote{} command in -% documents. In this case, be sure to include a -% \makeendnotes command at the end of your document or -% the endnotes will not actually appear. -% - -% These packages are optional, but useful -\usepackage{epsfig} % postscript figures -\usepackage{url} % \url{} command with good linebreaks - -\begin{document} - -\title{Wonderful: A Terrific Application and Fascinating Paper} - -% document status: submitted to foo, published in bar, etc. -\docstatus{Submitted to Cool Stuff Conference 2002} - -% authors. separate groupings with \and. -\author{ -\authname{Your N.\ Here} -\authaddr{Your Department} -\authaddr{Your Institution} -\authaddr{ Your City, State, ZIP} -\authurl{\url{yourname@host.dom}} -\authurl{\url{http://host.dom/yoururl}} -\and -\authname{Name Two} -\authaddr{Two's Institution} -\authurl{\url{two@host.dom}} -% -} % end author - -\maketitle - -\begin{abstract} - Your abstract text goes here. Just a few facts. Whet our - appetites. -\end{abstract} - -\section{Introduction} - -A paragraph of text goes here. Lots of text. Plenty of interesting -text. Lots of text. Lots of text. Lots. \edannote{We can make - notes here on the workingdraft, after which they must be removed. - This one is anonymous.} - -More fascinating text. Features galore, plethora of promises. -\begin{ednote}{BCM} - This ednote is marked as mine. -\end{ednote} - -\section{This is Another Section} - -Some embedded literal typeset code is shown below. Note that line or -page breaks can occur in the middle of code typeset this way. To -avoid such line or page breaks, put the code inside a figure -environment instead. - -\begin{small} -\begin{verbatim} -int wrap_fact(ClientData clientData, - Tcl_Interp *interp, - int argc, char *argv[]) { - int result; - int arg0; - if (argc != 2) { - interp->result = "wrong # args"; - return TCL_ERROR; - } - arg0 = atoi(argv[1]); - result = fact(arg0); - sprintf(interp->result,"%d",result); - return TCL_OK; -} -\end{verbatim} -\end{small} - -Now we're going to cite somebody. Watch for the cite tag. Here it -comes~\cite{heidrich,perl5,otcl}. And a bit later we will cite -another one. Stay tuned~\cite{ousterhout}. - -\section{This Section has Sub-Sections} -\label{sec:secs} - -This text is the introduction to Section~\ref{sec:secs}. - -\begin{figure}[htbp] -\begin{centering} -\epsfig{file=sample.eps, width=2.50in} -\small\itshape -\caption{\small\itshape This figure was created with \texttt{xfig}. If you -want it to span two columns, use \texttt{figure*} in the LaTeX source file.} -\label{fig-sample} -\end{centering} -\end{figure} - -\subsection{First Sub-Section} - -Here's a typical figure reference. Figure~\ref{fig:flowchart} is -centered at the top of the column. It may be scaled. If so, you may -have to tweak the numbers to get the size you want. It may be - hard to do this. - - -\begin{figure}[tb] - \begin{center} -% \psfig{file=figure.eps,scale=0.45} % PostScript figure - \texttt{} % remove this line - \caption{Wonderful flowchart} - \label{fig:flowchart} - \end{center} -\end{figure} - -This text came after the figure, so we'll casually refer to -Figure~\ref{fig:flowchart} as we go on our merry way. - -% you need to work on the workingdraft document right here soon -\HERE - -\subsection{Footnotes} - -For the Usenix style, footnotes are not allowed: endnotes -are, although they are -deprecated.\ifhasendnotes\footnote{Thus, this is not a -footnote}\fi\ Try to avoid both footnotes and endnotes in -technical writing. It is best to use parenthetical or -subordinate clauses instead. If you want endnotes anyhow, -use the "endnotes" documentstyle option and include a -\verb+\makeendnotes+ command at the end of your document. -You will still be whined at. - -\subsection{Tables and Code} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{table*}[htbp] -\centering -\begin{tabular}{|c||c|c|c|c||c|c|c|c|c|c|l|}\hline - {\bf Cloak} - & \multicolumn{4}{c||}{\textbf{User \texttt{ezk}}} - & \multicolumn{6}{c|}{\textbf{User \texttt{joe}}} - & \multicolumn{1}{c|}{\textbf{Meaning}} -\\\cline{2-11} - {\bf Mask} - &{J1} - &{J2} - &{J3} - &{J4} - &{E5} - &{E6} - &{E7} - &{E8} - &{E9} - &{E10} - &\multicolumn{1}{c|}{\textbf{for files J1--E10}} -\\\hline - {+000} - & - & - & - & - & - & - & - & - & - & - & Show files to owners only -\\\hline - {+007} - & - & - &{A} - & - & - & - &{A} - &{A} - & - & - & Show files to owners and others -\\\hline - {+070} - & - &{A} - &{A} - & - &{A} - & - &{A} - &{A} - & - & - & Show files to owners and group members -\\\hline -\end{tabular} -\small\itshape -\caption{\small\itshape Here is a complex table that spans two columns. It - shows how also to straddle the table cells.} -\label{tab-sample} -\end{table*} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -It can get tricky typesetting Tcl and C code in LaTeX because they -share a lot of mystical feelings about certain magic characters. You -will have to do a lot of escaping to typeset curly braces and percent -signs, for example, like this: ``The \verb@%module@ directive sets -the name of the initialization function. This is optional, but is -recommended if building a Tcl 7.5 module. Everything inside the -\verb@%{@, \verb@%}@ block is copied directly into the -output. allowing the inclusion of header files and additional C code.'' - -Sometimes you want to really call attention to a piece of text. You -can center it in the column like this: -\begin{center} -\verb@_1008e614_Vector_p@ -\end{center} -and people will really notice it. - -Now this is an ingenious way to get a forced space. \texttt{Real~$*$} -and \texttt{double~$*$} are equivalent. - - -\subsection{Lists} - -You can make lists using LaTeX's listing environments -(\texttt{itemize}, \texttt{enumerate}, and \texttt{description}). -These environments can be nested (e.g. an itemized list can be an -element of an enumerated list). - -An \texttt{itemize} list looks like this: -\begin{itemize} -\item The map structure defines an address space. -\item The page structure manages a page of physical memory. -\end{itemize} - -An \texttt{enumerate} list is like an itemized list, except that it is -numbered: -\begin{enumerate} -\item The map structure defines an address space. -\item The page structure manages a page of physical memory. -\end{enumerate} - -A \texttt{description} list uses words rather bullets or numbers: -\begin{description} -\item[\textbf{map structure:}] defines an address space. -\item[\textbf{page structure:}] manages a page of physical memory. -\end{description} - -\subsection{Last Sub-Section} - -Well, it's getting boring isn't it. This is the last subsection -before we wrap it up. - -\section{Acknowledgments} - -A polite author always includes acknowledgments. You -should thank everyone, -especially those who funded the work. - -\section{Availability} - -It is great news if this section can say that your -app, WonderfulApp is free -software, available via anonymous FTP from -\url{ftp://ftp.dom/pub/myname/Wonderful}. Also, it's even better -when you can write that information is also available on the Wonderful -homepage at \url{http://www.dom/~myname/SWIG}. - -Now we get serious and fill in those references. Remember you will -have to run latex twice on the document in order to resolve those -cite tags you met earlier. This is where they get resolved. -We've preserved some real ones in addition to the template-speak. -After the bibliography you are DONE. - -% This is where the endnotes (see the ``footnote'' above) -% are filled in. Use this only if you have endnotes. -\ifhasendnotes\makeendnotes\fi - -\begin{thebibliography}{99} - -\bibitem{beazley} D.~M.~Beazley and P.~S.~Lomdahl, -\emph{Message-Passing Multi-Cell Molecular Dynamics on the Connection -Machine 5}, Parall.~Comp.~ 20 (1994) p. 173-195. - -\bibitem{CitePetName} A.~N.~Author and A.~N.~Other, -\emph{Title of Riveting Article}, JournalName VolNum (Year) p. Start-End - -\bibitem{embed} Embedded Tk, \url{ftp://ftp.vnet.net/pub/users/drh/ET.html} - -\bibitem{expect} Don Libes, \emph{Exploring Expect}, O'Reilly \& Associates, Inc. (1995). - -\bibitem{heidrich} Wolfgang Heidrich and Philipp Slusallek, \emph{ -Automatic Generation of Tcl Bindings for C and C++ Libraries.}, -USENIX 3rd Annual Tcl/Tk Workshop (1995). - -\bibitem{ousterhout} John K. Ousterhout, \emph{Tcl and the Tk Toolkit}, Addison-Wesley Publishers (1994). - -\bibitem{perl5} Perl5 Programmers reference, -\url{http://www.metronet.com/perlinfo/doc}, (1996). - -\bibitem{otcl} D. Wetherall, C. J. Lindblad, ``Extending Tcl for -Dynamic Object-Oriented Programming'', Proceedings of the USENIX 3rd Annual Tcl/Tk Workshop (1995). - -\end{thebibliography} - -\end{document} - -% Revision History: -% designed specifically to meet requirements of -% TCL97 committee. -% originally a template for producing IEEE-format articles using LaTeX. -% written by Matthew Ward, CS Department, Worcester Polytechnic Institute. -% adapted by David Beazley for his excellent SWIG paper in Proceedings, -% Tcl 96 -% turned into a smartass generic template by De Clarke, with thanks to -% both the above pioneers -% use at your own risk. Complaints to /dev/null. -% make it two column with no page numbering, default is 10 point - -% Munged by Fred Douglis 10/97 to separate -% the .sty file from the LaTeX source template, so that people can -% more easily include the .sty file into an existing document. Also -% changed to more closely follow the style guidelines as represented -% by the Word sample file. -% This version uses the latex2e styles, not the very ancient 2.09 stuff. -% - -% Revised July--October 2002 by Bart Massey, Chuck Cranor, Erez -% Zadok and the FREENIX Track folks to ``be easier to use and work -% better''. Hah. Major changes include transformation into a -% latex2e class file, better support for drafts, and some -% layout improvements. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% for Ispell: -% LocalWords: workingdraft BCM ednote SubSections xfig SubSection joe diff --git a/Thumbs.db b/Thumbs.db deleted file mode 100644 index 92fd169..0000000 Binary files a/Thumbs.db and /dev/null differ diff --git a/TracingPaper.aux b/TracingPaper.aux deleted file mode 100644 index 9b8ebad..0000000 --- a/TracingPaper.aux +++ /dev/null @@ -1,123 +0,0 @@ -\relax -\citation{Anderson2004} -\citation{Leung2008} -\citation{Orosz2013} -\citation{Dabir2008} -\citation{Skopko2012} -\citation{Anderson2004} -\citation{Orosz2013} -\citation{PFRINGMan} -\citation{Ellard2003} -\citation{EllardLedlie2003} -\citation{Anderson2004} -\citation{Orosz2013} -\citation{Dabir2008} -\citation{Skopko2012} -\citation{Vogels1999} -\citation{Traeger2008} -\citation{Ruemmler1993} -\citation{Roselli2000} -\citation{Traeger2008} -\citation{Ruemmler1993} -\citation{Ellard2003} -\citation{EllardLedlie2003} -\citation{Douceur1999} -\citation{Leung2008} -\citation{Ellard2003} -\citation{Roselli2000} -\citation{Leung2008} -\citation{Leung2008} -\citation{Ellard2003} -\citation{Anderson2004} -\citation{Roselli2000} -\citation{Vogels1999} -\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}} -\newlabel{Introduction}{{1}{1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Issues with Tracing}{1}} -\newlabel{Issues with Tracing}{{1.1}{1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Previous Advances Due to Testing}{1}} -\newlabel{Previous Advances Due to Testing}{{1.2}{1}} -\citation{Orosz2013} -\citation{Skopko2012} -\citation{PFRING} -\citation{PFRINGMan} -\citation{PFRING} -\citation{PFRINGMan} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Contributions}{2}} -\newlabel{Contributions}{{1.3}{2}} -\@writefile{toc}{\contentsline {section}{\numberline {2}Trace Collection}{2}} -\newlabel{Trace Collection}{{2}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Procedure}{2}} -\newlabel{Procedure}{{2.1}{2}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Capture}{2}} -\newlabel{Capture}{{2.1.1}{2}} -\citation{MS-CIFS} -\citation{Orosz2013} -\citation{Dabir2008} -\citation{Skopko2012} -\citation{Orosz2013} -\citation{Ellard2003} -\citation{Anderson2004} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Collection}{3}} -\newlabel{Collection}{{2.1.2}{3}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.3}Dissection/Analysis}{3}} -\newlabel{Dissection/Analysis}{{2.1.3}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}ID Tracking}{3}} -\newlabel{ID Tracking}{{2.2}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}SMB}{3}} -\newlabel{SMB}{{2.3}{3}} -\citation{Ellard2003} -\citation{Leung2008} -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces SMB Header Specification.}}{4}} -\newlabel{fig:SMBSpec}{{1}{4}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}System Limitations and Challenges}{4}} -\newlabel{System Limitations and Challenges}{{2.4}{4}} -\citation{Traeger2008} -\@writefile{toc}{\contentsline {section}{\numberline {3}Trace Analysis}{5}} -\newlabel{Trace Analysis}{{3}{5}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}System Information and Predictions}{5}} -\newlabel{System Information and Predictions}{{3.1}{5}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Run Patterns}{5}} -\newlabel{Run Patterns}{{3.2}{5}} -\citation{Douceur1999} -\citation{RuemmlerWilkes1993} -\citation{Bolosky2007} -\citation{EllardLedlie2003} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Locating Performance Bottlenecks}{6}} -\newlabel{Locating Performance Bottlenecks}{{3.3}{6}} -\@writefile{toc}{\contentsline {section}{\numberline {4}Intuition Confirm/Change}{6}} -\newlabel{Intuition Confirm/Change}{{4}{6}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Characterizations of Different Behaviors}{6}} -\newlabel{Characterizations of Different Behaviors}{{4.1}{6}} -\@writefile{toc}{\contentsline {section}{\numberline {5}Conclusion}{6}} -\newlabel{Conclusion}{{5}{6}} -\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces R/W IO over three weeks.}}{7}} -\newlabel{fig:IOWeek}{{2}{7}} -\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Btyes throughput over three weeks.}}{7}} -\newlabel{fig:BytesWeek}{{3}{7}} -\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Zoom in on IOs seen.}}{7}} -\newlabel{fig:IOWeek}{{4}{7}} -\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Zoom in on bytes seen.}}{7}} -\newlabel{fig:BytesWeekZoom}{{5}{7}} -\bibcite{Leung2008}{1} -\bibcite{Ellard2003}{2} -\bibcite{EllardLedlie2003}{3} -\bibcite{Anderson2004}{4} -\bibcite{Orosz2013}{5} -\bibcite{Dabir2008}{6} -\bibcite{Narayan2010}{7} -\bibcite{Skopko2012}{8} -\bibcite{MS-CIFS}{9} -\bibcite{MS-SMB}{10} -\bibcite{MS-SMB2}{11} -\bibcite{Roselli2000}{12} -\bibcite{Vogels1999}{13} -\bibcite{Meyer2012}{14} -\bibcite{PFRING}{15} -\bibcite{PFRINGMan}{16} -\bibcite{Traeger2008}{17} -\bibcite{Kavalanekar2009}{18} -\bibcite{Douceur1999}{19} -\bibcite{Ruemmler1993}{20} -\bibcite{RuemmlerWilkes1993}{21} -\bibcite{Bolosky2007}{22} diff --git a/TracingPaper.bbl b/TracingPaper.bbl deleted file mode 100644 index 9b431fa..0000000 --- a/TracingPaper.bbl +++ /dev/null @@ -1,3 +0,0 @@ -\begin{thebibliography}{} - -\end{thebibliography} diff --git a/TracingPaper.bib b/TracingPaper.bib deleted file mode 100644 index 654ea16..0000000 --- a/TracingPaper.bib +++ /dev/null @@ -1,70 +0,0 @@ -@InProceedings{Leung2008, -author = {Leung, Andrew W. and Pasupathy, Shankur and Goodson, Garth and Miller, Ethan L.}, -title = {Measurement and Analysis of Large-Scale Network File System Workloads}, -booktitle = {Proceedings of the 2008 USENIX Annual Technical Conferenece, Boston, MA}, -year = {2008}, -month = {June}, -} - -@InProceedings{Ellard2003, -author = {Ellard, Daniel and Seltzer, Margo}, -title = {NFS Tricks and Benchmarking Traps}, -booktitle = {Proceedings of the annual conference on USENIX Annual Technical Conference}, -pages = {16 - 16}, -year = {2003}, -} - -@InProceedings{EllardLedlie2003, -author = {Ellard, Daniel and Ledlie, Jonathan and Malkani, Pia and Seltzer, Margo}, -title = {Passive NFS Tracing of Email and Research Workloads}, -booktitle = {Proceedings of the 2nd USENIX conference on File and storage technologies}, -pages = {15 - 15}, -year = {2003}, -} - -@InProceedings{Anderson2004, -author = {Anderson, Eric and Kallahalla, Mahesh and Uysal, Mustafa and Swaiminathan, Ram}, -title = {Buttress: A Toolkit for Flexible and High Fidelity I/O Benchmarking}, -booktitle = {Proceedings of the 3rd USENIX Conference of File and Storage Technologies}, -pages = {45 - 58}, -year = {2004}, -month = {April}, -} - -@Misc{MS-CIFS, -title = {Common Internet File System (CIFS) Protocol}, -howpublished = {http://msdn.microsoft.com/en-us/library/ee442092.aspx}, -} - -@Misc{MS-SMB, -title = {Server Message Block (SMB) Protocol}, -howpublished = {http://msdn.microsoft.com/en-us/library/cc246231.aspx}, -} - -@Misc{MS-SMB2, -title = {Server Message Block (SMB) Protocol Versions 2 and 3}, -howpublished = {http://msdn.microsoft.com/en-us/library/cc246482.aspx}, -} - -@Misc{CUDAGuide, -author = {NVIDIA Corporation}, -title = {NVIDIA CUDA Programming Guide}, -month = {Feb}, -year = {2010}, -note = {version 3.0}, -} - -@InProceedings{Volkov2008, -author = {Volkov, v. and Demmel, J.W.}, -title = {Benchmarking GPUs to Tune Dense Linear Algebra}, -booktitle = {ACM/IEEE conference on Supercomputing}, -year = {2008}, -} - -@InProceedings{AbiSort2006, -author = {A. Greß and G. Zachmann}, -title = {GPU-ABiSort: Optimal Parallel Sorting on Stream Architectures}, -booktitle = {Proceedings of the 20th IEEE International Parallel and Distributed Processing Symposium (IPDPS)}, -year = {2006}, -month = {April}, -} diff --git a/TracingPaper.blg b/TracingPaper.blg deleted file mode 100644 index f436784..0000000 --- a/TracingPaper.blg +++ /dev/null @@ -1,14 +0,0 @@ -This is BibTeX, Version 0.99dThe top-level auxiliary file: TracingPaper.aux -The style file: plain.bst -I couldn't open database file body.bib ----line 59 of file TracingPaper.aux - : \bibdata{body - : } -I'm skipping whatever remains of this command -I found no database files---while reading file TracingPaper.aux -Warning--I didn't find a database entry for "Leung2008" -Warning--I didn't find a database entry for "Anderson2004" -Warning--I didn't find a database entry for "MS-CIFS" -Warning--I didn't find a database entry for "EllardLedlie2003" -Warning--I didn't find a database entry for "Ellard2003" -(There were 2 error messages) diff --git a/TracingPaper.log b/TracingPaper.log deleted file mode 100644 index 1c993b6..0000000 --- a/TracingPaper.log +++ /dev/null @@ -1,317 +0,0 @@ -This is pdfTeX, Version 3.1415926-2.5-1.40.14 (MiKTeX 2.9 64-bit) (preloaded format=pdflatex 2014.12.22) 21 APR 2015 12:19 -entering extended mode -**C:/Users/Wortman/Documents/UConn/TracingPaper/TracingPaper.tex -(C:/Users/Wortman/Documents/UConn/TracingPaper/TracingPaper.tex -LaTeX2e <2014/05/01> -Babel <3.9l> and hyphenation patterns for 68 languages loaded. -(C:\Users\Wortman\Documents\UConn\TracingPaper\usetex-v1.cls -Document Class: usetex-v1 2002/10/31 v1.2 usetex Usenix article class -("C:\Program Files\MiKTeX 2.9\tex\latex\base\article.cls" -Document Class: article 2014/09/29 v1.4h Standard LaTeX document class -("C:\Program Files\MiKTeX 2.9\tex\latex\base\size10.clo" -File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) -) -\c@part=\count79 -\c@section=\count80 -\c@subsection=\count81 -\c@subsubsection=\count82 -\c@paragraph=\count83 -\c@subparagraph=\count84 -\c@figure=\count85 -\c@table=\count86 -\abovecaptionskip=\skip41 -\belowcaptionskip=\skip42 -\bibindent=\dimen102 -) -("C:\Program Files\MiKTeX 2.9\tex\latex\endnotes\endnotes.sty" -\c@endnote=\count87 -\endnotesep=\dimen103 -\@enotes=\write3 -) -\@discard=\box26 - -("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\times.sty" -Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) -) -Warning: endnotes support is deprecated (see documentation for details) -\@sectionaboveskip=\skip43 -\@sectionbelowskip=\skip44 -\@subsectionaboveskip=\skip45 -) ("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\epsfig.sty" -Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR) - -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphicx.sty" -Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) - -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\keyval.sty" -Package: keyval 2014/10/28 v1.15 key=value parser (DPC) -\KV@toks@=\toks14 -) -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphics.sty" -Package: graphics 2014/10/28 v1.0p Standard LaTeX Graphics (DPC,SPQR) - -("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\trig.sty" -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) -) -("C:\Program Files\MiKTeX 2.9\tex\latex\00miktex\graphics.cfg" -File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive -) -Package graphics Info: Driver file: pdftex.def on input line 91. - -("C:\Program Files\MiKTeX 2.9\tex\latex\pdftex-def\pdftex.def" -File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX - -("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\infwarerr.sty" -Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) -) -("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ltxcmds.sty" -Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) -) -\Gread@gobject=\count88 -)) -\Gin@req@height=\dimen104 -\Gin@req@width=\dimen105 -) -\epsfxsize=\dimen106 -\epsfysize=\dimen107 -) -("C:\Program Files\MiKTeX 2.9\tex\latex\url\url.sty" -\Urlmuskip=\muskip10 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) - -LaTeX Warning: Unused global option(s): - [XXX]. - -(C:\Users\Wortman\Documents\UConn\TracingPaper\TracingPaper.aux - -LaTeX Warning: Label `fig:IOWeek' multiply defined. - -) -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Try loading font information for OT1+ptm on input line 56. - ("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\ot1ptm.fd" -File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm. -) -("C:\Program Files\MiKTeX 2.9\tex\context\base\supp-pdf.mkii" -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count89 -\scratchdimen=\dimen108 -\scratchbox=\box27 -\nofMPsegments=\count90 -\nofMParguments=\count91 -\everyMPshowfont=\toks15 -\MPscratchCnt=\count92 -\MPscratchDim=\dimen109 -\MPnumerator=\count93 -\makeMPintoPDFobject=\count94 -\everyMPtoPDFconversion=\toks16 -) -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <14.4> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 78. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <12> on input line 78. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <8> on input line 78. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <6> on input line 78. -LaTeX Font Info: Try loading font information for OT1+pcr on input line 78. - ("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\ot1pcr.fd" -File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr. -) -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 78. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <5> on input line 78. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 80. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <10> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 81. - -Underfull \hbox (badness 10000) in paragraph at lines 81--86 - - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 91--94 - - [] - -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! - -Underfull \hbox (badness 10000) in paragraph at lines 107--110 - - [] - -[1{C:/ProgramData/MiKTeX/2.9/pdftex/config/pdftex.map} - - -] [2] -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <10> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 147. - -<./images/SMBHeader.jpg, id=12, 401.5pt x 197.73875pt> -File: ./images/SMBHeader.jpg Graphic file (type jpg) - - -Package pdftex.def Info: ./images/SMBHeader.jpg used on input line 153. -(pdftex.def) Requested size: 466.1753pt x 113.81053pt. - -Underfull \hbox (badness 2042) in paragraph at lines 165--167 -\OT1/ptm/m/n/10 been fil-tered for spe-cific pro-to-col in-for-ma-tion and - [] - - -Underfull \hbox (badness 1552) in paragraph at lines 165--167 -\OT1/ptm/m/n/10 to how the packet cap-tur-ing drivers and pro-grams - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 165--167 - - [] - - -Underfull \vbox (badness 5578) has occurred while \output is active [] - - [3] -Underfull \vbox (badness 10000) has occurred while \output is active [] - - [4 ] -Underfull \hbox (badness 10000) in paragraph at lines 185--186 - - [] - - -Underfull \hbox (badness 1028) in paragraph at lines 189--192 -\OT1/ptm/m/n/10 One gen-eral as-sump-tion is that these blade servers - [] - -[5] -Underfull \hbox (badness 1867) in paragraph at lines 207--208 -\OT1/ptm/m/n/10 In or-der ot in-ter-pret the data be-ing an-a-lyzed and - [] - - -Underfull \hbox (badness 1303) in paragraph at lines 207--208 -\OT1/ptm/m/n/10 dis-sected, the first step was to un-der-stand how to - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 207--208 - - [] - -<./images/IOWeek.png, id=23, 686.565pt x 499.11469pt> -File: ./images/IOWeek.png Graphic file (type png) - - -Package pdftex.def Info: ./images/IOWeek.png used on input line 210. -(pdftex.def) Requested size: 466.13518pt x 113.81151pt. - -<./images/BytesWeek.png, id=24, 686.565pt x 499.11469pt> -File: ./images/BytesWeek.png Graphic file (type png) - - -Package pdftex.def Info: ./images/BytesWeek.png used on input line 216. -(pdftex.def) Requested size: 466.13518pt x 113.81151pt. - -<./images/IOWeekZoom.png, id=25, 686.565pt x 499.11469pt> -File: ./images/IOWeekZoom.png Graphic file (type png) - - -Package pdftex.def Info: ./images/IOWeekZoom.png used on input line 222. -(pdftex.def) Requested size: 466.13518pt x 113.81151pt. - -<./images/BytesWeekZoom.png, id=26, 686.565pt x 499.11469pt> -File: ./images/BytesWeekZoom.png Graphic file (type png) - - -Package pdftex.def Info: ./images/BytesWeekZoom.png used on input line 228. -(pdftex.def) Requested size: 466.13518pt x 113.81151pt. -LaTeX Font Info: Try loading font information for OMS+ptm on input line 238. - - -("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\omsptm.fd" -File: omsptm.fd -) -LaTeX Font Info: Font shape `OMS/ptm/m/n' in size <10> not available -(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 238. -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! -Missing character: There is no in font ptmr7t! - [6] [7 ] -Underfull \hbox (badness 10000) in paragraph at lines 284--285 -[]\OT1/ptm/m/it/10 Common In-ter-net File Sys-tem (CIFS) Pro- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 284--285 -\OT1/ptm/m/it/10 to-col\OT1/ptm/m/n/10 , urlhttp://msdn.microsoft.com/en- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 286--287 -[]\OT1/ptm/m/it/10 Server Mes-sage Block (SMB) Pro-to- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 286--287 -\OT1/ptm/m/it/10 col\OT1/ptm/m/n/10 , urlhttp://msdn.microsoft.com/en- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 301--303 -[]\OT1/ptm/m/it/10 PF[]RING User Guide\OT1/ptm/m/n/10 , url- - [] - - -Overfull \hbox (61.33023pt too wide) in paragraph at lines 301--303 -\OT1/ptm/m/n/10 https://svn.ntop.org/svn/ntop/trunk/PF[]RING/doc/UsersGuide.pdf - - [] - -[8] (C:\Users\Wortman\Documents\UConn\TracingPaper\TracingPaper.aux) - -LaTeX Warning: There were multiply-defined labels. - - ) -Here is how much of TeX's memory you used: - 1504 strings out of 493705 - 20432 string characters out of 3144563 - 83815 words of memory out of 3000000 - 4823 multiletter control sequences out of 15000+200000 - 20443 words of font info for 42 fonts, out of 3000000 for 9000 - 1025 hyphenation exceptions out of 8191 - 34i,8n,21p,2157b,437s stack positions out of 5000i,500n,10000p,200000b,50000s -{C:/Program Files/MiKTeX 2.9/fonts/enc/dvips/fontname/8r.enc} -Output written on TracingPaper.pdf (8 pages, 389046 bytes). -PDF statistics: - 59 PDF objects out of 1000 (max. 8388607) - 0 named destinations out of 1000 (max. 500000) - 26 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/TracingPaper.out b/TracingPaper.out deleted file mode 100644 index 4060be8..0000000 --- a/TracingPaper.out +++ /dev/null @@ -1,23 +0,0 @@ -\BOOKMARK [1][-]{section.1}{Abstract}{}% 1 -\BOOKMARK [1][-]{section.2}{Introduction}{}% 2 -\BOOKMARK [2][-]{subsection.2.1}{Purpose of Tracing}{section.2}% 3 -\BOOKMARK [2][-]{subsection.2.2}{Issues with Tracing}{section.2}% 4 -\BOOKMARK [2][-]{subsection.2.3}{Previous Advances Due to Testing}{section.2}% 5 -\BOOKMARK [2][-]{subsection.2.4}{The Need for a New Study}{section.2}% 6 -\BOOKMARK [1][-]{section.3}{Methodology}{}% 7 -\BOOKMARK [2][-]{subsection.3.1}{Effects of System Setup on Tracing}{section.3}% 8 -\BOOKMARK [2][-]{subsection.3.2}{Main Challenges}{section.3}% 9 -\BOOKMARK [1][-]{section.4}{Tracing System}{}% 10 -\BOOKMARK [2][-]{subsection.4.1}{Different Stages of Trace}{section.4}% 11 -\BOOKMARK [2][-]{subsection.4.2}{About the Systems Being Traced}{section.4}% 12 -\BOOKMARK [1][-]{section.5}{Trace Analysis}{}% 13 -\BOOKMARK [2][-]{subsection.5.1}{SMB}{section.5}% 14 -\BOOKMARK [2][-]{subsection.5.2}{Other \(e.g. HTML\)}{section.5}% 15 -\BOOKMARK [2][-]{subsection.5.3}{Process ID Tracking}{section.5}% 16 -\BOOKMARK [2][-]{subsection.5.4}{Run Patterns}{section.5}% 17 -\BOOKMARK [2][-]{subsection.5.5}{Locating Performance Bottlenecks}{section.5}% 18 -\BOOKMARK [1][-]{section.6}{Intuition Confirm/Change}{}% 19 -\BOOKMARK [2][-]{subsection.6.1}{Characterizations of Different Packet Types}{section.6}% 20 -\BOOKMARK [1][-]{section.7}{Related Work}{}% 21 -\BOOKMARK [2][-]{subsection.7.1}{Leung 2008 Paper}{section.7}% 22 -\BOOKMARK [1][-]{section.8}{Conclusion}{}% 23 diff --git a/TracingPaper.pdf b/TracingPaper.pdf deleted file mode 100644 index 356424c..0000000 Binary files a/TracingPaper.pdf and /dev/null differ diff --git a/TracingPaper.synctex.gz b/TracingPaper.synctex.gz deleted file mode 100644 index 25a727f..0000000 Binary files a/TracingPaper.synctex.gz and /dev/null differ diff --git a/communications_sketch.png b/communications_sketch.png deleted file mode 100644 index 7114a03..0000000 Binary files a/communications_sketch.png and /dev/null differ diff --git a/trackingPaper.tex b/trackingPaper.tex index 230c659..e46e3f1 100644 --- a/trackingPaper.tex +++ b/trackingPaper.tex @@ -199,7 +199,7 @@ The DataSeries data format allowed us to create data analysis code that focuses %Focus should be aboiut analysis and new traces The contributions of this work are the new traces of SMB traffic over a larger university network as well as new analysis of this traffic. Our new examination of the captured data reveals that despite the streamlining of the CIFS/SMB protocol to be less "chatty", the majority of SMB communication is still metadata based I/O rather than actual data I/O. We found that read operations occur in greater numbers and cause a larger overall number of bytes to pass over the network. Additionally, the average number of bytes transferred for each write I/O is smaller than that of the average read operation. We also find that the current standard for modeling network I/O holds for the majority of operations, while a more representative model needs to be developed for reads. -\textcolor{red}{Add information about releasing the code?} +%\textcolor{red}{Add information about releasing the code?} \subsection{Related Work} In this section we discuss previous studies examining traces and testing that has advanced benchmark development. We summarize major works in trace study in Table~\ref{tbl:studySummary}. In addition we examine issues that occur with traces and the assumptions in their study. @@ -255,7 +255,7 @@ As seen in previous trace work~\cite{leung2008measurement,roselli2000comparison, \\ \section{Background} -\subsection{Server Message Block} +%\subsection{Server Message Block} The Server Message Block (SMB) is an application-layer network protocol mainly used for providing shared access to files, shared access to printers, shared access to serial ports, miscellaneous communications between nodes on the network, as well as providing an authenticated inter-process communication mechanism. %The majority of usage for the SMB protocol involves Microsfot Windows. Almost all implementations of SMB servers use NT Domain authentication to validate user-access to resources The SMB 1.0 protocol~\cite{SMB1Spec} has been found to have high/significant impact on performance due to latency issues. Monitoring revealed a high degree of ``chattiness'' and disregard of network latency between hosts. Solutions to this problem were included in the updated SMB 2.0 protocol which decreases ``chattiness'' by reducing commands and sub-commands from over a hundred to nineteen~\cite{SMB2Spec}. Additional changes, most significantly being increased security, were implemented in SMB 3.0 protocol (previously named SMB 2.2). % XXX citations for SMB specs for different versions? @@ -274,8 +274,9 @@ Some nuances of SMB protocol I/O to note are that SMB/SMB2 write requests are th %\end{itemize} % Make sure to detail here how exactly IAT/RT are each calculated -\textcolor{red}{Add writing about the type of packets used by SMB. Include information about the response time of R/W/C/General (to introduce them formally; not sure what this means.... Also can bring up the relation between close and other requests.} +%\textcolor{red}{Add writing about the type of packets used by SMB. Include information about the response time of R/W/C/General (to introduce them formally; not sure what this means.... Also can bring up the relation between close and other requests.} +<<<<<<< Updated upstream \textcolor{blue}{It is worth noting that for the SMB2 protocol, the close request packet is used by clients to close instances of file that \textcolor{green}{were opened} with a previous create request packet.} \begin{figure} @@ -300,6 +301,26 @@ Temporal scaling refers to the need to account for the nuances of timing with re \end{figure*} Spatial scaling refers to the need to account for the nuances of expanding a benchmark to incorporate a number of machines over a network. A system that properly incorporates spatial scaling is one that would be able to incorporate communication (even in varying intensities) between all the machines on a system, thus stress testing all communicative actions and aspects (e.g. resource locks, queueing) on the network. +======= +%\textcolor{blue}{It is worth noting that for the SMB2 protocol, the close request packet is used by clients to close instances of file that was openned with a previous create request packet.} + +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/smbPacket.jpg} +% \caption{Visualization of SMB Packet} +% \label{fig:smbPacket} +%\end{figure} + +%\subsection{Issues with Tracing} +%\label{Issues with Tracing} +%There are three general approaches to creating a benchmark based on a trade-off between experimental complexity and resemblance to the original application. (1) Connect the system to a production test environment, run the application, and measure the application metrics. (2) Collect traces from running the application and replay them (after possible modification) back on the test I/O system. (3) Generate a synthetic workload and measure the system performance. +% +%The majority of benchmarks attempt to represent a known system and structure on which some ``original'' design/system was tested. While this is all well and good, there are many issues with this sort of approach; temporal and spatial scaling concerns, timestamping and buffer copying, as well as driver operation for capturing packets~\cite{Orosz2013,dabir2007bottleneck,skopko2012loss}. Each of these aspects contribute to the initial problems with dissection and analysis of the captured information. For example, inaccuracies in scheduling I/Os may result in as much as a factor of 3.5 differences in measured response time and factor of 26 in measured queue sizes; differences that are too large to ignore~\cite{anderson2004buttress}. +%Dealing with timing accuracy and high throughput involves three challenges. (1) Designing for dealing with peak performance requirements. (2) Coping with OS timing inaccuracies. (3) Working around unpredictable OS behavior; e.g. mechanisms to keep time and issue I/Os or performance effects due to interrupts. +% +%Temporal scaling refers to the need to account for the nuances of timing with respect to the run time of commands; consisting of computation, communication and service. A temporally scalable benchmarking system would take these subtleties into account when expanding its operation across multiple machines in a network. While these temporal issues have been tackled for a single processor (and even somewhat for cases of multi-processor), these same timing issues are not properly handled when dealing with inter-network communication. Inaccuracies in packet timestamping can be caused due to overhead in generic kernel-time based solutions, as well as use of the kernel data structures ~\cite{PFRINGMan,Orosz2013}. +% +%Spatial scaling refers to the need to account for the nuances of expanding a benchmark to incorporate a number of machines over a network. A system that properly incorporates spatial scaling is one that would be able to incorporate communication (even in varying intensities) between all the machines on a system, thus stress testing all communicative actions and aspects (e.g. resource locks, queueing) on the network. +>>>>>>> Stashed changes \section{Packet Capturing System} In this section, we describe the packet capturing system as well as decisions made that influence its capabilities. We illustrate the existing university network filesystem as well as our methods for ensuring high-speed packet capture. Then, we discuss the analysis code we developed for examining the captured data. @@ -466,7 +487,7 @@ Each SMB Read and Write command is associated with a data request size that indi Figures~\ref{fig:PDF-Bytes-Read} and~\ref{fig:PDF-Bytes-Write} show the probability density function (PDF) of the different sizes of bytes transferred for read and write I/O operations respectively. The most noticeable aspect of these graphs are that the majority of bytes transferred for read and write operations is around 64 bytes. It is worth noting that write I/O also have a larger number of very small transfer amounts. This is unexpected in terms of the amount of data passed in a frame. Our belief is that this is due to a large number of long term calculations/scripts being run that only require small but frequent updates. This assumption was later validated in part when examining the files transferred, as some were related to running scripts creating a large volume of files, however the more affirming finding was the behavior observed with common applications. For example, it was seen that Microsoft Word would perform a large number of small reads at ever growing offsets. This was interpreted as when a user is viewing a document over the network and Word would load the next few lines of text as the user scrolled down the document; causing ``loading times'' amid use. A large degree of small writes were observed to be related to application cookies or other such smaller data communications. %This could also be attributed to simple reads relating to metadata\textcolor{red}{???} -\textcolor{blue}{Reviewing of the SMB and SMB2 leads to some confusion in understanding this behavior. According to the specification the default ``MaxBuffSize'' for reads and writes should be between 4,356 bytes and 16,644 bytes depending on the use of either a client version of server version of Windows; respectively. In the SMB2 protocol specification, specific version of Windows (e.g. Vista SP1, Server 2008, 7, Server 2008 R2, 8, Server 2012, 8.1, Server 2012 R2) disconnect if the ``MaxReadSize''/``MaxWriteSize'' value is less than 4096. However, further examination of the specification states that for SMB2 the read length and write length can be zero. Thus, this seems to conflict that the size has to be greater than 4096 but allows for it to also be zero. It is due to this protocol specification of allowing zero that supports the smaller read/write sizes seen in the captured traffic. The author's assumption here is that the university's configuration allows for smaller traffic to be exchanged without the disconnection for sizes smaller than 4096.} +%\textcolor{blue}{Reviewing of the SMB and SMB2 leads to some confusion in understanding this behavior. According to the specification the default ``MaxBuffSize'' for reads and writes should be between 4,356 bytes and 16,644 bytes depending on the use of either a client version of server version of Windows; respectively. In the SMB2 protocol specification, specific version of Windows (e.g. Vista SP1, Server 2008, 7, Server 2008 R2, 8, Server 2012, 8.1, Server 2012 R2) disconnect if the ``MaxReadSize''/``MaxWriteSize'' value is less than 4096. However, further examination of the specification states that for SMB2 the read length and write length can be zero. Thus, this seems to conflict that the size has to be greater than 4096 but allows for it to also be zero. It is due to this protocol specification of allowing zero that supports the smaller read/write sizes seen in the captured traffic. The author's assumption here is that the university's configuration allows for smaller traffic to be exchanged without the disconnection for sizes smaller than 4096.} %\begin{figure} % \includegraphics[width=0.5\textwidth]{./images/aggAvgBytes.pdf} @@ -881,7 +902,7 @@ Upon closer examination of the tracing system it was determined that %these file extensions are an artifact of how Windows interprets file extensions. The Windows operating system merely guesses the file type based on the assumed extension (e.g. whatever characters follow after the final `.'). many files simply do not have a valid extension. These range from linux-based library files, manual pages, odd naming schemes as part of scripts or back-up files, as well as date-times and IPs as file names. There are undoubtedly a larger number more, but exhaustive determination of all variations is seen as out of scope for this work. -\textcolor{red}{Add in information stating that the type of OS in use in the university environment range from Windows, Unix, BSD, as well as other odd operating systems used by the engineering department.} +%\textcolor{red}{Add in information stating that the type of OS in use in the university environment range from Windows, Unix, BSD, as well as other odd operating systems used by the engineering department.} \begin{table}[] \centering diff --git a/usetex-v1 (1).cls b/usetex-v1 (1).cls deleted file mode 100644 index 6e71cae..0000000 --- a/usetex-v1 (1).cls +++ /dev/null @@ -1,357 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] - -% usetex-v1.cls - to be used with LaTeX2e for Usenix articles -% -% To use this style file, do this: -% -% \documentclass{usetex-v1} -% -% The following definitions are modifications of standard article.cls -% definitions, arranged to do a better job of matching the Usenix -% guidelines. and make for convenient Usenix paper writing -% -% Choose the appropriate option: -% -% 1. workingdraft: -% -% For initial submission and shepherding. Features prominent -% date, notice of draft status, page numbers, and annotation -% facilities. -% -% 2. proof: -% -% A galley proof identical to the final copy except for page -% numbering and proof date on the bottom. Annotations are -% removed. -% -% 3. webversion: -% -% A web-publishable version, uses \docstatus{} to indicate -% publication information (where and when paper was published), -% and page numbers. -% -% 4. finalversion: -% -% The final camera-ready-copy (CRC) version of the paper. -% Published in conference proceedings. This doesn't include -% page numbers, annotations, or draft status (Usenix adds -% headers, footers, and page numbers onto the CRC). -% -% If several are used, the last one in this list wins -% - -% -% In addition, the option "endnotes" permits the use of the -% otherwise-disabled, Usenix-deprecated footnote{} command in -% documents. In this case, be sure to include a -% \makeendnotes command at the end of your document or -% the endnotes will not actually appear. -% - -\newif\if@draftcopy \newif\ifworkingdraft -\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} -\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} -\newif\ifwebversion -\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} -\DeclareOption{finalversion}{} -\newif\ifhasendnotes -\DeclareOption{endnotes}{\hasendnotestrue} - -% pass all other options to the article class -\DeclareOption*{% - \PassOptionsToClass{\CurrentOption}{article}% -} - -% actually process the options -\ProcessOptions - -% usetex is based on article -\LoadClass[twocolumn]{article} - -% Footnotes are not currently allowed, but -% endnotes (while a bad idea) are. -\ifhasendnotes - \RequirePackage{endnotes} -\fi - -% save any provided document status information -\def\@docstatus{} -\def\docstatus#1{\gdef\@docstatus{#1}} - -\ifworkingdraft - - % formatting helper for draft notes - \newcommand{\@noteleader[1]}{% - {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% - \bfseries\itshape - } - - % put a small anonymous editing note in the draft copy - \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} - - % put a small attributed editing note in the draft copy - \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} - - % put an attributed editing note paragraph in the draft copy - \newenvironment{ednote}[1] - {\newcommand{\who}{#1}\@noteleader[\who]} - - % mark a spot where work has been left off for later - \newcommand{\HERE}{% - {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} - -\else - - % dummy versions of editing commands to produce warnings - - \newcommand{\edannote}[1]{\@latex@warning - {Leftover edannote command in final version ignored}} - - \newcommand{\edatnote}[1]{\@latex@warning - {Leftover edatnote command in final version ignored}} - - \newsavebox{\@discard} - \newenvironment{ednote}[1]{\@latex@warning - {Leftover ednote environment in final version ignored}% - \begin{lrbox}{\@discard}}{\end{lrbox}} - - \newcommand{\HERE}{\@latex@warning - {Leftover HERE command in final version ignored}} - -\fi - -% set up the footers appropriately -\def\@setfoot{% - \ifwebversion - % webversions get whatever status the author says - \gdef\@evenfoot{\@docstatus \hfil \thepage}% - \else - % all other drafts get the standard draft footer - \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% - \fi - \gdef\@oddfoot{\@evenfoot}% -} - -% -% Usenix wants no page numbers for submitted papers, so that -% they can number them themselves. Drafts should have -% numbered pages, so they can be edited. -% -\if@draftcopy - % Compute a date and time for the draft for use - % either in \@setfoot (proof) or in \maketitle (workingdraft) - % - % Time code adapted from custom-bib/makebst.tex - % Copyright 1993-1999 Patrick W Daly - % Max-Planck-Institut f\"ur Aeronomie - % E-mail: daly@linmp.mpg.de - \newcount\hour - \hour=\time - \divide\hour by 60 - \newcount\minute - \minute=\hour - \multiply\minute by 60 - \advance\minute by -\time - \multiply\minute by -1 - \newcommand{\@draftdate} - {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% - ~\two@digits{\the\hour}:\two@digits{\the\minute}}} - \pagestyle{plain} - \@setfoot -\else - \pagestyle{empty} -\fi - -% Times-Roman font is nice if you can get it (requires NFSS, -% which is in latex2e). -\usepackage{times} - -% endnote support, as described at -% http://www.lyx.org/help/footnotes.php -\ifhasendnotes - \typeout - {Warning: endnotes support is deprecated (see documentation for details)} - \let\footnote=\endnote - \def\enoteformat{\rightskip\z@ \leftskip\z@ - \parindent=0pt\parskip=\baselineskip - \@theenmark. } - \newcommand{\makeendnotes}{ - \begingroup - \def\enotesize{\normalsize} - \theendnotes - \endgroup - } -\else - \long\gdef\footnote{\@latex@error - {Deprecated footnote command (see documentation for details)}} - \long\gdef\endnote{\@latex@error - {Deprecated endnote command (see documentation for details)}} -\fi - -% -% Usenix margins -% Gives active areas of 6.45" x 9.0" -% -\setlength{\textheight}{9.0in} -\setlength{\columnsep}{0.25in} -\setlength{\textwidth}{6.45in} -%\setlength{\footskip}{0.0in} -%\setlength{\footheight}{0.0in} -\setlength{\topmargin}{0.0in} -\setlength{\headheight}{0.0in} -\setlength{\headsep}{0.0in} -\setlength{\evensidemargin}{0.0in} -\setlength{\oddsidemargin}{0.0in} -\setlength{\marginparsep}{1.5em} -\setlength{\marginparwidth}{0.35in} - -% The standard maketitle insists on -% messing with the style of the first page. -% Thus, we will wrap maketitle with code to put -% things right again. -\let \save@maketitle=\maketitle -\def\maketitle{ - \save@maketitle - \if@draftcopy - \@specialpagefalse - \else - \thispagestyle{empty} - \fi -} - -% -% Usenix titles are in 14-point bold type, with no date, and with no -% change in the empty page headers. The author section is -% 12 point roman and italic: see below. -% -\def\@maketitle{% - \newpage - \null - \vskip 3ex% - \begin{center}% - \let \footnote \thanks - {\Large \bf \@title \par}% % use 14 pt bold - \vskip 2ex% - {\large - \lineskip .5ex% - \begin{tabular}[t]{c}% - \@author - \end{tabular}\par}% - \ifworkingdraft - \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex - \fi - \ifwebversion - \vskip 3ex \textbf{\@docstatus} \vskip 3ex - \fi - \end{center}% - \par - \vskip 2ex} - -% -% The author section -% should have names in Roman, address in -% italic, e-mail/http in typewriter. -% This is enforced by use of these macros -% -\def\authname#1{{#1}\\} -\def\authaddr#1{\itshape{#1}\\} -\def\authurl#1{{\normalsize #1}\\} - -% -% The abstract is preceded by a 12-pt bold centered heading -% -\def\abstract{\begin{center}% - {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% - \end{center}} -\def\endabstract{} - -% -% Main section titles are 12-pt bold. Lower divisions can -% be same size or smaller: we choose same. -% Main section leading is tight. Subsection leading is even -% slightly tighter. All lower divisions are formatted like subsections. -% -\newcommand\@sectionfont{\reset@font\large\bf} -\newlength\@sectionaboveskip -\setlength\@sectionaboveskip{-0.7\baselineskip - plus -0.1\baselineskip - minus -0.1\baselineskip} -\newlength\@sectionbelowskip -\setlength\@sectionbelowskip{0.3\baselineskip - plus 0.1\baselineskip} -\newlength\@subsectionaboveskip -\setlength\@subsectionaboveskip{-0.5\baselineskip - plus -0.1\baselineskip} -\renewcommand\section{\@startsection {section}{1}{\z@}% - {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} -\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% - {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} -\renewcommand\subsection{\@gensubsection{subsection}{2}} -\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} -%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} -%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% - {1.25ex \@plus 0.2ex \@minus 0.2ex}% - {-1.0em}% - {\normalfont\normalsize\bfseries}} -\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% - {1.25ex \@plus 0.2ex \@minus 0.2ex}% - {-1.0em}% - {\normalfont\normalsize\bfseries}} - -% List items need to be tightened up. -% There must be a better way than copying -% the definitions to modify the list environment... -\def\@itemspacings{\listparindent=\parindent - \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} -% now make envs use itemspacings -\def\itemize{% - \ifnum \@itemdepth >\thr@@\@toodeep\else - \advance\@itemdepth\@ne - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% - \expandafter - \list - \csname\@itemitem\endcsname - {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% - \fi} -\def\enumerate{% - \ifnum \@enumdepth >\thr@@\@toodeep\else - \advance\@enumdepth\@ne - \edef\@enumctr{enum\romannumeral\the\@enumdepth}% - \expandafter - \list - \csname label\@enumctr\endcsname - {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% - \fi} -\def\description{% - \list{}{\labelwidth\z@ \itemindent-\leftmargin - \@itemspacings\let\makelabel\descriptionlabel}} - -% Bibliography items need to be tightened up. -% Again, there must be a better way than copying -% the definitions to modify the list environment... -\def\thebibliography#1% - {\section*{\refname}% - \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}% - \parsep=0pt}% pack entries - \sloppy - \hbadness=8000% mostly don't whine about bibliography fmt - \clubpenalty=4000% - \@clubpenalty=\clubpenalty - \widowpenalty=4000% - \sfcode`\.\@m} - -% Floating bodies need to be tightened up. -\setlength\textfloatsep{14pt plus 2pt} -\setlength\dbltextfloatsep{\textfloatsep} -\setlength\intextsep{0.8\textfloatsep} -\setlength\abovecaptionskip{8pt minus 2pt} diff --git a/usetex-v1.cls b/usetex-v1.cls deleted file mode 100644 index 6e71cae..0000000 --- a/usetex-v1.cls +++ /dev/null @@ -1,357 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] - -% usetex-v1.cls - to be used with LaTeX2e for Usenix articles -% -% To use this style file, do this: -% -% \documentclass{usetex-v1} -% -% The following definitions are modifications of standard article.cls -% definitions, arranged to do a better job of matching the Usenix -% guidelines. and make for convenient Usenix paper writing -% -% Choose the appropriate option: -% -% 1. workingdraft: -% -% For initial submission and shepherding. Features prominent -% date, notice of draft status, page numbers, and annotation -% facilities. -% -% 2. proof: -% -% A galley proof identical to the final copy except for page -% numbering and proof date on the bottom. Annotations are -% removed. -% -% 3. webversion: -% -% A web-publishable version, uses \docstatus{} to indicate -% publication information (where and when paper was published), -% and page numbers. -% -% 4. finalversion: -% -% The final camera-ready-copy (CRC) version of the paper. -% Published in conference proceedings. This doesn't include -% page numbers, annotations, or draft status (Usenix adds -% headers, footers, and page numbers onto the CRC). -% -% If several are used, the last one in this list wins -% - -% -% In addition, the option "endnotes" permits the use of the -% otherwise-disabled, Usenix-deprecated footnote{} command in -% documents. In this case, be sure to include a -% \makeendnotes command at the end of your document or -% the endnotes will not actually appear. -% - -\newif\if@draftcopy \newif\ifworkingdraft -\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} -\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} -\newif\ifwebversion -\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} -\DeclareOption{finalversion}{} -\newif\ifhasendnotes -\DeclareOption{endnotes}{\hasendnotestrue} - -% pass all other options to the article class -\DeclareOption*{% - \PassOptionsToClass{\CurrentOption}{article}% -} - -% actually process the options -\ProcessOptions - -% usetex is based on article -\LoadClass[twocolumn]{article} - -% Footnotes are not currently allowed, but -% endnotes (while a bad idea) are. -\ifhasendnotes - \RequirePackage{endnotes} -\fi - -% save any provided document status information -\def\@docstatus{} -\def\docstatus#1{\gdef\@docstatus{#1}} - -\ifworkingdraft - - % formatting helper for draft notes - \newcommand{\@noteleader[1]}{% - {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% - \bfseries\itshape - } - - % put a small anonymous editing note in the draft copy - \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} - - % put a small attributed editing note in the draft copy - \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} - - % put an attributed editing note paragraph in the draft copy - \newenvironment{ednote}[1] - {\newcommand{\who}{#1}\@noteleader[\who]} - - % mark a spot where work has been left off for later - \newcommand{\HERE}{% - {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} - -\else - - % dummy versions of editing commands to produce warnings - - \newcommand{\edannote}[1]{\@latex@warning - {Leftover edannote command in final version ignored}} - - \newcommand{\edatnote}[1]{\@latex@warning - {Leftover edatnote command in final version ignored}} - - \newsavebox{\@discard} - \newenvironment{ednote}[1]{\@latex@warning - {Leftover ednote environment in final version ignored}% - \begin{lrbox}{\@discard}}{\end{lrbox}} - - \newcommand{\HERE}{\@latex@warning - {Leftover HERE command in final version ignored}} - -\fi - -% set up the footers appropriately -\def\@setfoot{% - \ifwebversion - % webversions get whatever status the author says - \gdef\@evenfoot{\@docstatus \hfil \thepage}% - \else - % all other drafts get the standard draft footer - \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% - \fi - \gdef\@oddfoot{\@evenfoot}% -} - -% -% Usenix wants no page numbers for submitted papers, so that -% they can number them themselves. Drafts should have -% numbered pages, so they can be edited. -% -\if@draftcopy - % Compute a date and time for the draft for use - % either in \@setfoot (proof) or in \maketitle (workingdraft) - % - % Time code adapted from custom-bib/makebst.tex - % Copyright 1993-1999 Patrick W Daly - % Max-Planck-Institut f\"ur Aeronomie - % E-mail: daly@linmp.mpg.de - \newcount\hour - \hour=\time - \divide\hour by 60 - \newcount\minute - \minute=\hour - \multiply\minute by 60 - \advance\minute by -\time - \multiply\minute by -1 - \newcommand{\@draftdate} - {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% - ~\two@digits{\the\hour}:\two@digits{\the\minute}}} - \pagestyle{plain} - \@setfoot -\else - \pagestyle{empty} -\fi - -% Times-Roman font is nice if you can get it (requires NFSS, -% which is in latex2e). -\usepackage{times} - -% endnote support, as described at -% http://www.lyx.org/help/footnotes.php -\ifhasendnotes - \typeout - {Warning: endnotes support is deprecated (see documentation for details)} - \let\footnote=\endnote - \def\enoteformat{\rightskip\z@ \leftskip\z@ - \parindent=0pt\parskip=\baselineskip - \@theenmark. } - \newcommand{\makeendnotes}{ - \begingroup - \def\enotesize{\normalsize} - \theendnotes - \endgroup - } -\else - \long\gdef\footnote{\@latex@error - {Deprecated footnote command (see documentation for details)}} - \long\gdef\endnote{\@latex@error - {Deprecated endnote command (see documentation for details)}} -\fi - -% -% Usenix margins -% Gives active areas of 6.45" x 9.0" -% -\setlength{\textheight}{9.0in} -\setlength{\columnsep}{0.25in} -\setlength{\textwidth}{6.45in} -%\setlength{\footskip}{0.0in} -%\setlength{\footheight}{0.0in} -\setlength{\topmargin}{0.0in} -\setlength{\headheight}{0.0in} -\setlength{\headsep}{0.0in} -\setlength{\evensidemargin}{0.0in} -\setlength{\oddsidemargin}{0.0in} -\setlength{\marginparsep}{1.5em} -\setlength{\marginparwidth}{0.35in} - -% The standard maketitle insists on -% messing with the style of the first page. -% Thus, we will wrap maketitle with code to put -% things right again. -\let \save@maketitle=\maketitle -\def\maketitle{ - \save@maketitle - \if@draftcopy - \@specialpagefalse - \else - \thispagestyle{empty} - \fi -} - -% -% Usenix titles are in 14-point bold type, with no date, and with no -% change in the empty page headers. The author section is -% 12 point roman and italic: see below. -% -\def\@maketitle{% - \newpage - \null - \vskip 3ex% - \begin{center}% - \let \footnote \thanks - {\Large \bf \@title \par}% % use 14 pt bold - \vskip 2ex% - {\large - \lineskip .5ex% - \begin{tabular}[t]{c}% - \@author - \end{tabular}\par}% - \ifworkingdraft - \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex - \fi - \ifwebversion - \vskip 3ex \textbf{\@docstatus} \vskip 3ex - \fi - \end{center}% - \par - \vskip 2ex} - -% -% The author section -% should have names in Roman, address in -% italic, e-mail/http in typewriter. -% This is enforced by use of these macros -% -\def\authname#1{{#1}\\} -\def\authaddr#1{\itshape{#1}\\} -\def\authurl#1{{\normalsize #1}\\} - -% -% The abstract is preceded by a 12-pt bold centered heading -% -\def\abstract{\begin{center}% - {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% - \end{center}} -\def\endabstract{} - -% -% Main section titles are 12-pt bold. Lower divisions can -% be same size or smaller: we choose same. -% Main section leading is tight. Subsection leading is even -% slightly tighter. All lower divisions are formatted like subsections. -% -\newcommand\@sectionfont{\reset@font\large\bf} -\newlength\@sectionaboveskip -\setlength\@sectionaboveskip{-0.7\baselineskip - plus -0.1\baselineskip - minus -0.1\baselineskip} -\newlength\@sectionbelowskip -\setlength\@sectionbelowskip{0.3\baselineskip - plus 0.1\baselineskip} -\newlength\@subsectionaboveskip -\setlength\@subsectionaboveskip{-0.5\baselineskip - plus -0.1\baselineskip} -\renewcommand\section{\@startsection {section}{1}{\z@}% - {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} -\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% - {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} -\renewcommand\subsection{\@gensubsection{subsection}{2}} -\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} -%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} -%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% - {1.25ex \@plus 0.2ex \@minus 0.2ex}% - {-1.0em}% - {\normalfont\normalsize\bfseries}} -\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% - {1.25ex \@plus 0.2ex \@minus 0.2ex}% - {-1.0em}% - {\normalfont\normalsize\bfseries}} - -% List items need to be tightened up. -% There must be a better way than copying -% the definitions to modify the list environment... -\def\@itemspacings{\listparindent=\parindent - \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} -% now make envs use itemspacings -\def\itemize{% - \ifnum \@itemdepth >\thr@@\@toodeep\else - \advance\@itemdepth\@ne - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% - \expandafter - \list - \csname\@itemitem\endcsname - {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% - \fi} -\def\enumerate{% - \ifnum \@enumdepth >\thr@@\@toodeep\else - \advance\@enumdepth\@ne - \edef\@enumctr{enum\romannumeral\the\@enumdepth}% - \expandafter - \list - \csname label\@enumctr\endcsname - {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% - \fi} -\def\description{% - \list{}{\labelwidth\z@ \itemindent-\leftmargin - \@itemspacings\let\makelabel\descriptionlabel}} - -% Bibliography items need to be tightened up. -% Again, there must be a better way than copying -% the definitions to modify the list environment... -\def\thebibliography#1% - {\section*{\refname}% - \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}% - \parsep=0pt}% pack entries - \sloppy - \hbadness=8000% mostly don't whine about bibliography fmt - \clubpenalty=4000% - \@clubpenalty=\clubpenalty - \widowpenalty=4000% - \sfcode`\.\@m} - -% Floating bodies need to be tightened up. -\setlength\textfloatsep{14pt plus 2pt} -\setlength\dbltextfloatsep{\textfloatsep} -\setlength\intextsep{0.8\textfloatsep} -\setlength\abovecaptionskip{8pt minus 2pt}