A Hardware Architecture of an XML/XPath Broker for Content-Based Publish/Subscribe Systems.
ABSTRACT In this paper, we present a novel hardware-based XML/XPath broker architecture for content-based Publish/ Subscribe systems. Our broker architecture includes processors to parse XML published content and XPath subscriptions, a matching engine to match subscriptions against publications, and components to forward either subscriptions or notifications based on content. While software techniques are traditionally employed, our broker architecture performs concurrent tasks and provides high performance. Moreover, the architecture can work efficiently in mobile networks by employing small-sized memory modules. Our results, obtained from a prototype FPGA, reveal that processing and matching hundreds of subscriptions can be achieved in some cases with a throughput exceeding 350 Mbps, if a 50-MHz clock is used.
- SourceAvailable from: Walild Najjar[show abstract] [hide abstract]
ABSTRACT: The growing amount of XML encoded data exchanged over the Internet increases the importance of XML based publish-subscribe (pub-sub) and content based routing systems. The input in such systems typically consists of a stream of XML documents and a set of user subscriptions expressed as XML queries. The pub-sub system then filters the published documents and passes them to the subscribers. Pub-sub systems are characterized by very high input ratios, therefore the processing time is critical. In this paper we propose a "pure hardware" based solution, which utilizes XPath query blocks on FPGA to solve the filtering problem. By utilizing the high throughput that an FPGA provides for parallel processing, our approach achieves drastically better throughput than the existing software or mixed (hardware/software) architectures. The XPath queries (subscriptions) are translated to regular expressions which are then mapped to FPGA devices. By introducing stacks within the FPGA we are able to express and process a wide range of path queries very efficiently, on a scalable environment. Moreover, the fact that the parser and the filter processing are performed on the same FPGA chip, eliminates expensive communication costs (that a multi-core system would need) thus enabling very fast and efficient pipelining. Our experimental evaluation reveals more than one order of magnitude improvement compared to traditional pub/sub systems. Comment: CIDR 200909/2009;
- [show abstract] [hide abstract]
ABSTRACT: The publish/subscribe paradigm is a popular model for allowing publishers (i.e., data generators) to selectively disseminate data to a large number of widely dispersed subscribers (i.e., data consumers) who have registered their interest in specific information items. Early publish/subscribe systems have typically relied on simple subscription mechanisms, such as keyword or "bag of words" matching, or simple comparison predicates on attribute values. The emergence of XML as a standard for information exchange on the Internet has led to an increased interest in using more expressive subscription mechanisms (e.g., based on XPath expressions) that exploit both the structure and the content of published XML documents. Given the increased complexity of these new data-filtering mechanisms, the problem of effectively identifying the subscription profiles that match an incoming XML document poses a difficult and important research challenge. In this paper, we propose a novel index structure, termed XTrie, that supports the efficient filtering of XML documents based on XPath expressions. Our XTrie index structure offers several novel features that, we believe, make it especially attractive for large-scale publish/subscribe systems. First, XTrie is designed to support effective filtering based on complex XPath expressions (as opposed to simple, single-path specifications). Second, our XTrie structure and algorithms are designed to support both ordered and unordered matching of XML data. Third, by indexing on sequences of elements organized in a trie structure and using a sophisticated matching algorithm, XTrie is able to both reduce the number of unnecessary index probes as well as avoid redundant matchings, thereby providing extremely efficient filtering. Our experimental results over a wide range of XML document and XPath expression workloads demonstrate that our XTrie index structure outperforms earlier approaches by wide margins.The VLDB Journal 11/2002; 11(4):354-379. · 1.40 Impact Factor
Conference Proceeding: SCBXP: An efficient hardware-based XML parsing technique[show abstract] [hide abstract]
ABSTRACT: The need for efficient XML parsing becomes a key requirement in the underlying technologies of Web information and distributed systems. Even though new software-based XML parsing techniques have been studied to improve XML processing, the verboseness nature of XML does not help much to achieve substantial improvement. Hardware-based solutions can be an obvious choice to parse XML in a very efficient manner. In this paper, a novel hardware-based XML parsing technique is presented. The technique makes use of (1) a content-addressable memory that must be configured with a skeleton of the XML document being parsed, (2) multiple state machines acting on the multilevel nature of XML, and (3) dual-port memory modules. The architecture of an XML parser using this technique and its associated modules is designed, implemented, and tested on an FPGA. Our results show that a processing rate of at least two bytes of XML data on average is performed in each clock cycle.Programmable Logic, 2009. SPL. 5th Southern Conference on; 05/2009