Changeset 1421


Ignore:
Timestamp:
Aug 31, 2011, 7:47:40 PM (8 years ago)
Author:
ksherdy
Message:
 
Location:
docs/HPCA2012
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • docs/HPCA2012/00-abstract.tex

    r1393 r1421  
    2020
    2121In this paper, we enable text processing applications to effectively
    22 use commodity processors. We introduce Parabix (Parallel Bitstream)
     22use commodity processors. We introduce Parabix (Parallel Bit Stream)
    2323technology, a software toolchain and execution framework that allows
    2424applications to exploit modern SIMD instructions for high performance
    2525text processing. Parabix enables the application developer to write
    2626constructs assuming unlimited SIMD data parallelism and Parabix's
    27 bitstream translator generates code based on machine specifics (e.g.,
     27bit stream translator generates code based on machine specifics (e.g.,
    2828SIMD register widths).  The key insight into efficient text processing
    2929in Parabix is the data organization. Parabix transposes the sequence
  • docs/HPCA2012/01-intro.tex

    r1413 r1421  
    3333(parsers/finite state machines) that is considered to be the hardest
    3434application class to parallelize~\cite{Asanovic:EECS-2006-183}. We
    35 present Parabix, a novel execution framework and software run-time
     35present Parabix, a novel execution framework and software runtime
    3636environment that can be used to dramatically improve the efficiency of
    3737text processing and parsing on commodity processors.  Parabix
     
    9494Overall we make the following contributions:
    9595
    96 1) We outline the Parabix architecture, tool chain and run-time
     961) We outline the Parabix architecture, tool chain and runtime
    9797environment and describe how it may be used to produce efficient
    9898XML parser implementations on a variety of commodity processors.
     
    124124parsing and provides insight into the inefficiency of traditional
    125125parsers.  Section~\ref{section:parabix} describes the Parabix
    126 architecture, tool chain and run-time environment.
     126architecture, tool chain and runtime environment.
    127127Section~\ref{section:parser} describes the our design of an XML parser
    128128based on the Parabix framework.  Section~\ref{section:baseline}
  • docs/HPCA2012/05-corei3.tex

    r1415 r1421  
    5050\subsection{Branch Mispredictions}
    5151\label{section:XML-branches}
    52 It is hard to handle branch mispredictions in traditional
    53 XML parsers due to: (1) the variable length nature of the syntactic
    54 elements contained within XML documents; (2) a data dependent
    55 characteristic, and (3) the extensive set of syntax constraints
    56 imposed by the XML 1.0/1.1 specifications.
     52In general, performance is limited by branch mispredictions.
     53Unfortunately, it is difficult to reduce the branch misprediction rate of
     54traditional XML parsers due to:
     55(1) the variable length nature of the syntactic elements contained within XML documents;
     56(2) a data dependent characteristic, and
     57(3) the extensive set of syntax constraints imposed by the XML 1.0/1.1 specifications.
    5758% Branch mispredictions are known
    5859% to signficantly degrade XML parsing performance in proportion to the markup density of the source document
  • docs/HPCA2012/06-scalability.tex

    r1418 r1421  
    8181superscalar microprocessor. It includes a 32kB L1 data cache and a
    8282512kB L2 shared cache.  Migration of Parabix-XML to the Android platform
    83 only required developing a Parabix runtime library for ARM \NEON{}.
     83only required developing a Parabix run-time library for ARM \NEON{}.
    8484The majority of the runtime functionality was ported
    8585directly. However, a small subset of key SIMD instructions (e.g., bit
  • docs/HPCA2012/07-avx.tex

    r1418 r1421  
    33In this section, we discuss the scalability and performance advantages
    44of our 256-bit AVX (Advanced Vector Extensions) Parabix-XML port.  The
    5 Parabix runtime libraries originally targeted the 128-bit SSE2 SIMD
     5Parabix run-time libraries originally targeted the 128-bit SSE2 SIMD
    66technology, available on all modern 64-bit Intel and AMD processors.
    77It was recently been ported to AVX, which is commercially
     
    4343to take advantage of the 3-operand form of AVX instructions
    4444while retaining a uniform 128-bit SIMD processing width.  The second
    45 involved rewriting the Parabix runtime library to
     45involved rewriting the Parabix run-time library to
    4646leverage the 256-bit AVX instructions wherever possible and to simulate
    4747the remaining operations using pairs of 128-bit operations. Figure
  • docs/HPCA2012/11-conclusions.tex

    r1411 r1421  
    3030operations in some cases have higher overheads compared to the
    3131existing 128 bit SSE operations. We also compare Intel's SIMD
    32 extensions against the ARM Neon. Note that Parabix allowed us to
     32extensions against the ARM \NEON{}. Note that Parabix allowed us to
    3333perform these studies without having to change the application source.
    3434Finally, we parallelized the Parabix XML parser to take advantage of
     
    3737fine-grain parallelism we exploit; parallelized Parabix achieves a
    3838further 2$\times$ improvement in performance.
     39
     40
  • docs/HPCA2012/main.tex

    r1411 r1421  
    1111\usepackage{wrapfig}
    1212\usepackage{amssymb}    % for \varnothing (empty set) symbol
     13\usepackage{ulem}
    1314\def\lb{\linebreak[1]}
    1415\def\CITHREE{Core-i3}
Note: See TracChangeset for help on using the changeset viewer.