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, CVMFS, and Chirp on behalf of ordinary programs.
It works by trapping a program's system calls through
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. It is most widely used to provide
access to high energy physics (HEP) software stacks via the
filesystem developed at CERN.
Because Parrot views every operation on the filesystem,
it can make arbitrary changes to an application's namespace.
This allows it to function as a sandbox environment,
a dependency tracing tool, virtual machine, and more.
(Note that Parrot is very tightly coupled with the OS kernel.
and so it is only available on Linux based operating systems.)
Parrot User's Manual
(Showing papers with tag parrot. See all papers instead.)
Dillon Skeehan, Paul Brenner, Ben Tovar, Douglas Thain, Nil Valls, Anna Woodard, Matthew Wolf, Tessa Pearson, Sean Lynch, and Kevin Lannon,
Opportunistic High Energy Physics Computing in User Space with Parrot,
IEEE Symposium on Cluster, Cloud, and Grid Computing (CCGrid), pages 170-175, May, 2014. DOI: 10.1109/CCGrid.2014.34
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, 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