Abstract
In this paper we present a new algorithm for the distributed simulation of systems that may be modeled as a network of processes which exchange event messages (e.g., computer networks, telephone systems). We focus upon the case of fully distributed processes with limited memory available to simulate each process. The synchronization algorithm employed is a blocking algorithm. The simulation of different processes is allowed to proceed in parallel until deadlock occurs, at which time a deadlock-breaking algorithm is invoked as in the Chandy/Misra scheme.(1) A central controller is emploled to detect and aid in the efficient resolution of deadlocks. We solve some problems which were not clearly addressed in the Chandy/Misra scheme. Our deadlock-breaking algorithm, christened Pseudosimulation, is a “look-ahead” algorithm, which undertakes to fill empty buffers with future event messages. Correctness and termination of the algorithm are proven. An analysis of the memory requirements and running time is performed. A lower bound on the memory requirements is also established which simplifies the deadlock-breaking algorithm.
Similar content being viewed by others
References
K. M. Chandy and J. Misra, Asynchronous Distributed Simulation via a Sequence of Parallel Computations,Comm. of the ACM 24:198–206 (April 1981).
D. R. Jefferson, Virtual Time,ACM Trans. Prog. Lang. Syst. 7(3):404–425 (July 1985).
J. K. Peacock, J. W. Wong, and E. G. Manning, Distributed Simulation Using a Network of Processors,Computer Networks 3(1):44–56 (February 1979).
K. M. Chandy and J. Misra, Distributed Simulation: A Case Study in Design and Verification of Distributed Programs,IEEE Transactions on Software Engineering,SE-5(5):440–452 (September 1979).
D. R. Jefferson and H. Sowizral, Fast Concurrent Simulation Using the Time Warp Mechanism, Part I: Local Control, Computer Science Department, U.S.C., TR-83-204, Los Angeles, Cal. 90089-0782.
J. Misra, Distributed Discrete-Event Simulation,ACM Computing Surveys,18(1):39–65 (March 1986).
E. W. Dijkstra and C. S. Scholten, Termination Detection in Diffusing Computations,Information Processing Letters,11(1):1–4 (August 1980).
K. M. Chandy, J. Misra, and L. M. Haas, Distributed Deadlock Detection,ACM Trans. Comput. Syst. 1(2):144–156 (May 1984).
J. Misra, Detecting Termination of Distributed Computations Using Markers,Proc. of the 2nd Annual ACM Symp. on Principles of Distributed Computing, Montreal, Quebec, Canada, pp. 290–294 (August 1983).
P. M. Merlin and P. J. Schweitzer, Deadlock Avoidance in Store-and-Forward Networks — In: Store-and-Forward Deadlock, — II: Other Deadlock Types,IEEE Transactions on Comm. Com.-28(3):334–360 (March 1980).
G. Gambosi, D. P. Bovet, and D. A. Menascé, A Detection and Removal of Deadlocks in Store and Forward Communication Networks,Performance of Computer-Communication Systems, H. Rudin and W. Bux (ed.), Elsevier Science Publishers B.V. (North-Holland), IFIP (1984).
B. Grošelj, Ph.D. Thesis, School of Computer Science, McGill University (in preparation).
Author information
Authors and Affiliations
Additional information
Research supported by grants from the National Sciences and Engineering Research Council of Canada and Centre de recherche informatique de Montréal.
Rights and permissions
About this article
Cite this article
Grošelj, B., Tropper, C. Pseudosimulation: An algorithm for distributed simulation with limited memory. Int J Parallel Prog 15, 413–456 (1986). https://doi.org/10.1007/BF01414465
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01414465