The Event Based Language and Its Multiple Processor Implementations.

Abstract

This research defines and analyzes a simple language for parallel programming which is designed for multiple processor systems. The language (EBL) is based on events which provide the only control mechanism. Events are explicitly caused by the program, and they activate instances of dynamic program units called event handlers. The only operation that can be performed by an instance of an event handler is the causing of new events. The language constructs are primitive; nevertheless, the capability of hierarchical program design is provided via static modules and other modularity sources. The language does not contain conventional constructs such as: variables, assignment statements, goto statements, iteration constructs, procedures, functions and semaphores; however, these can be easily modeled. In addition, events allow activation of parallel processes, synchronization of parallel processes, mutual exclusion, message passing, immutable objects, and the effect of mutable objects. Schemes for implementation of the language on processor networks are investigated. An implementation scheme based on communicating managers which operate without any centralized control is described. A relaxed distributed locking algorithm in which deadlocks are prevented is developed; it does not assume a total order on all objects to be locked. Several optimization problems, e.g., optimal distribution of objects in a network, are investigated.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1980
Accession Number
ADA081950

Entities

People

  • Asher Reuveni

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • C4I
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Artificial Intelligence
  • Computational Science
  • Computer Networks
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Databases
  • Electrical Engineering
  • Language
  • Lists (Data Structures)
  • Operating Systems
  • Parallel Computing
  • Parallel Processing
  • Programming Languages
  • Throughput

Fields of Study

  • Computer science

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Computational Linguistics
  • Database Systems and Applications