AESOP home


COMPAQT: Combined Program and Query Transformation for Parallel Database Processing

Dr Tony Field
Prof. Paul Kelly
EPSRC project GR/J14448/01
Started in March 1993
Completed in February 1996
Funded value

To design and implement functional language extensions to facilitate relational database query and processing.

To explore techniques for the parallelisation of databases and the manipulation of such databases from within the functional framework.

To develop unified program transformations for optimising database accesses and processing and for migrating between process- and data-parallelism.


We have designed and implemented simple extensions to Haskell which enable an INGRES database to be queried via functional list comprehensions

We have successfully formulated transaction processing as a simple functional program operating on a stream of transaction requests and a tree-structured database

We have developed algebraic transformations which produce optimistic parallel implementations of transaction processing examples in which unnecessary synchronisation is eliminated, thereby allowing concurrent processing of transactions

A detailed simulation study has been undertaken to explore the behaviour of the functional transaction processor on a shared-memory parallel computer

We have undertaken a study of scheduling policies in relation to communication latency and have explored mechanisms to maintain the coherence of a shared database

We have developed program transformations which enables a database program to update data structures in-place

New parallelising program transformations have been developed for dynamically partitioning a parallel database program into units of roughly equal complexity

We are currently exploring multiple indices in parallel transaction processing and are developing an experimental parallel database engine for the Fujitsu AP1000.

Thus far we have produced five papers under the auspices of COMPAQT.