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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
A. Karp, Programming for Parallelism,IEEE Computer, pp. 43–57 (May 1987).
H. Katseff, Using Data Partitioning to Implement a Parallel Assembler, in preparation.
E. Soloway, Learning to Program=Learning to Construct Mechanisms and Explanations,Communications of the ACM, pp. 850–858 (September 1986).
R. Waters, The Programmer's Apprentice: A Session with KBEmacs,IEEE Transactions on Software Engineering, pp. 1296–1320 (November 1985).
D. Gelernter, Generative Communication in Linda,ACM Transactions on Programming Languages, pp. 80–112 (January 1985).
L. Lamport, A New Solution of Dijkstra's Concurrent Programming Problem,Communications of the ACM, pp. 453–455 (August 1974).
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).
A. Birrell and B. Nelson, Implementing Remote Procedure Calls,ACM Transactions on Computer Systems, pp. 39–59 (February 1984).
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).
C. Seitz, The Cosmic Cube,Communications of the ACM, pp. 22–33 (January 1985).
C. A. R. Hoare, Communicating Sequential Processes,Communications of the ACM, pp. 666–677 (August 1978).
D. Cheriton and W. Zwaenepol, Distributed Process Groups in the V Kernel,ACM Transactions on Computer Systems, pp. 77–107 (May 1985).
E. DeBenedictis, A Communications Operating System for the Homogeneous Machine. Caltech Computer Science Department Technical Report 4707, (1982).
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).
K. Günther, Prevention of Deadlocks in Packet-Switched Data Transport Systems,IEEE Transactions on Communications, pp. 512–524 (April 1981).
A. Danthine, Protocol Representation with Finite-State Models,IEEE Transactions on Communications, pp. 632–643 (April 1980).
A. Wu, Embedding of Tree Networks into Hypercubes,Journal of Parallel and Distributed Computing, pp. 238–245 (August 1985).
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).
S. Lucco, A Heuristic Linda Kernel for Hypercube Multiprocessors, Hypercube Multiprocessors 1987, (ed.), M. Heath,SIAM, pp. 32–37 (1987).
E. DeBenedictis, Multiprocessor Programming with Distributed Variables, Hypercube Multiprocessors 1986, (ed.), M. Heath,SIAM, pp. 70–86 (1986).
C. A. r. Hoare, Quicksort,Computer Journal, pp. 10–15 (April 1962).
L. Devroye, A Note on the Height of Binary Search Trees,Journal of the ACM, pp. 489–498 (July 1986).
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF01408174