Highly parallel Ada—Ada on an ultracomputer
暂无分享,去创建一个
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.
[1] Paul N. Hilfinger. Abstraction mechanisms and language design , 1983, ACM distinguished dissertations.
[2] Mary Shaw,et al. Studies in Ada style , 1986, ALET.
[3] A. Gottleib,et al. The nyu ultracomputer- designing a mimd shared memory parallel computer , 1983 .
[4] Shaula Yemini. On the suitability of Ada multitasking for expressing parallel algorithms , 1982, AdaTEC '82.
[5] Edith Schonberg,et al. Highly parallel Ada—Ada on an ultracomputer , 1985 .