Priority of process

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
akrzy
Participant
Posts: 121
Joined: Wed Dec 08, 2004 4:46 am

Priority of process

Post by akrzy »

Hi,

Is it possible to set prority for DataStage PX process?


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

Post 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.
akrzy
Participant
Posts: 121
Joined: Wed Dec 08, 2004 4:46 am

Post by akrzy »

And If I change the Windows system on Sun Solaris,
Can I manage the priority of process then?

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

Post 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.
T42
Participant
Posts: 499
Joined: Thu Nov 11, 2004 6:45 pm

Post 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.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post 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).
Post Reply