Quahog provides a mechanism for spreading processes around a multi-node environment with a transparent file system in a Solaris environment. The quahog server uploads information about the state of each machine from daemons running on them. Through use of the quahog API the daemon can be connected to and asked to place the job on the best possible remote machine, which it finds using the information it can download from the server.
Quahog consists of a server which records the current state of the system and daemons which relay their individual state to the server. A process will not be placed on machines with users and will be kicked off machines when people log in.
This software was developed at Brown University for allowing distributed processes in the computer science network.
This version of quahog comes with a simple set of utilities which allows use of the quahog system with out any programming. The main program in this suite is qrun which allows any command to be spawned remotely or have a batch file which spawns jobs remotely. The other utilities allow the user to keep a status of the system. Finally one application comes with the system, a parallel gnu-make.
This system is currently going a overhaul. Features that are currently in development include:
This is the first public release of the system which has been running at Brown since September 1994.
There are two basic problems at the moment:
If one user uses all the available slots in the system then there is no way of anyone else using the system.
Currently process migration is not supported so that jobs which get killed off machines must be restarted rather than starting where they left off.