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.