Ignore:
Timestamp:
Nov 30, 2011, 11:30:44 AM (8 years ago)
Author:
ashriram
Message:

First pass final version [ashriram]

File:
1 edited

Legend:

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

    r1733 r1743  
    4848% the single-thread version for the XML application.
    4949
     50Modern applications employ text files widely for providing data
     51storage in readable format for applications ranging from database
     52systems to mobile phones. Traditional text processing tools are built
     53around a byte-at-a-time sequential processing model, and introduce
     54significant branch and cache miss penalty. Recently researchers have
     55explored a transposed representation of text, Parabix (Parallel Bit
     56Stream),  to improve the efficiency of text processing.
    5057
    51 Traditional text processing tools are built around a byte-at-a-time
    52 sequential processing model, which is hard to parallelize without special hardware.
    53 However, Parabix (Parallel Bit Stream) technology
    54 enables text processing applications to effectively use commodity processors.
    55 In this paper, we generalize Parabix into a software toolchain and execution
    56 framework that allows applications to exploit modern SIMD instructions for high
    57 performance text processing. This toolchain enables the application developer
    58 to write constructs assuming unlimited SIMD data parallelism and Parabix's
    59 bit stream translator generates code based on machine specifics (e.g.,
    60 SIMD register widths). We demonstrate the features and efficiency of Parabix with
    61 an XML parsing application. We evaluate the Parabix-based parser
    62 against two widely used XML parsers, Expat and Apache's
    63 Xerces. Parabix makes efficient use of intra-core SIMD hardware and
    64 demonstrates 2$\times$--7$\times$ speedup and 4$\times$ improvement in
    65 energy efficiency compared to the conventional parsers. We assess the
    66 scalability of SIMD implementations across three generations of x86
    67 processors including the new \SB{}. We compare the 256-bit AVX
    68 technology in Intel \SB{} versus the now legacy 128-bit SSE technology
    69 and analyze the benefits and challenges of using the AVX
    70 extensions.  Finally, we partition the XML program into pipeline stages
    71 and demonstrate that thread-level parallelism enables the application
    72 to exploits SIMD units scattered across the different cores and
    73 improves performance (2$\times$ on 4 cores) at same energy levels as
    74 the single-thread version for the XML application.
     58In this paper, we explore a general programming framework based on
     59Parabix and describe the software toolchain and execution framework
     60that allows applications to exploit modern SIMD instructions for high
     61performance text processing. The toolchain enables the application
     62developer to write constructs assuming unbounded characters streams
     63and Parabix's code translator generates code based on machine
     64specifics (e.g., SIMD register widths). We demonstrate the features
     65and efficiency of Parabix with an XML parsing application. Parabix
     66exploits intra-core SIMD hardware and demonstrates
     672$\times$--7$\times$ speedup and 4$\times$ improvement in energy
     68efficiency compared to two widely used conventional software parsers,
     69Expat and Apache-Xerces. We study SIMD implementations across three
     70generations of x86 processors including the new \SB{}. We compare the
     71256-bit AVX technology in Intel \SB{} versus the now legacy 128-bit
     72SSE technology and analyze the benefits and challenges 3-operand
     73instruction formats and wider SIMD hardware.  Finally, we partition
     74the XML program into pipeline stages and demonstrate that thread-level
     75parallelism enables the application to exploits SIMD units scattered
     76across the different cores and improves performance (2$\times$ on 4
     77cores) at same energy levels as the single-thread version for the XML
     78application.
Note: See TracChangeset for help on using the changeset viewer.