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

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

Fixed methodology

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