The virtual machine

A parallel computer architecture is proposed that is based on an optimistic style of execution. Specifically, the Virtual Time Machine (VTM) detects violations of data dependence constraints at runtime, and automatically recovers from them. In order to efficiently implement this mechanism, a sophisticated, two-dimensional memory system is proposed that is addressed using both a spatial and a temporal coordinate. Initially targeted for discrete event simulation applications, the long term goal of this work is to develop a general purpose parallel computer that will support a wide range of parallel programming paradigms.This paper outlines the motivations behind the VTM architecture, the underlying computation model, a proposed implementation, and initial performance results. A recurring theme that pervades the entire paper is our contention that existing shared memory and message-base machines do not pay adequate attention to the dimension of time.

[1]  Robert E. Tarjan,et al.  Self-adjusting binary search trees , 1985, JACM.

[2]  Gregory Francis Pfister,et al.  The Yorktown Simulation Engine: Introduction , 1982, DAC 1982.

[3]  Douglas W. Jones,et al.  An empirical comparison of priority-queue and event-set implementations , 1986, CACM.

[4]  Kai Li,et al.  IVY: A Shared Virtual Memory System for Parallel Computing , 1988, ICPP.

[5]  H. T. Kung,et al.  On optimistic concurrency control , 1981 .

[6]  Thomas J. LeBlanc,et al.  Debugging Parallel Programs with Instant Replay , 1987, IEEE Transactions on Computers.

[7]  Richard M. Fujimoto,et al.  Time Warp on a Shared Memory Multiprocessor , 1989, ICPP.

[8]  Richard M. Fujimoto,et al.  Performance Measurements of Distributed Simulation Strategies. , 1987 .

[9]  Thomas F. Knight An architecture for mostly functional languages , 1986, LFP '86.

[10]  Pete Tinker,et al.  Parallel execution of sequential scheme with ParaTran , 1988, LISP and Functional Programming.

[11]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[12]  Alan Jay Smith,et al.  Branch Prediction Strategies and Branch Target Buffer Design , 1995, Computer.

[13]  Yale N. Patt,et al.  Checkpoint Repair for High-Performance Out-of-Order Execution Machines , 1987, IEEE Transactions on Computers.

[14]  Peter Tinker Task Scheduling for General Rollback Computing , 1989, ICPP.

[15]  Ganesh Gopalakrishnan,et al.  Design and Evaluation of the Rollback Chip: Special Purpose Hardware for Time Warp , 1992, IEEE Trans. Computers.

[16]  David L. Kuck,et al.  The Structure of Computers and Computations , 1978 .

[17]  N. S. Barnett,et al.  Private communication , 1969 .