Pascal language extensions for parallel processing

  • Authors:
  • Allen Brady;Mohammad Changi;Jiyu Yu

  • Affiliations:
  • University of Nevada, Reno;University of Nevada, Reno;University of Nevada, Reno

  • Venue:
  • CSC '89 Proceedings of the 17th conference on ACM Annual Computer Science Conference
  • Year:
  • 1989

Quantified Score

Hi-index 0.00

Visualization

Abstract

Classes of problems amenable to parallel solution are differentiated over a wide range of distinct system architectures. In exploring applications of parallelism one has to work at two different levels: the problem-oriented or linguistic level and the run-time or architectural level. Predefined languages and fixed architectures can conceivably restrict the approach to problem solving and put a damper on both research and understanding. Dealing with the general problems of compiler development or with a large and extensible language of still limited availability such as ADA [1] serves to put a damper on experimentation with the linguistic and run-time issues. Pascal still remains a language of choice for program illustration as a result of its general use in computer science instruction. The availability of Wirth's well-documented Pascal-S compiler [2] removes much of the effort needed to translate modifications of the language to useable object form. The authors are therefore using Pascal as a test bed for extensions needed for the solution of various parallel problems, discrete systems simulation, and object-oriented programming. Run-time issues are addressed through modifications of the stack machine to handle execution in both the strictly sequential computer environments available to everyone and the parallel environment of a laboratory-based system using Inmos Transputers [3]. The stack machines themselves are implemented in appropriate versions of C. A. parallel C compiler [4] for the Transputer conveniently handles the not insignificant problems of code generation, loading, and linking on the Transputer system. The emphasis of the project is on an instructional programming environment. Languages such as Occam [5] and Simula [6] serve as conceptual starting points for defining the Pascal extensions. Available versions of Occam [7,8] tend to depart from the mainstream of user access, and the authors have frequently been perplexed by situations that beg for more information about behavior at the run-time implementation level. Simula's use of Algol-60 as its basis for definition gives a fair degree of compatibility with Pascal. Pascal in turn will give the student a familiar starting point and a fuller range of input and output capabilities for applications, debugging, and dynamic illustration of run-time behavior.