source: docs/HPCA2012/04-methodology.tex @ 1418

Last change on this file since 1418 was 1418, checked in by ashriram, 8 years ago

final

File size: 5.1 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 validation 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 config
20files in mobile phones.
21A key predictor of the overall parsing performance of an XML file is
22its \textit{Markup density} (i.e., the ratio of markup vs. the total XML document size.)
23This metric has substantial influence on the performance of
24traditional recursive descent XML parsers.  We use a
25mixture of document-oriented and data-oriented XML files in our study
26to  analyze workloads with a full spectrum of markup densities.
27
28Table \ref{XMLDocChars} shows the document characteristics of the XML
29input files selected for this performance study.  The jawiki.xml and
30dewiki.xml XML files represent document-oriented XML inputs and
31contain the three-byte and four-byte UTF-8 sequence required for the
32UTF-8 encoding of Japanese and German characters respectively.  The
33remaining data files are data-oriented XML documents and consist
34entirely of single byte  encoded ASCII characters.
35
36\begin{table*}[!h]
37\begin{center}
38{
39\footnotesize
40\begin{tabular}{|l||l|l|l|l|l|}
41\hline
42File Name               & dew.xml               & jaw.xml               & roads.gml     & po.xml        & soap.xml \\ \hline   
43File Type               & document              & document              & data          & data          & data   \\ \hline     
44File Size (kB)          & 66240                 & 7343                  & 11584         & 76450         & 2717 \\ \hline
45Markup Item Count       & 406792                & 74882                 & 280724        & 4634110       & 18004 \\ \hline
46Markup Density          & 0.07                  & 0.13                  & 0.57          & 0.76          & 0.87  \\ \hline
47\end{tabular}
48}
49\end{center}
50\caption{XML Document Characteristics} 
51\label{XMLDocChars} 
52\end{table*}
53
54
55\paragraph{Platform Hardware:}
56SSE extensions have been available on commodity Intel processors for
57over a decade since the Pentium III. They have steadily evolved with
58improvements in instruction latency, cache interface, register
59resources, and the addition of domain specific instructions. Here we
60investigate SIMD extensions across three different generations of
61intel processors (hardware details in Table \ref{hwinfo}). We compare
62the energy and performance profile of the Parabix under the platforms.
63We also analyze the implementation specifics of SIMD extensions under
64various microarchitectures and the newer AVX extensions supported by
65Sandybridge.
66
67
68We investigated the execution profiles of each XML parser
69using the performance counters found in the processor.
70We chose several key hardware events that provide insight into the profile of each
71application and indicate if the processor is doing useful work
72~\cite{bellosa2001, bertran2010}
73The set of events included in our study are: Branch instructions, Branch mispredictions,
74Integer instructions, SIMD instructions, and Cache misses. In
75addition, we characterize the SIMD operations and study the type and
76class of SIMD operations using the Intel Pin binary instrumentation
77framework.
78
79\begin{table*}[h]
80\begin{center}
81\footnotesize
82\begin{tabular}{|l||l|l|l|}
83\hline
84Processor & Core2 Duo (2.13GHz) & i3-530 (2.93GHz) & Sandybridge (2.80GHz) \\ \hline
85L1 D Cache & 32KB & 32KB & 32KB \\ \hline       
86L2 Cache & Shared 2MB & 256KB/core & 256KB/core \\ \hline 
87L3 Cache & --- & 4MB  & 6MB \\ \hline 
88Bus or QPI &  1066Mhz Bus & 1333Mhz QPI & 1333Mhz QPI \\ \hline
89Memory  & 2GB & 4GB & 6GB\\ \hline
90Max TDP & 65W & 73W &  95W \\ \hline
91\end{tabular}
92\caption{Platform Hardware Specs} 
93\label{hwinfo}
94\end{center}
95\vspace{-20pt}
96\end{table*}
97
98
99
100\paragraph{Energy Measurement:}
101A key benefit of the Parabix parser is its more efficient use of the
102processor pipeline which reflects in the overall energy usage.  We
103measure the energy consumption of the processor directly using a
104current clamp. We apply the Fluke i410 current clamp \cite{clamp} to the 12V wires
105that supply power to the processor sockets. The clamp detects the
106magnetic field created by the flowing current and converts it into
107voltage levels (1mV per 1A current). The voltage levels are then
108monitored by an Agilent 34410a digital multimeter at the granularity
109of 100 samples per second. This measurement captures the instantaneous
110power to the processor package, including cores, caches, northbridge
111memory controller, and the quick-path interconnects. We obtain samples
112throughout the entire execution of the program and then calculate overall
113total energy as  $12V*\sum^{N_{samples}}_{i=1} Sample_i$.
114
115
Note: See TracBrowser for help on using the repository browser.