473,405 Members | 2,279 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

Java Dual CPU, Single CPU, Performance

Hi

I have a big j2ee appliction that was so forth run on a single cpu
machine.

I have tested it on a dual cpu machine, its running much slower (about
X3 times slower).

I know that synchronize code fragments (indirect ones as well, such as
the fact that StringBuffer is synchronized) can make code run slower
on dual cpu machines.

What am I to do?
Scan all my code for direct/indirect usage of synchronized (sounds
horrible)?
How can I make my j2ee app run faster on a dual cpu machine?
What else besides synchronization can make my j2ee app run slower on a
dual cpu machine?
Jul 17 '05 #1
9 5816
Can you give a full description of the hardware/OS/App server?

"Tomer Ben-David" <to*****@barak-online.net> wrote in message
news:16**************************@posting.google.c om...
Hi

I have a big j2ee appliction that was so forth run on a single cpu
machine.

I have tested it on a dual cpu machine, its running much slower (about
X3 times slower).

I know that synchronize code fragments (indirect ones as well, such as
the fact that StringBuffer is synchronized) can make code run slower
on dual cpu machines.

What am I to do?
Scan all my code for direct/indirect usage of synchronized (sounds
horrible)?
How can I make my j2ee app run faster on a dual cpu machine?
What else besides synchronization can make my j2ee app run slower on a
dual cpu machine?

Jul 17 '05 #2
sounds to me like you are having an operating system problem,
independent of your j2ee app. run some benchmarks on your new machine
vs. your old machine. incidentally, r u on a linux platform or are you
trying your luck with windows...

- perry

Tomer Ben-David wrote:
Hi

I have a big j2ee appliction that was so forth run on a single cpu
machine.

I have tested it on a dual cpu machine, its running much slower (about
X3 times slower).

I know that synchronize code fragments (indirect ones as well, such as
the fact that StringBuffer is synchronized) can make code run slower
on dual cpu machines.

What am I to do?
Scan all my code for direct/indirect usage of synchronized (sounds
horrible)?
How can I make my j2ee app run faster on a dual cpu machine?
What else besides synchronization can make my j2ee app run slower on a
dual cpu machine?


Jul 17 '05 #3
Hi (for both replies :)
Here are the detials of the machine/appserver that is being used for
development dual cpu testing

System Information report written at: 06/10/2004 08:57:01 AM
[System Summary]

Item Value
OS Name Microsoft Windows 2000 Server
Version 5.0.2195 Service Pack 4 Build 2195
OS Manufacturer Microsoft Corporation
System Manufacturer VIA Technologies, Inc.
System Model MS-6321
System Type X86-based PC
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
BIOS Version Award Modular BIOS v6.00PG
Windows Directory C:\WINNT
System Directory C:\WINNT\system32
Boot Device \Device\Harddisk0\Partition1
Locale United States
Total Physical Memory 523,760 KB
Available Physical Memory 300,696 KB
Total Virtual Memory 1,802,308 KB
Available Virtual Memory 1,132,408 KB
Page File Space 1,278,548 KB
Page File C:\pagefile.sys

App server : resin2.1.6
perry <pe***@cplusplus.org> wrote in message news:<6c*********************@news20.bellglobal.co m>...
sounds to me like you are having an operating system problem,
independent of your j2ee app. run some benchmarks on your new machine
vs. your old machine. incidentally, r u on a linux platform or are you
trying your luck with windows...

- perry

Tomer Ben-David wrote:
Hi

I have a big j2ee appliction that was so forth run on a single cpu
machine.

I have tested it on a dual cpu machine, its running much slower (about
X3 times slower).

I know that synchronize code fragments (indirect ones as well, such as
the fact that StringBuffer is synchronized) can make code run slower
on dual cpu machines.

What am I to do?
Scan all my code for direct/indirect usage of synchronized (sounds
horrible)?
How can I make my j2ee app run faster on a dual cpu machine?
What else besides synchronization can make my j2ee app run slower on a
dual cpu machine?

Jul 17 '05 #4
here's another site for 9.1

http://ftp.softnet.tuc.gr/ftp/linux/mandrake/iso/

like i said, i strongly recommend 9.1 over it's successors 9.2 and 10.0
for someone trying Mandrake Linux for the first time.

- perry
Tomer Ben-David wrote:
Hi (for both replies :)
Here are the detials of the machine/appserver that is being used for
development dual cpu testing

System Information report written at: 06/10/2004 08:57:01 AM
[System Summary]

