The Design and Implementation of a Parallel Persistent Object System

Abstract

It is widely recognized that the expressive power of relational database systems is inadequate for applications that manipulate complex, non record-oriented data. Much recent research has been focused on the design of more expressive database language models that seamlessly integrate the data modeling, abstraction, and general computation of full programming languages with the features of traditional database systems such as persistence, failure recovery, and security. Such additional flexibility gives expressive power to the programmer, but complicates matters for the compiler and run-time system in their efforts to implement database programs efficiently. In this report we describe AGNA, an experimental persistent object system that we have designed and built that utilizes parallelism in a fundamental way to enhance performance. Parallelism is incorporated into the design of the system at all levels. We begin with an implicitly parallel transaction language that includes a full higher-order programming language and the List comprehension, a notation similar to SQL but more general. Transactions are compiled into code for a multi-threaded abstract machine called P.RISC, whose central feature is fine grain parallelism with data-driven execution. P-RISC code is emulated on each processor of a MIMD machine with multiple disks.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 1992
Accession Number
ADA257447

Entities

People

  • Michael L. Heytens

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Computer Programming
  • Computer Science
  • Computers
  • Database Management Systems
  • Databases
  • High Level Languages
  • Information Systems
  • Instruction Set Architecture
  • Language
  • Lisp Programming Language
  • Notation
  • Operating Systems
  • Parallel Computing
  • Programming Languages
  • Relational Database Management Systems
  • Relational Databases
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Database Systems and Applications
  • Parallel and Distributed Computing.