Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/512644.512658acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Limitations of synchronous communication with static process structure in languages for distributed computing

Published: 01 January 1986 Publication History

Abstract

Modules in a distributed program are active, communicating entities. A language for distributed programs must choose a set of communication primitives and a structure for processes. This paper examines one possible choice: synchronous communication primitives (such as rendez-vous or remote procedure call) in combination with modules that encompass a fixed number of processes (such as Ada tasks or UNIX processes). An analysis of the concurrency requirements of distributed programs suggests that this combination imposes complex and indirect solutions to common problems and thus is poorly suited for applications such as distributed programs in which concurrency is important. To provide adequate expressive power, a language for distributed programs should abandon either synchronous communication primitives or the static process structure.

References

[1]
Andrews, G. R. "Synchronizing Resources". ACM Trans. on Programming Lang. and Systems 3, 4 (October 1981), 405--430.
[2]
Birrel A. D., and Nelson, B. J. "Implementing Remote Procedure Calls". ACM Transactions on Computer Systems 2, 1 (Feb. 1984), 39--59.
[3]
Birrel, A. D., Levin, R., Needham, R., and Schroeder, M. "Grapevine: an Exercise in Distributed Computing". Comm. ACM 25, 14 (April 1982), 260--274.
[4]
Bloom, T. Evaluating Synchronization Mechanisms. Proceedings of the Seventh Symposium on Operating Systems Principles, ACM-SIGOPS, December, 1979.
[5]
Brinch Hansen, P. "Distributed processes: A concurrent programming concept". Comm. ACM 21, 11 (November 1978), 934--941.
[6]
Cook, R. P. "Starmod- a language for distributed programming". IEEE Transactions on Software Engineering 6, 6 (November 1980), 563--571.
[7]
Dept. of Defense. Reference manual for the ADA programming language. ANSI/MIL-STD-1815A-1983.
[8]
Feldman, J. A. "High Level Programming for Distributed Computing". Comm. ACM 22, 6 (June 1979), 353--368.
[9]
Gehani, N. "Concurrency in Ada and Multicomputers". Computer Languages 7, 2 (1982).
[10]
Gehani, Narain. Ada: an advanced introduction. Prentice-Hall, Englewood Cliffs, New Jersey, 1984.
[11]
Haddon, B. K. "Nested monitor calls". ACM Operating Systems Review 11, 4 (October 1977), 18--23.
[12]
Hoare, C.A.R. "Monitors: an operating system structuring concept". Comm. ACM 17, 10 (October 1974), 549--557.
[13]
Hoare, C.A.R. "Communicating sequential processes". Comm. ACM 21, 8 (August 1978), 666--677.
[14]
Ichbiah, J. et al. "Rationale for the design of the Ada programming language". SIGPLAN Notices 14, 6 (June 1979).
[15]
Knight, J. C. and Urquhart, J. I. A. "On the implementation and use of Ada on fault-tolerant distributed systems". Ada Letters 4, 3 (Nov. 1984).
[16]
Lauer, P. E., and Needham, R. M. On the duality of operating systems structures. Proc. Second International Symposium on Operating Systems Structures, October, 1978. Reprinted in Operating Systems Review, 13(2) April 1979, pp. 3--19.
[17]
B. Liskov and M. Herlihy. Issues in Process and Communication Structure for Distributed Programs. Proceedings of the Third IEEE Symposium on Reliability in Distributed Software and Database Systems, October, 1983.
[18]
Liskov, B., and Scheifler, R. "Guardians and actions: linguistic support for robust, distributed programs". ACM Trans. on Programming Lang. and Systems 5, 3 (July 1983), 381--404.
[19]
Lister, A. "The problem of nested monitor calls". ACM Operating Systems Review 11. 2 (July 1977), 5--7.
[20]
Mitchell, J., G., Maybury, W., and Sweet, R. Mesa language manual, version 5.0. CSL-79-3, Xerox Palo Alto Research Center, April, 1979.
[21]
Nelson, B. Remote Procedure Call. CMU-CS-81-119, Carnegie-Mellon University, 1981. Ph.D. Thesis.
[22]
Rashid, R. An inter-process communication facility for Unix. CMU-CS-81-124, Carnegie-Mellon University, 1980.
[23]
Schuman, S. A., Clarke, E. M., Nikolaou, C. N. Programming Distributed Applications in Ada: a First Approach. Proceedings of the 1981 Conference on Parallel Processing, Aug., 1981.
[24]
Segall, Z. and Rudolph, L. PIE - a programming and instrumentation environment for parallel processing. CMU-CS-85-128, Carnegie-Mellon University, 1985.
[25]
Wegner, P. and Smolka, S. "Processes, tasks, and monitors: a comparative study of concurrent programming primitives". IEEE Transactions on Software Engineering 9, 4 (July 1983), 39--59.
[26]
Welsh, J., and Lister, A. "A comparative Study of Task Communication in Ada". Software - Practice and Experience 11 (1981), 257--290.
[27]
Yemini, S. On the suitability of Ada multitasking for expressing parallel algorithms. Proceedings of AdaTEC Conference on Ada, Oct., 1982.

