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

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

Minor bug fixes up to 04

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