|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Multi CPU box for MQSI |
« View previous topic :: View next topic » |
Author |
Message
|
PeterPotkay |
Posted: Sun Nov 24, 2002 4:55 pm Post subject: Multi CPU box for MQSI |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
If you had your MQSI flows running on a server that had multiple CPUs, is there away to assign Execution groups X, Y and Z to CPU #1, Execution group A to CPU #2 and the remainder of the execution groups to CPU #3? If there was a fourth CPU, would there be a way to say that all the regular QM processes ( MCAs, etc.) should use just this CPU?
And the RAM would be equally shared by all regardless, correct _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
kirani |
Posted: Sun Nov 24, 2002 7:27 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Peter,
I don't think current configuration supports this.
And yes the RAM will be equally shared by all. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Nov 25, 2002 5:36 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
So on a 4 CPU box all the processors equally share the work?
The reason for the question is I am researching the angle of increasing throughput by having more than one instance of a complex flow running. I see that there are 3 ways to do this:
1.) Additional instances of a flow within an execution group.
2.) Multiple copies of a flow within an execution group.
3.) Multiple execution groups.
On a single CPU box, we have about a dozen unrelated execution groups running right now, each with 1 to many different message flows. One of these execution groups contains 5 related message flows, all of which share a very ESQL heavy sub flow. Currently this box also acts as our messaging HUB for all MQ messages, even non MQSI messages.
I read (WMQI for NT/2000 V2.1 Perf Report) that you will not got any benifit from any of the three methods unless you are on a multiple CPU box. I assume that this is because a single CPU can only do one thing at a time, even if it is at only say, 20%. Asking for more copies or instances would only cause them to serialize and wait for each other. But if you had a 4 CPU box, you could have 4 copies running at the exact same time?
What if during a stress test our CPU was at 99%, would a 4 cpu box show all 4 CPUs at 33%, or one at 99%, while the other 3 were at 0?
A 2 CPU box would only see benifit from you asking for 2 copies or instance of the same flow? Asking for 4 would be no better than asking for 2, correct? _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
kirani |
Posted: Mon Nov 25, 2002 2:29 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Peter,
Let me restate my first answer about the RAM. The RAM will be shared by all application and used as and when it's needed. I don't think it will allocate more memory to 1 EG and less memory to another.
Pl have a look at following url,
http://www.jsiinc.com/SUBH/TIP3500/rh3542.htm
I guess you could use imagecfg command to permanently set the processor affinity for your 32-bit executable. But this will not solve your complete problem, because there is only one Executable
(DataflowEngine.exe) for all ExecutionGroups. You could also think of assigning priority to these Processes.
PeterPotkay wrote: |
So on a 4 CPU box all the processors equally share the work? |
I don't know how the OS will allocate CPU's for each process, but I would guess all processes equally share them.
PeterPotkay wrote: |
But if you had a 4 CPU box, you could have 4 copies running at the exact same time? |
I believe it is true.
PeterPotkay wrote: |
A 2 CPU box would only see benefit from you asking for 2 copies or instance of the same flow? Asking for 4 would be no better than asking for 2, correct? |
I believe it is true.
EG's are implemented as OS processes, they require more memory while instances are implemented as operating system threads and use less memory but more CPU, so you could get more throughput by deploying the message flow to multiple execution groups. If your message flows are CPU intensive then processors may become constraint. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
zpat |
Posted: Tue Nov 26, 2002 2:25 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
There is a CPU Affinity option in MQSI - the default is ON in MQSI 2.0.1 and OFF in later versions. It can be set using an environment variable.
It affects whether all instances of a flow use the same CPU (or something like that).
Have a look at the MQSI performance reports by Tim Dunn (support pac). |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|