skip to main content
article
Open Access

Virtual time

Published:01 July 1985Publication History
Skip Abstract Section

Abstract

Virtual time is a new paradigm for organizing and synchronizing distributed systems which can be applied to such problems as distributed discrete event simulation and distributed database concurrency control. Virtual time provides a flexible abstraction of real time in much the same way that virtual memory provides an abstraction of real memory. It is implemented using the Time Warp mechanism, a synchronization protocol distinguished by its reliance on lookahead-rollback, and by its implementation of rollback via antimessages.

References

  1. 1 BERNSTEIN, P. A., AND GOODMAN, N. Concurrency control in distributed database systems. ACM Comput. Surv. 13, 2 (June 1981). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 BERNSTEIN, P. A., AND GOODMAN, N. A sophisticate's introduction to distributed database concurrency control. In Proceedings of the 8th International Conference on Very Large Databases (Sept. 1982). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 BERRY, O., AND JEFFERSON, D.R. Critical path analysis of distributed simulation. In 1985 Society for Computer Simulation Multiconference (San Diego, Calif., Jan. 1985).Google ScholarGoogle Scholar
  4. 4 BRYANT, R. E. Simulation of packet communication architecture computer systems. Ph.D. dissertation, M.I.T., Nov. 1977.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 CALTECH. ,4nnual Report 1983-1984 and Recent Documentation. Caltech Concurrent Computation Project, Jet Propulsion Laboratory, Pasadena, Calif., Aug. 30, 1984.Google ScholarGoogle Scholar
  6. 6 CHANDY, K. M., AND LAMPORT, L. Distributed snapshots: Determining global states of distributed systems. (To appear, ACM Trans. Comput. Syst.). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 CHANDY, K. M., AND MISRA, J. Asynchronous distributed simulation via a sequence of parallel computations. Commun. ACM 24, 4 (Apr. 1981), 198-206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 CHANDY, K. M., AND MISRA, J. Distributed simulation: A case study in design! and verification of distributed programs. IEEE Trans. Softw. Eng. SE-5, 5 (Sept. 1979), 440-452.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 DIJKSTRA, E. W., AND SCHOLTEN, C.S. Termination detection in diffusing computations. Inf. Process. Lett. 11, 1 (Aug. 29, 1980).Google ScholarGoogle ScholarCross RefCross Ref
  10. 10 FOX, G. C., AND OTTO, S.W. Algorithms for concurrent processors. Phys. Today (May, 1984), 50.Google ScholarGoogle ScholarCross RefCross Ref
  11. 11 FRANCEZ, N. Distributed termination. ACM Trans. Prog~'am. Lang. Syst. 2, i (Jan. 1980), 42- 55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 JEffERSON, D. R., AND SOWIZRAL, H.A. Fast concurrent simulation using the Time Warp mechanism, part I: Local control. Rand Note N-1906AF, the Rand Corp.; Santa Monica, Calif., Dec. 1982.Google ScholarGoogle Scholar
  13. 13 JEFFERSON, D. R., AND SOWIZRAL, $. A. Fast concurrent simulation using the Time Warp mechanism. In Proceedings of the SCS Distributed Simulation Conference (San Diego, Calif., Jan. 1985).Google ScholarGoogle Scholar
  14. 14 JEFrERS0N, D. R., ET AL. Implementation of Time Warp on the Caltech Hypercube. In 1985 Society for ComPuter Simulation Multiconference (San Diego, Calif., Jan. 1985).Google ScholarGoogle Scholar
  15. 15 JEFFERSON, D. R., AND WITKOWSKI, A. An approach to performance analysis of timestampdriven synchronization mechanisms. In Proceedings of the 3rd ACM Annual Symposium on Principles of Distributed Computing (Vancouver, B.C., Canada, Aug. 1984), ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 JEFFERSON, D. R., AND MOTRO, A. The Time Warp mechanism for database concurrency control. U.S.C. Tech. Rep., Dept. of Computer Science, Univ. of Southern California, Los Angeles, June 1983.Google ScholarGoogle Scholar
  17. 17 LAMPORT, L. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 7 (July 1978), 558-565. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 LAVENBERG, S., MUNTZ, R., AND SAMADI, B. Performance analysis of a rollback method for distributed simulation. Dept. of Computer Science, U.C.L.A., 1982.Google ScholarGoogle Scholar
  19. 19 METCALFE, R. M., AND BOGGS, D.R. Ethernet: Distributed packet switching for local computer networks. Commun. ACM 19, 7 (July, 1976), 395-404. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 PAPADIMITR1OU, C. H., AND KANELLAKIS, P.C. On concurrency control by multiple versions. In ACM Conference on Principles of Database Systems (PODS), 1982, ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 PEACOCK, J. K., WONG; Z. W., AND MANNING, E. G. A distributed approach to queueing network simulation. In 1979 Winter Simulation Conference, IEEE, New York, 1979, 399-406. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 PEACOCK, J. K., MANNING, E. G., AND WONG, J.W. Synchronization of distributed simulation using broadcast algorithms. Comput. Networks 4, I (Feb. 1980), 3-10.Google ScholarGoogle Scholar
  23. 23 PEACOCK, J. K., WONG, J. W., AND MANNING, E.G. Distributed simulation using a network of processors. Comput. Networks 3, I (Feb. 1979), 44-56.Google ScholarGoogle Scholar
  24. 24 REED, D.P. Implementing atomic actions on decentralized data. ACM Trans. Comput. Syst. I, 1 (Feb. 1983), 3-23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25 RUSSELL, D.L. State restoration in systems of communicating processes. IEEE Trans. Softw. Eng. SE-6, 2 (Mar. 1980), 183-194.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26 SAMADI, B. Distributed simulation: Performance and analysis. Ph.D. dissertation, Dept. of Computer Science, UCLA, Los Angeles, 1985.Google ScholarGoogle Scholar
  27. 27 SCHNEIDER, F.B. Synchronization in distributed programs. ACM Trans. Program. Lang. Syst. 4, 2 (Apr. 1982), 179-195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28 SCHWARTZ, J.T. Ultracomputers. ACM Trans. Program. Lang. Syst. 2, 4 (Oct. 1980), 484-521. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 29 SOWlZRAL, H.A. The Time Warp simulation system and its performance. In 1985 Society for Computer Simulation Multiconference (San Diego, Calif., Jan. 1985).Google ScholarGoogle Scholar
  30. 30 SWAN, a., FULLER, S., AND S1EWIOREK, D. CM*--A modular multimicrocomputer. In Proceedings of the 1977 National Computer Con{erence (Apr. 1981), AFIPS Press, Baltimore, Md., 198- 206.Google ScholarGoogle Scholar
  31. 31 WULF, W. A., LEVlN, R., ^NO H^RBISON, S. P. Hydra/C. mmp: An Experimental Computer System. McGraw-Hill, New York, 1981.Google ScholarGoogle Scholar
  32. 32 WYATT, D., SHEPPARD, S., AND YOUNG, R. An experiment in microprocessor-based distributed digital simulation. In Proceedings of the 1983 Winter Simulation Conference (Arlington, Va., Dec. 1983), S. Roberts, J. Banks, and B. Schmeiser, Eds. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Virtual time

            Recommendations

            Reviews

            Michael J. Manthey

            This is a conceptually interesting paper which describes what appears to be an elegant and efficient solution to problems of synchronization, error recovery, and the realization of atomic actions in all kinds of distributed systems. The author states in his Introduction: Most distributed systems (including all those based on locks, semaphores, monitors, mailboxes, rendezvous, etc., and the usual mechanisms of flow control) use some kind of block-resume mechanism to keep processes synchronized. In addition, some systems divide a computation into discrete atomic actions, called transactions, and allow abortion-retry, essentially a form of rollback where rollback is only possible to the beginning of the current transaction. In contrast, the distinguishing feature of Time Warp [the implementation of virtual time] is that it relies on general lookahead-rollback as its fundamental synchronization mechanism. Each process executes without regard to whether there are synchronization conflicts with other processes. Whenever a conflict is discovered after the fact, the offending process(es) are rolled back to the time just before the conflict, no matter how far back that is, and then executed forward again along a revised path. Both the detection of synchronization conflicts and the rollback mechanism for resolving them are entirely transparent to the user. Virtual time is a “global one-dimensional temporal coordinate system imposed on a distributed computation.” The (“current” floor value of the) Global Virtual Time (GVT) can be broadcast occasionally by an algorithm which is linear in the delay, so no global time variable is necessary. Messages are processed locally in the order specified by the virtual receive time stamped on the message by the sender. (The author does not give any algo- rithm or heuristic by which this value might be calculated, which may be a stum- bling block in actual implementations.) If a message arrives whose virtual rece- ive time stamp is earlier than any message already processed, all the proce- ssed messages after that time must be undone. The mechanism by which this is done is to send anti-messages, which are “negative” copies of previously sent messages, chasing after their counterparts. Messages and antimessages annihilate each other whenever they cooccur in an input queue. The rollback so initiated does not, however, undo work already done into the indefinite past, but rather only back to the GVT value, which is chosen to always lag behind any possible local virtual time. Since nonreversible actions such as I/O are never performed before GVT has passed, the virtual time and antimessage scheme suffices even for these and similar situations, such as error recovery. The virtual time approach requires that all entities in the system be objects, and communicate only via messages; for example, database records must individually respond to, e.g., Read and Update messages. Three issues were left hanging in this reader's mind: (1)Is the algorithm by which senders stamp outgoing messages with a virtual receive time really so trivial as to deserve virtually no discussion__ __ It would seem that a poor choice of time scales between different processes could cause numerous pointless rollbacks. (2)In spite of the fact that GVT distribution is linear in the delay, this does not address the issue of whence the GVT value comes, which presumably also requires some message traffic. If not, there is no discussion of piggy-backing schemes. (3)Is there any formal statement of the Time Warp mechanism which can be expected to produce proofs that it indeed delivers the behavior promised by the textual arguments__ __ In spite of these cavils and the apparent complexity of the scheme, the author succeeded in convincing this reviewer that virtual time and the Time Warp mechanism are a likely paradigm for most, if not all, distributed systems, and as such deserve serious consideration.

            Access critical reviews of Computing literature here

            Become a reviewer for Computing Reviews.

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Programming Languages and Systems
              ACM Transactions on Programming Languages and Systems  Volume 7, Issue 3
              July 1985
              134 pages
              ISSN:0164-0925
              EISSN:1558-4593
              DOI:10.1145/3916
              Issue’s Table of Contents

              Copyright © 1985 ACM

              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: 1 July 1985
              Published in toplas Volume 7, Issue 3

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader