Nov 12 2008

64-bit Architecture and Apparent Issues with Java Applications

Posted by Mike Brunt at 5:01 AM
8 comments
- Categories: ColdFusion | JRun-J2EE

As our clients are moving to 64-bit architecture for their servers and ColdFusion installations I am paying particular attention to performance charactaristics when running ColdFusion 64-bit on the Sun 64-bit 1.6 JVM.  There is no doubt that we witness an immediate increase in the available heap size, we can now allocate much higher amounts of memory to the Sun JVM heap by using the -Xms and -Xmx arguments, in the jvm.config file.  

Most of our clients are still on 32-bit systems but on those that have deployed on 64-bit I can certainly see more available heap memory available than on 32-bit, if of course they set that to a higher number with the -Xms and -Xmx arguments.  I always enable "metrics logging" so I can observe those things.  Here is how to enable metrics logging.  Beyond the observation of more heap memory there does seem to be a sort of ceiling where we do not see much in the way of overall performance gains.  As yet I have not been able to quantify that; however a discussion I recently took part in made me think about using alternative JVM's to the Sun JVM.  Here is why.  IBM seem to be doing a lot of work with their Java 6 SDK in order to take full advantage of the subtle differences in 32-bit to 64-bit architectures.  As I mentioned above, I was in conversation with an IBM engineer and he explained it to me as follows. Java was created without 64-bit in mind and it appears that languages with lots of data-structure manipulation can suffer a little on 64-bit architectures because 64-bit CPU's have a wide data bus.  Java is a such a language as it involves creating and managing objects which are in essence "data-structures".  Because of the wide date bus nature of a 64-bit architecture each object is likely to be larger.

On the IBM BM Java6 JDK virtual machine, IBM have introduced a way of dealing with this potential issue. They are using an argument called "-Xcompressedrefs" the effect of this is to store less data in the object and there is a trade-off in that sense.  However this still allows the heap to use up to 32GB which is still much larger than the current level of around 1.4GB on Windows 32-bit.

So the conclusion of this IBM engineer is that without this -Xcompressedrefs argument Java applications which create a lot of referenced objects can and in his experience often do run slower on 64-bit systems.  This gives me great food for thought in particular with applications using the current "triumverate" of frameworks; mach-ii/ModelGlue-ColdSpring-Reactor/Transfer which by nature probably create more referenced objects than other paradigms.  By coincidence, we were testing a client application over last weekend.  That client wanted to know the performance difference between running the same application on 32-bit Windows 2003 and 64-bit Windows 2003. This applications uses ModelGlue-ColdSpring-Reactor and the same tests on 64-bit ran slower than the 32-bit tests.  We are still evaluating exactly why but the information I am blogging about here gives me, as I say, great food for thought.

By the way, the Sun JVM which ColdFusion ships with, is also hitting this issue, it is an overall Java issue.  There is what is called a "performance" Sun JVM which is in some sort of alpha-beta phase; so time permitting, we will be doing some tests on the different JVM's.

Comments

qiudong

qiudong wrote on 03/17/11 7:04 PM

unless http://feiyue.eu.com/feiyue-low-cut-cancas you have more than guests.
superdry sale

superdry sale wrote on 11/18/11 6:07 PM

Every superdry sale fans convinced superdry will be next huge designer. The colors of superdry uk are just amazing because they are universally flattering! It is a great alternative for people who are tired of buying out the entire superdry outlet line and are finished shopping at Our Superdry uk sale store.
Conservation Easements

Conservation Easements wrote on 06/25/13 3:44 AM

This posting is very cool and interesting post.This is a great inspiring article.I am very much pleased with your good work.You put really very helpful information in this site.
buy handbags

buy handbags wrote on 08/20/13 6:59 PM

the Sun JVM which ColdFusion ships with, is also hitting this issue, it is an overall Java issue. There is what is called a "performance" Sun JVM which is in some sort of alpha-beta phase
Replica Watches

Replica Watches wrote on 08/26/13 7:37 PM

I am glad to catch idea from your article. It has information I have been searching for a long time.
darrendemers12

darrendemers12 wrote on 10/30/13 2:49 AM

I was really impressed. This is really interesting topic, I'll write a paper on it or probably I'll just buy essay . Thank you very much!
http://www.granburytexasweddingplanner.com/
http://www.sofitelmontrealweddings.com/
http://www.st-louisweddings.com/
http://www.poconosweddingonline.com/
buy real twitter retweets

buy real twitter retweets wrote on 10/07/14 11:49 PM

It was nice to read your blog post. this post made things clear for me. Thanks a lot for the share.
sparxx rx

sparxx rx wrote on 10/16/14 8:49 AM

Our enticing garments are made from top-quality fabric that is guaranteed to last. Add spark to the bedroom with our bra and skirt sets available in a variety of colors.

Write your comment



(it will not be displayed)



Leave this field empty: