XLynx–An FPGA-based XML Filter for Hybrid XQuery Processing
Title
XLynx–An FPGA-based XML Filter for Hybrid XQuery Processing
Authors
Jens Teubner, Louis Woods, and Chongling Nie
Published
ACM Transactions on Database Systems (TODS), vol. 38(4), November 2013
Download
paper (author's copy; PDF); DOI: 10.1145/2536800
Abstract
While offering unique performance and energy saving advantages, the use of field-programmable gate arrays (FPGAs) for database acceleration has demanded major concessions from system designers. Either the programmable chips have been used for very basic application tasks (such as implementing a rigid class of selection predicates), or their circuit definition had to be completely re-compiled at runtime–a very CPU-intensive and time-consuming effort. This work eliminates the need for such concessions. As part of our XLynx implementation–an FPGA-based XML filter–we present skeleton automata, which is a design principle for data-intensive hardware circuits that offers high expressiveness and quick re-configuration at the same time. Skeleton automata provide a generic implementation for a class of finite-state automata. They can be parameterized to any particular automaton instance in a matter of micro-seconds or less (as opposed to minutes or hours for complete re-compilation). We showcase skeleton automata based on XML projection, a filtering technique that illustrates the feasibility of our strategy for a real-world and challenging task. By performing XML projection in hardware and filtering data in the network, we report on performance improvements of several factors while remaining non-intrusive to the back-end XML processor (we evaluate XLynx using the Saxon engine).