Pub Date : 1996-05-27DOI: 10.1109/ICDCS.1996.508004
Jie Xu, A. Romanovsky, B. Randell
We address the problem of how to handle exceptions in distributed object-oriented systems. In a distributed computing environment exceptions may be raised simultaneously and thus need to be treated in a coordinated manner. We take two kinds of concurrency into account: 1) several objects are designed collectively and invoked concurrently to achieve a global goal, and 2) concurrent objects or object groups that are designed independently compete for the same system resources. We propose a new distributed algorithm for resolving concurrent exceptions and show that the algorithm works correctly even in complex nested situations, and is an improvement over previous proposals in that it requires only O(N/sup 2/) messages, and is fully object-oriented.
{"title":"Exception handling and resolution in distributed object-oriented systems","authors":"Jie Xu, A. Romanovsky, B. Randell","doi":"10.1109/ICDCS.1996.508004","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.508004","url":null,"abstract":"We address the problem of how to handle exceptions in distributed object-oriented systems. In a distributed computing environment exceptions may be raised simultaneously and thus need to be treated in a coordinated manner. We take two kinds of concurrency into account: 1) several objects are designed collectively and invoked concurrently to achieve a global goal, and 2) concurrent objects or object groups that are designed independently compete for the same system resources. We propose a new distributed algorithm for resolving concurrent exceptions and show that the algorithm works correctly even in complex nested situations, and is an improvement over previous proposals in that it requires only O(N/sup 2/) messages, and is fully object-oriented.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128732799","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 : 1996-05-27DOI: 10.1109/ICDCS.1996.507921
C. King, Jenq-Shyan Yang
In this paper, we consider a hardware scheme for supporting barrier synchronization on scalable systems with a 2D mesh network. Our design takes into account of the program execution path in such systems-from programming interfaces down to routers. The hardware router design will be based on the MPI-1 standard. A distributed algorithm is proposed to construct a collective synchronization tree (CS tree) from the nodes participating in the barrier based upon the CS tree, the status registers in the routers are set up and synchronization messages are transmitted along the paths set by the status registers. Performance evaluations show that our proposed method has better performance for barrier synchronization and is less sensitive to variations in group size and startup delay than previous approaches. However our scheme has the extra overhead of building the CS tree. Thus it is more suitable for parallel iterative computations, in which the same barrier is invoked repetitively.
{"title":"Hardware supports for efficient barrier synchronization on 2-D mesh networks","authors":"C. King, Jenq-Shyan Yang","doi":"10.1109/ICDCS.1996.507921","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.507921","url":null,"abstract":"In this paper, we consider a hardware scheme for supporting barrier synchronization on scalable systems with a 2D mesh network. Our design takes into account of the program execution path in such systems-from programming interfaces down to routers. The hardware router design will be based on the MPI-1 standard. A distributed algorithm is proposed to construct a collective synchronization tree (CS tree) from the nodes participating in the barrier based upon the CS tree, the status registers in the routers are set up and synchronization messages are transmitted along the paths set by the status registers. Performance evaluations show that our proposed method has better performance for barrier synchronization and is less sensitive to variations in group size and startup delay than previous approaches. However our scheme has the extra overhead of building the CS tree. Thus it is more suitable for parallel iterative computations, in which the same barrier is invoked repetitively.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127095647","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 : 1996-05-27DOI: 10.1109/ICDCS.1996.507922
D. Scheerer, E. Schenfeld, Marc A. Viredas
Synchronization is inherent to parallel computing and comprises many aspects. One aspect is the access control to shared data, especially important in MIMD shared-memory architectures. Several locking mechanisms have been proposed to perform this task. Most of these schemes rely on very little hardware support, such as atomic read-modify-write operations. Today, the amount of hardware required to implement a locking mechanism is not a major constraint and will be even less important in the future. This makes it interesting to investigate schemes with more flexibility, better performance, and improved ease of use, that rely more on hardware assisted circuits than previous suggestions. In this paper multi-dimensional locking schemes that allocate locks on-line are presented. A lock is assigned to the access control of a data structure only during the time this structure needs to be locked. Three specific schemes are proposed. Two offer the possibility of locking sub-structures within multi-dimensional arrays. All three schemes protect locked structures against accesses of misbehaving threads.
{"title":"Multi-dimensional locks with on-line allocation schemes","authors":"D. Scheerer, E. Schenfeld, Marc A. Viredas","doi":"10.1109/ICDCS.1996.507922","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.507922","url":null,"abstract":"Synchronization is inherent to parallel computing and comprises many aspects. One aspect is the access control to shared data, especially important in MIMD shared-memory architectures. Several locking mechanisms have been proposed to perform this task. Most of these schemes rely on very little hardware support, such as atomic read-modify-write operations. Today, the amount of hardware required to implement a locking mechanism is not a major constraint and will be even less important in the future. This makes it interesting to investigate schemes with more flexibility, better performance, and improved ease of use, that rely more on hardware assisted circuits than previous suggestions. In this paper multi-dimensional locking schemes that allocate locks on-line are presented. A lock is assigned to the access control of a data structure only during the time this structure needs to be locked. Three specific schemes are proposed. Two offer the possibility of locking sub-structures within multi-dimensional arrays. All three schemes protect locked structures against accesses of misbehaving threads.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"243 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129773880","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 : 1996-05-27DOI: 10.1109/ICDCS.1996.507969
P. Flocchini, F. Luccio
We consider the problem of routing messages on Series Parallel Graphs (SPGs) and we introduce a new technique called Distance Routing. This technique is based on the idea of encoding in the label of each node x some information about a shortest path from the source of the SPG to x, and from x to the terminal node of the SPG. We first compare shortest path Distance Routing and I-interval Routing Schemes on directed SPGs. We then show that Distance Routing can be used to route on bidirectional SPGs, where no general shortest path I-interval Routing Scheme can be applied. We also show the relevance of the study of the time complexity in the choice of a Compact Routing method.
{"title":"Distance routing on series parallel networks","authors":"P. Flocchini, F. Luccio","doi":"10.1109/ICDCS.1996.507969","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.507969","url":null,"abstract":"We consider the problem of routing messages on Series Parallel Graphs (SPGs) and we introduce a new technique called Distance Routing. This technique is based on the idea of encoding in the label of each node x some information about a shortest path from the source of the SPG to x, and from x to the terminal node of the SPG. We first compare shortest path Distance Routing and I-interval Routing Schemes on directed SPGs. We then show that Distance Routing can be used to route on bidirectional SPGs, where no general shortest path I-interval Routing Scheme can be applied. We also show the relevance of the study of the time complexity in the choice of a Compact Routing method.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130397915","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 : 1996-05-27DOI: 10.1109/ICDCS.1996.507904
K. Uehara, S. Inohara, H. Miyazawa, Kouhei Yamamoto, T. Masuda
In cooperative applications such as group CAD and group software development systems, multiple processes communicate with each other by sharing complex data structures consisting of nested structures and pointers. Although the sharing of complex data structures in the distributed environment is achieved through the technology of distributed shared memory, a single cache coherence protocol cannot efficiently serve various access patterns generated by cooperative applications. This paper describes a framework of protocol customization for the sharing of volatile and experiment data in cooperative applications. The major obstacle in user-level customization of protocols is that there are too many states and state transitions in an unabstracted protocol to enable average users to describe them. The protocol customization system (PCS) in this paper solves this problem by introducing a high-level model for protocol description that abstracts away non-determinism of messages, synchronization among hosts, and local paging actions. Consequently, users can define with brief descriptions cache coherence protocols adapted for particular applications. The ability of PCS to describe different kinds of protocols is examined in this paper and its run-time performance and memory usages are investigated.
{"title":"A framework for customizing coherence protocols of distributed file caches","authors":"K. Uehara, S. Inohara, H. Miyazawa, Kouhei Yamamoto, T. Masuda","doi":"10.1109/ICDCS.1996.507904","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.507904","url":null,"abstract":"In cooperative applications such as group CAD and group software development systems, multiple processes communicate with each other by sharing complex data structures consisting of nested structures and pointers. Although the sharing of complex data structures in the distributed environment is achieved through the technology of distributed shared memory, a single cache coherence protocol cannot efficiently serve various access patterns generated by cooperative applications. This paper describes a framework of protocol customization for the sharing of volatile and experiment data in cooperative applications. The major obstacle in user-level customization of protocols is that there are too many states and state transitions in an unabstracted protocol to enable average users to describe them. The protocol customization system (PCS) in this paper solves this problem by introducing a high-level model for protocol description that abstracts away non-determinism of messages, synchronization among hosts, and local paging actions. Consequently, users can define with brief descriptions cache coherence protocols adapted for particular applications. The ability of PCS to describe different kinds of protocols is examined in this paper and its run-time performance and memory usages are investigated.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131627518","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 : 1996-05-27DOI: 10.1109/ICDCS.1996.508000
Xiaomin Chen, L. Moser, P. Melliar-Smith
We present an innovative totally ordered multicast protocol that is based on reservation of buffers at the destinations and intermediate network bridges, rather than on an acknowledgment strategy. By introducing timestamps into the packets and by using a buffer reservation retract scheme, our protocol not only produces a global total order of packets but also solves the deadlock and starvation problems to which reservation-based protocols are vulnerable. A discrete event simulation demonstrates the high throughput and low latency of the protocol.
{"title":"Reservation-based totally ordered multicasting","authors":"Xiaomin Chen, L. Moser, P. Melliar-Smith","doi":"10.1109/ICDCS.1996.508000","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.508000","url":null,"abstract":"We present an innovative totally ordered multicast protocol that is based on reservation of buffers at the destinations and intermediate network bridges, rather than on an acknowledgment strategy. By introducing timestamps into the packets and by using a buffer reservation retract scheme, our protocol not only produces a global total order of packets but also solves the deadlock and starvation problems to which reservation-based protocols are vulnerable. A discrete event simulation demonstrates the high throughput and low latency of the protocol.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133852596","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 : 1996-05-27DOI: 10.1109/ICDCS.1996.507931
B. R. Badrinath, Pradeep Sudame
As mobile hosts move, they encounter changing network characteristics. Characteristics such as bandwidth, reliability can change drastically when a mobile host moves from indoor to outdoor environment and vice versa. A mobile host can find itself in a lossy environment due to external conditions such as interference and fading. Existing end-to-end protocols are designed with an assumption that packet loss is a random and rare event. However due to mobility of hosts, there can be transient yet significant packet loss. In this paper we consider the effect of mobility on unreliable protocols such as UDP. We provide a mechanism by which unnecessary loss of packets can be avoided by allowing transmission only under "good" link conditions.
{"title":"To send or not to send: implementing deferred transmissions in a mobile host","authors":"B. R. Badrinath, Pradeep Sudame","doi":"10.1109/ICDCS.1996.507931","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.507931","url":null,"abstract":"As mobile hosts move, they encounter changing network characteristics. Characteristics such as bandwidth, reliability can change drastically when a mobile host moves from indoor to outdoor environment and vice versa. A mobile host can find itself in a lossy environment due to external conditions such as interference and fading. Existing end-to-end protocols are designed with an assumption that packet loss is a random and rare event. However due to mobility of hosts, there can be transient yet significant packet loss. In this paper we consider the effect of mobility on unreliable protocols such as UDP. We provide a mechanism by which unnecessary loss of packets can be avoided by allowing transmission only under \"good\" link conditions.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"2017 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127541819","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 : 1996-05-27DOI: 10.1109/ICDCS.1996.507995
Jia-Ling Koh, Arbee L. P. Chen
The problem of missing data arises in the distributed heterogeneous object databases because of the missing attribute conflict and the existence of null values. A set of algorithms are provided in this paper for query processing when the predicates in global queries involve missing data. For providing more informative answers to the users, the maybe results due to missing data are presented in addition to the certain results. One algorithm is designed based on the centralized approach in which the data are sent to the same site for integration and then processing. On the other hand, for reducing the response time, the localized approaches evaluate the predicates in different component databases in parallel. The proposed algorithms are compared and discussed by the simulation result on the total execution time and response time.
{"title":"Query execution strategies for missing data in distributed heterogeneous object databases","authors":"Jia-Ling Koh, Arbee L. P. Chen","doi":"10.1109/ICDCS.1996.507995","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.507995","url":null,"abstract":"The problem of missing data arises in the distributed heterogeneous object databases because of the missing attribute conflict and the existence of null values. A set of algorithms are provided in this paper for query processing when the predicates in global queries involve missing data. For providing more informative answers to the users, the maybe results due to missing data are presented in addition to the certain results. One algorithm is designed based on the centralized approach in which the data are sent to the same site for integration and then processing. On the other hand, for reducing the response time, the localized approaches evaluate the predicates in different component databases in parallel. The proposed algorithms are compared and discussed by the simulation result on the total execution time and response time.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130167449","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 : 1996-05-27DOI: 10.1109/ICDCS.1996.507895
Özalp Babaoglu, Alberto Bartoli, G. Dini
View synchrony has been proposed as a programming paradigm for developing reliable distributed applications. The paradigm is particularly attractive when the underlying computing system is asynchronous and prone to complex failure scenarios including partitions. View synchrony encourages a programming style where groups of processes cooperate closely in order to maintain some form of shared state among them. In this paper we examine the technical problems that arise in shared state management when programming applications using view synchrony. We identify three classes of problems corresponding to state transfer upon group joins, state recreation after total failures and state merging after partition unions. We argue that shared state problems are inherent to any implementation, and without explicit support, attempts to solve them may easily obscure much of the simplicity and elegance of view synchrony. Finally, we propose an extension to the traditional view synchrony model based on the notion of subviews that addresses the problems raised by shared state management.
{"title":"On programming with view synchrony","authors":"Özalp Babaoglu, Alberto Bartoli, G. Dini","doi":"10.1109/ICDCS.1996.507895","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.507895","url":null,"abstract":"View synchrony has been proposed as a programming paradigm for developing reliable distributed applications. The paradigm is particularly attractive when the underlying computing system is asynchronous and prone to complex failure scenarios including partitions. View synchrony encourages a programming style where groups of processes cooperate closely in order to maintain some form of shared state among them. In this paper we examine the technical problems that arise in shared state management when programming applications using view synchrony. We identify three classes of problems corresponding to state transfer upon group joins, state recreation after total failures and state merging after partition unions. We argue that shared state problems are inherent to any implementation, and without explicit support, attempts to solve them may easily obscure much of the simplicity and elegance of view synchrony. Finally, we propose an extension to the traditional view synchrony model based on the notion of subviews that addresses the problems raised by shared state management.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130938667","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 : 1996-05-27DOI: 10.1109/ICDCS.1996.507992
M. Kaashoek, A. Tanenbaum
The Amoeba group communication system has two unique aspects: (1) it uses a sequencer-based protocol with negative acknowledgements for achieving a total order on all group messages; and (2) users choose the degree of fault tolerance they desire. This paper reports on our design decisions in retrospect, the performance of the Amoeba group system, and our experiences using the system. We conclude that sequencer-based group protocols achieve high performance (comparable to Amoeba's fast remote procedure call implementation), that the scalability of our sequencer-based protocols is limited by message processing time, and that the flexibility and modularity of user-level implementations of protocols is likely to outweigh the potential performance loss.
{"title":"An evaluation of the Amoeba group communication system","authors":"M. Kaashoek, A. Tanenbaum","doi":"10.1109/ICDCS.1996.507992","DOIUrl":"https://doi.org/10.1109/ICDCS.1996.507992","url":null,"abstract":"The Amoeba group communication system has two unique aspects: (1) it uses a sequencer-based protocol with negative acknowledgements for achieving a total order on all group messages; and (2) users choose the degree of fault tolerance they desire. This paper reports on our design decisions in retrospect, the performance of the Amoeba group system, and our experiences using the system. We conclude that sequencer-based group protocols achieve high performance (comparable to Amoeba's fast remote procedure call implementation), that the scalability of our sequencer-based protocols is limited by message processing time, and that the flexibility and modularity of user-level implementations of protocols is likely to outweigh the potential performance loss.","PeriodicalId":159322,"journal":{"name":"Proceedings of 16th International Conference on Distributed Computing Systems","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128862302","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}