The Parrot Virtual File System

Parrot is a tool for attaching existing programs to remote I/O systems through the filesystem interface. For example, here's how to use Parrot with vi in order to edit a file on a remote file server:

% parrot_run vi /chirp/server.nd.edu/mydata

Parrot "speaks" a variety of remote I/O services include HTTP, FTP, GridFTP, iRODS, HDFS, XRootD, GROW, and Chirp on behalf of ordinary programs. It works by trapping a program's system calls through the ptrace debugging interface, and replacing them with remote I/O operations as desired. Parrot can be installed and operated by any user without special privileges or kernel changes and can be applied to almost any program without re-writing, re-linking, or re-installing. Parrot is particularly useful for running batch jobs in large scale distributed systems.

Parrot is currently only available on the Linux operating system.

More Info

  • Download Parrot
  • Parrot User's Manual
  • Mailing List
  • Publications

  • Patrick Donnelly, Peter Bui, Douglas Thain,
    Attaching Cloud Storage to a Campus Grid Using Parrot, Chirp, and Hadoop ,
    IEEE International Conference on Cloud Computing Technology and Science, pages 488-495, November, 2010. DOI: 10.1109/CloudCom.2010.74

  • Gabrielle Compostella, Simone Pagan Griso, Donatella Lucchesi, Igor Sfiligoi, and Douglas Thain,
    CDF Software Distribution on the Grid using Parrot,
    Computing in High Energy Physics, May, 2009.

  • Douglas Thain and Christopher Moretti,
    Efficient Access to Many Small Files in a Filesystem for Grid Computing,
    IEEE Grid Computing, pages 243-250, September, 2007. DOI: 10.1109/GRID.2007.4354139

  • Christophe Blanchet, Remi Mollon, Douglas Thain, and Gilbert Deleage,
    Grid Deployment of Legacy Bioinformatics Applications with Transparent Data Access,
    IEEE Grid Computing, pages 120-127, September, 2006. DOI: 10.1109/ICGRID.2006.311006

  • Sander Klous, Jamie Frey, Se-Chang Son, Douglas Thain, Alain Roy, Miron Livny, and Jo van den Brand,
    Transparent Access to Grid Resources for User Software,
    Concurrency and Computation: Practice and Experience, 18(7), pages 787-801, June, 2006. DOI: 10.1002/cpe.961

  • Stefano Belforte, Matthew Normal, Subir Sarkar, Ifor Sfiligoi, Douglas Thain, Frank Wuerthwein,
    Using Condor Glide-Ins and Parrot to Move from Dedicated Resources to the Grid,
    Lecture Notes in Informatics, 81, pages 285-292, March, 2006.

  • Douglas Thain, Christopher Moretti, and Igor Sfiligoi,
    Transparently Distributing CDF Software with Parrot,
    Computing in High Energy Physics, pages 1-4, February, 2006.

  • Douglas Thain, Christopher Moretti, Paul Madrid, Phil Snowberger, and Jeff Hemmes,
    The Consequences of Decentralized Security in a Cooperative Storage System,
    Workshop on Security in Storage at IEEE FAST, pages 82-94, December, 2005. DOI: 10.1109/SISW.2005.11

  • Douglas Thain, Sander Klous, Justin Wozniak, Paul Brenner, Aaron Striegel, and Jesus Izaguirre,
    Separating Abstractions from Resources in a Tactical Storage System ,
    IEEE/ACM Supercomputing, pages 55-67, November, 2005. DOI: 10.1109/SC.2005.64

  • Douglas Thain,
    Identity Boxing: A New Technique for Consistent Global Identity,
    IEEE/ACM Supercomputing, pages 51-61, November, 2005. DOI: 10.1109/SC.2005.34

  • Douglas Thain and Miron Livny,
    Parrot: An Application Environment for Data-Intensive Computing,
    Scalable Computing: Practice and Experience, 6(3), pages 9-18, September, 2005.

  • Douglas Thain,
    Poster: Identity Boxing: Secure User-Level Containment for the Grid,
    IEEE Symposium on High Performance Distributed Computing, pages 299-300, June, 2005. DOI: 10.1109/HPDC.2005.1520984

  • Douglas Thain and Miron Livny,
    Parrot: Transparent User-Level Middleware for Data Intensive Computing,
    Workshop on Adaptive Grid Middleware at PACT, January, 2003.


  • Cooperative Computing Lab - CSE Department - Notre Dame