# source:docs/PACT2011/04-methodology.tex@1000

Last change on this file since 1000 was 996, checked in by cameron, 9 years ago

Deduplicate label; minor fixes

File size: 7.2 KB
Line
1\section{Methodology}
2
3
4In this section, we describe our methodology for the measurements and investigation of XML parsing energy consumption and performance.
5In brief, for each of the XML parsers under study we propose to measure and evaluate the energy consumption required to carry out XML well-formedness checking,
6under a variety of workloads, and as executed on three different Intel cores.
7
8To begin our study, we propose to first investigate each of the XML parsers in terms of the PMCs hardware events as listed in the following subsection.
9Based on previous key works \cite{bellosa2001, bertran2010, bircher2007},
10we have chosen several key hardware performance events for which the authors indicate have a strong correlation to energy consumption.
11From these data, we hope to gain insight into the XML parser execution characteristics which most significantly contribute to overall energy consumption.
12Secondly, using the Fluke i410 current clamp meter, we plan to measure the total energy consumption required to complete XML well-formedness checking for each XML parser,
13on each hardware platform, and for each of a number of XML source files.
14
15The foundational work by Bellosa in \cite{bellosa2001} as well as more recent work in \cite {bircher2007, bertran2010}
16show that hardware-usage patterns has a significant impact in the energy consumption of a particular application;
17\cite{bellosa2001, bircher2007, bertran2010} further show that there is a strong correlation between
18specific performance events and energy usage---but the authors of each differ slightly in opinion as to
19which performance monitoring counters\footnote{Performance monitoring counters (PMCs) are special-purpose registers that are included in most modern microprocessors;
20they store the running count of specific hardware events, such as retired instructions, cache misses, branch mispredictions, and arithmetic-logic unit operations to name a few.
21They can be used to capture information about any program at run-time, under any workload, at a very fine granularity.} (PMCs) to use.
22
23
24The following subsections describe the XML parsers under study, XML workloads, the hardware architectures, PMC hardware events selected for measurement, and the Fluke i401 current clamp meter.
25The expected outcomes of this section are hardware performance counter measurements and total energy consumption measurements for each of XML parser, XML source file, and hardware combination.
26
27\subsection{Parsers}\label{parsers}
28
29The XML parsing technologies selected for this study are the Parabix2, Xerces-C++, and Expat XML parsers.
30Parabix2 \cite{parabix2} (parallel bit streams for XML) is the second generation Parabix parser. Parabix2 is an open-source XML parser that leverages the SIMD capabilities of modern commodity processors;
31it employs the new parallelization techniques using parallel parsing with bit stream addition to deliver dramatic performance improvements over traditional byte-at-a-time parsing technology.
32Xerces-C++ version 3.1.1 (SAX) \cite{xerces} is a validating open source XML parser written in C++ by the Apache project.
33Expat version 2.0.1 \cite{expat} is a non-validating XML parser library written in C.
34
35\begin{table*}
36\begin{center}
37\begin{tabular}{|c||r|r|r|r|r|}
38\hline
39File Name               & dewiki.xml            & jawiki.xml            & roads.gml     & po.xml        & soap.xml \\ \hline
40File Type               & document              & document              & data          & data          & data   \\ \hline
41File Size (kB)          & 66240                 & 7343                  & 11584         & 76450         & 2717 \\ \hline
42Markup Item Count       & 406792                & 74882                 & 280724        & 4634110       & 18004 \\ \hline
43Markup Density          & 0.07                  & 0.13                  & 0.57          & 0.76          & 0.87  \\ \hline
44\end{tabular}
45\end{center}
46\caption{XML Document Characteristics}
47\label{XMLDocChars}
48\end{table*}
49
51
52Distinguishing between document-oriented'' XML and data-oriented'' XML is a popular way to describe the two basic classes of XML documents.
53Data-oriented XML is used as an interchange format.
54Document-oriented XML is used to impose structure on information that rarely fits neatly into a relational database--particularly information intended for publishing.
55Data-oriented XML are characterized by a higher markup density.
56Markup density is defined as the ratio of the total markup contained within an XML file to the total XML document size.
57This metric may have substantial influence on the performance of XML parsing.
58As such we choose workloads with a spectrum of markup densities.
59
60Table \ref{XMLDocChars} shows the document characteristics of the XML input files selected for this performance study.
61The jawiki.xml and dewiki.xml XML files represent document-oriented XML inputs, containing three-byte and four-byte UTF8 sequence.
62The remaining files are data-oriented inputs and consist of only ASCII characters.\cite{CameronHerdyLin2008}
63
64Describe parameters; what each parameter means.
65\subsection{Platform Hardware}
66\subsubsection{Intel Core 2}
67\begin{table}[h]
68\begin{center}
69\begin{tabular}{|c||c|}
70\hline
71Processor & Intel Core 2 Duo processor 6400  (2.13GHz) \\ \hline
72L1 Cache & 32KB I-Cache, 32KB D-Cache \\ \hline
73L2 Cache & 2MB \\ \hline
74Front Side Bus &  1066 MHz\\ \hline
75Memory  & 2GB \\ \hline
76Hard disk & SCSI \\ \hline
77Max TDP & 65W \\ \hline
78\end{tabular}
79\end{center}
80\caption{Core 2}
81\label{core2info}
82\end{table}
83\subsubsection{Intel Core i3}
84The Intel Core i3 is a Nehalem based processor produced by Intel. The intent of this processor is to serve as a
85low end server processor. Table \ref{i3info} gives the hardware description of the Intel Core i3 based machine selected.
86
87\begin{table}[h]
88\begin{center}
89\begin{tabular}{|c||c|}
90\hline
91Processor & Intel Clarkdale I3-530 (2.93GHz) \\ \hline
92L1 Cache & 32KB I-Cache, 32K D-Cache \\ \hline
93L2 Cache & 256KB \\ \hline
94L3 Cache & 4-MB \\ \hline
95Front Side Bus & 1333 MHz \\ \hline
96Memory  & 4GB \\ \hline
97Hard disk & SCSI 1TB \\ \hline
98Max TDP & 73W \\ \hline
99
100\end{tabular}
101\end{center}
102\caption{Core i3}
103\label{i3info}
104\end{table}
105
106\subsubsection{Sandy Bridge}
107
108\begin{table}[h]
109\begin{center}
110\begin{tabular}{|c||c|}
111\hline
112Processor & Intel Core I5-2300 (2.80GHz) \\ \hline
113L1 Cache &  192 KB\\ \hline
114L2 Cache &  4 X 256KB \\ \hline
115L3 Cache & 6-MB \\ \hline
116Front Side Bus &  \\ \hline
117Memory  &  \\ \hline
118Hard disk &  \\ \hline
119Max TDP & 95W \\ \hline
120
121\end{tabular}
122\end{center}
123\caption{Sandy Bridge}
124\label{sandybridgeinfo}
125\end{table}
126
127\subsection{PMC Hardware Events}\label{events}
128
129Each of the hardware events selected relates to the energy consumption due to one or more hardware units. For example, total branch miss predictions corresponds to the use of the branch misprediction unit.
130
131Initial PMC hardware event set:
132\begin{itemize}
133\item Processor Cycles
134\item Branch Instructions
135\item Branch Mispredictions
136\item Integer Instructions
137\item SIMD Instructions
138\item Cache Misses
139\end{itemize}
140
141\subsection{Measurement Hardware}
142The Fluke i410 current clamp meter is an electrical tester that combines a voltmeter with a clamp type current meter.
143Like the multimeter, the clamp meter has transitioned through the analog period and into the digital era. Created primarily as a single purpose test tool for electricians,
144the Fluke i410 have incorporated more measurement functions and accuracy \cite{clamp}.
Note: See TracBrowser for help on using the repository browser.