How do I optimize my quad xeon server?

xirtam

Diamond Member
Aug 25, 2001
4,693
0
0
Each processor's only going up to about 25% for Database server/Web server/etc. I want to know how to apply 100% CPU power to JBOSS.

Running Win2K Server. Is there a setting somewhere?
 

xirtam

Diamond Member
Aug 25, 2001
4,693
0
0
Actually, the processes I want to maximize are java.exe and jpprofiler.exe. Right-clicking on them and changing the priority settings doesn't help.
 

Ameesh

Lifer
Apr 3, 2001
23,686
1
0
it could be that the program cannot load down a 4 proc xeon. there could be busy waiting inside the processes which will cause some waiting which in turn will keep the cpu usage from going up.
 

xirtam

Diamond Member
Aug 25, 2001
4,693
0
0
I really don't think this is the case... if it is, JProbe's got major issues... it's up about 30% of the CPU usage, but it should be maxing the process. It maxes out my 2.0 Gig P4 (single processor) system...
 

Jzero

Lifer
Oct 10, 1999
18,834
1
0
Originally posted by: xirtam
I really don't think this is the case... if it is, JProbe's got major issues... it's up about 30% of the CPU usage, but it should be maxing the process. It maxes out my 2.0 Gig P4 (single processor) system...

That could simply be because one processor can still only process one thing at a time. Is JProbe multithreaded? I've noticed that non-multithreaded processor intensive apps have a tendency to do this (for instance on my dual-processor machines, when an app pegs a single processor at 100%, the graph in Task Mgr shows each processor used at 50%).
 

BatmanNate

Lifer
Jul 12, 2000
12,444
2
81
If you're getting your 25% reading from Win2kAS's task manager, it probably means your app is only using 1 processor. I use a dual proc system, and when a single threaded app is maxing the processor, task manager reads 50% CPU. It's not 50% of each CPU, but 100% of one.
 

Ameesh

Lifer
Apr 3, 2001
23,686
1
0
Originally posted by: Jzero
Originally posted by: xirtam
I really don't think this is the case... if it is, JProbe's got major issues... it's up about 30% of the CPU usage, but it should be maxing the process. It maxes out my 2.0 Gig P4 (single processor) system...

That could simply be because one processor can still only process one thing at a time. Is JProbe multithreaded? I've noticed that non-multithreaded processor intensive apps have a tendency to do this (for instance on my dual-processor machines, when an app pegs a single processor at 100%, the graph in Task Mgr shows each processor used at 50%).

Jzero ius correct the process it self has to be smart about the way it spawns off threads, if it doesnt then the procs cant do anything because the work cannot be broken up into parts. its a fairly complex issue and requires the programmer to be aware that this might run on a multi proc computer
 

Ameesh

Lifer
Apr 3, 2001
23,686
1
0
Originally posted by: Ulfwald
Look up set affinity in the help files.

its not gonna help, the issue is if the program isnt spawning enough threads or other processes then theres nothing the OS or processer can do. its as simple as that.

for instance seti@home is a single process command to load down a multi-proc box you just run it again and again and each process will take its turn for the proc usuage using round robin or whatever.
 

dawks

Diamond Member
Oct 9, 1999
5,071
2
81
Just going slightly off topic.. Could you post a screenshot of your task manager and the tabs..?

I've always wanted to see what a dual/quad processor systems task manager looks like (preferably 2k/xp)

Anyone else?
 

joohang

Lifer
Oct 22, 2000
12,340
1
0
Originally posted by: DaZ
Just going slightly off topic.. Could you post a screenshot of your task manager and the tabs..?

I've always wanted to see what a dual/quad processor systems task manager looks like (preferably 2k/xp)

Anyone else?

Nothing fancy. The CPU load box is split into two to show the CPU usage for each one. Not sure how it looks like with 4 CPUs.

Also, there is also an option to assign a process to the CPU of your choice.
 

Jzero

Lifer
Oct 10, 1999
18,834
1
0
I'd put a shot but on this box, one of the ZIF sockets seems to have died so it's functioning as a uniprocessor, and I'm not happy about it at all. How does a friggin processor socket just up and die?!?!
 

