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.
Most information about Chirp, including software, publications, manuals, and more can be found at the University of Notre Dame.
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.
- Chirp Protocol Version 2
- Chirp Protocol Version 1