• DocumentCode
    1237761
  • Title

    Communication and Synchronization Primitives for Distributed Programs

  • Author

    Natarajan, N.

  • Author_Institution
    Department of Computer Science and Engineering, University of Texas at Arlington
  • Issue
    4
  • fYear
    1985
  • fDate
    4/1/1985 12:00:00 AM
  • Firstpage
    396
  • Lastpage
    416
  • Abstract
    A distributed program is a collection of several processes which execute concurrently, possibly in different nodes of a distributed system, and which cooperate with each other to realize a common goal. In this paper, we present a design of communication and synchronization primitives for distributed programs. The primitives are designed such that they can be provided by a kernel of a distributed operating system. An important feature of the design is that the configuration of a process, i.e., identities of processes with which the process communicates, is specified separately from the computation performed by the process. This permits easy configuration and reconfiguration of processes. We identify different kinds of communication failures, and provide distinct mechanisms for handling them. The communication primitives are not atomic actions. To enable the construction of atomic actions, two new program components, atomic agent and manager are introduced. These are devoid of policy decisions regarding concurrency control and atomic commitment. We introduce the notion of conflicts relation using which a designer can construct either an optimistic or a pessimistic concurrency control scheme. The design also incorporates primitives for constructing nested atomic actions.
  • Keywords
    Atomic action; communication failure; computing agent; distributed operating system; distributed piogram; distributed system; kernel; port; Centralized control; Computer networks; Computer science; Concurrency control; Context; Design optimization; Distributed computing; Kernel; Operating systems; Programming; Atomic action; communication failure; computing agent; distributed operating system; distributed piogram; distributed system; kernel; port;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.1985.232229
  • Filename
    1702022