IBM®
Skip to main content
    United States [change]    Terms of use
 
 
 
    Home    Products    Services & solutions    Support & downloads    My account    
IBM Research

IBM Research - Almaden

OptimalGrid


 Frequently Asked Questions

Our OptimalGrid release is fairly new, so we don't have all that many questions yet. Over time we'll augment this list with the questions that arise from customer feedback.

(1) On which platforms does OptimalGrid run?
It uses the Java Platform, so, in theory, it runs anywhere Java runs. A minimum of Java 1.3 is needed. We've tested with Java 1.3 and 1.4. We've tested this on Win 95, Win NT, Win 2000 and Linux RedHat 7.x and 8.x. As we get experience with more and more platforms (with more and more users), we'll learn of the various exceptions that might exist. The first one, as mentioned below, is RedHat Linux Version 9.
(2) How do I distribute the individual pieces of the OptimalGrid code to the various compute agents?
In this first release of the OptimalGrid middleware, we are not yet using our own distribution mechanism for files. Therefore, users can choose their own method for distributing program pieces and utilities to the various compute agent machines. One promising mechanism for distributing files is the C3 cluster management tool. C3 represents a convenient way to distribute the OptimalGrid.jar file to the various compute agent machines, as well as run the ComputeAgent code to run the problem. Many other methods are possible.

In a forthcoming release of OptimalGrid planned for this fall, OptimalGrid will support Open Grid Services Interface (OGSI) using Globus Toolkit V 3.0. We will also include in the OptimalGrid package a Research Nugget technology based on Open Services Gateway Initiative (OSGI) to make it easy for grid developers to distribute, update, and manage jar files, config files, and other resources required by any distributed grid application. Stay tuned to AlphaWorks for this exciting forthcoming enhancement.
(3) Does this work with all versions of Linux?
So far, we've run this on different versions of Linux RedHat 7.x and 8.x, using both Java 1.3 and 1.4. We've noticed a problem with Linux RedHat 9, using P-Threads. The whiteboard does not operate properly with P-Threads (things run very slowly, for reasons we don?t quite understand). For now, it is best to avoid RedHat Linux version 9 (using P-Threads).
(4) What levels of Java does this work with?
A minimum of Java 1.3 is needed. We've tested with Java 1.3 and 1.4.
(5) Am I restricted to only physical problems like a 2-dimensional petri dish?
No, of course not. OptimalGrid works with any connected problem, any dimensionality, and any problem space (physical or abstract). In fact, it works fine for non-connected problems, but then you wouldn't be using the measurement, monitoring and rebalancing characteristics of OptimalGrid. An added note about the connectivity: as the connectivity of the problem increases communication cost will, of course, increase.
(6) I see you're using TSpaces. Is this the same TSpaces (version 2.1.2) that is the current version available from IBM AlphaWorks? ( http://www.alphaworks.ibm.com)
No. This is a more recent release of TSpaces that is meant to be used ONLY for OptimalGrid. It is not compatible with the currently released version of TSpaces (2.1.2). We will be making a more general release of TSpaces using this "version 3" code at some later date.
(7) Isn't this just another Grid Tool like Globus?
In simple terms, NO. OptimalGrid is not a toolkit. It takes a very different approach compared to existing grid tools. In the classic distributed programming case (like Globus), the user creates his program and then uses the Globus API to help distribute it. In OptimalGrid, the user supplies a "program plug-in" -- just the code that represents the user's basic problem algorithm -- and OptimalGrid manages everything else -- the problem partitioning, the problem piece deployment, the runtime management, the dynamic level of parallelism, the dynamic load balancing and even the system fault tolerance and recovery.

OptimalGrid provides a level of "carefree" programming that was heretofore unobtainable. It is possible, with OptimalGrid, to simply define a connected problem and have it run over thousands of machines. Such a venture, using "hand-coded" methods, would require not just a distributed programming expert, but a very lucky one, just to get the entire system to run.
(8) What ports/protocols does OptimalGrid use?
All communication is done over TCP. The default port used is 8200/tcp. This is used for communication between the Compute Agents and Whiteboards.
(9) Can I change the ports used?
Yes. This is handled in the configuration file: grid.cfg
(10) Can I use OptimalGrid through firewalls?
The short answer is: No. The first release of OptimalGrid is meant to be used in an INTRA-net setting, meaning, we have no specific firewall support and we make no guarantees about this working on the wild and woolly Internet. That said, we have run applications in the past that run inside a firewall and talk to a whiteboard (a TSpaces server) that is outside the firewall. When the conversation is initiated from inside the firewall, the connection (and session) is allowed.

So, while it is certainly possible to get this running so that parts of the system are inside a firewall and other parts are outside, we make no guarantees or promises that you can get it to work in anything but an intranet setting. In fact, if any users do successfully deploy a multi-part OptimalGrid system, with some parts inside a firewall and other parts outside, we'll be happy to post your design and implementation steps on our website for others to see and admire.

    About IBMPrivacyContact