Abstract
The time warp mechanism is a technique for optimistically synchronizing Parallel and distributed Discrete Event-driven Simulators (PDES). Within this synchronization paradigm lie numerous parallel algorithms, chief among them being an estimation of the Global Virtual Time (GVT) value for fossil collection and output commit. Because the optimistic synchronization strategy allows for temporary violations of causal relations in the system being simulated, developing algorithms that correctly estimate GVT can prove extremely difficult. Testing and debugging can also prove difficult as error situations are frequently not repeatable due to varying load conditions and processing orders. Consequently, the application of formal methods to develop and analyze such algorithms are of extreme importance. This paper addresses the application of formal methods for the development of GVT estimation algorithms. More precisely, the paper presents a formal specification for and verification of one specific GVT estimation algorithm, the pGVT algorithm. The specifications are presented in the Larch Shared Language and verification completed using the Larch Proof Assistant. The ultimate goal of this work is to develop a reusable infrastructure for GVT proof development that can be used by developers of new GVT estimation algorithms.
Support for this work was provided in part by the Advanced Research Projects Agency, contracts F33615-93-C-1315 and F33615-93-C-1316 monitored by Wright Laboratory and contract J-FBI-93-116 monitored by the Department of Justice. The authors also wish to thank Wright Labs and ARPA for their continuing support.
Chapter PDF
References
Bauer, H., and Sporrer, C. Distributed logic simulation and an approach to asynchronous GVT-calculation. In 6th Workshop on Parallel and Distributed Simulation (January 1992), Society for Computer Simulation, pp. 205–208.
Blank, T. A survey of hardware accelerators used in computer-aided design. IEEE Design and Test of Computers 1, 4 (August 1984), 21–39.
Chandy, K. M., and Misra, J. Asynchronous distributed simulation via a sequence of parallel computations. Communications of the ACM 24, 11 (April 1981), 198–206.
Chandy, K. M., and Sherman, R. Space-time and simulation. In Distributed Simulation (1989), Society for Computer Simulation, pp. 53–57.
Denneau, M., Kronstadt, E., and Pfister, G. Design and implementation of a software simulation engine. Computer-Aided Design 15, 3 (May 1983), 123–130.
D'Souza, L. M. Global virtual time estimation algorithms in optimistically synchronized distributed discrete event driven simulation. Master's thesis, University of Cincinnati, Cincinnati, Ohio, May 1994.
D'Souza, L. M., Fan, X., and Wilsey, P. A. pGVT: An algorithm for accurate GVT estimation. In Proc. of the 8th Workshop on Parallel and Distributed Simulation (PADS 94) (July 1994), Society for Computer Simulation, pp. 102–109.
Fishwick, P. A. Simulation Model Design and Execution: Building Digital Worlds. Prentice Hall, Englewood Cliffs, NJ, 1995.
Fujimoto, R. Parallel discrete event simulation. Communications of the ACM 33, 10 (October 1990), 30–53.
Garland, S. J., and Guttag, J. V. A guide to LP, the Larch Prover. Tech. rep., TR 82, DEC/SRC, December 1991.
Guttag, J. V., and Horning, J. J. Larch: Languages and Tools for Formal Specification. Springer-Verlag, New York, NY, 1993.
Hoare, C. A. R. Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs, 1985.
Jefferson, D. Virtual time. ACM Transactions on Programming Languages and Systems 7, 3 (July 1985), 405–425.
Knuth, D. E., and Bendix, P. B. Simple word problems in universal algebras. In Computational Problems in Abstract Algebra, J. Leech, Ed. Pergamon Press, 1970.
Lin, Y.-B., and Lazowska, E. Determining the global virtual time in a distributed simulation. In 1990 International Conference on Parallel Processing (1990), pp. III-201–III-209.
Lincoln, P., and Rushby, J. Formal verification of an algorithm for interactive consistency under a hybrid fault model. In Computer-Aided Verification, CAV'93 (June/July 1993), C. Courcoubetis, Ed., vol. 697 of Lecture Notes in Computer Science, Springer-Verlag, pp. 292–304.
Martin, D. E., McBrayer, T., and Wilsey, P. A. warped: A time warp simulation kernel for analysis and application development, 1995. (available on the www at http://www.ece.uc.edu/∼paw/warped/).
Martin, D. E., McBrayer, T. J., and Wilsey, P. A. warped: A time warp simulation kernel for analysis and application development. In 29th Hawaii International Conference on System Sciences (HICSS-29) (January 1996). (forthcoming)
Mattern, F. Effecient algorithms for distributed snapshots and global virtual time approximation. Journal of Parallel and Distributed Computing 18, 4 (August 1993), 423–434.
Misra, J. Distributed discrete-event simulation. Computing Surveys 18, 1 (March 1986), 39–65.
Owre, S., Rushby, J., Shankar, N., and von Henke, F. Formal verification for fault-tolerant architectures: Prolegomena to the design of pvs. IEEE Transactions on Software Engineering 27(2) (February 1995), 107–125.
Penix, J., Alexander, P., Martin, D., and Wilsey, P. A. Formal specification and partial verification of LVT in a time warp simulation kernel, 1995.
Rushby, J. A formally verified algorithm for clock synchronization under a hybrid fault model. 13th ACM Symposium on Principles of Distributed Computing(PODC'94) (August 1994), 304–313.
Samadi, B. Distributed Simulation, Algorithms and Performance Analysis. PhD thesis, Computer Science Department, University of California, Los Angeles, CA, 1985.
Spivey, J. M. Understanding Z: A Specification Language and its Formal Semantics. Cambridge University Press, Cambridge, 1988.
Tomlinson, A. I., and Garg, V. K. An algorithm for minimally latent global virtual time. In Proc of the 7th Workshop on Parallel and Distributed Simulation (PADS) (July 1993), Society for Computer Simulation, pp. 35–42.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kannikeswaran, B., Radhakrishnan, R., Frey, P., Alexander, P., Wilsey, P.A. (1996). Formal specification and verification of the pGVT algorithm. In: Gaudel, MC., Woodcock, J. (eds) FME'96: Industrial Benefit and Advances in Formal Methods. FME 1996. Lecture Notes in Computer Science, vol 1051. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60973-3_99
Download citation
DOI: https://doi.org/10.1007/3-540-60973-3_99
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60973-5
Online ISBN: 978-3-540-49749-3
eBook Packages: Springer Book Archive