The Chirp I/O Protocol
Chirp is a lightweight I/O protocol and filesystem for grid computing. It consists of familiar operations such as open(), read(), write(), and close(). In addition, Chirp provides a variety of authentication methods, allowing remote users to identify themselves with strong Globus or Kerberos credentials.
There are currently several implementations of Chirp available:
- The Chirp Filesystem for Grid Computing is a standalone implementation of the Chirp protocol that can be easily deployed in a grid, cluster, or other distributed system. It includes multiple client access methods, a rich authentication and authorization system, and a number of system management tools.
- Parrot - Chirp is the native protocol used by Parrot a system for attaching applications to grid storage. Parrot captures the system calls of ordinary applications and redirects them transparently to Chirp servers, so that any application can simply access /chirp like a normal file system.
- HTCondor - HTCondor also has an internal implementation of the Chirp protocol, which allows batch jobs to access their home storage while executing on a remote machine. If a HTCondor job is submitted with +WantIOProxy=True in its submit file, then HTCondor provides a proxy at the execution site that accepts the Chirp protocol and provides access to the submitter's storage. Users can invoke the condor_chirp command at runtime to load and store files, as well as update the job's classad.
- ROOT - The ROOT I/O library is used in high energy physics for managing access to persistent storage. A Chirp module in the library is used to connect high-energy physics applications to Chirp servers.
- Chirp Protocol. The Chirp protocol itself is independent of both Parrot and HTCondor.