Equal Usage of CPU

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
rcil
Charter Member
Charter Member
Posts: 70
Joined: Sat Jun 05, 2004 1:37 am

Equal Usage of CPU

Post by rcil »

Hello All,

We have a 8 CPU production machine where EDW and DWH jobs will run. Can I know how we do a load balance so that both the environments EDW and DWH share the same amount of CPU usage?

Any ideas will be appreciated.

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

Post by ArndW »

If you have a UNIX system you can never guarantee equal usage. I don't know how you differentiate or define your "EDW" and "DWH" - are they different DataSTage projects?

Assuming your jobs are CPU bound (which isn't always the case) then if you start n processes they will each get 1/nth of the resources; having 8 CPUs just increases the resources. So if "DWH" and "EDW" each start roughly the same number of processes and do similar type of work then they will share the system's resources evenly.

There is little other load balancing available to you. Playing with "nice" values can shift things back and forth - but only with regards to CPU and if won't necessarily affect database activities.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

You might look at separate logical partitions (LPARs) but these are totally separate, so you may end up having to have duplicated components.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
rcil
Charter Member
Charter Member
Posts: 70
Joined: Sat Jun 05, 2004 1:37 am

Post by rcil »

ArndW wrote:If you have a UNIX system you can never guarantee equal usage. I don't know how you differentiate or define your "EDW" and "DWH" - are they different DataSTage projects?
Thank you for the inputs. Yes, the EDW and DWH are two different projects.

thanks,
rcil
kcbland
Participant
Posts: 5208
Joined: Wed Jan 15, 2003 8:56 am
Location: Lutz, FL
Contact:

Post by kcbland »

If your OS allows, you can "domain" the server into two logical servers. But, if you requirement is that you can dynamically shift resources between separate processes, you could consider "processor affinity", which allows processes to be specific for use on a given cpu. By reserving one set of processors for one userid, and the other processors for the other, there will be separation of cpus.
Kenneth Bland

Rank: Sempai
Belt: First degree black
Fight name: Captain Hook
Signature knockout: right upper cut followed by left hook
Signature submission: Crucifix combined with leg triangle
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Ken - IBM's use of dynamic LPARs is a good example of quickly and seamlessly changing CPUs from one UNIX instance to another. It takes seconds and is great for load balancing. Unfortunately, shifting the memory back and forth is an entirely different matter. It can take a large part of an hour to shift memory around, and in order to work efficiently the applications need to be coded so that they respond to memory re-allocation requests. Since DataStage is a memory hog just shifting around CPUs might not really balance load as much as people originally think.
kcbland
Participant
Posts: 5208
Joined: Wed Jan 15, 2003 8:56 am
Location: Lutz, FL
Contact:

Post by kcbland »

The "load balancing" issue is a tricky question. Is the poster asking for the ability to control and arbitrarily shift cpu resources around, or are they simply wanting to keep one set of processes from hogging the machine.

I guessed the poster wanted to be able to "halve" the machine based on the "equal usage of cpu" subject line, rather than do true loading balancing. If one set of jobs can only use 1/3 of the machine, and another use 2/3 of the machine, then processor affinity or domaining might be the answer. If the question is to have either process consume the whole machine when executing along, but when timesharing then only consume to their limit, that's the trickier part. I'd have to defer the poster to their onsite unix admin because hardware and OS limitations will frame the response.
Kenneth Bland

Rank: Sempai
Belt: First degree black
Fight name: Captain Hook
Signature knockout: right upper cut followed by left hook
Signature submission: Crucifix combined with leg triangle
Post Reply