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 recompiled 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 reconfiguration 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 microseconds or less (as opposed to minutes or hours for complete recompilation).
We showcase skeleton automata based on XML projection [Marian and Siméon 2003], 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 nonintrusive to the back-end XML processor (we evaluate XLynx using the Saxon engine).
- Altinel, M. and Franklin, M. J. 2000. Efficient filtering of XML documents for selective dissemination of information. In Proceedings of the 26th International Conference on Very Large Data Bases (VLDB'00). Google ScholarDigital Library
- Benzaken, V., Castagna, G., Colazzo, D., and Nguyen, K. 2006. Type-Based XML projection. In Proceedings of the 32nd International Conference on Very Large Data Bases (VLDB'06). Google ScholarDigital Library
- Borkar, S. and Chien, A. A. 2011. The future of microprocessors. Comn. ACM 54, 5, 67--77. Google ScholarDigital Library
- Botan, I., Fischer, P. M., Florescu, D., Kossmann, D., Kraska, T., and Tamosevicius, R. 2007. Extending Xquery with window functions. In Proceedings of the 33rd Very Large Databases Conference. Google ScholarDigital Library
- Boyer, R. S. and Moore, J. S. 1977. A fast string searching algorithm. Comm. ACM 20, 10, 762--772. Google ScholarDigital Library
- Bray, T., Paoli, J., Sperberg-Mcqueen, C. M., Maler, E., Yergeau, F., and Cowan, J. 2006. Extensible markup language (XML) 1.1, 2nd Ed. W3C recommendation.Google Scholar
- Cameron, R. D., Herdy, K. S., and Lin, D. 2008. High performance XML parsing using parallel bit stream technology. In Proceedings of the Conference of the Centre for Advanced Studies on Collaborative Research (CASCON'08). 17. Google ScholarDigital Library
- Commentz-Walter, B. 1979. A string matching algorithm fast on the average. In Proceedings of the 6th International Colloquium on Automata, Languages and Programming (ICALP'79). Google ScholarDigital Library
- Dai, Z., Ni, N., and Zhu, J. 2010. A 1 cycle-per-byte XML parsing accelerator. In Proceedings of the 18th ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA'10). 199--208. Google ScholarDigital Library
- DeHon, A. 1999. Balancing interconnect and computation in a reconfigurable computing array (or, why you don't really want 100% lut utilization). In Proceedings of the International Symposium on Field Programmable Gate Arrays (FPGA'99). 125--134. Google ScholarDigital Library
- Dennl, C., Ziener, D., and Teich, J. 2012. On-the-fly composition of FPGA-based SQL query accelerators using a partially reconfigurable module library. In Proceedings of the 20th IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM). Google ScholarDigital Library
- Diao, Y., Altinel, M., Franklin, M. J., Zhang, H., and Fischer, P. 2003. Path sharing and predicate evaluation for high-performance XML filtering. ACM Trans. Data. Syst. 28, 4, 467--516. Google ScholarDigital Library
- Fernandez, M. F., Simeon, J., Choi, B., Marian, A., and Sur, G. 2003. Implementing Xquery 1.0: The Galax experience. In Proceedings of the 29th Conference on Very Large Data Bases (VLDB'03). 1077--1080. Google ScholarDigital Library
- Franke, H., Xenidis, J., Basso, C., Bass, B. M., Woodward, S. S., Brown, J. D., and Johnson, C. L. 2010. Introduction to the wire-speed processor and architecture. IBM J. Res. Devel. 54, 1, 3:1--3:11. Google ScholarDigital Library
- Grun, C. 2010. Storing and querying large XML instances. Ph.D. dissertation. http://kops.ub.uni-konstanz.de/bitstream/handle/urn:nbn:de:bsz:352-opus-127142/Dissertation_Gruen_2010.pdf?sequence=1.Google Scholar
- Kay, M. 2008. Ten reasons why saxon xquery is fast. IEEE Data Engin. Bull. 31, 4, 65--74.Google Scholar
- Koch, C., Scherzinger, S., and Schmidt, M. 2008. XML prefiltering as a string matching problem. In Proceedings of the 24th International Conference on Data Engineering (ICDE'08). Google ScholarDigital Library
- Kuon, I. and Rose, J. 2007. Measuring the gap between FPGAS and ASICS. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 26, 2. Google ScholarDigital Library
- Kwon, J., Rao, P., Moon, B., and Lee, S. 2005. FiST: Scalable XML document filtering by sequencing twig patterns. In Proceedings of the 31st International Conference on Very Large Data Bases (VLDB'05). Google ScholarDigital Library
- Leventhal, M. and Lemoine, E. 2009. The XML chip at 6 years. In Proceedings of the International Symposium on Processing XML Efficiently: Overcoming Limits on Space, Time, or Bandwidth. Vol. 4.Google Scholar
- Lockwood, J. W., Gupte, A., Mehta, N., Blott, M., English, T., and Vissers, K. 2012. A low-latency library in FPGA hardware for high-frequency trading (hft). In Proceedings of the 20th IEEE Annual Symposium on High-Performance Interconnects. 9--16. Google ScholarDigital Library
- Marian, A. and Simeon, J. 2003. Projecting XML documents. In Proceedings of the 29th International Conference on Very Large Data Bases (VLDB'03). Google ScholarDigital Library
- Mcauliffe, M. L., Carey, M. J., and Solomon, M. H. 1995. Towards effective and efficient free space management. In Proceedings of the ACM SIGMOD Conference on Management of Data (SIGMOD'95). 389--400. Google ScholarDigital Library
- Moussalli, R., Halstead, R., Salloum, M., Najjar, W., and Tsotras, V. J. 2011a. Efficient XML path filtering using gpus. In Proceedings of the 2nd International Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures (ADMS'11).Google Scholar
- Moussalli, R., Salloum, M., Najjar, W. A., and Tsotras, V. J. 2010. Accelerating XML query matching through custom stack generation on fpgas. In Proceedings of the 5th International Conference on High-Performance Embedded Architectures and Compilers (HiPEAC'10). 141--155. Google ScholarDigital Library
- Moussalli, R., Salloum, M., Najjar, W.A., and Tsotras, V. J. 2011b. Massively parallel XML twig filtering using dynamic programming on FPGAS. In Proceedings of the 27th International Conference on Data Engineering (ICDE'11). 948--959. Google ScholarDigital Library
- Mueller, R., Teubner, J., and Alonso, G. 2009. Data processing on fpgas. Proc. VLDB Endow. 2, 1. Google ScholarDigital Library
- Netezza. 2012. Netezza. http://www.netezza.com/.Google Scholar
- Nicola, M. and John, J. 2003. XML parsing: A threat to database performance. In Proceedings of the 12th International Conference on Information and Knowledge Management (CIKM'03). 175--178. Google ScholarDigital Library
- Pan, Y., Lu, W., Zhang, Y., and Chiu, K. 2007. A static load-balancing scheme for parallel XML parsing on multicore CPUS. In Proceedings of the 7th International IEEE Symposium on Cluster Computing (CCGRID'07). 351--362. Google ScholarDigital Library
- Pan, Y., Zhang, Y., and Chiu, K. 2008. Simultaneous transducers for data-parallel XML parsing. In Proceedings of the 22nd International IEEE Symposium on Parallel and Distributed Processing (IPDPS'08). 1--12.Google Scholar
- Sadoghi, M., Labrecque, M., Singh, H., Shum, W., and Jacobsen, H. 2010. Efficient event processing through reconfigurable hardware for algorithmic trading. Proc. VLDB Endow. 3, 2. Google ScholarDigital Library
- Sadoghi, M., Singh, H., and Jacobsen, H. 2011. Towards highly parallel event processing through reconfigurable hardware. In Proceedings of the 7th International Workshop on Data Management on New Hardware (DaMoN'11). Google ScholarDigital Library
- Schmidt, A. R., Waas, F., Kersten, M. L., Carey, M. J., Manolescu, I., and Busse, R. 2002. XMark: A benchmark for XML data management. In Proceedings of the 28th International Conference on Very Large Data Bases (VLDB'02). 974--985. Google ScholarDigital Library
- Schneider, D. 2012. The microsecond market. IEEE Spectrum 49, 6, 66--81.Google ScholarCross Ref
- Shah, B., Rao, P. R., Moon, B., and Rajagopalan, M. 2009. A data parallel algorithm for XML dom parsing. In Proceedings of the 6th International XML Database Symposium on Database and XML Technologies (XSym'09). Google ScholarDigital Library
- Sidhu, R. and Prasanna, V. 2001. Fast regular expression matching using FPGAS. In Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01). Google ScholarDigital Library
- Teubner, J. and Woods, L. 2011. Snowfall: Hardware stream analysis made easy. In Proceedings of the 14th Conference on Databases in Business, Technology, and Web (BTW'11).Google Scholar
- Teubner, J., Woods, L., and Nie, C. 2012. Skeleton automata: Reconfiguring without reconstructing. In Proceedings of the ACM SIGMOD Conference on Management of Data (SIGMOD'12). 229--240. Google ScholarDigital Library
- Van Lunteren, J. 2001. Searching very large routing tables in wide embedded memory. In Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM'01). Vol. 3, 1615--1619.Google ScholarCross Ref
- Van Lunteren, J., Engbersen, T., Bostian, J., Carey, B., and Larsson, C. 2004. XML Accelerator engine. In Proceedings of the 1st International Workshop on High-Performance XML Processing.Google Scholar
- Wilson, P. R., Johnstone, M. S., Neely, M., and Boles, D. 1995. Dynamic storage allocation: A survey and critical review. In Proceedings of the International Workshop on Memory Management. Lecture Notes in Computer Science, vol. 986, Springer, 1--116. Google ScholarDigital Library
- Woods, L., Teubner, J., and Alonso, G. 2010. Complex event detection at wire speed with fpgas. Proc. VLDB Endow. 3, 1. Google ScholarDigital Library
- Xilinx Inc. 2011. 7 series FPGAS overview. http://www.xilinx.com/support/answers/46370.htm.Google Scholar
- Yang, Y. E., Jiang, W., and Prasanna, V. K. 2008. Compact architecture for high-throughput regular expression matching on FPGA. In Proceedings of the ACM/IEEE Symposium on Architectures for Networking and Communication Systems (ANCS'08). 30--39. Google ScholarDigital Library
Index Terms
- XLynx—An FPGA-based XML filter for hybrid XQuery processing
Recommendations
Skeleton automata for FPGAs: reconfiguring without reconstructing
SIGMOD '12: Proceedings of the 2012 ACM SIGMOD International Conference on Management of DataWhile the performance opportunities of field-programmable gate arrays field (FPGAs)field for high-volume query processing are well-known, system makers still have to compromise between desired query expressiveness and high compilation effort. The cost ...
XML Processing and Data Integration with XQuery
Most Web applications exchange data as XML, but they create and process this data with languages that don't have native support for XML. With appropriate middleware, XQuery can dramatically simplify this process, treating all data sources as though they ...
A survey of XQuery: an XML query language
ICWET '11: Proceedings of the International Conference & Workshop on Emerging Trends in TechnologyCurrently, the most effective standard used for data exchange over the Internet is the eXtensible Markup Language (XML). The greatest strength of XML is, it can represent many different kinds of information from diverse sources including structured and ...
Comments