Java-Centric Grid Computing: Ibis 1.0 Released
rvannieuwpoort writes "Ibis 1.0 has been released. Ibis is a flexible and efficient Java-based programming environment for Grid computing. Ibis improves Java's serialization and RMI performance up to a factor of 10. It also extends Java with a range of communication paradigms, including group communication, divide-and-conquer and collective communication. An additional nice feature of Ibis is that it can communicate through firewalls, without opening ports, using TCP. Ibis is free software (BSD-style license). It runs on any platform that has a Java 1.4 or higher JVM."
Could this ever be included in the Sun's Java SDK or JRE/JVM?
.NET, IMO.
It uses a BSD-style license, so it should be fine. Schwartz and McNealy claim to be open-source friendly. And given that it improves development for Java, would Sun consider adding it to their Java, in some form? This would definitely put it over
I demand this word to be banished from every language. When I find a word which my english-finnish dictionary only offers [word]-ma explanation, I want to scream.
If it doesn't mean what you want to say, don't use it.
kaava(form) or malli (model) would have been perfectly acceptable and would sound less retarded.
Bot Assisted Blogging
They should include in the web some sort of example of a working distributed program, maybe something so simple as a "Hello world!" with every node writing a single chat in a array...
Just an idea!
As a developer I just love working examples.
Hosting 20G hd, 1Tb bw! ssh $7.95
Nah, people likes more simple languages that allow this:
n pack'u*',"5`#8
map{map{tr|10|# |;print}split//,sprintf"%.8b\n",$_}
unpack'C*',u
But don't believe me, after all is your code.
"I think this line is mostly filler"
petty you didn't fully copypaste it... your version doesn't work
as long as the inner loops do not create objects. If you stick to operations on double[] and int[] arrays you'll be fine - it's the same speed as C. If you create garbage or use their Vector class - all bets are off - it will run 4 times slower than C.
Nah, people likes more simple languages that allow this:
map{map{tr|10|# |;print}split//,sprintf"%.8b\n",$_} unpack'C*',unpack'u*',"5`#8
But don't believe me, after all is your code. I believe you.
map{map{tr|10|# |;print}split//,sprintf"%.8b\n",$_} unpack'C*',unpack'u*',"5`#8 > *
As for client-server, you do need a registry somewhere to bootstrap the system, but it is perfectly possible for every agent to have a registry.
As for "expressiveness", I'm not sure what they mean by this. You can pass any serializable object, and exceptions come back over the wire. That seems pretty expressive to me.
Just because something isn't handed to you in the java libraries doesn't mean you can't do it.
-- ac at home
Hi,
True, and we did actually try this.
The CCJ library (dowloadable from the Ibis page) does exactly this. It offers asynchronous communication and group communication built on top of standard SUN RMI.
However, implementing this on top of RMI is very inefficient.
For instance, communication can be made asyncrhonous by just performing an RMI from a new thread. However, a thread switch is already more expensive than a one-way latency on a high performance network.
If you want efficient group communication this becomes even worse.
We are using Java for high performance computing on fast networks (Myrinet), so this is really not an option for us...
Cheers,
Rob
I'm more of a high-level guy myself; I'd much rather tell a system what it is to do and let it pick whether to use Ibis for particular components of my workflows, depending on whether it is actually cost-effective. YMMV...
"Little does he know, but there is no 'I' in 'Idiot'!"