Volume 14, 1995, No. 1


An Operational Semantics Approach to Disciplined Exceptions in Logic Programming

T. Shih, F. Lin

Abstract. This paper presents a disciplined exception mechanism based on continuations. Continuations provide mechanisms for labels and jumps. We present a mechanism to preserve a Prolog program continuation to be invoked at a later point. This mechanism is used in the design of exception signals, handlers, and  exception continuations for logic programs. An exception continuation specifies how a computation should continue (e.g. resume, undo, alternate, or terminate) after an exception is raised. Short examples illustrate the difficulty of recovering from error conditions in logic programs using traditional control constructs, and show how easily they can be handled using our approach. The Z notation is used to specify the continuation semantics of logic programs with exceptions. Based on the semantic functions, an interpreter written  in Prolog is derived to justify our approach.

 

Load Balancing and Scheduling in a Neighbourhood-Based Multiprocessor

G.S.H. Tan, W.N. Chin

Abstract. The Flagship Parallel Reduction Machine is designed to execute declarative language programs based on a packet graph-reduction model of computation. The machine uses a dynamic load balancing scheme to distribute work evenly over the processors. This paper describes a neighbourhood scheme used to restrict programs with insufficient parallelism to run only on a subset (neighbourhood) of the processors. A new technique for load balancing within the neighbourhoods of processors is proposed.

 

Managing Parallelism in Parallel Systems

Y.M. Teo

Abstract. A fundamental problem of parallel computing is that applications often require  large-size instances of an algorithm while parallel systems are generally hardwired architectures which cannot be easily reconfigured according to program size or structure. The unfolding of parallelism in an application can result in very large temporary storage requirements during periods in which results are being produced at a faster rate than instructions are being executed. This is an area of major concern when designing parallel systems. Strategies for managing parallelism have the basic aim of generating enough parallelism to utilize the machine fully, while at the same time keeping resource demands low enough to allow programs to execute without running out of storage resources.  We first examine the parallelism management approaches adopted in a number of parallel computers such as the NEC mPD7281 Dataflow Chip, the FLAGSHIP computer, the NYU Ultracomputer, the Zero Assignment Parallel Processor, the Rediflow Multiprocessor, the ETL SIGMA-1 Dataflow Machine and the MIT Tagged-Token Dataflow Machine. We then discuss the design of the throttling mechanism for managing parallelism in the Multi-Ring Manchester Dataflow Machine and analyzed the simulation results obtained. We conclude by refuting the criticism that parallel systems require excessive amount of memory resources for executing programs.

 

A Synthesis of Sub-Optimal Decision Programs

V. Dvořák, J. Šustr

Abstract. Two heuristic techniques of suboptimal synthesis of decision diagrams (DDs) have been developed which are applicable to generally partial logic functions. The first technique generates ordered minimum or near-minimum size of DDs for M-valued logic functions, the second one sometimes yields more efficient DDs without a fixed ordering of binary variables. Both kinds of DDs are being used in designing and verification of digital systems where the minimum diagram size transforms directly into the minimum cost of function implementation or testing.


Go To Contents