Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37956
G. Roman, H. C. Cunningham
A language paradigm called shared dataspace is defined that causes computations to be performed using an anonymous, content-addressable communication medium acted upon by atomic transactions. To probe the essence of this paradigm, a relatively simple shared dataspace language called Swarm is defined. An overview is presented of the Swarm language. A formal operational model for the language is given and some of the programming implications and distinctive features of the model and language are discussed. Swarm programming strategies are examined using a series of related example programs.<>
{"title":"A shared dataspace model of concurrency-language and programming implications","authors":"G. Roman, H. C. Cunningham","doi":"10.1109/ICDCS.1989.37956","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37956","url":null,"abstract":"A language paradigm called shared dataspace is defined that causes computations to be performed using an anonymous, content-addressable communication medium acted upon by atomic transactions. To probe the essence of this paradigm, a relatively simple shared dataspace language called Swarm is defined. An overview is presented of the Swarm language. A formal operational model for the language is given and some of the programming implications and distinctive features of the model and language are discussed. Swarm programming strategies are examined using a series of related example programs.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132709044","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37985
B. Jain, R. Mittal, R. Patney
An augmented binary (AB) tree architecture is proposed with a view to providing fault tolerance. This architecture is an augmentation of an n-level full binary tree with n redundant nodes and 2/sup n/+3n-6 redundant links. The AB tree can be configured into a full binary tree even when one node is faulty at each level. While functionally equivalent to the RAE-tree, the proposed AB tree has a regular topology, reduced number of maximum input-output channels per processor, and fewer wire crossovers when implemented using very large-scale integration layout. A reconfiguration algorithm, which constructs an n-level full binary tree from an n-level faulty AB tree, is given. A distributed fault diagnosis algorithm is given which runs concurrently on each nonfaulty processor, enabling each nonfaulty processor to identify all faulty processors.<>
{"title":"Fault-tolerant analysis and algorithms for a proposed augmented binary tree architecture","authors":"B. Jain, R. Mittal, R. Patney","doi":"10.1109/ICDCS.1989.37985","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37985","url":null,"abstract":"An augmented binary (AB) tree architecture is proposed with a view to providing fault tolerance. This architecture is an augmentation of an n-level full binary tree with n redundant nodes and 2/sup n/+3n-6 redundant links. The AB tree can be configured into a full binary tree even when one node is faulty at each level. While functionally equivalent to the RAE-tree, the proposed AB tree has a regular topology, reduced number of maximum input-output channels per processor, and fewer wire crossovers when implemented using very large-scale integration layout. A reconfiguration algorithm, which constructs an n-level full binary tree from an n-level faulty AB tree, is given. A distributed fault diagnosis algorithm is given which runs concurrently on each nonfaulty processor, enabling each nonfaulty processor to identify all faulty processors.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128315143","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37980
L. Kleinrock, Willard Korfhage
Distributed systems having large numbers of idle computers and workstations are analyzed using a very simple model of a distributed program (a fixed amount of work) to see how the use of transient processors affects the program's service time. The probability density of the length of time it takes to finish a fixed amount of work is determined. An equation is given for the main result for an M-processor network. Simulations confirm that Brownian motion with drift is an accurate model of system performance. With large programs that run for a long time relative to the length of available and nonavailable periods, the central limit-theorem applies, and the Brownian-motion-with-drift model remains good regardless of the distributions of the available and the nonavailable periods. Under these assumptions, the distribution of finishing time is very tight about its mean and well approximated by a normal distribution.<>
{"title":"Collecting unused processing capacity: an analysis of transient distributed systems","authors":"L. Kleinrock, Willard Korfhage","doi":"10.1109/ICDCS.1989.37980","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37980","url":null,"abstract":"Distributed systems having large numbers of idle computers and workstations are analyzed using a very simple model of a distributed program (a fixed amount of work) to see how the use of transient processors affects the program's service time. The probability density of the length of time it takes to finish a fixed amount of work is determined. An equation is given for the main result for an M-processor network. Simulations confirm that Brownian motion with drift is an accurate model of system performance. With large programs that run for a long time relative to the length of available and nonavailable periods, the central limit-theorem applies, and the Brownian-motion-with-drift model remains good regardless of the distributions of the available and the nonavailable periods. Under these assumptions, the distribution of finishing time is very tight about its mean and well approximated by a normal distribution.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133423775","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37930
S. Venkatesan
The problem of obtaining a global state or snapshot of a distributed processing system is considered. A message-efficient protocol is presented for obtaining incremental snapshots. First, worst-case lower bounds on the number of messages used by any protocol that solves the incremental snapshot problem are given, and then a protocol that is message-efficient is provided. This protocol obtains a snapshot of the system using the most recent snapshot. The message complexity of the incremental snapshot protocol matches the two lower bounds simultaneously, and hence the protocol is asymptotically message optimal. For applications in database systems, debugging distributed programs, monitoring events, or checkpointing, the protocol is asymptotically message optimal. Because of its simplicity, the protocol can be used readily, and since it uses the minimum number of additional messages, the throughput of the distributed system is not adversely affected.<>
{"title":"Message-optimal incremental snapshots","authors":"S. Venkatesan","doi":"10.1109/ICDCS.1989.37930","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37930","url":null,"abstract":"The problem of obtaining a global state or snapshot of a distributed processing system is considered. A message-efficient protocol is presented for obtaining incremental snapshots. First, worst-case lower bounds on the number of messages used by any protocol that solves the incremental snapshot problem are given, and then a protocol that is message-efficient is provided. This protocol obtains a snapshot of the system using the most recent snapshot. The message complexity of the incremental snapshot protocol matches the two lower bounds simultaneously, and hence the protocol is asymptotically message optimal. For applications in database systems, debugging distributed programs, monitoring events, or checkpointing, the protocol is asymptotically message optimal. Because of its simplicity, the protocol can be used readily, and since it uses the minimum number of additional messages, the throughput of the distributed system is not adversely affected.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116144775","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37923
Mohan L. Ahuja, Yahui Zhu
A distributed algorithm based on echo algorithms is presented which constructs the minimum-weight spanning tree in a general undirected graph. In the worst case, the algorithm needs at most (2m+2(n-1) log (n/2)) messages and (2d log n) time, where d is the diameter of the network. In the best case, it needs only 2m messages and 2d time. The algorithm works in phases, and each phase consists of a down wave and an up wave. When the number of fragments is cut by at least one half in each phase, it needs at most O(log n) phases. On average, the algorithm needs only (m) messages and O(d) time. The algorithm itself is simple, so that other distributed algorithms based on it can be derived more easily.<>
{"title":"A distributed algorithm for minimum weight spanning trees based on echo algorithms","authors":"Mohan L. Ahuja, Yahui Zhu","doi":"10.1109/ICDCS.1989.37923","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37923","url":null,"abstract":"A distributed algorithm based on echo algorithms is presented which constructs the minimum-weight spanning tree in a general undirected graph. In the worst case, the algorithm needs at most (2m+2(n-1) log (n/2)) messages and (2d log n) time, where d is the diameter of the network. In the best case, it needs only 2m messages and 2d time. The algorithm works in phases, and each phase consists of a down wave and an up wave. When the number of fragments is cut by at least one half in each phase, it needs at most O(log n) phases. On average, the algorithm needs only (m) messages and O(d) time. The algorithm itself is simple, so that other distributed algorithms based on it can be derived more easily.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131868446","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37963
H. Wedde, B. Korel, W. G. Brown, Shengdong Chen
An experimental distributed system based on an integrated system design was built that incorporates user-level or environmental application requirements into the design issues of the distributed operating system Dragon Slayer. The key for making use of the Dragon Slayer services, in supporting applications requesting a high amount of reliability under completely decentralized control, is the definition of the concept of distributed objects. These were used as the basis for a paradigm of distributed computing that allows users to neglect the distribution of services and responses. How distributed objects are managed in Dragon Slayer is outlined. The distributed objects are logical objects which may be partitioned. The parts or fractions may be distributed over several nodes. They may even exist in multiple copies or version. In order to prepare the ground for requirements regarding distributed object management, a taxonomy of object-oriented approaches and their methods of managing distributed object operations is given. A set of necessary conditions for the design of distributed operating system services that are to support such management methods under completely decentralized control is determined.<>
{"title":"Transparent distributed object management under completely decentralized control","authors":"H. Wedde, B. Korel, W. G. Brown, Shengdong Chen","doi":"10.1109/ICDCS.1989.37963","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37963","url":null,"abstract":"An experimental distributed system based on an integrated system design was built that incorporates user-level or environmental application requirements into the design issues of the distributed operating system Dragon Slayer. The key for making use of the Dragon Slayer services, in supporting applications requesting a high amount of reliability under completely decentralized control, is the definition of the concept of distributed objects. These were used as the basis for a paradigm of distributed computing that allows users to neglect the distribution of services and responses. How distributed objects are managed in Dragon Slayer is outlined. The distributed objects are logical objects which may be partitioned. The parts or fractions may be distributed over several nodes. They may even exist in multiple copies or version. In order to prepare the ground for requirements regarding distributed object management, a taxonomy of object-oriented approaches and their methods of managing distributed object operations is given. A set of necessary conditions for the design of distributed operating system services that are to support such management methods under completely decentralized control is determined.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134338632","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37946
M. Sullivan, David P. Anderson
Marionette, a software package for distributed parallel programming in an environment of networked heterogeneous computer systems is described. It uses a master/slave model in which otherwise sequential application programmes can invoke worker operations (asynchronous remote procedure calls executed by slave processes) and context operations (updates to slaves' process states). The master and slaves also interact through shared data structures that can be modified only by the master. The Marionette runtime system is a heterogeneous remote procedure call package. It maintains the consistency of shared data structures, recovers transparently from slave processor failure, and assigns operations to slaves. The Marionette system includes tools for debugging, automated compilation of program binaries for multiple architectures, and distributing binaries to remote file systems. Measurements of a UNIX-based implementation to Marionette and a parallel ray-tracing renderer are presented.<>
{"title":"Marionette: a system for parallel distributed programming using a master/slave model","authors":"M. Sullivan, David P. Anderson","doi":"10.1109/ICDCS.1989.37946","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37946","url":null,"abstract":"Marionette, a software package for distributed parallel programming in an environment of networked heterogeneous computer systems is described. It uses a master/slave model in which otherwise sequential application programmes can invoke worker operations (asynchronous remote procedure calls executed by slave processes) and context operations (updates to slaves' process states). The master and slaves also interact through shared data structures that can be modified only by the master. The Marionette runtime system is a heterogeneous remote procedure call package. It maintains the consistency of shared data structures, recovers transparently from slave processor failure, and assigns operations to slaves. The Marionette system includes tools for debugging, automated compilation of program binaries for multiple architectures, and distributing binaries to remote file systems. Measurements of a UNIX-based implementation to Marionette and a parallel ray-tracing renderer are presented.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129609235","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37931
Madalene Spezialetti, J. P. Kearns
A technique is presented by which state information can be organized into unified, consistent representations of the system state through the creation of simultaneous regions. This method provides a general, yet efficient means of establishing the simultaneous relationship necessary for the monitoring and recognition of event occurrences. The types of events for which a computation can be monitored are described. The methods of utilizing logical clocks and global snapshots are then presented and the reasons why they are not appropriate for use in event evaluation are discussed. The technique for establishing simultaneous regions is then presented and the behaviour of the monitoring and recognition protocol is examined in the context of specific monitoring examples. The correctness of the protocol is proved.<>
{"title":"Simultaneous regions: a framework for the consistent monitoring of distributed systems","authors":"Madalene Spezialetti, J. P. Kearns","doi":"10.1109/ICDCS.1989.37931","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37931","url":null,"abstract":"A technique is presented by which state information can be organized into unified, consistent representations of the system state through the creation of simultaneous regions. This method provides a general, yet efficient means of establishing the simultaneous relationship necessary for the monitoring and recognition of event occurrences. The types of events for which a computation can be monitored are described. The methods of utilizing logical clocks and global snapshots are then presented and the reasons why they are not appropriate for use in event evaluation are discussed. The technique for establishing simultaneous regions is then presented and the behaviour of the monitoring and recognition protocol is examined in the context of specific monitoring examples. The correctness of the protocol is proved.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131843038","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37972
S. Vinter, Nilkanth Phadnis, R. Floyd
Four distributed query processing strategies under consideration for incorporation into the Cronus object-oriented distributed computing environment are described. Under Cronus, object storage can be embedded inside applications, and facilities are provided to distribute and replicate automatically the data maintained by the application. The performance of the query processing strategies is analyzed within this environment. The resulting evaluation points out the factors to consider in developing query processing strategies for replicated, object-oriented data, and the impact of those factors on the cost and optimality of the strategies. The evaluation led to the adoption of an optimistic, decentralized strategy which increases parallelism and decreases the size of messages at the expense of an increase in the number of messages transferred.<>
{"title":"Distributed query processing in Cronus","authors":"S. Vinter, Nilkanth Phadnis, R. Floyd","doi":"10.1109/ICDCS.1989.37972","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37972","url":null,"abstract":"Four distributed query processing strategies under consideration for incorporation into the Cronus object-oriented distributed computing environment are described. Under Cronus, object storage can be embedded inside applications, and facilities are provided to distribute and replicate automatically the data maintained by the application. The performance of the query processing strategies is analyzed within this environment. The resulting evaluation points out the factors to consider in developing query processing strategies for replicated, object-oriented data, and the impact of those factors on the cost and optimality of the strategies. The evaluation led to the adoption of an optimistic, decentralized strategy which increases parallelism and decreases the size of messages at the expense of an increase in the number of messages transferred.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134033951","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1989-06-05DOI: 10.1109/ICDCS.1989.37962
C. Wills
A service execution mechanism is designed to provide users transparent access to computational services in a distributed environment. The central idea in this approach is that computations available to the user in a distributed system should be treated as services, where a service is a user-level computation that is offered by one or more machines. The identification of a service is separate from its execution for all computations available to the user. This abstraction allows the details of performing a service to be hidden from the user, and allows the user to specify what services he/she would like to use and not be concerned with where or how the services are invoked. The author's experience with a prototype implementation is reviewed. It is concluded that the service mechanism is a small cost in the total time to execute a simple local service, and an insignificant cost for more computation-intensive services. For services that are invoked remotely, additional costs may be incurred for probing during selection, but these costs are negligible in comparison to the costs of invocation.<>
{"title":"A service execution mechanism for a distributed environment","authors":"C. Wills","doi":"10.1109/ICDCS.1989.37962","DOIUrl":"https://doi.org/10.1109/ICDCS.1989.37962","url":null,"abstract":"A service execution mechanism is designed to provide users transparent access to computational services in a distributed environment. The central idea in this approach is that computations available to the user in a distributed system should be treated as services, where a service is a user-level computation that is offered by one or more machines. The identification of a service is separate from its execution for all computations available to the user. This abstraction allows the details of performing a service to be hidden from the user, and allows the user to specify what services he/she would like to use and not be concerned with where or how the services are invoked. The author's experience with a prototype implementation is reviewed. It is concluded that the service mechanism is a small cost in the total time to execute a simple local service, and an insignificant cost for more computation-intensive services. For services that are invoked remotely, additional costs may be incurred for probing during selection, but these costs are negligible in comparison to the costs of invocation.<<ETX>>","PeriodicalId":266544,"journal":{"name":"[1989] Proceedings. The 9th International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1989-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133653767","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}