Unbearably slow compile with a funnel

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
Pavan_Yelugula
Premium Member
Premium Member
Posts: 133
Joined: Tue Nov 23, 2004 11:24 pm
Location: India

Unbearably slow compile with a funnel

Post by Pavan_Yelugula »

Hi All
I am having a simple job with a Couple of Datasets, one lookup and a transformer and a funnel. The job takes around 10 min to compile or more when the funnel type is sequence when i change the funnel to continous or others...it compiles in less than a minute...

Is there any particular reason for this behaviour... I need to use Sequence in funnel...is there some way i can improve the run time as well as the compile time


Thanks
Pavan
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

I doubt it's the Funnel stage - the Funnel stage does not get compiled, it simply generates a funnel operator in the generated OSH. The Funnel type (continuous, sort funnel or sequential) is just a command line option for the funnel operator. Examine the generated OSH.

Sequential funnel is only useful if the data are range partitioned, to preserve the ranges. Otherwise you really don't need it, and continuous funnel will do just as well. Why do you believe you need to "use Sequence in funnel" (which I found to be rather misleading terminology till I thought about it)?

It's only Build and Transformer stages that generate C++ code that has to get compiled, and you do notice a substantially longer compilation time in these cases - particularly for more complex Transformer stages.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Pavan_Yelugula
Premium Member
Premium Member
Posts: 133
Joined: Tue Nov 23, 2004 11:24 pm
Location: India

Post by Pavan_Yelugula »

Ray,
Initially the job started compiling better with the change of funnel option but then it started getting slow again.

I removed the funnel stage altogether and it is compiling much better now. There almost 10 links to the funnel does this have to do with anything....

except for this job rest of the jobs compile and run really fast...

Thanks
Pavan
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Pavan - don't equate compile time with execution speed; the delay in the compilation phase that I've seen with TRANSformer stages is very lengthy, but the compiled code executes very quickly.

Are you more worried about compile times or run times?
vijayrc
Participant
Posts: 197
Joined: Sun Apr 02, 2006 10:31 am
Location: NJ

Post by vijayrc »

Pavan_Yelugula wrote:Ray,
Initially the job started compiling better with the change of funnel option but then it started getting slow again.

I removed the funnel stage altogether and it is compiling much better now. There almost 10 links to the funnel does this have to do with anything....

except for this job rest of the jobs compile and run really fast...

Thanks
Pavan
Pavan,
It isn't the Funnel. I guess it's the transformer with those 10 links that's causing the lenghty compile time. the complex derivations in the transformer could be one of the reason.
Hope this helps.
Vijay
Pavan_Yelugula
Premium Member
Premium Member
Posts: 133
Joined: Tue Nov 23, 2004 11:24 pm
Location: India

Post by Pavan_Yelugula »

Thanks ArndW and Vijay

ArndW
Though run time is more important than the compile time... It is really frustating to wait for almost 20 min for every minor functionality change in the job.
As Ray Pointed out that the funnel is not compiled but a funnel operator is kept in the generated OSH. I guess It follows the same for the rest of my stages except for the transformer.

Is it right if i generalize that excluding the bottle necks like band width, processor speeds, memory...etc. If a job is getting compiled slowly than the other jobs then the trouble is with the transformer stage in the job...

As Vijay Pointed out will my job compile any faster if i remove the constraints from the links and put them as stage variables. I still wonder if 9 links out of an transformer can hold the compile time for more than 20 minutes.

Thanks
Pavan
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

I'd be surprised if it actually takes all that time to do the physical compile. We've seen situations like this in the past, where the compiler license limits the number of concurrent compiles - sometimes even restricting it to one user at a time. This seemed to translate into long wait times for the compiler to become available rather than to actual compile.

To you the user, however, it just looks like a 'frustratingly long compile time'. Any chance this is going on?
-craig

"You can never have too many knives" -- Logan Nine Fingers
vijayrc
Participant
Posts: 197
Joined: Sun Apr 02, 2006 10:31 am
Location: NJ

Post by vijayrc »

chulett wrote:I'd be surprised if it actually takes all that time to do the physical compile. We've seen situations like this in the past, where the compiler license limits the number of concurrent compiles - sometimes even restricting it to one user at a time. This seemed to translate into long wait times for the compiler to become available rather than to actual compile.

To you the user, however, it just looks like a 'frustratingly long compile time'. Any chance this is going on?
Well the compile of just this job takes this long to compile. Anyother job compile isn't anywhere near to what this takes, though more complex jobs than this compiles faster. That makes it more interesting.

Here's the history of what I tried......
Ended 8 link out of transformer witha copy, took off the funnel and
continued the link and this didn't help.

Deleted 6 of the 9 links and compiled went in 2mins. Added one more link and it took an extra minute, added one more link and it started taking more and more minutes...!!

Also the transformer with 9 links were replaced with three transformers with three links in each, and this brought down the compile time to 6mins, though this also is in the high-end for a job compile [a not so complex job]
Any other thoughts would be highly appreciated.

Vijay
Post Reply