source: docs/HPCA2012/final_ieee/04-methodology.tex @ 3889

Last change on this file since 3889 was 1784, checked in by cameron, 7 years ago

Eliminate duplicate refs; Fluke ref.

File size: 4.9 KB
Line 
1\pagebreak
2\section{Evaluation Framework}
3\label{section:methodology}
4
5\paragraph{XML Parsers:}\label{parsers}
6We evaluate the Parabix XML parser described above
7against two widely available open-source parsers: Xerces-C \cite{xerces} and Expat \cite{expat}.
8Each of the parsers is evaluated on the task of implementing the
9parsing and well-formedness checking requirements of the full
10XML 1.0 specification\cite{TR:XML}.
11Xerces-C version 3.1.1 (SAX) is a validating XML
12parser written in C++ and is available as part of the the Apache project.
13Expat version 2.0.1 is a stream-oriented non-validating XML parser library written in C.
14To ensure a fair comparison, we restricted our analysis of Xerces-C to its WFXML scanner to
15eliminate the cost of non-well-formedness validation and used the SAX interface to avoid
16the memory cost of DOM tree construction.
17
18\paragraph{XML Workloads:}\label{workloads}
19XML is used for a variety of purposes ranging from databases to configuration
20files in mobile phones.
21A key predictor of the overall parsing performance of an XML file is \textit{Markup density} (i.e., the ratio of markup vs. the total XML document size.)
22This metric has substantial influence on the performance of
23traditional recursive descent XML parsers.  We use a
24mixture of document-oriented and data-oriented XML files
25to analyze performance over a spectrum of markup densities.
26
27Table \ref{XMLDocChars} shows the document characteristics of the XML
28input files selected for this performance study.  The jawiki.xml and
29dewiki.xml XML files represent document-oriented XML inputs and
30contain the three-byte and four-byte UTF-8 sequence required for the
31UTF-8 encoding of Japanese and German characters respectively.  The
32remaining data files are data-oriented XML documents and consist
33entirely of single byte  encoded ASCII characters.
34
35\begin{table}[htbp]
36\begin{center}
37{
38\footnotesize
39\begin{tabular}{|@{~}l@{~}||@{~}l@{~}|@{~}l@{~}|@{~}l@{~}|@{~}l@{~}|@{~}l@{~}|}
40\hline
41File Name               & dew.xml       & jaw.xml       & roads.gml     & po.xml        & soap.xml \\ \hline   
42File Type               & doc           & doc           & data          & data          & data   \\ \hline     
43File Size (kB)          & 66240         & 7343          & 11584         & 76450         & 2717 \\ \hline
44Markup Density          & 0.07          & 0.13          & 0.57          & 0.76          & 0.87  \\ \hline
45\end{tabular}
46}
47\end{center}
48\caption{XML Document Characteristics} 
49\label{XMLDocChars} 
50\end{table}
51
52%\begin{table}[htbp]
53%{
54%  \footnotesize
55%  \begin{center}
56%{
57%\begin{tabular}{|l||@{~}l@{~}|@{~}l@{~}|@{~}l@{~}|}
58%\hline
59%Processor & Core2 Duo & i3-530 & Sandybridge\\ \hline
60%Frequency &  2.13GHz & 2.93GHz & 2.80GHz \\ \hline
61%L1 D Cache & 32KB & 32KB & 32KB \\ \hline     
62%L2 Cache & Shared 2MB & 256KB/core & 256KB/core \\ \hline
63%L3 Cache & --- & 4MB  & 6MB \\ \hline
64%Max TDP & 65W & 73W &  95W \\ \hline
65%\end{tabular}
66%}
67%\end{center}
68%  }
69%\caption{Platform Hardware Specs}
70%\label{hwinfo}
71%\end{table}
72
73
74\paragraph{Platform Hardware:}
75SSE SIMD extensions have been available on commodity Intel processors
76for over a decade since the Pentium III. They have steadily evolved
77with improvements in instruction latency, cache interface, register
78resources, and the addition of domain specific instructions. Here we
79investigate SIMD extensions across three different generations of
80intel processors: Core2Duo (2.13Ghz,32KB L1, 2MB Shared L2), Core i3
81(2.9Ghz, 32KB L1,256KB L2, 4MB Shared LLC), and Sandybridge (2.8Ghz,
8232KB L1, 256KB L2, 6MB LLC). We compare the energy and performance
83profile of the Parabix under the platforms.  We also analyze the
84implementation specifics of SIMD extensions under various
85microarchitectures and the newer AVX extensions.  We investigate the
86execution profiles of each XML parser using the performance counters
87found in the processor.  We choose several key hardware events that
88provide insight into the profile of each application and indicate if
89the processor is doing useful work ~\cite{bellosa2001, bertran2010}.
90The set of events included in our study are: branch instructions,
91branch mispredictions, integer instructions, SIMD instructions, and
92cache misses. In addition, we characterize the SIMD operations and
93study the type and class of SIMD operations using the Intel Pin
94framework.
95
96
97
98
99\paragraph{Energy Measurement:}
100%A key benefit of the
101We measure the energy consumption of the processor directly using a
102current clamp. We apply the Fluke i410 current clamp to the 12V wires
103that supply power to the processor sockets. The clamp detects the
104magnetic field created by the flowing current and converts it into
105voltage levels (1mV per 1A current). The voltage levels are then
106monitored by an Agilent 34410a digital multimeter at the granularity
107of 100 samples per second. This measurement captures the instantaneous
108power to the processor package, including the cores, caches, northbridge
109memory controller, and the quick-path interconnects. We obtain samples
110throughout the entire execution of the program and then calculate overall
111total energy as  $12V*\sum^{N_{samples}}_{i=1} Sample_i$.
Note: See TracBrowser for help on using the repository browser.