The design of the Prospero Resource Manager was guided by the Virtual System Model [1], in which resources of interest are readily accessible and those of less interest are hidden from view.
PRM applies this concept to the problem of allocating resources in large scale systems by dividing the functions of resource management between three types of managers: the system manager, the job manager and the node manager. Each manager makes scheduling decisions at a different level of abstraction and this separation of functions enables PRM to scale as the number of managed resources increases.
Throughout the paper, we will use the term node to denote a processing element, be it a processor in a multiprocessor environment or a workstation whose resources are made available for running jobs. A job consists of a set of communicating tasks, running on the nodes allocated to the job. A task consists of one or more threads of control of an application, together with the address space in which they run.