Highly parallel Ada—Ada on an ultracomputer

  • Authors:
  • Edith Schonberg;Edmond Schonberg

  • Affiliations:
  • Courant Institute of Mathematical Sciences, 251 Mercer St., New York, N.Y.;-

  • Venue:
  • SIGAda '85 Proceedings of the 1985 annual ACM SIGAda international conference on Ada
  • Year:
  • 1985

Quantified Score

Hi-index 0.00

Visualization

Abstract

We examine the suitability of Ada to a specific multiprocessor architecture, the NYU Ultracomputer. The Ultracomputer is an MIMD machine with shared memory, and a special hardware primitive, the fetch-and-add operation, with which non-blocking versions of well-known synchronization primitives can be implemented. We show that fetch-and-add can be used to implement some common Ada tasking idioms, and that well-known algorithms for MIMD machines find a natural description in Ada. Furthermore, Ada solutions implemented with fetch-and-add have fewer and smaller critical sections than previously presented versions. The fetch-and-add primitive also provides an efficient solution to the problem of initializing a number of identical tasks, and to the potentially expensive implementation of termination for large numbers of tasks. We conclude that the Ada tasking model "fits" well an MIMD architecture such as the Ultracomputer.