xirtam

Diamond Member
Aug 25, 2001
4,693
0
0
I was able to get slightly better performance by running java.exe and jprofiler.exe on separate processors using "Set Affinity," but my goodness, this is a quad xeon! $12,000 for this thing... and it doesn't perform noticeably fastor than my P4 workstation.

Yay for hot swap power supplies, I guess.

Anybody got any other suggestions? This thing should be loading much faster. I don't suppose there's any software written to split the effective power of a process up among four processors, is there?
 

xirtam

Diamond Member
Aug 25, 2001
4,693
0
0
Daz, I'll try to get a screenshot up there for you, as well as some pics of this server. It looks pretty sweet. Too bad they won't let me take it home... :(

Right now it's just in testing, though, so I can't upload anything from it right now. And I don't think it's got a floppy drive.
 

Jzero

Lifer
Oct 10, 1999
18,834
1
0
Originally posted by: xirtam
I was able to get slightly better performance by running java.exe and jprofiler.exe on separate processors using "Set Affinity," but my goodness, this is a quad xeon! $12,000 for this thing... and it doesn't perform noticeably fastor than my P4 workstation.

If your apps aren't multithreaded, and most of them aren't, you won't see much speed increase over the same thing running on a UP station. I have a dual celeron machine. 2x450MHz. It doesn't run like a 900MHz machine, it runs like 2x450MHz. Multithreaded apps like distributed.net run like 900MHz. Unreal Tourney runs like a 450MHz. The cool thing about MPS systems is that you can truly multitask. I can run a UT dedicated server and lock the affinity to processor 0 and then I can play on the client with that locked to processor 1, and it doesn't skip a beat. If you tried this on a uniprocessor, you'd probably be hurting.

other things that screws you are:
1)Law of diminishing returns--it takes CPU time to manage multiple CPUs. More CPUs requires more processor time, so the more CPUs you add, the less performance gain you realize until eventually each CPU you add will be entirely consumed just in managing itself. I think it's less a problem in asymetric MPS than SMP.
2)NT/2000 thread management ain't the best in the world.
3)CPUs (Intel) share common bus, and memory and the potential exists for one process to hog resources even though there is plenty of CPU time to go around, and starves processes running on other CPUs. This problem is slightly alleviated with Athlon's bus architecture, but memory and the PCI/disk busses are still shared.
 

dawks

Diamond Member
Oct 9, 1999
5,071
2
81
I think I need a clear definition of multi-threading and SMP systems.

Internet Explorer is a multi-threaded appliction. Right now as I am typing this with one IE window open, IE is running 21 threads. It is a multi-threaded application. Yet its not SMP capable.

I have been told over and over again that an application simply has to be multi-threaded to be SMP capable.

Another example, Winamp, playing a single track, sitting in my sys-tray is running 7 threads, yet its not SMP capable, or SMP aware.

Now a game like half-life.. I've never tried to see how many threads its running at a time, but im definatly sure it runs more then one. If it didnt, you wouldnt be able to have video, sound, and networking running at the same time. You need a thread for each job.. not? Half-Life is NOT SMP capable.

Quake 3 and Quake 3 based games run many threads. It IS an SMP capable application. Quake 3 IS a multi-threaded application.

As I've been told, to take advantage of SMP, an application needs to be multi-threaded. Very rarely is 'SMP Capable' mentioned.

The way I see it, is an application must be multi-threaded, AND SMP Capable. (It needs to be programmed to support SMP)

So which is true? Any application that runs more then one thread can use multiple processors?
rolleye.gif
 

bozo1

Diamond Member
May 21, 2001
6,364
0
0
The way I see it, is an application must be multi-threaded, AND SMP Capable.
Any application that runs more then one thread can use multiple processors?
Both statements are true. If an application is SMP capable, it will use all processors up to 100% on each one. If a program is multithreaded but not specifically written for SMP, Windows will balance the threads among all of your processors UP TO 50% of each processor on a dual system, 25% of each processor on a quad box.