Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A Parallel Virtual Machine for Programs Composed of Abstract Data Types
Welch L. IEEE Transactions on Computers43 (11):1249-1261,1994.Type:Article
Date Reviewed: Jan 1 1996

ARC, a parallel virtual machine (the paper design of a parallel computer) for executing programs composed of abstract data types (ADTs), is presented. The motivation is to support reusable components and parallel and distributed programming. The basic assumption is that the reusability, portability, and adaptability of components are enhanced when parallelism is not programmed explicitly. The parallelism can be automatically extracted from the code of the components.

This paper presents the main blocks of the ARC architecture, such as its registers and instruction set design. The concept of an ADT is directly supported as a facility. An operation on an ADT is a call to the facility. The facility called can be remote, and the call can be asynchronous. This capability is called asynchronous remote procedure calls (ARPC) and is the key point of the paper. There are many different kinds of facility calls: calls to facility operations, variable initialization, finalization, and operations of facilities at various levels of abstraction. Initialization and finalization of variables are directly provided in hardware for fast execution.

The parallelism of the architecture results from allowing a caller to continue execution until it requires a parameter passed to a remote operation that has not yet returned. The calls may return in non-FIFO order. For some heavy-load facilities, dynamic clone selection allows simultaneous use of facility code. The selection from clones uses the round-robin scheduling policy.

The paper provides no experimental results or simulation data. A simple example program is given. The design presented supports ADTs completely in hardware. The efforts in software are reduced to a minimum. The hardware cost may be too high, however. There is no measurement of the cost and no discussion of software/hardware design tradeoffs. The references are complete.

Reviewer:  P.-C. Wu Review #: CR118903 (9601-0037)
Bookmark and Share
 
High-Level Language Architectures (C.1.3 ... )
 
 
Abstract Data Types (D.3.3 ... )
 
 
Parallel Processors (C.1.2 ... )
 
 
Parallel Programming (D.1.3 ... )
 
 
Reusable Software (D.2.m ... )
 
 
Concurrent Programming (D.1.3 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "High-Level Language Architectures": Date
Architecture for VHLL: a direct execution approach
Dromard D., Dromard F.  Concurrent languages in distributed systems: hardware supported implementation (, Bristol, UK,521985. Type: Proceedings
Oct 1 1985
Architectures for AI: hardware and software for efficient processing
Deering M. BYTE 10(4): 193-206, 1985. Type: Article
Sep 1 1985
The verification of the protection mechanisms of high-level language machines
Gligor V. International Journal of Parallel Programming 12(4): 211-246, 1983. Type: Article
Feb 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy