skip to main content
research-article

XLynx—An FPGA-based XML filter for hybrid XQuery processing

Published:04 December 2013Publication History
Skip Abstract Section

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).

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Borkar, S. and Chien, A. A. 2011. The future of microprocessors. Comn. ACM 54, 5, 67--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. Boyer, R. S. and Moore, J. S. 1977. A fast string searching algorithm. Comm. ACM 20, 10, 762--772. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle Scholar
  16. Kay, M. 2008. Ten reasons why saxon xquery is fast. IEEE Data Engin. Bull. 31, 4, 65--74.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kuon, I. and Rose, J. 2007. Measuring the gap between FPGAS and ASICS. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 26, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. Marian, A. and Simeon, J. 2003. Projecting XML documents. In Proceedings of the 29th International Conference on Very Large Data Bases (VLDB'03). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. Mueller, R., Teubner, J., and Alonso, G. 2009. Data processing on fpgas. Proc. VLDB Endow. 2, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Netezza. 2012. Netezza. http://www.netezza.com/.Google ScholarGoogle Scholar
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle Scholar
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. Schneider, D. 2012. The microsecond market. IEEE Spectrum 49, 6, 66--81.Google ScholarGoogle ScholarCross RefCross Ref
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle Scholar
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarCross RefCross Ref
  41. 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 ScholarGoogle Scholar
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. Woods, L., Teubner, J., and Alonso, G. 2010. Complex event detection at wire speed with fpgas. Proc. VLDB Endow. 3, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Xilinx Inc. 2011. 7 series FPGAS overview. http://www.xilinx.com/support/answers/46370.htm.Google ScholarGoogle Scholar
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. XLynx—An FPGA-based XML filter for hybrid XQuery processing

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Database Systems
      ACM Transactions on Database Systems  Volume 38, Issue 4
      Invited papers issue
      November 2013
      294 pages
      ISSN:0362-5915
      EISSN:1557-4644
      DOI:10.1145/2539032
      Issue’s Table of Contents

      Copyright © 2013 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 4 December 2013
      • Accepted: 1 October 2013
      • Revised: 1 September 2013
      • Received: 1 October 2012
      Published in tods Volume 38, Issue 4

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader