Case studies in hardware XPath acceleration

The high increase in usage of XML in electronic data exchange introduces new challenges for efficient processing of XML data. Applications that heavily use XML need to be able to quickly extract the relevant parts of the XML data, often using the XPath language for addressing XML document parts. High speed execution of XPath requests and queries is therefore becoming a critical requirement in many application domains, including XML databases and event processing. This work explores the potential for accelerating XPath processing in these domains using specialized hardware. This in turn poses the challenges of integrating specialized hardware with general-purpose application code. We present the design decisions behind building an integration layer to bridge between applications and the hardware, and describe our implementation. We discuss the factors that affect the acceleration potential, and show that despite the transmission overheads associated with off-loading XPath processing to the specialized co-processor, significant speedups can be obtained, ranging from modest 11% improvements in the event-processing domain, to over 6x speedup factor in the healthcare domain.

[1]  Hao Yu,et al.  Exploiting heterogeneous multicore-processor systems for high-performance network processing , 2010, IBM J. Res. Dev..

[2]  H. Franke,et al.  Introduction to the wire-speed processor and architecture , 2010, IBM J. Res. Dev..

[3]  Lipyeow Lim,et al.  Statistics-based parallelization of XPath queries in shared memory systems , 2010, EDBT '10.

[4]  Sudarshan S. Chawathe,et al.  XPath queries on streaming data , 2003, SIGMOD '03.

[5]  Raymond K. Wong,et al.  Optimizing XPath Queries on Streaming XML Data , 2007, ADC.

[6]  Vikas Arora,et al.  Towards an enterprise XML architecture , 2005, SIGMOD '05.

[7]  Chun-Shin Lin,et al.  FPGA Acceleration of Information Management Services , 2005 .

[8]  Matthias Nicola Lessons Learned from DB2 pureXML Applications: A Practitioner's Perspective , 2010, XSym.

[9]  Steven J. DeRose,et al.  XML Path Language (XPath) Version 1.0 , 1999 .

[10]  Oded Shmueli,et al.  Parallelization of XPath queries using multi-core processors: challenges and experiences , 2009, EDBT '09.

[11]  Michael Rys XML and relational database management systems: inside Microsoft® SQL Server™ 2005 , 2005, SIGMOD '05.

[12]  Ehsan Amiri,et al.  Parallel Bit Stream Technology as a Foundation for XML Parsing Performance , 2009 .

[13]  Vassilis J. Tsotras,et al.  Accelerating XML Query Matching through Custom Stack Generation on FPGAs , 2010, HiPEAC.

[14]  Amélie Marian,et al.  Projecting XML Documents , 2003, VLDB.

[15]  Hubertus Franke,et al.  Workload and network-optimized computing systems , 2010, IBM J. Res. Dev..

[16]  James Clark,et al.  XSL Transformations (XSLT) Version 1.0 , 1999 .

[17]  Tim Furche,et al.  XPath: Looking Forward , 2002, EDBT Workshops.