Attempting to implement an equivalent to the Time Warp Operating System in Rust.
Find a file
2024-06-06 14:04:28 +02:00
examples license the repo to LGLP 3.0 ("or later") 2024-06-06 13:04:43 +02:00
LICENSES license the repo to LGLP 3.0 ("or later") 2024-06-06 13:04:43 +02:00
src license the repo to LGLP 3.0 ("or later") 2024-06-06 13:04:43 +02:00
.gitignore better explain .gitignore contents 2024-06-06 13:05:19 +02:00
Cargo.lock bump deps - getrandom 0.2.13->.14 and libc 0.2.153->.154 2024-05-01 16:15:17 +02:00
Cargo.toml add license-file field to Cargo.toml 2024-06-06 13:14:27 +02:00
README.md add simple readme with references 2024-06-06 14:04:28 +02:00
simulation run.excalidraw update excalidraw sketch 2024-06-06 13:07:37 +02:00

Experiments around the Time Warp Operating System in Rust

Introduction

This is a record of my attempts at implementing the Time Warp Operating System in Rust, as originally defined in "Distributed Simulation and the Time Warp Operating System" (Jefferson et al., 1987).

The current most completed attempt resides in the bytes_based module inside this repo's rust library crate.

A reprisal of the ping-pong example from (West, 1988) has been attempted. It resides in examples/ping_pong.rs and can be run using cargo:

> cargo run --example=ping_pong

References

  • D. Jefferson, B. Beckman, F. Wieland, L. Blume, and M. Diloreto. 1987. Time warp operating system. SIGOPS Oper. Syst. Rev. 21, 5 (Nov. 1987), 7793. https://doi.org/10.1145/37499.37508
  • [Jefferson 82] Jefferson, David and Sowizral, Henry, "Fast Concurrent Simulation Using the Time Warp Mechanism, Part I: Local Control", Rand Note N-1906AF, the Rand Corporation, Santa Monica, California, Dec. 1982
  • [Jefferson 85] Jefferson, David, "Virtual Time", ACM Transactions on Programming Languages and Systems, Vol. 7, No. 3, July 1985
  • Jefferson, D.R. (1990). Virtual time II: storage management in conservative and optimistic systems. ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing.
  • Unger, B.W., Cleary, J.G., Lomow, G., Xining, L., Zhonge, X., & Slind, K. (1986). JADE virtual time implementation manual.
  • Lin, Y., & Lazowska, E. (1991). A study of time warp rollback mechanisms. ACM Trans. Model. Comput. Simul., 1, 51-72.
  • "Optimising Time Warp: Lazy Rollback and Lazy Reevaluation." (West, 1988)