The tool-kit contains programs such as GRAM (Globus Resource Allocation Manager), which figures out how to convert a request for resources into commands that local computers can understand. Another tool is called GSI (Grid Security Infrastructure) which provides authentication of the user, and works out that person’s access rights. One of the attractions of the Globus toolkit is that such tools can be introduced one at a time, and often painlessly, into existing software programs to make them increasingly “Grid-enabled”. Also, like the World Wide Web and the Linux operating system, the creators of the Globus toolkit are making the software available under an “open-source” licensing agreement. This allows others to use the software freely, and add any improvements they make to it. One example is Condor-G, an improved version of the Condor program that deals with the security and resource-management problems that occur when Condor is extended over institutional boundaries.
Daily use of the Globus tool-kit has proved it to be a robust standard. But it is not the only one. Another so-called “world virtual computer” project, which aims to deliver high performance parallel processing, has been under development at the University of Virginia since 1993 and has many of the Globus features already built in to it.
Yet another is the Milan (Metacomputing in Large Asynchronous Networks) project. The goal of this joint effort between researchers at New York University and Arizona State University is to create virtual machines out of a non-dedicated, unpredictable network of standard computers. The latest stage of this project, called Computing Communities, aims to make the underlying middleware adjust automatically to the device that is being used to gain access to the Grid, be it desktop computer or mobile phone.
As well as competition from other academic projects, Globus faces the prospect of being overtaken by commercial solutions. For instance, the programming language Java, which allows a software developer to write a program (more or less) once and then run it on Windows, Linux, Macintosh or any flavour of the Unix operating system, already does many of the things that the Grid hopes to accomplish. Java has yet to be made to run on different types of supercomputer, and there are various security and local-policy issues that the language is not equipped to handle. But this could change.
Another example is Microsoft’s DCOM software, which offers many Grid-like features, although there is talk of abandoning it. However, given enough support, one or other of these options could be transformed into a de facto standard. Already, Microsoft is integrating some of the Globus technology into the next generation of its Windows operating system.
Still, Globus and its various alternatives face big hurdles on the way to becoming a true Grid. To avoid computing bottlenecks, developers will have to figure out ways to compensate for any failure that occurs on the Grid during a calculation — be it a transmission error or a PC crash.