The Large-Grain Data-Flow (LGDF) Machine is a tightly-coupled multi-processor consisting of several independent nodes, upon each of which may run one or more tasks. These tasks must be able to communicate and synchronize with each other. This document describes a message-passing system developed to meet these requirements.
The message-passing system...
Microprogramming has evolved since its introduction in 1951 by Maurice Wilkes. The most significant change that has taken place is the recent growth of interest in user microprogramming. However, user microprogramming is a difficult task because of various complex and intricate features of the host processors. A microprogrammer must be...
This tutorial discusses one of the oldest problems in computing: how to search and retrieve keyed information from a list in the least amount of time. Hashing - a technique that mathematically converts a key into a storage address - is one of the best methods of finding and retrieving...
ELGDF (Extended Large Grain Data Flow) is a design language that allows representation of a wide variety of parallel programs. The syntax is graphical and hierarchical to allow construction and viewing of realistically sized programs. ELGDF language facilitates describing parallel programs in a natural way for both shared memory model...
New parallel algorithms for solving the decomposed linear programs are developed. Direct parallelization of the sequential algorithm results in very limited performance improvement using multiple processors. By redesigning the algorithm, we achieved more than 2*P times performance improvement over the sequential algorithm, where P is the number of processors used...
Two methods for parallelizing WHILE loops are presented. The first method converts a WHILE loop into a FORALL construct, and the second method pipelines a WHILE loop. Each of the methods is based on a transformation that makes explicit the loop counting. Also, we propose two parallel WHILE constructs.
Graphical user interface (GUI) applications based on object-oriented design are difficult to build without a supportive tool to graphically visualize the structure of the entire application. As an application becomes larger and more complex, it becomes harder to visualize its class hierarchy. Several systems, such as Smalltalk, MacApp, THINK C...