Skip to main content
Log in

A multiprocessor using protocol-based programming primitives

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

A general strategy is presented for multiprocessing that combines programming technique, machine architecture, and performance estimation. The programmer decomposes an application into manipulations of protocol-based programming primitives (protocols) usingPlans andscenarios from software engineering. The programmer may select from generic protocols, which include shared-memory locations and messages, or may build his own. A system architecture that supports efficient emlation of protocols is presented along with a method of estimating program performance based on network characteristics. Results are given from a protocol-based operating system on the 64 processor BTL Hypercube multiprocessor.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. A. Karp, Programming for Parallelism,IEEE Computer, pp. 43–57 (May 1987).

  2. H. Katseff, Using Data Partitioning to Implement a Parallel Assembler, in preparation.

  3. E. Soloway, Learning to Program=Learning to Construct Mechanisms and Explanations,Communications of the ACM, pp. 850–858 (September 1986).

  4. R. Waters, The Programmer's Apprentice: A Session with KBEmacs,IEEE Transactions on Software Engineering, pp. 1296–1320 (November 1985).

  5. D. Gelernter, Generative Communication in Linda,ACM Transactions on Programming Languages, pp. 80–112 (January 1985).

  6. L. Lamport, A New Solution of Dijkstra's Concurrent Programming Problem,Communications of the ACM, pp. 453–455 (August 1974).

  7. L. Rudolph and Z. segall, Dynamic Decentralized Cache Schemes for MIMD Parallel Processors,Proceedings of the 11th Annual International Symposium on Computer Architecture, pp. 340–347 (June 1984).

  8. A. Birrell and B. Nelson, Implementing Remote Procedure Calls,ACM Transactions on Computer Systems, pp. 39–59 (February 1984).

  9. A. Gottlieb, R. Grishman, C. Kruskal, K. McAuliffe, L. Rudolph, and M. Snir, The NYU Ultracomputer-Designing an MIMD Shared Memory Parallel Computer,IEEE Transactions on Computers, pp. 175–189 (February 1983).

  10. C. Seitz, The Cosmic Cube,Communications of the ACM, pp. 22–33 (January 1985).

  11. C. A. R. Hoare, Communicating Sequential Processes,Communications of the ACM, pp. 666–677 (August 1978).

  12. D. Cheriton and W. Zwaenepol, Distributed Process Groups in the V Kernel,ACM Transactions on Computer Systems, pp. 77–107 (May 1985).

  13. E. DeBenedictis, A Communications Operating System for the Homogeneous Machine. Caltech Computer Science Department Technical Report 4707, (1982).

  14. H. Sullivan and T. Brashkow, A Large Scale Homogeneous, Fully Distributed Parallel Machine I,Proceedings of the 4th Symposium on Computer Architecture, pp. 105–117 (March 1977).

  15. K. Günther, Prevention of Deadlocks in Packet-Switched Data Transport Systems,IEEE Transactions on Communications, pp. 512–524 (April 1981).

  16. A. Danthine, Protocol Representation with Finite-State Models,IEEE Transactions on Communications, pp. 632–643 (April 1980).

  17. A. Wu, Embedding of Tree Networks into Hypercubes,Journal of Parallel and Distributed Computing, pp. 238–245 (August 1985).

  18. B. Ackland, S. Ahuja, E. DeBenedictis, T. London, S. Lucco, and D. Romero, MOS Timing Simulation on a Message Based Multiprocessor,Proceedings of the IEEE International Conference on Computer Design, pp. 446–450 (October 1986).

  19. S. Lucco, A Heuristic Linda Kernel for Hypercube Multiprocessors, Hypercube Multiprocessors 1987, (ed.), M. Heath,SIAM, pp. 32–37 (1987).

  20. E. DeBenedictis, Multiprocessor Programming with Distributed Variables, Hypercube Multiprocessors 1986, (ed.), M. Heath,SIAM, pp. 70–86 (1986).

  21. C. A. r. Hoare, Quicksort,Computer Journal, pp. 10–15 (April 1962).

  22. L. Devroye, A Note on the Height of Binary Search Trees,Journal of the ACM, pp. 489–498 (July 1986).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

DeBenedictis, E.P. A multiprocessor using protocol-based programming primitives. Int J Parallel Prog 16, 53–84 (1987). https://doi.org/10.1007/BF01408174

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01408174

Key Words

Navigation