A research laboratory named The Reliable Distributed Microcomputing Laboratory (RDML) has been established at the University of South Florida (USF) in order to support experimental research on fault-tolerant distributed computing. In order to cover a broad range of distributed computing situations, both loosly coupled and tightly coupled network facilities have been constructed. Both network facilities are relatively easy to reconfigure physically as well as logically. The primary components of the network facilities are a variety of microcomputers. In order to ease the problem of dynamic process migration among a set of heterogeneous microcomputers, the same virtual machine architecture has been implemented on all the microcomputers. The virtual machine supports concurrent processes and the initial version implemented was a 16-bit stack machine architecture with several limitations, e.g., inflexible scheduling, lack of support for networking, etc. The virtual machine has continued to evolve since its initial implementation, some due to hardware upgrade, e.g., incorporation of new microprocessors such as MC68000, and others due to the requirements imposed by the schemes for fault-tolerant distributed computing. In this paper, we review the motivations, the trade-offs made, and the engineering lessons learned during the evolution of the virtual machine in recent years.
[1]
K. H. Kim,et al.
Process Scheduling and Prevention of Conmunication Deadlocks in an Experimental Microcomputer Network
,
1982,
RTSS.
[2]
K. H. Kim,et al.
Impact of some architectural features of the implementation of a concurrent pascal machine
,
1982
.
[3]
Per Brinch Hansen,et al.
The Architecture of Concurrent Programs
,
1977
.
[4]
Roy H. Campbell,et al.
An overview of path Pascal's design
,
1980,
SIGP.
[5]
Alfred C. Hartmann.
A Concurrent Pascal Compiler for Minicomputers
,
1977,
Lecture Notes in Computer Science.