Accelerating XML Query Matching through Custom Stack Generation on FPGAs

  • Roger Moussalli
  • Mariam Salloum
  • Walid Najjar
  • Vassilis Tsotras
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5952)


Publish-subscribe systems present the state of the art in information dissemination to multiple users. Such systems have evolved from simple topic-based to the current XML-enabled systems. Here, users pose complex queries (expressed in XPath) on the structure and content of the streaming documents. The parts of the documents that match the user queries are then returned to the users. This paper proposes a novel hardware architecture that would exploit the parallelism found in XPath filtering systems. Using an incoming XML stream, parsing and matching with thousands of user profiles are performed simultaneously on a single FPGA, thus yielding up to three orders of magnitude higher throughput when compared to conventional approaches bound by the sequential aspect of software computing. By converting XPath expressions into custom stacks, our architecture is the first providing full support for all structural XPath constructs, including parent-child and ancestor descendant relations, whilst allowing wildcarding and recursion.


FPGA XML Query XPath Compilation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Altinel, M., Franklin, M.J.: Efficient Filtering of XML Documents for Selective Dissemination of Information. In: Proceedings of the 35th Int’l Conference on Very Large Data Bases (VLDB), pp. 53–64 (2000)Google Scholar
  2. 2.
    Barbosa, D., Mendelzon, A., Keenleyside, J., Lyons, K.: ToXgene: a template-based data generator for XML. In: Proceedings of ACM Management of Data (SIGMOD), p. 616 (2002)Google Scholar
  3. 3.
  4. 4.
  5. 5. on DOM,
  6. 6.
    Diao, Y., Altinel, M., Franklin, M.J., Zhang, H., Fischer, P.: Path sharing and predicate evaluation for high-performance XML filtering. ACM Trans. on Database Systems (TODS) 28, 467–516 (2003)CrossRefGoogle Scholar
  7. 7.
    Green, T.J., Gupta, A., Miklau, G., Onizuka, M., Suciu, D.: Processing XML streams with deterministic automata and stream indexes. ACM Trans. on Database Systems (TODS), 752–788 (2004)Google Scholar
  8. 8.
    Guo, Z., Najjar, W., Vahid, F., Vissers, K.: A quantitative analysis of the speedup factors of fpgas over processors. In: Proc. of the 12th ACM/SIGDA Int’l Symp. on Field programmable gate arrays (FPGA), pp. 162–170 (2004)Google Scholar
  9. 9.
    Kwon, J., Rao, P., Moon, B., Lee, S.: FiST: scalable XML document filtering by sequencing twig patterns. In: Proceedings of the 31st international conference on Very Large Databases (VLDB), pp. 217–228 (2005)Google Scholar
  10. 10.
    Letz, S., Zedler, M., Thierer, T., Schutz, M., Roth, J., Seiffert, R.: XML offload and acceleration with Cell broadband engine. XTech.: Building Web 2.0 (2006)Google Scholar
  11. 11.
    Linderman, R.W., Lin, C.S., Linderman, M.H.: FPGA acceleration of information management services. In: High Performance Embedded Computing, HPEC (2004)Google Scholar
  12. 12.
    Lu, W., Gannon, D.: ParaXML: A Parallel XML Processing Model on Multicore CPUs, Techincal Report (2008)Google Scholar
  13. 13.
    Lunteren, J.V., Engbersen, T., Bostian, J., Carey, B., Larsson, C.: XML accelerator engine. In: 1st Int. Workshop on High Performance XML Processing (2004)Google Scholar
  14. 14.
    Mitra, A., Vieira, M.R., Bakalov, P., Najjar, W., Tsotras, J.T.: Boosting XML Filtering with a Scalable FPGA-based Architecture. In: 4th Biennial Conference on Innovative Data Systems Research, Asilomar (2009)Google Scholar
  15. 15.
    Muller, R., Teubner, J., Alonso, G.: Streams on Wires – A Query Compiler for FPGAs. In: Proceedings of the 35th Int’l Conference on Very Large Data Bases, VLDB (2009)Google Scholar
  16. 16.
    Clark, C.R., Schimmel, D.E.: Efficient Reconfigurable Logic Circuits for Matching Complex Network Intrusion Detection Patterns. In: 13th international conference on Field Programmable Logic and Applications, pp. 956–959. Springer, Lisbon (2003)Google Scholar
  17. 17.
  18. 18.
  19. 19.
    XML Path Language (XPath) Version 1.0, W3C Recommendation (1999),

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Roger Moussalli
    • 1
  • Mariam Salloum
    • 1
  • Walid Najjar
    • 1
  • Vassilis Tsotras
    • 1
  1. 1.Department of Computer Science and EngineeringUniversity of CaliforniaRiversideUSA

Personalised recommendations