Page 1 of 1

Priority of process

Posted: Tue Mar 08, 2005 4:37 am
by akrzy
Hi,

Is it possible to set prority for DataStage PX process?


Regards,
Anka

Posted: Tue Mar 08, 2005 6:10 am
by ArndW
akrzy,

you are on windows, so the process levels are not really indicative of processing priority. You are on Px, though; so even though you cannot really assign priorities to specific jobs or stages, you can use the number of nodes in a rough way to make certain jobs run faster on a heavily loaded system than others. Let's say you have a 4 cpu system. If you have 2 identical jobs that you start at the same time, but with one of the jobs you use a 4-node configuration file and with the other you use an 8-node config file. The 8-node job will fire off (approximately) double as many processes so if both jobs run concurrently it will get proportionally more of the total CPU processing time. But it is only a matter of timeslices, and there are other issues involved - process start-up times, memory, file & database table & row level locking and process swapping algorithms.

Posted: Wed Mar 09, 2005 3:38 am
by akrzy
And If I change the Windows system on Sun Solaris,
Can I manage the priority of process then?

Regards

Posted: Wed Mar 09, 2005 4:31 am
by ArndW
The basic methodology is the same on both UNIX and WINDOWS; the difference that I was talking about is that the process exchange mechanism under Windows is relatively simple - if you have 100 process then each gets 1/100th of the available CPU cycles whether it needs it or not [very simplified view, but basically correct] whereas in UNIX you have a more complex mechanism and you can also tune individual processes (see the 'nice' command for an example).

If your job(s) run a very long time then you can go in as a system user, identify the process id's that you wish to re-allocate processing time to, and use the tools that whatever UNIX implementation you have allows. Again, "nice" is a good starting point for process priority.

Posted: Wed Mar 09, 2005 5:43 pm
by T42
Actually, I believe you can adjust priorities in Windows. However, I do not know whether DataStage adheres to this NT feature, or even provide any control for this feature.

For a clear indication that Windows does have this feature, go to Windows Task Manager, click on Processes tab, and right click on any processes, and you should see a "Set Priority" option.

Posted: Thu Mar 10, 2005 2:27 am
by ArndW
T42,

I kind of equivocated with regards to Windows scheduling; but the mechanism used in Windows to alter priority is incredibly simple and quite often doesn't get the desired effect; UNIX at least attempts an elegant balance between CPU and IO and looks at a process' history to determine what priority to give it and what queue to put it in. I've seen altered priorities in Windows user processes bring the system to a halt (although on some older UNIX systems you could nice a process so that it got everything and only HW-interrupts got processed; effectively trashing the system since the backstop never got executed).