A Software Development Methodology for Parallel Processing Systems.

Abstract

A software development framework for parallel processing systems based on the parallel object-oriented functional computation model PROOF is evaluated. PROOF/L, a C++ based programming language with additional parallel constructs required by PROOF, is extended to include array data type and input/output features to make PROOFIL easier to use in developing software for parallel processing systems. The front-end translator from PROOF/L to the intermediate form IFl, and the back-end translators from IFl to the C languages on two different MIMD parallel machines, nCube and KSR, are developed. Our framework is evaluated by comparing it with existing software development approaches for parallel processing systems. Our framework is suitable for large-scale parallel software development because it supports the concepts of hierarchical design and shared data, and frees the software developer from considering explicit synchronization, communication, and parallelism. The software development efforts using our framework can be greatly reduced due to implicit synchronization and communication and the compactness of PROOF/L programs. The extension of PROOF/L and the integration of PROOF/L with other programming languages to utilize existing library functions written in languages such as C and FORTRAN are also discussed.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 01, 1995
Accession Number
ADA303063

Entities

People

  • Doc-hwan Bae
  • Pranshu K. Gupta
  • Stephen Sik-Sang Yau
  • Sun I. Paek
  • Thaddeus J. Thigpen

Organizations

  • University of Florida

Tags

Communities of Interest

  • C4I
  • Energy and Power Technologies
  • Materials and Manufacturing Processes
  • Sensors
  • Weapons Technologies

DTIC Thesaurus Topics

  • Abstracts
  • Air Force Facilities
  • Computations
  • Computer Programming
  • Computers
  • Grammars
  • Language
  • Object Oriented Programming
  • Object-Oriented Programming Language
  • Parallel Computing
  • Parallel Processing
  • Parallel Processors
  • Programming Languages
  • Software Development
  • Test Methods
  • Translators
  • Two Dimensional

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Parallel and Distributed Computing.