3. factor out common operations among the techniques (e.g., interprocess communication, message routing, .~ flow control, random number generation) and provide a single implementation for these, andThe Object Library for Parallel Simulation (OLPS) is a set of C++ objects from which a parallel, discrete event simulation or simulation language can be built and run on multiprocessor workstations. OLPS provides a common interface to the simulation programmer for sev-4. facilitate experinientation through: (a) modifvine existinz algorithms, and \ , * v u era1 parallel simulation algorithms, including implementations of the Chandy-Misra and Time-Warp algorithms. (b) adding new algorithms to the library. . -OLPS also provides instrumentation t o compare the performance of each parallel algorithm on the same simulation problem. The system currently runs on the V distributed system on the DEC Firefly.OLPS is not, however, intended to be a simulation language. Rather, we expect that OLPS will provide the run-time support needed to port existing simulation languages to multiprocessors.
Keywords:parallel simulation, object-OLPS currently implements two algorithms: Chandyoriented programming, Chandy-Misra simula-Misra [5] with deadlock avoidance and Time-Warp [ll]. The Object Library is implemented in C++ using the tion algorithm, Time-Warp simulation algorithm Argonne National Library macro package [16] to permit its porting to various operating systems. Our implementation runs on the V operating system [6] on a five pro-1 MOTIVATION cessor DEC Firefly [22].This paper describes the initial implementation of and performance measurements from a system for parallel simulation called the Object Library for Parallel Simulation (OLPS). The system is targeted t o multiprocessor workstations, and is suitable for general purpose, discrete event simulation.