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 remote file:
% parrot vi /anonftp/ftp.cs.wisc.edu/RoadMapParrot "speaks" a variety of remote I/O services on behalf of ordinary programs that are written to the POSIX interface. 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
any program without re-writing, re-linking, or re-installing.
(Exception: no setuid programs.)
Parrot is especially useful in distributed systems where one has access to many CPUs, but no consistent I/O system. Packaged with Parrot is Chirp, an easy-to-use I/O server that allows ordinary users to establish and reconfigure custom distributed file systems without the assistance of an administrator.
Here is a diagram that gives an overview of Parrot:
If you encounter any bugs in Parrot, we would like to know. However, please read the manual, known bugs page, and mailing list archive first. If your problem is new, please post it to the parrot-discuss mailing list. We may or may not be able to fix reported bugs, subject to our time, resource, and interest limits. Of course, you are welcome to investigate bugs on your own.
parrot-discuss (archive) (subscribe) is a mailing list for general questions and discussion about using and applying Parrot. parrot-announce (archive) (subscribe) is a low-traffic list used solely for announcements of software releases and bug fixes.