Changeset 949 for docs/PACT2011


Ignore:
Timestamp:
Mar 16, 2011, 5:50:31 PM (9 years ago)
Author:
lindanl
Message:

more outline on paper

Location:
docs/PACT2011
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • docs/PACT2011/01-intro.tex

    r927 r949  
    11\section{Introduction}
    22
    3 Traditional measures of performance fail to capture the impact of energy consumption \cite {bellosa2001}.
    4 In a study done in 2007, it was estimated that in 2005, the annual operating cost\footnote{This figure only included the cost of server power consumption and cooling;
    5 it did not account for the cost of network traffic, data storage, service and maintenance or system replacement.} of corporate servers
    6 and data centers alone was over \$7.2 billion---with the expectation that this cost would increase to \$12.7 billion by 2010 \cite{koomey2007}.
    7 But when it comes to power consumption, corporate costs are not the only concern: in the world of mobile devices, battery life is paramount.
    8 While the capabilities and users' expectations of mobile devices has rapidly increased, little improvement to battery technology itself is foreseen in the near future \cite{silven2007, walker2007}.
    93
    10 One area in which both servers and mobile devices devote considerable computational effort into is in the processing of Extensible Markup Language (XML) documents.
    11 It was predicted that corporate servers would see a ``growth in XML traffic\ldots from 15\% [of overall network traffic] in 2004 to just under 48\% by 2008'' \cite{coyle2005}.
    12 Further, ``from the point of view of server efficiency[,] XML\ldots is the closest thing there is to a ubiquitous computing workload'' \cite{leventhal2009}.
    13 In other words, XML is the quickly becoming the backbone of most server/server and client/server information exchanges.
    14 Similarly, there is growing interest in the use of mobile web services for personalization, context-awareness, and content-adaptation of mobile web sites---most of which rely on XML \cite{canali2009}.
    15 Whether the end user realizes it or not, XML is part of their daily life.
     4%Traditional measures of performance fail to capture the impact of energy consumption \cite {bellosa2001}.
     5%In a study done in 2007, it was estimated that in 2005, the annual operating cost\footnote{This figure only included the cost of server power consumption and cooling;
     6%it did not account for the cost of network traffic, data storage, service and maintenance or system replacement.} of corporate servers
     7%and data centers alone was over \$7.2 billion---with the expectation that this cost would increase to \$12.7 billion by 2010 \cite{koomey2007}.
     8%But when it comes to power consumption, corporate costs are not the only concern: in the world of mobile devices, battery life is paramount.
     9%While the capabilities and users' expectations of mobile devices has rapidly increased, little imp%rovement to battery technology itself is foreseen in the near future \cite{silven2007, walker2007}.
    1610
     11One area in which both servers and mobile devices devote considerable
     12computational effort into is in the processing of Extensible Markup
     13Language (XML) documents.  It was predicted that corporate servers
     14would see a ``growth in XML traffic\ldots from 15\% [of overall
     15network traffic] in 2004 to just under 48\% by 2008''
     16\cite{coyle2005}.  Further, ``from the point of view of server
     17efficiency[,] XML\ldots is the closest thing there is to a ubiquitous
     18computing workload'' \cite{leventhal2009}.  In other words, XML is the
     19quickly becoming the backbone of most server/server and client/server
     20information exchanges.  Similarly, there is growing interest in the
     21use of mobile web services for personalization, context-awareness, and
     22content-adaptation of mobile web sites---most of which rely on XML
     23\cite{canali2009}.  Whether the end user realizes it or not, XML is
     24part of their daily life.
     25
     26Why are XML parsers important ?
     27Talk about XML parsers and what they do in general.
     28Brief few lines about byte-at-time ?
     29What's new with Parabix style approach ?
     30Introduce Parabix1 and Parabix2 ?
     31Present overall quantiative improvements compared to other parsers.
  • docs/PACT2011/02-background.tex

    r927 r949  
    33XML documents tend to be verbose---especially in the case of SOAP and WSDL. Processing these documents typically requires parsing them from a text-based format into an application-specific one.
    44Cameron et al.'s work in \cite{CameronHerdyLin2008} shows that both parser selection and markup density have a substantial impact in the computational cost of processing XML documents.
    5 The foundational work by Bellosa in \cite{bellosa2001} as well as more recent work in \cite {bircher2007, bertran2010}
    6 show that hardware-usage patterns has a significant impact in the energy consumption of a particular application;
    7 \cite{bellosa2001, bircher2007, bertran2010} further show that there is a strong correlation between
    8 specific performance events and energy usage---but the authors of each differ slightly in opinion as to
    9 which performance monitoring counters\footnote{Performance monitoring counters (PMCs) are special-purpose registers that are included in most modern microprocessors;
    10 they store the running count of specific hardware events, such as retired instructions, cache misses, branch mispredictions, and arithmetic-logic unit operations to name a few.
    11 They can be used to capture information about any program at run-time, under any workload, at a very fine granularity.} (PMCs) to use.
     5
    126
    137In order to determine how and which performance factors influence energy consumption,
    148we intend to use the Fluke i410 current clamp in conjunction with PMCs to compare the per parser invocation and per source XML byte energy usage of three XML parsers:
    159Expat 2.0.1, Xerces-C++ 3.1.1 (SAX2), and Parabix2. All three parsers are C/C++ based, event-driven, stream-oriented XML parsers.
    16 The first two parsers employ traditional byte-at-a-time methods of parsing; these parsers were selected based on their popularity in the marketplace and the availability of source code for deeper analysis.
    17 The last parser is a high-performance SIMD-based parallel-bitstream XML parser developed by Cameron et al. \cite{CameronHerdyLin2008}.
    18 The Fluke i410 current clamp is a digital multimeter that reads the magnetic field of a live electrical cable to determine the current passing through it without affecting the underlying hardware.
    1910
    20 The results of \cite{CameronHerdyLin2008} showed that Parabix, the predecessor of Parabix2, was dramatically faster than both Expat 2.0.1 and Xerces-C++ 2.8.0.
    21 It is our expectation is that Parabix2 will outperform both Expat 2.0.1 and Xerces-C++ 3.1.1 in terms of energy consumption per source XML byte.
    22 This expectation is based on the relatively-branchless code composition of Parabix2 and the more-efficient utilization of last-level cache resources.
    23 The authors of \cite {bellosa2001, bircher2007, bertran2010} indicate that such factors have a considerable effect on overall energy consumption.
    24 Hence, one of the foci in our study is the manner in which straight line SIMD code influences energy usage.
    2511
     12
     13Think the person reading doesn't know much about XML parsers.
     14
     15
     16Need gory details on byte at a time parsers. Pictures.
     17Xerces. Explain overall dataflow and control flow for these parsers.
     18Briefly highlight inefficiencies.
     19
     20
     21
     22Talk about the usage of SIMD instructions and how it might help. Lead
     23onto briefly describe the key technology behind parabix.
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34The first two parsers employ traditional byte-at-a-time methods of
     35parsing; these parsers were selected based on their popularity in the
     36marketplace and the availability of source code for deeper analysis.
     37The Fluke i410 current clamp is a digital multimeter that reads the
     38magnetic field of a live electrical cable to determine the current
     39passing through it without affecting the underlying hardware.
     40
     41
     42\textbf{No Need to talk about resource usage until  later}
     43
  • docs/PACT2011/03-research.tex

    r927 r949  
    1 \section{Parabix2}
     1\section{Parabix1}
    22\label{section:reserach}
     3Describe key technology behind Parabix
     4Introduce SIMD;
     5Talk about SSE
     6Highlight which SSE instructions are important
     7TAlk about each pass in the parser; How SSE is used in every phase...
     8Benefits of SSE in each phase.
    39
     10The results of \cite{CameronHerdyLin2008} showed that Parabix, the predecessor of Parabix2, was dramatically faster than both Expat 2.0.1 and Xerces-C++ 2.8.0.
     11It is our expectation is that Parabix2 will outperform both Expat 2.0.1 and Xerces-C++ 3.1.1 in terms of energy consumption per source XML byte.
     12This expectation is based on the relatively-branchless code composition of Parabix2 and the more-efficient utilization of last-level cache resources.
     13The authors of \cite {bellosa2001, bircher2007, bertran2010} indicate that such factors have a considerable effect on overall energy consumption.
     14Hence, one of the foci in our study is the manner in which straight line SIMD code influences energy usage.
     15
     16
  • docs/PACT2011/03b-research.tex

    r927 r949  
     1\section{Parabix2}
     2Talk about where Parabix1 may be improved.
    13
     4Talk about compiler effort.
     5
     6Talk about usage of new SIMD instructions.
     7
     8Describe Parabix 2.
     9
     10Describe differences between Parabix1 and Parabix 2.
     11
     12Why is Parabix2 better?
     13
     14
  • docs/PACT2011/04-methodology.tex

    r927 r949  
    11\section{Methodology}
     2
     3
    24In this section, we describe our methodology for the measurements and investigation of XML parsing energy consumption and performance. In brief, for each of the XML parsers under study we propose to measure and evaluate the energy consumption required to carry out XML well-formedness checking, under a variety of workloads, and as executed on both mobile device and server hardware.
    35
    46To begin our study, we propose to first investigate each of the XML parsers in terms of the PMCs hardware events as listed in the following subsection. Based on previous key works \cite{bellosa2001, bertran2010, bircher2007}, we have chosen several key hardware performance events for which the authors indicate have a strong correlation to energy consumption. From these data, we hope to gain insight into the XML parser execution characteristics which most significantly contribute to overall energy consumption. Secondly, using the Fluke i410 current clamp meter, we plan to measure the total energy consumption required to complete XML well-formedness checking for each XML parser, on each hardware platform, and for each of a number of XML source files.
     7
     8The foundational work by Bellosa in \cite{bellosa2001} as well as more recent work in \cite {bircher2007, bertran2010}
     9show that hardware-usage patterns has a significant impact in the energy consumption of a particular application;
     10\cite{bellosa2001, bircher2007, bertran2010} further show that there is a strong correlation between
     11specific performance events and energy usage---but the authors of each differ slightly in opinion as to
     12which performance monitoring counters\footnote{Performance monitoring counters (PMCs) are special-purpose registers that are included in most modern microprocessors;
     13they store the running count of specific hardware events, such as retired instructions, cache misses, branch mispredictions, and arithmetic-logic unit operations to name a few.
     14They can be used to capture information about any program at run-time, under any workload, at a very fine granularity.} (PMCs) to use.
     15
     16
    517
    618% The use of performance counters for modeling power is not a new concept.
     
    1325
    1426\subsection{Parsers}\label{parsers}
     27
    1528The XML parsing technologies selected for this study are the Parabix2, Xerces-C++, and Expat XML parsers.
    1629Parabix2 \cite{parabix2} (parallel bit streams for XML) is the second generation Parabix parser. Parabix2 is an open-source XML parser that leverages the SIMD capabilities of modern commodity processors; it employs the new parallelization techniques using parallel parsing with bit stream addition to deliver dramatic performance improvements over traditional byte-at-a-time parsing technology.
     
    4457systems as well as an open interchange format for geographic transactions on the Internet.
    4558The po.xml file is an example of purchase order data, while the soap.xml file contains a large SOAP message.
    46 This markup density metric is reported for each document.\cite{CameronHerdyLin2008}
     59This markup density metric is reported for each
     60document.\cite{CameronHerdyLin2008}
    4761
     62Describe parameters; what each parameter means.
    4863\subsection{Platform Hardware}
    49 \subsubsection{Mobile - ARM}
    50 The Advanced RISC Machine (ARM) is a 32-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Holdings.
    51 ARM processors are used extensively in mobile phones. About 98 percent of the more than one billion mobile phones sold on 2005 use at least one ARM processor \cite{arm}.
    52 Table \ref{arm} gives the hardware description of the ARM based Samsung Galaxy Tablet selected.
    53 \begin{table}
    54 \begin{center}
    55 \begin{tabular}{|c||c|}
    56 \hline
    57 Processor & ARM Cortex-A8 (1.0GHz) \\ \hline
    58 L1 Cache & 32KB I-Cache, 32K D-Cache \\ \hline
    59 L2 Cache &  TBD\\ \hline
    60 Memory & 512M   \\ \hline       
    61 Storage & 16G \\ \hline
    6264
    63 \end{tabular}
    64 \end{center}
    65 \caption{Samsung Galaxy Tablet}
    66 \label{arm}
    67 \end{table}
    6865
    6966\subsubsection{Server - Intel Core i3}
  • docs/PACT2011/05-performance.tex

    r927 r949  
    11\section{Performance Characteristic}
    22\subsection{Cache behavior}
     3
     4\begin{figure}
     5\begin{center}
     6\includegraphics[width=100mm]{figures/corei3_L1DM.pdf}
     7\end{center}
     8\caption{L1 Data Cache Misses/ KB on core i3}
     9\label{corei3_L1DM}
     10\end{figure}
     11
     12\begin{figure}
     13\begin{center}
     14\includegraphics[width=100mm]{figures/corei3_L2DM.pdf}
     15\end{center}
     16\caption{L2 Data Cache Misses/ KB on core i3}
     17\label{corei3_L2DM}
     18\end{figure}
     19
     20\begin{figure}
     21\begin{center}
     22\includegraphics[width=100mm]{figures/corei3_L3CM.pdf}
     23\end{center}
     24\caption{L3 Cache Misses/ KB on core i3}
     25\label{corei3_L3TM}
     26\end{figure}
     27
    328\subsection{SIMD/Total Instructions}
     29
     30\begin{figure}
     31\begin{center}
     32\includegraphics[width=100mm]{figures/corei3_INS.pdf}
     33\end{center}
     34\caption{Vector instruction vs. non-vertor instruction on core i3}
     35\label{corei3_INS}
     36\end{figure}
     37
    438\subsection{*SIMD/Total Loads}
    539\subsection{Branch Mispredictions}
     40\begin{figure}
     41\begin{center}
     42\includegraphics[width=100mm]{figures/corei3_BM.pdf}
     43\end{center}
     44\caption{Branch Mispredictions/ KB on core i3}
     45\label{corei3_BM}
     46\end{figure}
    647\subsection{CPU Cycles}
     48\begin{figure}
     49\begin{center}
     50\includegraphics[width=100mm]{figures/corei3_TOT.pdf}
     51\end{center}
     52\caption{Total CPU Cycles/ KB on core i3}
     53\label{corei3_TOT}
     54\end{figure}
  • docs/PACT2011/06-power.tex

    r927 r949  
    11\section{Power and Energy Evaluation}
    22\subsection{Power comparison}
    3 \subsection{Energy comparison}
     3
     4\begin{figure}
     5\begin{center}
     6\includegraphics[width=100mm]{figures/corei3_power.pdf}
     7\end{center}
     8\caption{Average Power on core i3 (watts)}
     9\label{corei3_power}
     10\end{figure}
     11
     12\begin{figure}
     13\begin{center}
     14\includegraphics[width=100mm]{figures/corei3_energy.pdf}
     15\end{center}
     16\caption{Energy consumption on core i3 (J/GB)}
     17\label{corei3_energy}
     18\end{figure}
     19
     20
    421\subsection{Performance Counter Effect on Power Consumption}
    522
  • docs/PACT2011/main.tex

    r927 r949  
    1212\def\lb{\linebreak[1]}
    1313\DeclareRobustCommand{\=}{\_\linebreak[1]}
    14 
     14\pagenumbering{arabic}
    1515\newcommand{\notekai}[1]{{\Large Kai:} {\bf #1}}
    1616\newcommand{\notesandhya}[1]{{\Large Sandhya:} {\bf #1}}
     
    157157\date{}
    158158\begin{document}
    159 
     159\toappear{}
    160160\maketitle
    161161\vspace{20pt}
  • docs/PACT2011/preamble-final-acm.tex

    r927 r949  
    1 \documentclass[a4paper]{sig-alternate}
     1\documentclass[preprint,nocopyrightbox]{sig-alternate}
    22\usepackage{times,amsmath,epsfig,amssymb}
    33\usepackage{delarray}
     
    88\usepackage{dcolumn}
    99\usepackage{caption,cite}
    10 \DeclareCaptionType{copyrightbox}
     10%\DeclareCaptionType{copyrightbox}
    1111%\usepackage{multicol}
    1212\usepackage{floatflt,epsfig}
     
    3535%\marginparwidth 0in
    3636%\topmargin -0.05in
    37 %\headheight 0in
     37\headheight 0.5in
    3838%\headsep 0in
    3939%\footskip 0.3in
    40 %\textheight 9.1in
     40%\textheight 8.75in
    4141\textfloatsep 0.1in
    4242\floatsep 0.1in
  • docs/PACT2011/sig-alternate.cls

    r927 r949  
    1111%
    1212% To produce Type 1 fonts in the document plus allow for 'normal LaTeX accenting' in the critical areas;
    13 % title, author block, section-heads, confname, etc. etc. 
     13% title, author block, section-heads, confname, etc. etc.
    1414% i.e. the whole purpose of this version update is to NOT resort to 'inelegant accent patches'.
    1515% After much research, three extra .sty packages were added to the the tail (ae, aecompl, aeguill) to solve,
     
    205205
    206206%\@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf'
    207 \@namedef{ds@10pt}{\ClassError{The `10pt' option is not allowed in the `acmconf'        % January 2008
     207\@namedef{ds@10pt}{\ClassError{The `10pt' option is not allowed in the `acmconf'    % January 2008
    208208  document style.}\@eha}
    209209%\@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf'
    210 \@namedef{ds@11pt}{\ClassError{The `11pt' option is not allowed in the `acmconf'        % January 2008
     210\@namedef{ds@11pt}{\ClassError{The `11pt' option is not allowed in the `acmconf'    % January 2008
    211211  document style.}\@eha}
    212212%\@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf'
    213 \@namedef{ds@12pt}{\ClassError{The `12pt' option is not allowed in the `acmconf'        % January 2008
     213\@namedef{ds@12pt}{\ClassError{The `12pt' option is not allowed in the `acmconf'    % January 2008
    214214  document style.}\@eha}
    215215
     
    235235\itemsep \parsep}}
    236236
    237 \def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt
    238 \abovedisplayskip 6.4pt plus 2pt minus 4pt%
    239 \belowdisplayskip \abovedisplayskip
    240 \abovedisplayshortskip \z@ plus 1pt%
    241 \belowdisplayshortskip 2.7pt plus 1pt minus 2pt
    242 \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
    243 \topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
    244 \itemsep \parsep}}
    245 
     237%\newcommand\footnotesize{\@setfontsize\footnotesize\@ixpt{9\p@}}
     238%\def\footnotesize{
     239%\@setfontsize\footnotesize\@ixpt{9\p@}
     240%\@setsize\footnotesize{9pt}\@ixpt\@ixpt
     241%\abovedisplayskip 6.4pt plus 2pt minus 4pt%
     242%\belowdisplayskip \abovedisplayskip
     243%\abovedisplayshortskip \z@ plus 1pt%
     244%\belowdisplayshortskip 2.7pt plus 1pt minus 2pt
     245%\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
     246%\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
     247%\itemsep \parsep}}
     248%}
    246249\newcount\aucount
    247250\newcount\originalaucount
     
    315318\newfont{\secit}{ptmbi8t at 12pt}    %13 Jan 00 gkmt
    316319\newfont{\subsecfnt}{ptmri8t at 11pt}
    317 \newfont{\subsecit}{ptmbi8t at 11pt}  % 
     320\newfont{\subsecit}{ptmbi8t at 11pt}  %
    318321\newfont{\ttlfnt}{phvb8t at 18pt}
    319322\newfont{\ttlit}{phvbo8t at 18pt}    % GM 2/4/2000
     
    461464
    462465\def\tableofcontents{\ClassError{%
    463     \string\tableofcontents\space is not allowed in the `acmconf' document      % January 2008
     466    \string\tableofcontents\space is not allowed in the `acmconf' document  % January 2008
    464467    style}\@eha}
    465468
     
    499502
    500503\def\listoffigures{\ClassError{%
    501     \string\listoffigures\space is not allowed in the `acmconf' document        % January 2008
     504    \string\listoffigures\space is not allowed in the `acmconf' document    % January 2008
    502505    style}\@eha}
    503506
     
    509512
    510513\def\listoftables{\ClassError{%
    511     \string\listoftables\space is not allowed in the `acmconf' document         % January 2008
     514    \string\listoftables\space is not allowed in the `acmconf' document     % January 2008
    512515    style}\@eha}
    513516 \let\l@table\l@figure
     
    517520  \kern 2.6\p@}                 % The \hrule has default height of .4pt % (was .4) updated Gerry March 20 2007
    518521% ------
    519 \long\def\@makefntext#1{\noindent 
     522\long\def\@makefntext#1{\noindent
    520523%\hbox to .5em{\hss$^{\@thefnmark}$}#1}   % original
    521524\hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1}  % C. Clifton / GM Oct. 2nd. 2002
     
    568571\def\figure{\@float{figure}}
    569572%\let\endfigure\end@float
    570 \def\endfigure{\end@float}              % Gerry January 2008
     573\def\endfigure{\end@float}      % Gerry January 2008
    571574\@namedef{figure*}{\@dblfloat{figure}}
    572575\@namedef{endfigure*}{\end@dblfloat}
     
    580583\def\table{\@float{table}}
    581584%\let\endtable\end@float
    582 \def\endtable{\end@float}               % Gerry January 2008
     585\def\endtable{\end@float}       % Gerry January 2008
    583586\@namedef{table*}{\@dblfloat{table}}
    584587\@namedef{endtable*}{\end@dblfloat}
     
    685688  \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}}
    686689  \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}}
    687   \newcommand\large{\@setfontsize\large\@xiipt{14\p@}}
     690  \newcommand\footnotesize{\@setfontsize\footnotesize\@viiipt{9\p@}}
     691    \newcommand\large{\@setfontsize\large\@xiipt{14\p@}}
    688692  \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}}
    689693  \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}}
     
    691695  \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}}
    692696\else
    693   \def\scriptsize{\@setsize\scriptsize{8\p@}\viipt\@viipt}
     697  \def\scriptsize{\@setsize\scriptsize{9\p@}\viipt\@viipt}
    694698  \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt}
    695   \def\large{\@setsize\large{14\p@}\xiipt\@xiipt}
     699  \newcommand\footnotesize{\@setfontsize\footnotesize\@viiipt{9\p@}}
     700    \def\large{\@setsize\large{14\p@}\xiipt\@xiipt}
    696701  \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt}
    697702  \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt}
     
    708713 \setbox\@acmtitlebox\vbox{%
    709714\baselineskip 20pt
    710 \vskip 2em                   % Vertical space above title.
     715\vskip 1em                   % Vertical space above title.
    711716   \begin{center}
    712717    {\ttlfnt \@title\par}       % Title set in 18pt Helvetica (Arial) bold size.
     
    718723     \begin{tabular}[t]{c}\@author
    719724     \end{tabular}\par}
    720     \vskip 1.5em               % Vertical space after author.
     725    \vskip 1em               % Vertical space after author.
    721726   \end{center}}
    722727 \dimen0=\ht\@acmtitlebox
    723  \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT
     728 \advance\dimen0 by -5.75pc\relax % Increased space for title box -- KBT
    724729 \unvbox\@acmtitlebox
    725730 \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi}
     
    843848\begin{center}
    844849\setlength{\unitlength}{1pc}
    845 \begin{picture}(20,6) %Space for copyright notice
     850\begin{picture}(0,0) %Space for copyright notice
    846851\put(0,-0.95){\crnotice{\@toappear}}
    847852\end{picture}
     
    862867
    863868\def\marginpar{\ClassError{%
    864     \string\marginpar\space is not allowed in the `acmconf' document            % January 2008
     869    \string\marginpar\space is not allowed in the `acmconf' document        % January 2008
    865870    style}\@eha}
    866871
     
    967972        {\it #2%
    968973%         \savebox\@tempboxa{#3}%
    969          \saveb@x\@tempboxa{#3}%                % January 2008
     974         \saveb@x\@tempboxa{#3}%        % January 2008
    970975         \ifdim \wd\@tempboxa>\z@
    971976            \ \box\@tempboxa
     
    12091214}
    12101215%\def\cite{\start@cite23}
    1211 \DeclareRobustCommand\cite{\start@cite23}               % January 2008
    1212 \def\citeNP{\cite*}                                     % No Parentheses e.g. 5
     1216\DeclareRobustCommand\cite{\start@cite23}       % January 2008
     1217\def\citeNP{\cite*}                 % No Parentheses e.g. 5
    12131218%\def\citeA{\start@cite10}
    1214 \DeclareRobustCommand\citeA{\start@cite10}              % January 2008
     1219\DeclareRobustCommand\citeA{\start@cite10}      % January 2008
    12151220\def\citeANP{\citeA*}
    1216 %\def\shortcite{\start@cite23}                         
    1217 \DeclareRobustCommand\shortcite{\start@cite23}          % January 2008
     1221%\def\shortcite{\start@cite23}
     1222\DeclareRobustCommand\shortcite{\start@cite23}      % January 2008
    12181223\def\shortciteNP{\shortcite*}
    12191224%\def\shortciteA{\start@cite20}
    1220 \DeclareRobustCommand\shortciteA{\start@cite20}         % January 2008
     1225\DeclareRobustCommand\shortciteA{\start@cite20}     % January 2008
    12211226\def\shortciteANP{\shortciteA*}
    12221227%\def\citeyear{\start@cite30}
    1223 \DeclareRobustCommand\citeyear{\start@cite30}           % January 2008
     1228\DeclareRobustCommand\citeyear{\start@cite30}       % January 2008
    12241229\def\citeyearNP{\citeyear*}
    12251230%\def\citeN{%
    1226 \DeclareRobustCommand\citeN{%                           % January 2008
     1231\DeclareRobustCommand\citeN{%               % January 2008
    12271232    \@citeRB
    12281233    \def\citeauthoryear##1##2##3{##1\ [##3%
     
    12421247}
    12431248%\def\shortciteN{%
    1244 \DeclareRobustCommand\shortciteN{%                      % January 2008
     1249\DeclareRobustCommand\shortciteN{%          % January 2008
    12451250    \@citeRB
    12461251    \def\citeauthoryear##1##2##3{##2\ [##3%
     
    12631268    \@ifnextchar [{\@tempswatrue\@citex;}%
    12641269% original                 {\@tempswafalse\@citex,[]}% was ; Gerry 2/24/00
    1265 {\@tempswafalse\@citex[]}%      % GERRY FIX FOR BABEL 3/20/2009
     1270{\@tempswafalse\@citex[]}%      % GERRY FIX FOR BABEL 3/20/2009
    12661271}
    12671272
     
    12691274    \@ifnextchar [{\@tempswatrue\@citex,}%
    12701275% original                  {\@tempswafalse\@citex,[]}%
    1271 {\@tempswafalse\@citex[]}%      %  GERRY FIX FOR BABEL 3/20/2009
     1276{\@tempswafalse\@citex[]}%  %  GERRY FIX FOR BABEL 3/20/2009
    12721277}
    12731278
     
    12781283            \@citea
    12791284% original            \def\@citea{#1 }%
    1280             \def\@citea{#1, }%  % GERRY FIX FOR BABEL 3/20/2009 -- SO THAT YOU GET [1, 2] IN THE BODY TEXT
     1285            \def\@citea{#1, }%  % GERRY FIX FOR BABEL 3/20/2009 -- SO THAT YOU GET [1, 2] IN THE BODY TEXT
    12811286            \edef\@citeb{\expandafter\@iden\@citeb}%
    12821287            \if@filesw
     
    13021307\setcounter{enumi}{1}
    13031308\bibindent=0em
    1304 \def\thebibliography#1{% 
     1309\def\thebibliography#1{%
    13051310\ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi
    13061311     \section[References]{%    <=== OPTIONAL ARGUMENT ADDED HERE
    13071312        {References} % was uppercased but this affects pdf bookmarks (SP/GM October 2004)
    1308           {\vskip -9pt plus 1pt} % GM Nov. 2006 / GM July 2000 (for somewhat tighter spacing) 
     1313          {\vskip -9pt plus 1pt} % GM Nov. 2006 / GM July 2000 (for somewhat tighter spacing)
    13091314         \@mkboth{{\refname}}{{\refname}}%
    13101315     }%
     
    13351340\global\colcntr=0
    13361341%\newbox\savebox
    1337 \newbox\saveb@x                         % January 2008
     1342\newbox\saveb@x             % January 2008
    13381343
    13391344\gdef \@makecol {%
     
    14241429\newtoks\boilerplate
    14251430\global\acmcopyr={X-XXXXX-XX-X/XX/XX}  % Default - 5/11/2001 *** Gerry
    1426 \global\copyrtyr={20XX}                % Default - 3/3/2003 *** Gerry
     1431\global\copyrtyr={200X}                % Default - 3/3/2003 *** Gerry
    14271432\def\CopyrightYear#1{\global\copyrtyr{#1}}
    14281433\def\crdata#1{\global\acmcopyr{#1}}
     
    14441449% character instead of, say, an unlaut/diaresis. Sometimes the letter-character would NOT appear at all.
    14451450% Using [T1]{fontenc} outright was not an option as this caused 99% of the authors to 'produce' a Type-3 (bitmapped)
    1446 % PDF file - useless for production. 
    1447 %
    1448 % For proper (font) accenting we NEED these packages to be part of the .cls file i.e. 'ae', 'aecompl' and 'aeguil' 
     1451% PDF file - useless for production.
     1452%
     1453% For proper (font) accenting we NEED these packages to be part of the .cls file i.e. 'ae', 'aecompl' and 'aeguil'
    14491454% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1450 %% This is file `ae.sty' 
     1455%% This is file `ae.sty'
    14511456\def\fileversion{1.3}
    14521457\def\filedate{2001/02/12}
     
    14691474\fi
    14701475\endinput
    1471 %% 
     1476%%
    14721477%% End of file `ae.sty'.
    14731478%
     
    14781483%\ProvidesPackage{aecompl}[\filedate\space\fileversion\space   % GM
    14791484%T1 Complements for AE fonts (D. Roegel)]                      % GM -- keeping the log file clean(er)
    1480  
     1485
    14811486\def\@ae@compl#1{{\fontencoding{T1}\fontfamily{cmr}\selectfont\symbol{#1}}}
    14821487\def\guillemotleft{\@ae@compl{19}}
     
    14981503%
    14991504%
    1500 %% This is file `aeguill.sty' 
     1505%% This is file `aeguill.sty'
    15011506% This file gives french guillemets (and not guillemots!)
    1502 % built with the Polish CMR fonts (default), WNCYR fonts, the LASY fonts 
    1503 % or with the EC fonts. 
     1507% built with the Polish CMR fonts (default), WNCYR fonts, the LASY fonts
     1508% or with the EC fonts.
    15041509% This is useful in conjunction with the ae package
    15051510% (this package loads the ae package in case it has not been loaded)
     
    15081513% In order to get the guillemets, it is necessary to either type
    15091514% \guillemotleft and \guillemotright, or to use an 8 bit encoding
    1510 % (such as ISO-Latin1) which selects these two commands, 
    1511 % or, if you use the french package (but not the frenchle package), 
     1515% (such as ISO-Latin1) which selects these two commands,
     1516% or, if you use the french package (but not the frenchle package),
    15121517% to type << or >>.
    15131518%
     
    15231528% There are no free Type 1 versions of the EC fonts.
    15241529%
    1525 % Support for Polish CMR guillemets was kindly provided by 
     1530% Support for Polish CMR guillemets was kindly provided by
    15261531% Rolf Niepraschk <niepraschk@ptb.de> in version 0.99 (2000/05/22).
    15271532% Bernd Raichle provided extensive simplifications to the code
     
    15801585  \def\@oguills{{\selectguillfont\symbol{19}}}%
    15811586  \def\@fguills{{\selectguillfont\symbol{20}}}%
    1582   } 
     1587  }
    15831588
    15841589\newcommand{\aeguills}{%
    15851590  \ae@guills
    15861591  % We redefine \guillemotleft and \guillemotright
    1587   % in order to catch them when they are used 
     1592  % in order to catch them when they are used
    15881593  % with \DeclareInputText (in latin1.def for instance)
    15891594  % We use \auxWARNINGi as a safe indicator that french.sty is used.
Note: See TracChangeset for help on using the changeset viewer.