Title :
SCBXP: An Efficient CAM-Based XML Parsing Technique in Hardware Environments
Author :
El-Hassan, F. ; Ionescu, Daniela
Author_Institution :
Sch. of Inf. Technol. & Eng. (SITE), Univ. of Ottawa, Ottawa, ON, Canada
Abstract :
The underlying technologies of web information and distributed systems often require efficient XML parsing. Even though new software-based XML parsing techniques improve XML processing, the verbose nature of XML does not help to achieve the substantial improvements that are desired. In some systems, such as mobile devices, the restricted memory resources exacerbate the problems associated with XML processing. In this paper, we present a novel XML parsing technique-titled SCBXP-that is designed to achieve high performance in hardware-based environments. In addition, the parsing technique provides a natural way of checking for full well formedness and partial validation, thereby taking advantage of our CAM-based architecture and the inherent parallel features of the hardware. Furthermore, the efficiency of XML parsing is maintained even when memory resources are limited. The SCBXP technique architecture makes use of 1) a content-addressable memory that must be configured with a skeleton of the XML document being parsed, 2) a finite state machine that controls FIFOs, in order to align XML data properly, 3) multiple state machines acting on the multilevel nature of XML, and 4) dual-port memory modules. The results of testing the SCBXP technique, implemented on an FPGA, demonstrate that a processing rate of at least 2 bytes of XML data can be performed during each clock cycle.
Keywords :
XML; content-addressable storage; field programmable gate arrays; finite state machines; CAM-based XML parsing technique; CAM-based architecture; FIFO; FPGA; SCBXP; XML document; content-addressable memory; dual-port memory modules; finite state machine; hardware-based environments; multiple state machines; software-based XML parsing techniques; Clocks; Computer aided manufacturing; Field programmable gate arrays; Loading; Skeleton; Writing; XML; XML parsing; XML processing; content addressable memory.; field programmable gate arrays;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2011.51