|
|
Java Parallel Processing on Xserve
|
|
|
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Do any of you know of any benchmarks for running Java on an Xserve cluster? I'm hoping for the ability to run multiple JVMs that know about each other and do some kind of distributed threading -I know that the Mach kernel can handle this but the JVMs are a different creature.
Does any of that exist? If so, I can probably get the folks at work to at least look at Xserves for our computing needs.
|
iMac 17" G4 800MHZ & 768 SDRAM
|
|
|
|
|
|
|
|
Mac Elite
Join Date: Dec 2001
Location: Atlanta, GA, USA
Status:
Offline
|
|
Originally posted by DaGuy:
Do any of you know of any benchmarks for running Java on an Xserve cluster? I'm hoping for the ability to run multiple JVMs that know about each other and do some kind of distributed threading -I know that the Mach kernel can handle this but the JVMs are a different creature.
Does any of that exist? If so, I can probably get the folks at work to at least look at Xserves for our computing needs.
If your app is threaded, you only need one JVM. Java scales really well up to 8 or so processors (according to our Sun rep). Since threading is so easy in java (with the synchronized keyword and thread safe classes), this is the route to take.
As far as synchronized JVMs, the closest thing I've ever heard of is J2EE, which allows entity beans in clustered containers to talk and share state. Without knowing your specific purpose though, I can't really recommend that route.
|
Mac Pro 2x 2.66 GHz Dual core, Apple TV 160GB, two Windows XP PCs
|
|
|
|
|
|
|
|
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status:
Offline
|
|
Multiprocessing in Java is automatic - just use threads (properly) and you are there. If you need clusters to run across several machines then I suggest either (1) write your own distribution mechanism, or use something like RMI to hide the network details. Ultimately (1) will yield the best performance, at the cost of requiring better engineering up front.
BTW, this isn't an OS X issue - Java MP works the same as on other platforms.
|
|
|
|
|
|
|
|
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Thanks for the helpful posts! This is positive news. Some folks at work run very large scale numerical simulations and are thinking of upgrading some existing wintel hardware -I'm all for that!!
The other really cool thing would be leveraging the G5's 64 bit plumbing but from what I hear Apple's JVM is 32 bit -like all or most of the market.
Anyway, I don't have much of a case without bench marks. There's evidence that Xserves really smoke for biotech (i.e., BLAST) simulations but as far as I can tell those are not Java apps.
|
iMac 17" G4 800MHZ & 768 SDRAM
|
|
|
|
|
|
|
|
Dedicated MacNNer
Join Date: Sep 2002
Status:
Offline
|
|
Some folks at work run very large scale numerical simulations
In Java?
|
|
|
|
|
|
|
|
|
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status:
Offline
|
|
Originally posted by Richard Edgar:
In Java?
Of course in Java. Check this out: http://math.nist.gov/javanumerics/
There is another page I can't find right now where a team of developers compared C++/C/FORTRAN/Java to one another and found Java worth the trade-off. How easy is it to write a distributed computer in Java that can run on Linux/Windows ANY/Mac OS X/FreeBSD/IRIX/Solaris? Compare that with doing the same thing in C. The FORTRAN code would fare somewhat better (potentially), but the Java code is at least an order of magnitude easier to write.
|
|
|
|
|
|
|
|
|
Dedicated MacNNer
Join Date: Sep 2002
Status:
Offline
|
|
Curious how the benchmarks always seem to compare Java-to-Java.....
As for portability.... I have run into the odd problem porting programs between Solaris/Irix/Linux. Well, the problems were on Linux, and the compilers being a bit behind on their standards support.
|
|
|
|
|
|
|
|
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Originally posted by Richard Edgar:
In Java?
Sure why not. We are not talking real-time were seconds are critical. C or C++ would have taken a long time and Java takes a long time plus some. Anyway, you slice it's still a long time and other issues become more important i.e., integration, code clarity, skill sets and the subject of this post -leveraging MPs.
|
iMac 17" G4 800MHZ & 768 SDRAM
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Forum Rules
|
|
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
|
|
|
|
|
|