Slashdot Mirror


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."

5 of 18 comments (clear)

  1. Re:Included in Sun Java? by shodson · · Score: 3, Informative

    No, Sun has its own grid computing product that I'm sure it would rather support.

  2. Re:Java is good for mathematical computation by Anonymous Coward · · Score: 1, Informative

    Actually, object allocation isn't bad at all in Java. More to the point, object allocation and GC in Java is now faster than heap-based object allocation and deallocation in C++. Can't beat that stack allocation tho.

  3. Re:Java is good for mathematical computation by Anonymous Coward · · Score: 1, Informative

    In toy programs you may be right, but for programs with 10s or 100s of megs of heap data in active use GC is far slower than malloc/free allocation. Why? The garbage collector touches most memory pages and completely defeats the CPU's L2 cache. Main memory is around 100 times slower to access than L2 cache. Java programs with large churning heaps are slower due to the fact that they hit slow main memory more than an equivalent malloc/free memory scheme.

  4. Re:Java is good for mathematical computation by Anonymous Coward · · Score: 1, Informative

    It is also worth mentioning that Java can generate array accessing code that is as efficient as Fortran because its arrays (also) never alias each other. C array code has to be conservative and is slower - its pointers and arrays can alias each other under certain circumstances and the code generated has to be conservative to take that into account - i.e., array elements have to be loaded from memory each time if another array is modified.

  5. A few bones to pick with the Ibis introduction... by Anonymous Coward · · Score: 1, Informative
    From the first page of the Ibis web site:
    The Ibis project also addresses the lack of expressiveness of Java RMI, which provides only synchronous client-server communication.
    It is trivial to implement any sort of distributed communications protocol you want on top of RMI. We have a system based on RMI that has both point-to-point and broadcast messaging.

    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