Cited By

View all
  • (2015)User accessible reply capabilities in invoking and servicing operationsConcurrency and Computation: Practice & Experience10.1002/cpe.353127:17(5134-5155)Online publication date: 10-Dec-2015
  • (2015)Transformations for early reply and forward message passing mechanismsConcurrency and Computation: Practice & Experience10.1002/cpe.344827:17(4645-4658)Online publication date: 10-Dec-2015
  • (2005)The lady programming environment for distributed operating systemsPARLE '89 Parallel Architectures and Languages Europe10.1007/3540512845_35(100-117)Online publication date: 26-Jun-2005
  • Show More Cited By
  1. Limitations of synchronous communication with static process structure in languages for distributed computing

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    POPL '86: Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
    January 1986
    326 pages
    ISBN:9781450373470
    DOI:10.1145/512644
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 January 1986

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 824 of 4,130 submissions, 20%

    Upcoming Conference

    POPL '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)57
    • Downloads (Last 6 weeks)21
    Reflects downloads up to 21 Sep 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2015)User accessible reply capabilities in invoking and servicing operationsConcurrency and Computation: Practice & Experience10.1002/cpe.353127:17(5134-5155)Online publication date: 10-Dec-2015
    • (2015)Transformations for early reply and forward message passing mechanismsConcurrency and Computation: Practice & Experience10.1002/cpe.344827:17(4645-4658)Online publication date: 10-Dec-2015
    • (2005)The lady programming environment for distributed operating systemsPARLE '89 Parallel Architectures and Languages Europe10.1007/3540512845_35(100-117)Online publication date: 26-Jun-2005
    • (2005)A concurrency control mechanism for C++ objectsObject-Based Concurrent Computing10.1007/3-540-55613-3_10(195-210)Online publication date: 27-May-2005
    • (2005)Formalisation of the behavior of actors by colored Petri nets and some applicationsPARLE '91 Parallel Architectures and Languages Europe10.1007/3-540-54152-7_61(110-127)Online publication date: 8-Jun-2005
    • (2005)Creating and controlling concurrency in object oriented systems — A case study —CONPAR 90 — VAPP IV10.1007/3-540-53065-7_138(616-627)Online publication date: 2-Jun-2005
    • (2004)JRACM Transactions on Programming Languages and Systems10.1145/982158.98216226:3(578-608)Online publication date: 1-May-2004
    • (2001)JRProceedings of the The 21st International Conference on Distributed Computing Systems10.5555/876878.879254Online publication date: 16-Apr-2001
    • (1998)Extensible protected typesACM SIGAda Ada Letters10.1145/301687.289629XVIII:6(229-239)Online publication date: 1-Nov-1998
    • (1998)Extensible protected typesProceedings of the 1998 annual ACM SIGAda international conference on Ada10.1145/289524.289629(229-239)Online publication date: 1-Nov-1998
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media