Item Value
OS Name Microsoft Windows 2000 Server
Version 5.0.2195 Service Pack 4 Build 2195
OS Manufacturer Microsoft Corporation
System Manufacturer VIA Technologies, Inc.
System Model MS-6321
System Type X86-based PC
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
BIOS Version Award Modular BIOS v6.00PG
Windows Directory C:\WINNT
System Directory C:\WINNT\system32
Boot Device \Device\Harddisk0\Partition1
Locale United States
Total Physical Memory 523,760 KB
Available Physical Memory 300,696 KB
Total Virtual Memory 1,802,308 KB
Available Virtual Memory 1,132,408 KB
Page File Space 1,278,548 KB
Page File C:\pagefile.sys

App server : resin2.1.6
perry <pe***@cplusplus.org> wrote in message news:<6c*********************@news20.bellglobal.co m>...
sounds to me like you are having an operating system problem,
independent of your j2ee app. run some benchmarks on your new machine
vs. your old machine. incidentally, r u on a linux platform or are you
trying your luck with windows...

- perry

Tomer Ben-David wrote:
Hi

I have a big j2ee appliction that was so forth run on a single cpu
machine.

I have tested it on a dual cpu machine, its running much slower (about
X3 times slower).

I know that synchronize code fragments (indirect ones as well, such as
the fact that StringBuffer is synchronized) can make code run slower
on dual cpu machines.

What am I to do?
Scan all my code for direct/indirect usage of synchronized (sounds
horrible)?
How can I make my j2ee app run faster on a dual cpu machine?
What else besides synchronization can make my j2ee app run slower on a
dual cpu machine?


Jul 17 '05 #5
Ok, here is what you do.

First order of business is to go to this site and download a copy of
Mandrake 9.1. Mandrake 10.0 is available but like everything "new" it
needs time to get it's kinks worked out. I can personally vouche for 9.1.

ftp://ftp.cslab.vt.edu

Download 3 iso's of 9.1 and also do a download of the updates directory.
Burn 3 cd's and another to be labeled "updates".

You also need to get a good disk partition utility that will allow you
create and resize partitions. Unless you have some partition space
available or empty partitions already setup (5 gig is recommended).
Here's are some recommendations:

http://www.v-com.com/product/System_Commander_Home.html
http://www.terabyteunlimited.com/
http://www.acronis.com/products/

Each of these are superb products with System Commander being the
easiest to use in my experience.

The whole objective of this is to setup a dual boot machine (in the end
you'll only need Lilo as a boot manager) so that you can harness the
full power of your machine under a decent operating system.

If it's power you are after, you'll be glad you've begun this endevour.
Not only will you learn quite a bit but you'll see your machine output
2x the performance you now see and that's even before apply any
optimizations. I can only imagine what a dual processor is going to do
on Linux, I'm writing to you now from a Dell Inspiron 7500 (pentium III
500) running 9.1 (with 2k & 98 installed only for convienience).

At the end of the day, you'll something called "choice" and not be a
prisoner of microsoft's unending propanganda.

- perry

Tomer Ben-David wrote:
Hi (for both replies :)
Here are the detials of the machine/appserver that is being used for
development dual cpu testing

System Information report written at: 06/10/2004 08:57:01 AM
[System Summary]

Item Value
OS Name Microsoft Windows 2000 Server
Version 5.0.2195 Service Pack 4 Build 2195
OS Manufacturer Microsoft Corporation
System Manufacturer VIA Technologies, Inc.
System Model MS-6321
System Type X86-based PC
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
BIOS Version Award Modular BIOS v6.00PG
Windows Directory C:\WINNT
System Directory C:\WINNT\system32
Boot Device \Device\Harddisk0\Partition1
Locale United States
Total Physical Memory 523,760 KB
Available Physical Memory 300,696 KB
Total Virtual Memory 1,802,308 KB
Available Virtual Memory 1,132,408 KB
Page File Space 1,278,548 KB
Page File C:\pagefile.sys

App server : resin2.1.6
perry <pe***@cplusplus.org> wrote in message news:<6c*********************@news20.bellglobal.co m>...
sounds to me like you are having an operating system problem,
independent of your j2ee app. run some benchmarks on your new machine
vs. your old machine. incidentally, r u on a linux platform or are you
trying your luck with windows...

- perry

Tomer Ben-David wrote:
Hi

I have a big j2ee appliction that was so forth run on a single cpu
machine.

I have tested it on a dual cpu machine, its running much slower (about
X3 times slower).

I know that synchronize code fragments (indirect ones as well, such as
the fact that StringBuffer is synchronized) can make code run slower
on dual cpu machines.

What am I to do?
Scan all my code for direct/indirect usage of synchronized (sounds
horrible)?
How can I make my j2ee app run faster on a dual cpu machine?
What else besides synchronization can make my j2ee app run slower on a
dual cpu machine?


