The DINO Parallel Programming Language

Abstract

DINO (Distributed Numerically Oriented language) is a language for writing parallel programs for distributed memory (MIND) multiprocessors. It is oriented towards expressing data parallel algorithms, which predominate in parallel numerical computation. Its goal is to make programming such algorithms natural and easy, without hindering their run-time efficiency. DINO consists of standard C augmented by several high level parallel constructs that are intended to allow the parallel program to conform to the way an algorithm designer naturally thinks about parallel algorithms. The key constructs are the ability to declare a virtual parallel computer that is best suited to the parallel computation, the ability to map distributed data structures onto this virtual machine, and the ability to define procedures that will run on each processor of the virtual machine concurrently. Most of the remaining details of distributed parallel computation, including process management and interprocessor communication, result implicitly from these high level constructs and are handled automatically by the compiler. This paper describes the syntax and semantics of the DINO language, gives examples of DINO programs, presents a critique of the DINO language features, and discusses the performance of code generated by the DINO compiler.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 01, 1990
Accession Number
ADA459435

Entities

People

  • Matthew Rosing
  • Robert B. Schnabel
  • Robert P. Weaver

Organizations

  • University of Colorado Boulder

Tags

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Computations
  • Computer Programming
  • Computers
  • Computing-Related Activities
  • Information Operations
  • Language
  • Parallel Computing
  • Programming Languages
  • Software Development
  • Virtual Machines

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.