views:

54

answers:

1

Hi All, I have a multi-threaded java application for some research simulations. The lab I am working in has a large linux cluster, as well as a bunch of personal computers. I am a grad student, and have been programming in java for a long time, but I'm not very familiar with clusters. If I run my application on the cluster, will it be able to allocate the various threads to the different nodes? I am assuming this is not the case.. what is the best way to do this? I have seen Terracotta, Hadoop and Jini from doing some google searches, but it is unclear to me how they differ and which option (maybe none of the ones mentioned here) is best? I would like to avoid doing client/server programming, and if there exists a software solution which would be able to allocate the threads created by my program - that would be best. Thanks, Joe

+2  A: 

For a simple interface for distrubted compting I would suggest you try Hazelcast. This has distributed Queue, Executors and others. You can just add tasks and they will be performed on the next available CPU where-ever and coding it is much the same as on one computer. (Same interfaces)

Peter Lawrey
+1 for suggesting Hazelcast. I haven't used it personally but I read about it before. I imagine that with a good design it should be easy to replace whatever clustering API is used.
Tim Bender