TL;DR: An address control system for software simulation in a virtual machine system having a virtual storage function is described in this paper, where an address translation of an operand address in the program to be simulated is achieved using a translation lookaside buffer, thereby reducing the overhead for the address translation during the simulator program execution.
Abstract: An address control system for software simulation in a virtual machine system having a virtual storage function. When a simulator program is simulating an instruction of a program to be simulated, an address translation of an operand address in the program to be simulated is achieved using a translation lookaside buffer, thereby greatly reducing the overhead for the address translation during the simulator program execution.
TL;DR: This paper explores how traditional virtual machine concepts can be extended to networks of cooperating virtual machines running on multiple processors.
Abstract: The cost effectiveness of small computers (minis and micros) makes it desirable to use networks of such machines in a manner that provides the functionality available on large systems, but takes advantage of the potentially greater reliability of a distributed system. This paper explores how traditional virtual machine concepts can be extended to networks of cooperating virtual machines running on multiple processors. Some design approaches useful in building systems of cooperating virtual machines are then discussed.
TL;DR: The virtual machine concept and its capabilities and implementation in VM/370 are described and the control program and the Conversational Monitor System are discussed.
Abstract: This paper is an overview of IBM'S Virtual Machine Facility/370. It describes the virtual machine concept and its capabilities and implementation in VM/370. Two components of VM/370 are discussed-the control program and the Conversational Monitor System. The usefulness of VM/370 in multiple and diverse environments is covered. New developments in VM/370 from hardware assists to system extensions, networking, and handshaking are briefly described as an introduction to the rest of the papers in this issue.
TL;DR: The file system and modularization of a single-user operating system are described, which establishes no sharp boundary between itself and the user's programs, and the techniques used to make the system robust.
Abstract: The file system and modularization of a single-user operating system are described. The main points of interest are the openness of the system, which establishes no sharp boundary between itself and the user's programs, and the techniques used to make the system robust.
TL;DR: In this paper, a virtual machine system having a virtual storage function, wherein registers are provided for holding the heading and trailing addresses of the continuous area in the main storage area assigned respectively for each of the plural operating systems.
Abstract: A virtual machine system having a virtual storage function, wherein registers are provided for holding the heading and trailing addresses of the continuous area in the main storage area assigned respectively for each of the plural operating systems. When the main storage area is accessed by a channel or sub-channel, one of the registers is selected, and the heading address of the register selected is added to the main storage address sent from the channel or sub-channel. The added main storage address is compared with the trailing address in the selected register and if the former is smaller than the latter, the overhead for supporting the virtual storage area is reduced by accessing the main storage area in accordance with the added main storage address mentioned above.
TL;DR: A survey of changes to virtual machine interfaces, implementation, architecture, and simulation techniques as they affect IBM System/370 and 303X (3031, 3032, 3033) processors, the system control program to which virtual machines interface, and other virtual machines executing on the same real computing system or elsewhere.
Abstract: This paper is a survey of changes to virtual machine interfaces, implementation, architecture, and simulation techniques as they affect IBM System/370 and 303X (3031, 3032, 3033) processors, the system control program to which virtual machines interface, and other virtual machines executing on the same real computing system or elsewhere. The paper seeks to summarize such changes and provide a perspective on the virtual machine environment. New uses of virtual machine subsystems are discussed as they relate to inter-virtual-machine communication.
TL;DR: Early investigation of virtual machine subsystem flexibility centered on telecommunications support and intercomputer networking and proceeded in two phases, which ultimately led to the remote spooling communications subsystem component of VM/370, theVM/370 networking package (VNET), and a large network of interactive computer systems within IBM.
Abstract: Early investigation of virtual machine subsystem flexibility centered on telecommunications support and intercomputer networking and proceeded in two phases. The first phase focused on an experimental program for the virtual machine control program CP-67 that supported remote work stations and pioneered intercomputer spool communications. The results of that effort inspired a second effort in the same area with some significant redirection. This second phase ultimately led to the remote spooling communications subsystem component of VM/370, the VM/370 networking package (VNET), and a large network of interactive computer systems within IBM. These phases are discussed along with suggestions for several continuing lines of work based on current results.
TL;DR: The design of a high performance APL system is presented along with an evaluation of the performance improvement measured on a partial implementation and numerous special techniques suitable for optimized interpretation of this virtual machine entirely in software on a System 370.
Abstract: The design of a high performance APL system is presented along with an evaluation of the performance improvement measured on a partial implementation. The system contains a compiler which translates APL into the instructions of a virtual APL machine. Numerous special techniques suitable for optimized interpretation of this virtual machine entirely in software on a System 370 are described. The overhead for executing APL programs has been reduced by a factor ranging between 5 and 10 when compared to conventional interpretive systems.
TL;DR: The research described here attacks the problem of constructing more powerful and more flexible computer systems along three fronts: the definition of a virtual machine providing for parallel computation using objects and object references, the development of a distributed implementation mechanism supporting object management functions including garbage collection, and the investigation of scheduling algorithms and collection of performance results.
Abstract: : A current-technology computing machine may be roughly decomposed into a processor, a memory, and a data path connecting them. The interposition of this data path between processing and storage elements creates a bottleneck, which inhibits progress at the high-performance end of the technological spectrum. Additionally, the monolithic nature of present-day processors resists incremental addition or removal of processing power. The research described here attacks the problem of constructing more powerful and more flexible computer systems along three fronts: the definition of a virtual machine providing for parallel computation using objects and object references, the development of a distributed implementation mechanism ('reference trees') supporting object management functions including garbage collection, and the investigation of scheduling algorithms and collection of performance results. A reference tree network using theses concepts is composed of a multiple of independent small processors, yet operates as a coherent programming system. Programs and data spread automatically and transparently through the network to occupy underused resources. The modular structure of the network provides many parallel data paths as well as allowing for easy addition or removal of modules, thus addressing some of the problems discussed here. A prototype reference tree network, the MuNer, is currently in operation. (Author)
TL;DR: This paper describes some of the problems incurred when transporting the SOLO operating system from a PDP 11/45 to a smaller Modular One.
Abstract: This paper describes some of the problems incurred when transporting the SOLO operating system from a PDP 11/45 to a smaller Modular One. Some comments are made about the intrinsic portability of operating systems written in high level languages and their flexibility in use.
TL;DR: An experimental extension to VM/370 is described whereby a distinct execution and data domain (Virtual Control Storage) is made available to virtual machines that require access to a resource manager, without requiring a change in the scheduling unit.
Abstract: The architecture of a virtual machine system has specific advantages over that of conventional operating systems because virtual machines are well separated from one another and from the control program. This structure requires that a protected, multi-user resource manager be placed in a distinct virtual machine because the protection domain and scheduling unit are one entity, the virtual machine. But cooperation between distinct virtual machines necessarily entails scheduling overhead and often delay.
This paper describes an experimental extension to VM/370 whereby a distinct execution and data domain (Virtual Control Storage) is made available to virtual machines that require access to a resource manager, without requiring a change in the scheduling unit. Thus scheduling overhead and delays are avoided when transition is made between user program and resource manager. A mechanism is described for exchanging data between execution domains by means of address-space mapping.
TL;DR: The design and operation of the Virtual Machine Communication Facility is discussed as an approach to offering a logical connection between two or more virtual machines.
Abstract: The growing use of the virtual machine concept has resulted in the necessity for communication between the virtual machines. The design and operation of the Virtual Machine Communication Facility is discussed as an approach to offering such communication. The facility is an interface allowing a logical connection between two or more virtual machines. Potential applications for this facility conclude the discussion.
TL;DR: The Demos system is discussed as an example of such an approach where software is written in a high level language supporting parallel execution (such as concurrent PASCAL, MODULA or ADA) without knowledge of the target hardware configuration.
TL;DR: This paper shows how four currently implemented networks using the virtual service machine approach, embedding of communication functions in the control program, a packet switching communication subnetwork and a multiprocessor system fit into a taxonomy of networks of virtual machines.
Abstract: This paper proposes a taxonomy for classifying networks of virtual machines in terms of the complexity of the communication mechanisms and the layering of communication functions. It shows how four currently implemented networks using (1) the virtual service machine approach, (2) embedding of communication functions in the control program, (3) a packet switching communication subnetwork and (4) a multiprocessor system fit into this framework. Implications for future developments are then discussed.
TL;DR: A high Level signal processing system is presented consisting of the abstract signal processing language SIPROL, a translator system and a general purpose signal processor GPSP.
Abstract: A high Level signal processing system is presented consisting of the abstract signal processing language SIPROL, a translator system and a general purpose signal processor GPSP. SIPROL is derived from PASCAL including useful extensions on abstract data types. A SIPROL program is compiled into an intermediate language program and then transformed onto various target machine levels by table-driven codegeneration. The hardware modules of the GPSP are derived from the virtual machine associated to the intermediate language. The kernel feature of the system facilitates a flexible transition and migration from software to hardware with respect to the signal processing speed requirements.
TL;DR: In this paper, the main memory of a virtual computer is allocated to the operating system (OS) and the TLB entry is prevented from being cleared by providing R-iD fields in TLB entries and an area discriminator register.
Abstract: PURPOSE: To reduce an overhead and to make use of TLB effectively by dividing and allotting the main memory of a virtual computer to respective virtual computers CONSTITUTION: Control program VMM for operating operating systems OS by one computer in parallel is provided and TLB is further provided so as to form a virtual computer system Then, respective systems OS are exclusively allotted and stored in previously-fixed areas of a main memory unit and systems OS are enabled to attain access to their own allotted areas freely As a result, an overhead attended on address conversion can be reduced and a TLB entry is prevented from being cleared by providing R-iD fields in the TLB entry and an area discriminator R-iD register, thereby making use of TLB effectively COPYRIGHT: (C)1980,JPO&Japio
TL;DR: The notion of virtual hardware prototyping for system performance evaluation is introduced by adding timing simulation to virtual machine support and the resulting virtual machines reproduce both machine timing and machine architecture.
Abstract: Virtual machines have long been used for functional testing of operating systems and to obtain the services of multiple operating systems from a single machine They have not been used for performance evaluation however, because the timing observed by a program executing in a virtual machine is unpredictable and dependent on such factors as system load, real operating system overhead, real scheduling, etc System level performance evaluation of hardware and operating systems has typically been done by hardware prototyping and dedicated machine benchmarkingThis paper introduces the notion of virtual hardware prototyping for system performance evaluation The approach makes use of the virtual machine concept by adding timing simulation to virtual machine support The resulting virtual machines reproduce both machine timing and machine architecture They are then useful for system performance evaluation
TL;DR: The virtual machine concept, enabling individual users to concurrently access a computer's resources, has long been accepted for business applications and utilized by software implementors but use for high performance, application processes has been constrained by the overhead resulting from the software monitor.
Abstract: The virtual machine concept, enabling individual users to concurrently access a computer's resources, has long been accepted for business applications and utilized by software implementors. Current implementations of the virtual machine concept have been achieved almost exclusively through the use of software (e.g., virtual machine monitors) Use of the concept for high performance, application processes has been constrained by the overhead resulting from the software monitor. This includes time required for application process dispatch and communication between the associated virtual machines whenever cooperation is required to meet a system objective.
TL;DR: This paper describes the performance of a Virtual Machine Monitor, an operating system which executes on the native hardware and allows other (standard) operating systems to execute in an environment much like the environment an operating System provides for user programs.
Abstract: This paper describes the performance of a Virtual Machine Monitor. A Virtual Machine Monitor (VMM) is an operating system which executes on the native hardware and allows other (standard) operating systems to execute in an environment much like the environment an operating system provides for user programs. These sub-operating systems are called virtual machines, or VMs, A VM looks to its contained operating system much like the actual machine looks to the VMM.
TL;DR: An historical perspective on virtual machine architecture within IBM is provided, a description of how virtual machines are being used today, and a discussion of problems associated with virtual machines and new developments in solving these problems are discussed.
Abstract: A virtual machine is a replica of a real computing environment and has become of increasing interest to the computing community. This paper provides an historical perspective on virtual machine architecture within IBM, a description of how virtual machines are being used today, and a discussion of problems associated with virtual machines and new developments in solving these problems.
TL;DR: In this paper, a virtual machine for substitution in the master computer if a slave computer is down and backing up the computer down is presented, which reduces the amount of hardware for the slave computer.
Abstract: PURPOSE:To reduce the amount of hardware for slave computer, by producing the virtual machine for substitution in the master computer if a slave computer is down and backing up the computer down. CONSTITUTION:When the interface circuit NCM1 in the subsystem 1 detects a failure in the slave computer P1, the circuit NCM1 requests substitution to the master computer 1. The master computer generates virtual machine P1' and requests the incorporation of P1' and the input and output unit IOS11 to NCM1. NCM1 release the incorporation of the line L and L11 and couples it to L21. Thus, the subsystem 1 is coupled with I/O mode via NCM1. The restoration of the slave computer P1 is detected with NCM1 and when it is told to the master computer, the instruction from the master computer links L and L11 and it returns to the computer versus computer mode. The restoration of failure can be made manually. With this system, one slave computer is enough for the subsystem.
TL;DR: The virtual network machine conceives the entire distributed hardware configuration as a single virtual machine which is capable of executing a system of cooperating processes formulated in a suitable high level language, in this case CONCURRENT PASCAL.
Abstract: A concept for programming distributed systems is presented, called the virtual network machine. This approach conceives the entire distributed hardware configuration as a single virtual machine which is capable of executing a system of cooperating processes formulated in a suitable high level language, in this case CONCURRENT PASCAL. All processes communicate by means of MONITORs regardless wether they reside on the same node computer or on different ones. The current status of our ongoing implementation is reported and the relation to the ISO-Reference-Model of Open Systems Architecture is discussed.
TL;DR: The use of this simulation technique has resulted in an extremely flexible testbed for the development of distributed radar tracking system models, and the testbed itself can be quickly tailored to other application problems.
Abstract: A distributed system of cooperating minicomputers is simulated by AIMER (Automatic Integration of Multiple Element Radars) to model and analyze the behavior of a radar tracking system. Simulation is applied in the AIMER project in an attempt to model a network of minicomputers to discover a maximally flexible network architecture. Because building the tracking system out of real hardware would not result in a flexible enough testbed system, the proposed configuration is represented by a software emulation. The instruction sets of the individual processors are emulated in order to allow separation of the measurement facilities from the execution of the system. The emulation is supported by a Nano-data QM-1 micro and nano-programmable host. Extensive performance monitoring hooks have been built into the emulation system which allow small performance perturbations to become visible.The tracking network is controlled by a combination firmware operating system and a special emulated virtual control machine. The tracking algorithms run on virtual machines whose instruction sets and computational throughput can be parameterized when the model is generated, or dynamically by an operator during a run.The radar and ground truth environments for the tracking system are simulated with logic resident in one of the emulated machines, allowing these functions to be monitored as accurately as the tracking algorithms.The use of this simulation technique has resulted in an extremely flexible testbed for the development of distributed radar tracking system models. The testbed itself can be quickly tailored to other application problems.
TL;DR: An experiment in virtualizing Input/Output (I/O) for allowing new I/O technologies, such as ARPANET, to replace old hardwired interface disciplines using micro-programmable host machines, emulation, and virtual machine concepts is described.
Abstract: This paper describes an experiment in virtualizing Input/Output (I/O) for allowing new I/O technologies, such as ARPANET, to replace old hardwired interface disciplines. This was accomplished using micro-programmable host machines, emulation, and virtual machine concepts. The I/O system under study was the Naval Tactical Data System interface which is a U.S. Navy standard.
TL;DR: It is shown that nonpreemptive and/or round-robin disciplines fail for the general case and a novel algorithm is proposed based on sorting at time slice intervals, with good responsiveness and low overhead.
Abstract: The paper analyzes the problems of low level dispatching under predictability constraints, with good responsiveness and low overhead. It is shown that nonpreemptive and/or round-robin disciplines fail for the general case. A novel algorithm is proposed based on sorting at time slice intervals. Simulation results are used to discuss the properties of the new dispatching algorithm.
TL;DR: A method is proposed that neither needs much hardware nor does it produce software overhead and consists in a set of access functions that are implemented as privileged machine instructions.
Abstract: When designing virtual machine systems memory management becomes a problem because the virtual machines must be kept from handling physical addresses. A method is proposed that neither needs much hardware nor does it produce software overhead. This method consists in a set of access functions that are implemented as privileged machine instructions. These instructions are described and their usage is demonstrated using a characteristic example. The implications of the access functions on real machine operation and reconfiguration are outlined and the possible limitations of this approach are discussed.
TL;DR: The result of a recent investigation of a Virtual Memory Computer is reported, indicating which variables or combination of variables have significant effect on the performance and which do not.
Abstract: Modeling and simulation of computer systems have two main objectives. First, to evaluate the performance of a given configuration of a machine and second, to derive a mechanism for prediction of performance when configuration parameters change. This paper addresses the second issue and reports the result of a recent investigation of a Virtual Memory Computer. The results indicate which variables or combination of variables have significant effect on the performance and which do not.
TL;DR: A concept is outlined to virtualize the HW/SW-interface of an interrupt driven machine in order to support a few virtual machines each servicing a set of multiple users.
Abstract: A concept is outlined to virtualize the HW/SW-interface of an interrupt driven machine in order to support a few virtual machines each servicing a set of multiple users. Part of the physical resources is allocated statically to the individual virtual machines.