Parallel XML processing by work stealing

Wei Lu, Dennis Gannon
2007 Proceedings of the 2007 workshop on Service-oriented computing performance: aspects, issues, and approaches - SOCP '07  
A language for semi-structured documents, XML is playing crucial roles in web services, messaging systems, databases, and document processing. However, the processing of XML documents has been regarded as the performance bottleneck in most systems and applications. On the other side, the multicore processor, emerged as a solution for the clock-speed limitation of the modern CPUs, has been growingly prevalent. Leveraging the parallelism provided by the multicore resource to speedup the software
more » ... xecution is becoming the trend of the software development. In this paper, we present a parallel processing model for the XML document. The model is not designed just for a specific XML processing task, instead, it is a general model, by which we are able to explore various parallel XML document processing. The kernel of the model is a stealing-based dynamic load-balancing mechanism, by which multiple threads are able to process the disjointed parts of the XML document in parallel with balanced load distribution. The model also provides a novel mechanism to trace the stealing actions, thus the equivalent sequential result can be gotten by gluing the multiple parallel-running results together. To show the feasibility and effectiveness of our approaches, we present our C# implementation of parallel XML serialization in this paper. Our empirical study shows our parallel XML serialization algorithm can improved the XML serializing performance significantly on a multicore machine.
doi:10.1145/1272457.1272462 dblp:conf/hpdc/LuG07 fatcat:ft5oxkv5lfai7jbz4ll5xvyvhe