Ignore:
Timestamp:
Aug 31, 2011, 2:09:54 PM (8 years ago)
Author:
ashriram
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • docs/HPCA2012/01-intro.tex

    r1395 r1404  
    3030computing efficiency of commodity processors.
    3131
    32 In this paper, we tackle the infamous ``thirteenth dwarf''
     32In this paper we tackle the infamous ``thirteenth dwarf''
    3333(parsers/finite state machines) that is considered to be the hardest
    3434application class to parallelize~\cite{Asanovic:EECS-2006-183}. We
    3535present Parabix, a novel execution framework and software run-time
    3636environment that can be used to dramatically improve the efficiency of
    37 text processing and parsing on commodity processors.  Parabix
    38 transposes byte-oriented character data into parallel bit streams for
    39 the individual bits of each character byte and then exploits the
    40 SIMD extensions on commodity processors (SSE/AVX on x86, Neon on ARM)
    41 to process hundreds of character positions in an input stream
    42 simultaneously.  To achieve transposition, Parabix exploits
    43 sophisticated SIMD instructions that enable data elements to be packed
    44 and unpacked from registers in a regular manner which improves the
    45 overall cache access behavior of the application resulting in
    46 significantly fewer misses and better utilization.  Parabix also
    47 dramatically reduces branches in parsing code resulting in a more
    48 efficient pipeline and substantially improves register/cache
     37text processing and parsing on commodity processors.  Parabix
     38transposes byte-oriented character data into parallel bit streams and
     39then exploits the SIMD extensions on commodity processors (SSE/AVX on
     40x86, Neon on ARM) to process hundreds of character positions in an
     41input stream simultaneously.  To achieve transposition, Parabix
     42exploits sophisticated SIMD instructions that enable data elements to
     43be packed and unpacked from registers in a regular manner which
     44improves the overall cache access behavior of the application
     45resulting in significantly fewer misses and better utilization.
     46Parabix also dramatically reduces branches in parsing code resulting
     47in a more efficient pipeline and substantially improves register/cache
    4948utilization which minimizes energy wasted on data transfers.
    5049
    51 We apply Parabix technology to the problem of XML parsing and develop
    52 several implementations for different computing platforms.  XML is a
    53 particularly interesting application; it is a standard of the web
    54 consortium that provides a common framework for encoding and
    55 communicating data.  XML provides critical data storage for
    56 applications ranging from Office Open XML in Microsoft Office to NDFD
    57 XML of the NOAA National Weather Service, from KML in Google Earth to
    58 Castor XML in the Martian Rovers.  XML parsing efficiency is important
    59 for multiple application areas; in server workloads the key focus in
    60 on overall transactions per second, while in applications in network
    61 switches and cell phones, latency and energy are of paramount
     50We apply Parabix technology to the problem of XML parsing.  XML is a
     51standard of the web consortium that provides a common framework for
     52encoding and communicating data.  XML provides critical data storage
     53for applications ranging from Office Open XML in Microsoft Office to
     54NDFD XML of the NOAA National Weather Service, from KML in Google
     55Earth to Castor XML in the Martian Rovers.  XML parsing efficiency is
     56important for multiple application areas; in server workloads the key
     57focus in on overall transactions per second, while in applications in
     58network switches and cell phones, latency and energy are of paramount
    6259importance.  Traditional software-based XML parsers have many
    6360inefficiencies including considerable branch misprediction penalties
Note: See TracChangeset for help on using the changeset viewer.