Running JAVA on Windows Intel vs Solaris Sparc (T1000)

Hi, I am trying to test a JAVA application on Solaris Sparc and I am getting some strange behavior. I am not looking for fiery wars. I'm just curious to know what is happening or what is wrong ...

I run the same JAR on Intel and on the T1000, and on a Windows machine I can get a 100% (Performance Monitor) processor on a Solaris computer, I can only get 25% (prstat)

The application is a custom server application that I wrote that uses netty as a network infrastructure.

On a Windows machine, I can get a little over 200 requests / responses per second, including full business logic and access to external third parties, while on a Solaris machine I get about 150 requests / answers on only 25% of the CPU

One could only imagine how many more requests and responses I could get from Sparc if I could do this using full power.

Servers ...

Windows 2003 SP2 x64bit, 8 GB, 2.39 GHz Intel 4 cores Solaris 10.5 64 bit, 8 GB, 1 GHz 6 cores

Both use jdk 1.6u21 respectively.

Any ideas?

+4
source share
3 answers

The T1000 uses a multi-core processor, which means that the CPU can run multiple threads at the same time. If the processor runs at 100%, this means that all cores are running at 100%. If your application uses fewer threads than the number of cores, your application cannot use all the cores and therefore cannot use 100% CPU.

+2
source

Without any code it's hard to help. Some ideas:

  • Java application profile for both systems and see where the difference is. You may be surprised. Since there is no out-of-order execution in the T1 processor, you can see performance that does not have strange areas.
  • As Eric Robertson says, try increasing the number of threads by the number of virtual cores transmitted through prstat , rather than the number of regular cores. The T1000 uses UltraSparc T1 processors that use parallelism thread level .

Also note that you are using the latest Intel processors and older Suns . I highly recommend reading Application Development and Tuning on UltraSPARC T1 Chip Multithreading Systems and Maximizing Application Performance on the Multithreading Chip Architecture (CMT) , both Sun and Sun.

+1
source

This is a pretty old question, but we ran into similar problems.

It is important to note that the SUN T1000 is based on the UltraSpac T1 processor, which has only one FPU for 8 cores. Therefore, if your application performs a lot or even calculates a Float-Point, this can be a problem as FPU becomes a bottleneck.

+1
source

All Articles