The Prospero Resource Manager (PRM)

The Prospero Resource Manager (PRM) supports the allocation of processing resources in large distributed systems, enabling users to run sequential and parallel applications on processors connected by local or wide-area networks. PRM is now being developed as part of the Scalable Computing Infrastructure (SCOPE) project at the Information Sciences Institute of the University of Southern California.

[Papers] [Software]


Instructions for running PRM on your machine

Objectives of PRM

Users' view of job execution under PRM

The end-user sees PRM as a parallel application execution environment similar to PVM and Express. In fact, PRM Version 1.1 provides a communication interface that is identical to that of PVM 3.3.5, enabling PVM applications to run under PRM without any code modifications. In addition, PRM supports conditional availability of nodes (workstations) for running jobs, process migration, terminal and file I/O from remote processes running on nodes across the internet, and application debugging tools.

PRM's resource allocation functions are distributed across three entities: the system manager, the job manager, and the node manager. The complexity of these management roles is reduced because each is designed to utilize information at an appropriate level of abstraction.

Additional Information

PRM supports message-passing communication between processes in a parallel application through a library interface compatible with that of PVM Version 3.3. For task migration, PRM uses the checkpointing facilities from Condor.

Mobile code security issues

A survey of the literature in this area can be found here.

Page last updated on Feb 19, 1998 by Grig Gheorghiu.
Please send comments to

PRM was Developed by USC/ISI's GOST Group