Jul 17 '05 #6
also, as you probably be aware, you'll be needing Linux versions of
J2EE, these can easily be obtained from J2EE provider. assuming your new
to the java world, i'll hazzard to guess that your a borland user.
borland has 30 evals on most of their products.

keep me abreast on how you make out

- perry

pe***@cplusplus.org
Tomer Ben-David wrote:
Hi (for both replies :)
Here are the detials of the machine/appserver that is being used for
development dual cpu testing

System Information report written at: 06/10/2004 08:57:01 AM
[System Summary]

Item Value
OS Name Microsoft Windows 2000 Server
Version 5.0.2195 Service Pack 4 Build 2195
OS Manufacturer Microsoft Corporation
System Manufacturer VIA Technologies, Inc.
System Model MS-6321
System Type X86-based PC
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
BIOS Version Award Modular BIOS v6.00PG
Windows Directory C:\WINNT
System Directory C:\WINNT\system32
Boot Device \Device\Harddisk0\Partition1
Locale United States
Total Physical Memory 523,760 KB
Available Physical Memory 300,696 KB
Total Virtual Memory 1,802,308 KB
Available Virtual Memory 1,132,408 KB
Page File Space 1,278,548 KB
Page File C:\pagefile.sys

App server : resin2.1.6
perry <pe***@cplusplus.org> wrote in message news:<6c*********************@news20.bellglobal.co m>...
sounds to me like you are having an operating system problem,
independent of your j2ee app. run some benchmarks on your new machine
vs. your old machine. incidentally, r u on a linux platform or are you
trying your luck with windows...

- perry

Tomer Ben-David wrote:
Hi

I have a big j2ee appliction that was so forth run on a single cpu
machine.

I have tested it on a dual cpu machine, its running much slower (about
X3 times slower).

I know that synchronize code fragments (indirect ones as well, such as
the fact that StringBuffer is synchronized) can make code run slower
on dual cpu machines.

What am I to do?
Scan all my code for direct/indirect usage of synchronized (sounds
horrible)?
How can I make my j2ee app run faster on a dual cpu machine?
What else besides synchronization can make my j2ee app run slower on a
dual cpu machine?


Jul 17 '05 #7
Ok, i think your problem is that your application server does not support
dual cpu, so going to linux wouldnt solve your problem but its not a bad
idea anyway :-) short of getting it to run on more than one jvm i dont know
what you could do..

apart from give jboss a try.. i'm sure it supports dual cpu
"Tomer Ben-David" <to*****@barak-online.net> wrote in message
news:16**************************@posting.google.c om...
Hi (for both replies :)
Here are the detials of the machine/appserver that is being used for
development dual cpu testing

System Information report written at: 06/10/2004 08:57:01 AM
[System Summary]

Item Value
OS Name Microsoft Windows 2000 Server
Version 5.0.2195 Service Pack 4 Build 2195
OS Manufacturer Microsoft Corporation
System Manufacturer VIA Technologies, Inc.
System Model MS-6321
System Type X86-based PC
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
BIOS Version Award Modular BIOS v6.00PG
Windows Directory C:\WINNT
System Directory C:\WINNT\system32
Boot Device \Device\Harddisk0\Partition1
Locale United States
Total Physical Memory 523,760 KB
Available Physical Memory 300,696 KB
Total Virtual Memory 1,802,308 KB
Available Virtual Memory 1,132,408 KB
Page File Space 1,278,548 KB
Page File C:\pagefile.sys

App server : resin2.1.6
perry <pe***@cplusplus.org> wrote in message

news:<6c*********************@news20.bellglobal.co m>...
sounds to me like you are having an operating system problem,
independent of your j2ee app. run some benchmarks on your new machine
vs. your old machine. incidentally, r u on a linux platform or are you
trying your luck with windows...

- perry

Tomer Ben-David wrote:
Hi

I have a big j2ee appliction that was so forth run on a single cpu
machine.

I have tested it on a dual cpu machine, its running much slower (about
X3 times slower).

I know that synchronize code fragments (indirect ones as well, such as
the fact that StringBuffer is synchronized) can make code run slower
on dual cpu machines.

What am I to do?
Scan all my code for direct/indirect usage of synchronized (sounds
horrible)?
How can I make my j2ee app run faster on a dual cpu machine?
What else besides synchronization can make my j2ee app run slower on a
dual cpu machine?

Jul 17 '05 #8
Hi all

Found the problem...

My application is communicating with domino server.
When my application is on dual cpu and domino is on single cpu the
performance is much better (10 times better). The methods of the stub
of the domino, (the jar i have of domino) its a CORBA turns out... Are
taking X10 times when the domino server is on dual cpu...

