PARATRAN: A TRANSPARENT, TRANSACTION BASED RUNTIME MECHANISM FOR PARALLEL EXECUTION OF SCHEME

  • Authors:
  • M. Katz

  • Affiliations:
  • -

  • Venue:
  • PARATRAN: A TRANSPARENT, TRANSACTION BASED RUNTIME MECHANISM FOR PARALLEL EXECUTION OF SCHEME
  • Year:
  • 1989

Quantified Score

Hi-index 0.00

Visualization

Abstract

The number of applications requiring high speed symbolic computation and the performance requirements of these projects are both rapidly increasing. However, the computer science community''s ability to produce high performance uniprocessor hardware is being outstripped by these needs. Therefore, we propose a unique multiprocessing solution to the high speed, symbolic computation problem. Our approach is to develop a transparent runtime mechanism for executing standard, sequential Lisp code on a multiprocessor computer. ParaTran, as we call our system, is based on the concept of atomic transactions as developed for use in distributed database systems, programming languages, and operating systems. It utilizes an optimistic scheduling algorithm for processing transactions in order to maximize the available parallelism. In this way, we believe that we can create a system which is both easy to use and yields exceptional performance. Our concept is based on dividing a Lisp program into a series of pieces, or transactions, which have an a priori sequential order in which they would be executed on a uniprocessor machine. However, instead of performing this serial process, we optimistically run multiple transactions in parallel and then detect at runtime when this parallel execution is not "serializable". An execution ordering is not serializable if it leads to a different result than that which would have arisen from sequential processing. When such conflicts are detected, ParaTran will re-execute certain transactions in order to maintain the edifice of serial computation. Similar approaches using optimistic concurrency have been quite successfully exploited by developers of distributed database and discrete-event simulation systems.