|
|
Grid ASCII Helper Protocol |
The first GAHP specification focuses upon GRAM, GASS, MyPROXY, and DUROC grid services. This document assumes the reader is familiar with general Globus Toolkit concepts and functionality.
GAHP facilitates the construction of multi-tier systems. A first tier client can easily send ASCII commands via a socket (perhaps securely via an SSH or SSL tunnel) to a second tier running a GAHP server, allowing Grid services to be consolidated at the second or third tier with minimal effort.
Furthermore GAHP, like many other simple ASCII-based protocols, supports the concept of component-based development independent of the software language used with minimal complexity. The C API for Globus technologies differ from the Java bindings which differ from the Perl bindings. By using GAHP, a body of software could be written once with one interface and then subsequently utilize a GAHP server written in C, Java, or Perl -- and said GAHP server could be running locally or as a daemon on a remote host.
Does this sound like many of the same advantages often associated with web services? Absolutely. The "GAHP" is intended to "fill the gap" until grid services are exposed as either web services or via the Open Grid Services Architecture (OGSA). But this could take quite some time -- until then, the GAHP protocol is useful to satisfy immediate needs. The protocol is designed first and foremost for the ease and rapid development of GAHP servers.
The Condor Project at University of Wisconsin-Madison has developed the following GAHP server implementations:
| Name | Grid system | Implemenation | Availability | Source Code |
|---|---|---|---|---|
| GT2 GAHP | Globus 2 GRAM | C | Condor 6.4.* | Source code |
| GT3.2 GAHP | Globus 3.2 WS GRAM | Java | Condor 6.7.* | Source code |
| GT4 GAHP | Globus 4 WS GRAM | Java | TBA (or by request) | |
| C-GAHP | Condor | C++ | Condor 6.7.9 | Source code |
| Unicore GAHP | UNICORE | Java | Condor 6.9.x+ | Gzipped Tar Source code |
The National Computing Science Alliance (NCSA) has developed a GAHP server written in pure Java, using the Java CoG. Any platform with a Java 1.2 virtual machine available can run this GAHP server. Contact jalameda@ncsa.uiuc.edu for up-to-date information about this Java CoG-based GAHP server.
Our collaborators at INFN have developed a GAHP server (unoficially called BLAHP) for submitting to PBS & LSF schedulers. Please contact Francesco Prelz (Francesco.Prelz@mi.infn.it) for more info.