Anyone had this problem before?
"David Ashe" <ls********@blueyonder.co.uk> wrote in message news:<jP*******************@doctor.cableinet.net>. ..
Ok, i think your problem is that your application server does not support
dual cpu, so going to linux wouldnt solve your problem but its not a bad
idea anyway :-) short of getting it to run on more than one jvm i dont know
what you could do..

apart from give jboss a try.. i'm sure it supports dual cpu
"Tomer Ben-David" <to*****@barak-online.net> wrote in message
news:16**************************@posting.google.c om...
Hi (for both replies :)
Here are the detials of the machine/appserver that is being used for
development dual cpu testing

System Information report written at: 06/10/2004 08:57:01 AM
[System Summary]

Item Value
OS Name Microsoft Windows 2000 Server
Version 5.0.2195 Service Pack 4 Build 2195
OS Manufacturer Microsoft Corporation
System Manufacturer VIA Technologies, Inc.
System Model MS-6321
System Type X86-based PC
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
Processor x86 Family 6 Model 8 Stepping 6 GenuineIntel ~800 Mhz
BIOS Version Award Modular BIOS v6.00PG
Windows Directory C:\WINNT
System Directory C:\WINNT\system32
Boot Device \Device\Harddisk0\Partition1
Locale United States
Total Physical Memory 523,760 KB
Available Physical Memory 300,696 KB
Total Virtual Memory 1,802,308 KB
Available Virtual Memory 1,132,408 KB
Page File Space 1,278,548 KB
Page File C:\pagefile.sys

App server : resin2.1.6
perry <pe***@cplusplus.org> wrote in message

news:<6c*********************@news20.bellglobal.co m>...
sounds to me like you are having an operating system problem,
independent of your j2ee app. run some benchmarks on your new machine
vs. your old machine. incidentally, r u on a linux platform or are you
trying your luck with windows...

- perry

Tomer Ben-David wrote:
> Hi
>
> I have a big j2ee appliction that was so forth run on a single cpu
> machine.
>
> I have tested it on a dual cpu machine, its running much slower (about
> X3 times slower).
>
> I know that synchronize code fragments (indirect ones as well, such as
> the fact that StringBuffer is synchronized) can make code run slower
> on dual cpu machines.
>
> What am I to do?
> Scan all my code for direct/indirect usage of synchronized (sounds
> horrible)?
> How can I make my j2ee app run faster on a dual cpu machine?
> What else besides synchronization can make my j2ee app run slower on a
> dual cpu machine?

Jul 17 '05 #9
I run a dual cpu p3-1000 and a gig of ram and my java programs runs quicker
than other machines i have tested the programs on
my programs are simple things no threads or anything just basic command line
programs with time at start of program and end of program
i have just started learning java :-)
in my case the the other machines are all slower and i haven't got access to
faster machine to try my programs on
to compare but i'd say if i put on a faster machime they would run faster
yet again
i am trying my luck with xp which seems to be the best micro$oft os so far
:-)
with an extra cpu seems to bring a bit of stability to the os or more
headroom so to speak

Jul 17 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

23
by: BlackHawke | last post by:
Hello! This is my second post. Ppl really helped me with the first. I hope there are answers for this one as well I own a game company (www.aepoxgames.net) releasing the beta for our first...
5
by: Zach | last post by:
This is all on linux using jdk1.3. My application is written in AWT, no swing. The application requires running it on the host machine and tunneling the GUI back to a client. I've been doing...
114
by: Maurice LING | last post by:
This may be a dumb thing to ask, but besides the penalty for dynamic typing, is there any other real reasons that Python is slower than Java? maurice
5
by: John Dalberg | last post by:
I am planning to build a server to be used as a SQL Server and web server. Right now I can only use a single box for both. I have read some threads were dual processors are having problems with...
15
by: alex4groups | last post by:
Hi, I've been creating a db application using MS Access and MSDE. Only two of us are using the application, and the server and the app both run great on my laptop (1.6 GHz Pentium M, 2GB RAM,...
2
by: Jobs | last post by:
Download the JAVA , .NET and SQL Server interview with answers Download the JAVA , .NET and SQL Server interview sheet and rate yourself. This will help you judge yourself are you really worth of...
4
by: JavaPhreak | last post by:
So I work for a firm where Java performance is highly debated (e.g. threading, garbage collection, overuse of abstraction, interprocess latency, write once, debug everywhere, debuggers for real-time...
3
by: arunairs | last post by:
Hi, In a multi-threaded app on a dual core machine, is it possible to know on which cpu a particular thread is currently executing on? thanks, Arun
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.