Welcome to Intel® Software Network Quick Login | Join | Help |
Search in Intel® Software Network Forums
in Go

Parallelize the execution of your stylesheet on multi-core

Last post 07-18-2008, 12:07 AM by MAD\jli28. 0 replies.
Sort Posts: Previous Next
 07-18-2008, 12:07 AM 30259446  

Parallelize the execution of your stylesheet on multi-core

Intel(r) XML Software Suite allows you to parallelize the execution of your stylesheet. Just try to modify the configuration file as the user guide instructed in the section "configuring Intel(r) XML Software Suite", and change the value of "parallel XSLT transformation" to an integer bigger than 1.

Why you want to use parallel execution? If you got a multi-core machine and a stylesheet, you probably want to fully utilize the HW resource to get more throughput or reduce the latency of response time.

Depending how your stylesheet works and how your XML input looks like, you may have different observations. Please don't be surprise if you find your first few parallel run is even slower than the sequential run, as the parallel execution comes with the synchronization overhead as well. Also, please don't expect the running speed will improve linearly as the number you put in the configuration file.

There are a few reasons.

At first, your workload should be reasonable big so that the synchronization overhead becomes worthwhile. You might find that the parallel execution even slow down their stylesheet if you are running a really simple stylesheet with a small xml document. So maybe you want to increase the size of xml document to see how it works out.  

Secondly, your stylesheet should contain some level of parallelism which our software can automatically exploit. It will be very hard to get any parallelism if some stylesheet  is expressing some sequential logic - like accumulate some value of a node set in a certain order.

Thirdly, your cpu resource should be available for the parallell execution. If all the CPU core are already busy with execution --- a typical scenario is there are already multiple threads running on server environment to deal with tasks in parallel,  switch on the parallel xslt execution may lead to lower throughput. However, for people who cares the latency, the parallelization can still help reducing latency under this situation.

The last reason might be un-balanced workload.  The XML document might contain subtrees with different size which lead to un-balanced workload among differen CPU. That might cause a problem as well.

After you worked out all these issues, I hope you get nice speedup and enjoy!

If you want to understand how the parallel execution works, probably you want to read the paper published by our developers.  http://portal.acm.org/citation.cfm?id=1336000.1336282&coll=GUIDE&dl=GUIDE

 

 
View as RSS news feed in XML

Shortcuts


Tags For This Post

...

Community Tags

...