Random Access XML Programming Assisted with XML Hardware
Track: Product Presentations, Core Technologies, Web Services
Audience Level: High Level/Technical View
Time: Thursday, November 18 at 16:45
Keywords: Random Access, XML Hardware, Hardware, Acceleration, High Performance, Random Access XML, RAX, XPath, SAX, DOM, Programming, Benchmark, Content-Based Routing, Publish-Subscribe
Abstract:
Tarari's Random Access XML Content Processor (RAX-CP) is a completely new approach to programming XML applications. Tarari's XML-in-silicon, chip-level technology gives a power boost that enables random access to data in the XML document as an alternative to DOM or SAX or any other approach to programming XML. RAX applications achieve 40 times the throughput compared to the fastest XML software available and have been clocked at performance as high as 200 times that of some of the most commonly used XML software components. At the same time, most of the work done in RAX applications in expressed declaratively, so the programming effort is significantly less than required for SAX and DOM approaches. Tarari's RAX implementation is being used in some of the most demanding XML applications in the world - in XML security appliances, on Wall Street, and in network devices. Many of these applications were unachievable before RAX due to the inherent performance limitations of XML processing.
Of course, a great deal of the extraordinary performance of the Tarari implementation of RAX comes from the hardware. However, from the programmer's point of view, the hardware-assist is transparent - RAX is simply an API, offered in C and Java. Part of the significance of RAX does lie in the fact that it is the first API designed to take advantage of the capabilities of purpose-built silicon for accelerated XML processing. While XML-in-silicon can accelerate DOM, SAX and XSLT, to some extent a much more powerful approach to XML processing becomes possible if one assumes certain capabilities that a chip can provide. RAX is not, on the other hand, necessarily limited to Tarari's implementation or even a hardware-based implementation. Random access to XML is described by the W3C's XML Binary Characterization Working Group as one of the properties of high-performance XML. RAX may be implemented in software, possibly in conjunction with a more optimized XML format.
At the heart of RAX is the use of XPaths to index into the document and/or to make assertions against it. The XPath statements are declared before the document is processed and grouped together. The XPath statements are evaluated at the same time the document is parsed and the results of the XPaths may be used as indices to have direct access to the data of interest in the document. Some applications may need to operate only on the business data delivered by the XPaths and then move directly to the business logic without any further XML programming. In applications such as content-based routing, the XPaths act as assertions and the XPath results are sufficient to generate a result without any manipulation of the document at all. For applications where traversal of the document remains necessary, the XPaths serve as entry points to areas of the document which are of interest, effectively dealing with the document as a set of small fragments. RAX provides operations for traversing the document, for transformation, and for streaming out document fragments.
The Tarari RAX implementation uses the XML chip to process the XPaths. Since processing in silicon is very fast and since the processing is offloaded from the host CPU to the XML chip, this processing effectively takes place in near-zero CPU time. Since many applications can do almost all their work in the XPaths themselves, this technology can reduce some applications which were formerly unimplementable due to performance limitations down to the level of network noise.
The presenter contributed to the design of RAX-CP. The design and use of RAX will be explored in the presentation.
XML version
HTML version
PDF version
SVG version