ToXgene: a template-based data generator for XML
Proceedings of the 2002 ACM SIGMOD international conference on Management of data
Efficient Filtering of XML Documents for Selective Dissemination of Information
VLDB '00 Proceedings of the 26th International Conference on Very Large Data Bases
Efficient filtering of XML documents with XPath expressions
The VLDB Journal — The International Journal on Very Large Data Bases
Stream processing of XPath queries with predicates
Proceedings of the 2003 ACM SIGMOD international conference on Management of data
XPath queries on streaming data
Proceedings of the 2003 ACM SIGMOD international conference on Management of data
Structural Joins: A Primitive for Efficient XML Query Pattern Matching
ICDE '02 Proceedings of the 18th International Conference on Data Engineering
Path sharing and predicate evaluation for high-performance XML filtering
ACM Transactions on Database Systems (TODS)
Processing XML streams with deterministic automata and stream indexes
ACM Transactions on Database Systems (TODS)
FiST: scalable XML document filtering by sequencing twig patterns
VLDB '05 Proceedings of the 31st international conference on Very large data bases
AFilter: adaptable XML filtering with prefix-caching suffix-clustering
VLDB '06 Proceedings of the 32nd international conference on Very large data bases
Cache-Conscious Automata for XML Filtering
IEEE Transactions on Knowledge and Data Engineering
Efficient algorithms for evaluating xpath over streams
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
A transducer-based XML query processor
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
Early profile pruning on XML-aware publish-subscribe systems
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Relational joins on graphics processors
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
A Fast Similarity Join Algorithm Using Graphics Processing Units
ICDE '08 Proceedings of the 2008 IEEE 24th International Conference on Data Engineering
Streams on wires: a query compiler for FPGAs
Proceedings of the VLDB Endowment
A 1 cycle-per-byte XML parsing accelerator
Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays
FAST: fast architecture sensitive tree search on modern CPUs and GPUs
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Symbiote: a Reconfigurable Logic Assisted Data Stream Management System (RLADSMS)
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Proceedings of the VLDB Endowment
Massively parallel XML twig filtering using dynamic programming on FPGAs
ICDE '11 Proceedings of the 2011 IEEE 27th International Conference on Data Engineering
Accelerating XML query matching through custom stack generation on FPGAs
HiPEAC'10 Proceedings of the 5th international conference on High Performance Embedded Architectures and Compilers
Hi-index | 0.00 |
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-based systems. XML-based pub-sub systems provide users with more flexibility by allowing the formulation of complex queries on the content as well as the structure of the streaming messages. Messages that match a given user query are forwarded to the user. This article examines how to exploit the parallelism found in XPath filtering. Using an incoming XML stream, parsing and matching thousands of user profiles are performed simultaneously by matching engines. We show the benefits and trade-offs of mapping the proposed filtering approach onto FPGAs, processing streams of XML at wire speed, and GPUs, providing the flexibility of software. This is in contrast to conventional approaches bound by the sequential aspect of software computing, associated with a large memory footprint. By converting XPath expressions into custom stacks, our solution is the first to provide support for complex XPath structural constructs, such as parent-child and ancestor descendant relations, whilst allowing wildcarding and recursion. The measured speedups resulting from the GPU and FPGA accelerations versus single-core CPUs are up to 6.6X and 2.5 orders of magnitude, respectively. The FPGA approaches are up to 31X faster than software running on 12 CPU cores.