•keeps account of all existing slaves (status,
specifications)
•usually one master is enough
•more can be used if there are too many slaves (communication protocol allows one master to act as another client, but not fully implemented yet)
•keeps account of all submitted jobs/tasks
•keeps a list of accepted users (based on username/passwd)
•gathers statistics about slaves, tasks
•can optionally run the internal web server for the repository