Customer has written an application written in java and compiled under both jdk 1.2.2 and under 1.3 with similar results. The application attempts to open threads in a multi cpu configured machine and run a timer to determine how fast the program is able to service the threads.
The customer notes that with the machine (multi cpu ultra 450) will execute the program more slowly under Solaris 8 vs. Solaris 7. the amount of difference in time is noted to be about 16% higher at Solaris 8 than at 7.
The sample test case is noted below as an attachment with the associate jar file also added as an attachment. A run with the profiler enabled is also included to further expose the issue.
The program does the following:
> The benchmark creates parallel threads (the number of threads
> is a command line option), which go into a wait. Then the user
> enters a file name, for the stats, and then notifies all threads.
> Each thread solves a random number, between zero and 1000, of
> problems until 200,000 problems have been solved. All problems
> are identical involving matrix math. Which explains the top
> method, other than setup, is LUDecomposition. The elapsed time
> is typically between 3 and 10 seconds, depending on hardware,
> Op system and number of threads requested. The results are
> very repeatable.
Note that varying the use of the Just in Time compiler
(eg., -D java.compiler=none) does not affect the difference in behavior when tested at both SOlaris 7 and 8.
Latest kernal and libthread patches were applied to Solaris 8 system - no change in effect.
108827-05 108528-05
uname -a
SunOS L39017424 5.8 Generic_108528-03 sun4u sparc SUNW,Uttra-60
java -version
java version "1.3.0"
Java (TM) 2 Runtime Environment, Standard Edition (build 1.3.0)
Java HotSpot (TM) Server VM (build 1.3.0, mixed mode)
> You can easily find out with the following command:
>
> # isainfo -v (indicates 64 bit mode...)
> 64-bit sparcv9 applications
> 32-bit sparc applications
>
The customer notes that with the machine (multi cpu ultra 450) will execute the program more slowly under Solaris 8 vs. Solaris 7. the amount of difference in time is noted to be about 16% higher at Solaris 8 than at 7.
The sample test case is noted below as an attachment with the associate jar file also added as an attachment. A run with the profiler enabled is also included to further expose the issue.
The program does the following:
> The benchmark creates parallel threads (the number of threads
> is a command line option), which go into a wait. Then the user
> enters a file name, for the stats, and then notifies all threads.
> Each thread solves a random number, between zero and 1000, of
> problems until 200,000 problems have been solved. All problems
> are identical involving matrix math. Which explains the top
> method, other than setup, is LUDecomposition. The elapsed time
> is typically between 3 and 10 seconds, depending on hardware,
> Op system and number of threads requested. The results are
> very repeatable.
Note that varying the use of the Just in Time compiler
(eg., -D java.compiler=none) does not affect the difference in behavior when tested at both SOlaris 7 and 8.
Latest kernal and libthread patches were applied to Solaris 8 system - no change in effect.
108827-05 108528-05
uname -a
SunOS L39017424 5.8 Generic_108528-03 sun4u sparc SUNW,Uttra-60
java -version
java version "1.3.0"
Java (TM) 2 Runtime Environment, Standard Edition (build 1.3.0)
Java HotSpot (TM) Server VM (build 1.3.0, mixed mode)
> You can easily find out with the following command:
>
> # isainfo -v (indicates 64 bit mode...)
> 64-bit sparcv9 applications
> 32-bit sparc applications
>