icXML: Accelerating Xerces-C 3.1.1 using the Parabix Framework

Nigel Medforth · Summit (Simon Fraser University) · 2013

Traditional XML parsers process XML documents sequentially, one byte-at-a-time.Parabix-XML, however, parses documents 128-bytes-at-a-time, through the use of Pablo-generated parallel bit stream operations.Prior research on accelerating XML processing using the Parabix Framework lead to a number of interesting yet feature-light research prototypes.This project investigates the integration of Parabix into an existing widely-used XML parser, Xerces-C 3.1.1 of the Apache Software Foundation.Xerces was systematically restructured into nine independent layers that leverage parallel transcoding, deletion and bit stream operations yet still adhere to the existing programmer API.icXML supports all features provided by Xerces with the exception of object serialization and its layered structure supports future multicore acceleration using pipeline parallelism.Evaluation of icXML in a single-core setting demonstrates a speedup of 50% to 100% in a wide range of workloads.Keywords: XML, Parabix, Parallel bit stream technology, SIMD Building icXML would not have been possible were it not for the help of those around me.Although no single statement could suffice, I would like to thank my parents whose support made it possible for me to dedicate my time to this project.And I would like to express my gratitude to my supervisor Dr. Robert Cameron for his guidance and continual engagement throughout this project, and to my fellow lab

Read the paper · More papers on PaperTik