Ignore:
Timestamp:
Aug 23, 2011, 6:38:17 PM (8 years ago)
Author:
ashriram
Message:

first parse. Pipeline stage

File:
1 edited

Legend:

Unmodified
Added
Removed
  • docs/HPCA2012/04-methodology.tex

    r1339 r1362  
    1010
    1111To begin our study we propose to first investigate each of the XML
    12 parsers in terms of the Performance Monitoring Counter \footnote{Performance Monitoring Counters
    13  are special-purpose registers available with most modern
    14  microprocessors. PMCs store the running count of specific hardware
    15  events, such as retired instructions, cache misses, branch
    16  mispredictions, and arithmetic-logic unit operations.
    17  PMCs can be used to capture information about any program at
    18  run-time and under any workload at a fine granularity.} (PMC) hardware events listed in
    19 the PMC Hardware Events subsection. Based on the findings of previous
    20 work \cite{bellosa2001, bertran2010, bircher2007} we have chosen
    21 several key hardware performance events for which the authors indicate
    22 a strong correlation with energy consumption. In addition, we measure
    23 the runtime counts of SIMD instructions and
    24 bitwise operations using the Intel Pin binary instrumentation
    25 framework. Based on these data we gain further insight into XML
    26 parser execution characteristics and compare and constrast each of the Parabix parser versions
    27 against the performance of standard industry parsers.
     12parsers in terms of the Performance Monitoring Counter (PMC) hardware
     13events listed in the PMC Hardware Events subsection. Based on the
     14findings of previous work \cite{bellosa2001, bertran2010, bircher2007}
     15we have chosen several key hardware performance events for which the
     16authors indicate a strong correlation with overall performance and
     17energy consumption of the application. In addition, we measure the
     18runtime counts of SIMD instructions and bitwise operations using the
     19Intel Pin binary instrumentation framework. Based on these data we
     20gain further insight into XML parser execution characteristics and
     21compare and constrast each of the Parabix parser versions against the
     22performance of standard industry parsers.
    2823
    2924The foundational work by Bellosa in \cite{bellosa2001} as well as more
     
    4439\subsection{Parsers}\label{parsers}
    4540
    46 The XML parsing technologies selected for this study are the Parabix1, Parabix2,
    47 Xerces-C++, and Expat XML parsers. Parabix1 (parallel bit Streams for XML) is our first generation SIMD and Parallel Bit Stream technology based XML parser \cite{Parabix1}.
    48 Parabix1 leverages the processor built-in {\em bitscan} operation for high-performance XML character scanning as well as the
    49 SIMD capabilities of modern commodity processors to achieve high performance.
    50 Parabix2 \cite{parabix2} represents the second generation of the Parabix1 parser. Parabix2
    51 is an open-source XML parser that also leverages Parallel Bit Stream technology and the SIMD capabilities of
    52 modern commodity processors. However, Parabix2 differs from Parabix1 in that it employs new parallelization
    53 techniques, such as a multiple cursor approach to parallel parsing together with bit stream addition techniques to advance multiple cursors independently and in parallel. Parabix2 delivers
    54 dramatic performance improvements over traditional byte-at-a-time
    55 parsing technology.  Xerces-C++ version 3.1.1 (SAX) \cite{xerces} is a
    56 validating open source XML parser written in C++ by the Apache
    57 project.  Expat version 2.0.1 \cite{expat} is a non-validating XML
    58 parser library written in C.
     41The XML parsing technologies selected for this study are the Parabix1,
     42Parabix2, Xerces-C++, and Expat XML parsers. Parabix1 (parallel bit
     43Streams for XML) is our first generation SIMD and Parallel Bit Stream
     44technology based XML parser \cite{Parabix1}.  Parabix1 leverages the
     45processor built-in {\em bitscan} operation for high-performance XML
     46character scanning as well as the SIMD capabilities of modern
     47commodity processors to achieve high performance.  Parabix2
     48\cite{parabix2} represents the second generation of the Parabix1
     49parser. Parabix2 is an open-source XML parser that also leverages
     50Parallel Bit Stream technology and the SIMD capabilities of modern
     51commodity processors. However, Parabix2 differs from Parabix1 in that
     52it employs new parallelization techniques, such as a multiple cursor
     53approach to parallel parsing together with bit stream addition
     54techniques to advance multiple cursors independently and in
     55parallel. Parabix2 delivers dramatic performance improvements over
     56traditional byte-at-a-time parsing technology.  Xerces-C++ version
     573.1.1 (SAX) \cite{xerces} is a validating open source XML parser
     58written in C++ by the Apache project.  Expat version 2.0.1
     59\cite{expat} is a non-validating XML parser library written in C.
    5960
    6061\begin{table*}
Note: See TracChangeset for help on using the changeset viewer.