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

Last change on this file since 1782 was 1774, checked in by lindanl, 7 years ago

minor changes

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