skip to main content
article
Free access

Computing global virtual time in shared-memory multiprocessors

Published: 01 October 1997 Publication History

Abstract

Global virtual time (GVT) is used in the Time Warp synchronization mechanism to perform irrevocable operations such as I/O and to reclaim storage. Most existing algorithms for computing GVT assume a message-passing programming model. Here, GVT computation is examined in the context of a shared-memory model. We observe that computation of GVT is much simpler in shared-memory multiprocessors because these machines normally guarantee that no two processors will observe a set of memory operations as occurring in different orders. Exploiting this fact, we propose an efficient, asynchronous, shared-memory GVT algorithm and prove its correctness. This algorithm does not require message acknowledgments, special GVT messages, or FIFO delivery of messages, and requires only a minimal number of shared variables and data structures. The algorithm only requires one round of interprocessor communication to compute GVT, in contrast to many message-based algorithms that require two. An efficient implementatin is described that eliminates the need for a processor to explicitly compute a local minimum for time warp systems using a lowest-timestamp-first scheduling policy in each processor.
In addition, we propose a new mechanism called on-the-fly fossil collection that enables efficient storage reclamation for simulations containing large numbers, e.g., hundreds of thousand or even millions of simulator objects. On-the-fly fossil collection can be used in time warp systems executing on either shared-memory or message-based machines. Performance measurements of the GVT algorithm and the on-the-fly fossil collection mechanism on a Kendall Square Research KSR-2 machine demonstrate that these techniques enable frequent GVT and fossil collections, e.g., every millisecond, without incurring a significant performance penalty

References

[1]
BELLENOT, S. 1990. Global virtual time algorithms. In Proceedings of the SCS Multiconference on Distributed Simulation, Vol. 22 (Jan. 1990), 122-127.
[2]
CAROTHERS, C. D., FUJIMOTO, R. M., LIN, Y.-B., AND ENGLAND, P. 1994. Distributed simulation of large-scale pcs networks. In Proceedings of the 1994 MASCOTS Conference (Jan. 1994), ACM, New York, 124.
[3]
DAS, S., FUJIMOTO, R., PANESAR, K., ALLISON, D., AND HYBINETTE, M. 1994. GTW: A Time Warp system for shared memory multiprocessors. In 1994 Winter Simulation Conference Proceedings (Dec. 1994), 1332-1339.
[4]
FUJIMOTO, R.M. 1989. Time Warp on a shared memory multiprocessor. Trans. Soc. Comput. Simul. 6, 3 (July), 211-239.
[5]
FUJIMOTO, R.M. 1990a. Parallel discrete event simulation. Commun. ACM 33, 10 (Oct.), 30 -53.
[6]
FUJIMOTO, R.M. 1990b. Performance of Time Warp under synthetic workloads. In Proceedings of the SCS Multiconference on Distributed Simulation, Vol. 22 (Jan. 1990), 23-28.
[7]
GHARACHORLOO, K., LENOSKI, D., LAUDON, J., GIBBONS, P., GUPTA, A., AND HENNESSY, J. 1988. Memory consistency and event ordering in scalable shared-memory multiprocessors. In Proceedings of the 17th Annual Symposium on Computer Architecture, 15-26.
[8]
JEFFERSON, D.R. 1985. Virtual time. ACM Trans. Program. Lang. Syst. 7, 3 (July) 404-425.
[9]
JEFFERSON, D.R. 1990. Virtual time II: Storage management in distributed simulation. In Proceedings of the Ninth Annual ACM Symposium on Principles of Distributed Computing (Aug. 1990), ACM, New York, NY, 75-89.
[10]
LAMPORT, L. 1979. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. C-28, 9 (Sept.), 690-691.
[11]
LI, K. AND HUDAK, P. 1989. Memory coherence in shared virtual memory systems. ACM Trans. Comput. Syst. 7, 4 (Nov.), 321-359.
[12]
LIN, Y.-B. 1994. Determining the global progress of parallel simulation with fifo communication property. Inf. Process. Lett. 50, 13-17.
[13]
LIN, Y.-B. AND LAZOWSKA, E.D. 1990. Determining the global virtual time in a distributed simulation. In Proceedings of the 1990 International Conference on Parallel Processing, Vol. 3 (Aug. 1990), 201-209.
[14]
LIN, Y.-B. AND PREISS, B. 1991. Optimal memory management for time warp parallel simulation. ACM Trans. Model. Comput. Simul. 1, 4 (Oct.).
[15]
MATTERN, F. 1993. Efficient distributed snapshots and global virtual time algorithms for non-fifo systems. J. Parallel Distrib. Comput. 18, 4 (Aug.), 423-434.
[16]
NICOL, D.M. AND FUJIMOTO, R.M. 1994. Parallel simulation today. Ann. Oper. Res. 53, 249-286.
[17]
PREISS, B.R. 1989. The Yaddes distributed discrete event simulation specification language and execution environments. In Proceedings of the SCS Multiconference on Distributed Simulation, Vol. 21 (March 1989), 139-144.
[18]
SAMADI, B. 1985. Distributed simulation, algorithms and performance analysis. Ph.D. dissertation, Univ. California, Los Angeles.
[19]
TOMLINSON, A. I. AND GANG, V.K. 1993. An algorithm for minimally latent global virtual time. In Proceedings of the 7th Workshop on Parallel and Distributed Simulation, Vol. 23 (May 1993), 35-42.
[20]
WIELAND, F., HAWLEY, L., FEINBERG, A., DILORENTO, M., BLUME, L., REIHER, P., BECKMAN, B., HONTALAS, P., BELLENOT, S. AND JEFFERSON, D.R. 1989. Distributed combat simulation and Time Warp: The model and its performance. In Proceedings of the SCS Multiconference on Distributed Simulation, Vol. 21 (March 1989), 14-20.
[21]
XIAO, Z., CLEARY, g., GOMES, F. AND UNGER, B. 1995. A fast asynchronous continuous gvt algorithm for shared memory multiprocessor architectures. In Proceedings of the 9th Workshop on Parallel and Distributed Simulation (June 1995).

Cited By

View all

Recommendations

Reviews

Domenico Talia

Design and implementation of algorithms to compute global virtual time (GVT) on shared-memory parallel computers is the topic of this paper. GVT is a mechanism that enables one to identify those computations and information that are not prone to future rollbacks for capturing a consistent snapshot of the state of a system. GVT algorithms are used in the Time Warp synchronization mechanism to perform irrevocable operations. GVT algorithms were originally defined for message-passing computers, but they also can be used on shared-memory machines. The authors present the design, implementation, and correctness proof of a shared-memory GVT algorithm that assumes a sequentially consistent memory model. They conclude that GVT computation is easier and more straightforward on shared-memory parallel computers than on message-passing machines. People working in distributed systems and parallel computation know that this is true for all the algorithms that imply synchronization and message acknowledgments among processes or processors. The main contribution of the paper seems to be related to the authors' ability to eliminate, in a nontrivial way, from the previous work on distributed GVT algorithms, those problems originating from the distributed nature of message-passing machines. In this way, they obtain a simpler algorithm that might be used efficiently on multiprocessors.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Modeling and Computer Simulation
ACM Transactions on Modeling and Computer Simulation  Volume 7, Issue 4
Oct. 1997
92 pages
ISSN:1049-3301
EISSN:1558-1195
DOI:10.1145/268403
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1997
Published in TOMACS Volume 7, Issue 4

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)62
  • Downloads (Last 6 weeks)14
Reflects downloads up to 04 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media