Research Article

Pipelined XPath Query Based on Cost Optimization

Algorithm 4

CreatePipeline (Ep, , T).
Input: XPath query expression Ep, XML statistics , number of available worker threads T.
Output: Pipeline represented by pipeline stage sequence .
(1) ← ExtractPrimitive(Ep);
(2) ← CostEstimate(, );
(3).size, ;//the number of primitives P; average cost of pipeline stage .
(4), ;//cost accumulation ; primitive sequence within a stage .
(5)if ()
(6)  foreach primitive id
(7)   , ;
(8)   if ()
(9)     ← CreatePipeStage(), ;
(10)else
(11)  foreach primitive id
(12)    ← CreatePipeStage(), ;
(13)AdjustPipeStage();
(14)return;