Using data partitioning to implement a parallel assembler
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
Parallel compilation for a parallel machine
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Upper Bounds for Speedup in Parallel Parsing
Journal of the ACM (JACM)
Requirements for and evaluation of RMI protocols for scientific computing
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
Investigating the Limits of SOAP Performance for Scientific Computing
HPDC '02 Proceedings of the 11th IEEE International Symposium on High Performance Distributed Computing
On Building Parallel & Grid Applications: Component Technology and Distributed Services
CLADE '04 Proceedings of the 2nd International Workshop on Challenges of Large Applications in Distributed Environments
A Metadata Catalog Service for Data Intensive Applications
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
A Benchmark Suite for SOAP-based Communication in Grid Web Services
SC '05 Proceedings of the 2005 ACM/IEEE conference on Supercomputing
Differential Deserialization for Optimized SOAP Performance
SC '05 Proceedings of the 2005 ACM/IEEE conference on Supercomputing
A Table-Driven Streaming XML Parsing Methodology for High-Performance Web Services
ICWS '06 Proceedings of the IEEE International Conference on Web Services
Benchmarking XML processors for applications in grid web services
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
Parallel XML Parsing Using Meta-DFAs
E-SCIENCE '07 Proceedings of the Third IEEE International Conference on e-Science and Grid Computing
ESCIENCE '08 Proceedings of the 2008 Fourth IEEE International Conference on eScience
A Parallel Approach to XML Parsing
GRID '06 Proceedings of the 7th IEEE/ACM International Conference on Grid Computing
Compiler support for effective XSL transformation
Concurrency and Computation: Practice & Experience
Hi-index | 0.01 |
We present the design and implementation of a toolkit for processing large-scale XML datasets that utilizes the capabilities for parallelism that are available in the emerging multi-core architectures. Multi-core processors are expected to be widely available in research clusters and scientific desktops, and it is critical to harness the opportunities for parallelism in the middleware, instead of passing on the task to application programmers. An emerging trend is the use of XML as the data format for many distributed/grid applications, with the size of these documents ranging from tens of megabytes to hundreds of megabytes. Our earlier benchmarking results revealed that most of the widely available XML processing toolkits do not scale well for large sized XML data. A significant transformation is necessary in the design of XML processing for distributed applications so that the overall application turn-around time is not negatively affected by XML processing. We discuss XML processing using PiXiMaL, a parallel processing library for large-scale XML datasets. The parallelization approach is to build a DFA-based parser that recognizes a useful subset of the XML specification, and convert the DFA into an NFA that can be applied to an arbitrary subset of the input. Speculative NFAs are scheduled on available cores in a node to effectively utilize the processing capabilities and achieve overall performance gains. We evaluate the efficacy of this approach in terms of potential speedup that can be achieved for representative XML datasets. We also evaluate the effect of two different memory allocation libraries to quantify the memory-bottleneck as different cores access shared data structures.