This paper investigates the power of randomization in general distributed algorithms in dynamic networks where the network's topology may evolve over time, as determined by some adaptive adversary. In such a conte...
详细信息
This paper investigates the power of randomization in general distributed algorithms in dynamic networks where the network's topology may evolve over time, as determined by some adaptive adversary. In such a context, randomization may help algorithms to better deal with i) "bad" inputs to the algorithm, and ii) evolving topologies generated by "bad" adaptive adversaries. We prove that randomness offers limited power to better deal with "bad" adaptive adversary. We define a simple notion of prophetic adversary for determining the evolving topologies. Such an adversary accurately predicts all randomness in the algorithm beforehand, and hence the randomness will be useless against "bad" prophetic adversaries. Given a randomized algorithm P whose time complexity satisfies some mild conditions, we prove that P can always be converted to a new algorithm Q with comparable time complexity, even when Q runs against prophetic adversaries. This implies that the benefit of P using randomness for dealing with the adaptive adversaries is limited. (c) 2021 Elsevier Inc. All rights reserved.
Designing, tuning, and analyzing the performance of distributed algorithms and protocols are complex tasks. A major factor that contributes to this complexity is the fact that there is no single environment to support...
详细信息
Designing, tuning, and analyzing the performance of distributed algorithms and protocols are complex tasks. A major factor that contributes to this complexity is the fact that there is no single environment to support all phases of the development of a distributed algorithm. This paper presents Neko, an easy-to-use Java platform that provides a uniform and extensible environment for various phases of algorithm design and performance evaluation: prototyping, tuning, simulation, deployment, etc.
New results are obtained concerning the analysis of the storage allocation algorithm which permits one to maintain two stacks inside a shared (continuous) memory area of fixed size m and of the banker's algorithm ...
详细信息
New results are obtained concerning the analysis of the storage allocation algorithm which permits one to maintain two stacks inside a shared (continuous) memory area of fixed size m and of the banker's algorithm (a deadlock avoidance policy). The formulation of these problems is in terms of random walks inside polygonal domains in a two-dimensional lattice space with several reflecting barriers and one absorbing barrier. For the two-stacks problem, the return time to the origin, the time to absorption, the last leaving time from the origin and the number of returns to the origin before absorption are investigated. For the banker's algorithm, the trend-free absorbed random walk is analysed with numerical methods. We finally analyse the average excursion along one axis for the classical random walk: an analytic method enables us to deduce asymptotic results for this average excursion.
Following the wide investigation in distributed computing issues by mobile entities of the last two decades, we consider the need of a structured methodology to tackle the arisen problems. The aim is to simplify both ...
详细信息
Following the wide investigation in distributed computing issues by mobile entities of the last two decades, we consider the need of a structured methodology to tackle the arisen problems. The aim is to simplify both the design of the resolution algorithms and the writing of the required correctness proofs. We would encourage the usage of a common framework in order to help both algorithm designers and reviewers in the intricate work of delivering and analyzing the proposed resolution strategies. We demonstrate the effectiveness and usefulness of the new methodology by highlighting various peculiarities arising in different scenarios. In particular, we consider two different tasks for asynchronous entities moving in the Euclidean plane and in graphs, respectively. We show how two resolution strategies have been designed by following the accurate guide dictated by the methodology. Furthermore, we also show how the corresponding correctness proofs are obtained. (c) 2021 Elsevier Inc. All rights reserved.
The development of distributed algorithms and, more generally, distributed systems, is a complex, delicate and challenging process. Refinement techniques of (system) models improve the process by using a proof assista...
详细信息
The development of distributed algorithms and, more generally, distributed systems, is a complex, delicate and challenging process. Refinement techniques of (system) models improve the process by using a proof assistant, and by applying a design methodology aimed at starting from the most abstract model and leading, in an incremental way, to the most concrete model, for producing a distributed solution. We show, using the distributed reference counting (DRC) problem as our study, how models can be produced in an elegant and progressive way, thanks to the refinement and how the final distributed algorithm is built starting from these models. The development is carried out within the framework of the event B method and models are validated with a proof assistant. (C) 2006 Elsevier B.V. All rights reserved.
We determine the call blocking performance of channel-allocation algorithms where every channel is available for use in every cell and where decisions are made by mobiles/portables based only on local observations. Us...
详细信息
We determine the call blocking performance of channel-allocation algorithms where every channel is available for use in every cell and where decisions are made by mobiles/portables based only on local observations. Using a novel Erlang-B approximation method, together with simulation, we demonstrate that even the simplest algorithm, the timid, compares favorably with impractical, centrally administered fixed channel allocation. Our results suggest that an aggressive algorithm, that is, one requiring call reconfigurations, could provide a substantially reduced blocking probability. We also present some algorithms which take major steps toward achieving the excellent blocking performance of the hypothetical aggressive algorithm but having the stability of the timid algorithm.
This paper concerns the efficient construction of sparse and low stretch spanners for unweighted arbitrary graphs with n nodes. All previous deterministic distributed algorithms, for constant stretch spanners of o(n(2...
详细信息
This paper concerns the efficient construction of sparse and low stretch spanners for unweighted arbitrary graphs with n nodes. All previous deterministic distributed algorithms, for constant stretch spanners of o(n(2)) edges, have a running time Omega(n(epsilon)) for some constant epsilon > 0 depending on the stretch. Our deterministic distributed algorithms construct constant stretch spanners of o(n(2)) edges in o(n(epsilon)) time for any constant epsilon > 0. More precisely, in Linial's free model a.k.a LOCAL model, we construct in n(O(1/root log n)) time, for every graph, a (3, 2)-spanner of O(n(3/2)) edges, i.e., a spanning subgraph in which the distance is at most 3 times the distance of the original graph plus 2. The result is extended to (alpha(k), beta(k))-spanners with O(n(1+1/k) log k) edges for every integer parameter k >= 1, where alpha(k)+beta(k) = O(k(log25)). If the minimum degree of the graph is Omega(root n), then, in the same time complexity, a (5, 4)-spanner with O (n) edges can be constructed. (C) 2008 Elsevier B.V. All rights reserved.
We report our experience in developing a simulator, called Véda. Véda is a software tool to support designers in protocol modeling and validation. It is basically oriented towards the rapid prototyping of di...
详细信息
We report our experience in developing a simulator, called Véda. Véda is a software tool to support designers in protocol modeling and validation. It is basically oriented towards the rapid prototyping of distributed algorithms, and has been available for more than two years. algorithms are described using an ISO formal description technique, called Estelle. We first give an external view of Véda, and particularly how one can describe service properties and tracing, using a specific feature of Véda, called observation. Then, the development of Véda and its internal structure is presented, emphasizing the use of Prolog as a software engineering tool. Typical uses of Véda that have been made in the relatively large community of its users are sketched. We conclude with a critical analysis of the main features of Véda and how they may have contributed to its success. [ABSTRACT FROM AUTHOR]
Recent advances have shown a great potential of mobile data gathering in wireless sensor networks, where one or more mobile collectors are employed to collect data from sensors via short-range communications. Among a ...
详细信息
Recent advances have shown a great potential of mobile data gathering in wireless sensor networks, where one or more mobile collectors are employed to collect data from sensors via short-range communications. Among a variety of data gathering approaches, one typical scheme is called anchor-based mobile data gathering. In such a scheme, during each periodic data gathering tour, the mobile collector stays at each anchor point for a period of sojourn time, and in the meanwhile the nearby sensors transmit data to the collector in a multihop fashion. In this paper, we focus on such a data gathering scheme and provide distributed algorithms to achieve its optimal performance. We consider two different cases depending on whether the mobile collector has fixed or variable sojourn time at each anchor point. We adopt network utility, which is a properly defined function, to characterize the data gathering performance, and formalize the problems as network utility maximization problems under the constraints of guaranteed network lifetime and data gathering latency. To efficiently solve these problems, we decompose each of them into several subproblems and solve them in a distributed manner, which facilitates the scalable implementation of the optimization algorithms. Finally, we provide extensive numerical results to demonstrate the usage and efficiency of the proposed algorithms and complement our theoretical analysis.
An interprocess communication structure for a distributed language is described that is tailored to the needs of low level algorithms. The intention is to make communication flexible, to separate communication from s...
详细信息
An interprocess communication structure for a distributed language is described that is tailored to the needs of low level algorithms. The intention is to make communication flexible, to separate communication from synchronization, and to incorporate a multicast facility. The proposal is based on the language LINDA; in particular, it employs name-based addressing. However, the semantics of multicast have been substantially modified and the scheme oriented more to communication than to providing the abstraction of a global buffer. A restricted form of the ''in'' and ''out'' primitives is used to allow compile time checking of message types. A generalized implementation scheme is proposed that exploits a physical multicast capability if it is present and specializes to conventional implementation schemes for simple communication paradigms. The proposal is illustrated by programming several distributed algorithms found in the literature, namely: 1. replicated store, 2. Contract Net Protocol, and 3. distributed deadlock detection.
暂无评论