# Changeset 1726

Ignore:
Timestamp:
Nov 21, 2011, 5:56:15 PM (7 years ago)
Message:

shorten abstract for HPCA

File:
1 edited

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

 r1421 In modern applications text files are employed widely. For example, XML files provide data storage in human readable format and are ubiquitous in applications ranging from database systems to mobile phone SDKs.  Traditional text processing tools are built around a byte-at-a-time processing model where each character token of a document is examined. The byte-at-a-time model is highly challenging for commodity processors. It includes many unpredictable input-dependent branches which cause pipeline squashes and stalls. Furthermore, typical text processing tools perform few operations per character and experience high cache miss rates. Overall, parsing text in important domains like XML processing requires high performance motivating the adoption of custom hardware solutions. % In modern applications text files are employed widely. For example, % XML files provide data storage in human readable format and are % ubiquitous in applications ranging from database systems to mobile % phone SDKs. % Traditional text processing tools are built around a % byte-at-a-time processing model where each character token of a % document is examined. The byte-at-a-time model is highly challenging % for commodity processors. It includes many unpredictable % input-dependent branches which cause pipeline squashes and % stalls. Furthermore, typical text processing tools perform few % operations per character and experience high cache miss % rates. Overall, parsing text in important domains like XML processing % requires high performance motivating the adoption of custom hardware % solutions. % % % In this paper on commodity. % % We expose through a toolchain. % % We demonstrate what can be achieved with branches etc. % % We study various tradeoffs. % % Finally we show the benefits can be stacked % % In this paper, we enable text processing applications to effectively % use commodity processors. We introduce Parabix (Parallel Bit Stream) % technology, a software toolchain and execution framework that allows % applications to exploit modern SIMD instructions for high performance % text processing. Parabix enables the application developer to write % constructs assuming unlimited SIMD data parallelism and Parabix's % bit stream translator generates code based on machine specifics (e.g., % SIMD register widths).  The key insight into efficient text processing % in Parabix is the data organization. Parabix transposes the sequence % of character bytes into sets of 8 parallel bit streams which then % enables us to operate on multiple characters with bit-parallel SIMD % operations. We demonstrate the features and efficiency of Parabix with % an XML parsing application. We evaluate the Parabix-based parser % against two widely used XML parsers, Expat and Apache's % Xerces. Parabix makes efficient use of intra-core SIMD hardware and % demonstrates 2$\times$--7$\times$ speedup and 4$\times$ improvement in % energy efficiency compared to the conventional parsers. We assess the % scalability of SIMD implementations across three generations of x86 % processors including the new \SB{}. We compare the 256-bit AVX % technology in Intel \SB{} versus the now legacy 128-bit SSE technology % and analyze the benefits and challenges of using the AVX % extensions.  Finally, we partition the XML program into pipeline stages % and demonstrate that thread-level parallelism enables the application % to exploits SIMD units scattered across the different cores and % improves performance (2$\times$ on 4 cores) at same energy levels as % the single-thread version for the XML application. % In this paper on commodity. % We expose through a toolchain. % We demonstrate what can be achieved with branches etc. % We study various tradeoffs. % Finally we show the benefits can be stacked In this paper, we enable text processing applications to effectively use commodity processors. We introduce Parabix (Parallel Bit Stream) technology, a software toolchain and execution framework that allows applications to exploit modern SIMD instructions for high performance text processing. Parabix enables the application developer to write constructs assuming unlimited SIMD data parallelism and Parabix's Traditional text processing tools are built around a byte-at-a-time sequential processing model, which is hard to parallelize without special hardware. However, Parabix (Parallel Bit Stream) technology enables text processing applications to effectively use commodity processors. In this paper, we generalize Parabix into a software toolchain and execution framework that allows applications to exploit modern SIMD instructions for high performance text processing. This toolchain enables the application developer to write constructs assuming unlimited SIMD data parallelism and Parabix's bit stream translator generates code based on machine specifics (e.g., SIMD register widths).  The key insight into efficient text processing in Parabix is the data organization. Parabix transposes the sequence of character bytes into sets of 8 parallel bit streams which then enables us to operate on multiple characters with bit-parallel SIMD operations. We demonstrate the features and efficiency of Parabix with SIMD register widths). We demonstrate the features and efficiency of Parabix with an XML parsing application. We evaluate the Parabix-based parser against two widely used XML parsers, Expat and Apache's improves performance (2$\times$ on 4 cores) at same energy levels as the single-thread version for the XML application.
Note: See TracChangeset for help on using the changeset viewer.