When one engineers distributed algorithms, some special characteristics arise that are different from conventional (sequential or parallel) computing paradigms. These characteristics include: the need for either a scalable real network environment or a platform supporting a simulated distributed environment; the need to incorporate asynchrony, where arbitrarya synchrony is hard, if not impossible, to implement; and the generation of “difficult” input instances which is a particular challenge. In this work, we identifys ome of the methodological issues required to address the above characteristics in distributed algorithm engineering and illustrate certain approaches to tackle them via case studies. Our discussion begins byad dressing the need of a simulation environment and how asynchronyis incorporated when experimenting with distributed algorithms. We then proceed bys uggesting two methods for generating difficult input instances for distributed experiments, namelya game-theoretic one and another based on simulations of adversarial arguments or lower bound proofs. We give examples of the experimental analysis of a pursuit-evasion protocol and of a shared memorypro blem in order to demonstrate these ideas. We then address a particularlyi nteresting case of conducting experiments with algorithms for mobile computing and tackle the important issue of motion of processes in this context. We discuss the two-tier principle as well as a concurrent random walks approach on an explicit representation of motions in ad-hoc mobile networks, which allow at least for averagecase analysis and measurements and may give worst-case inputs in some cases. Finally, we discuss a useful interplay between theory and practice that arise in modeling attack propagation in networks.
Weitere Kapitel dieses Buchs durch Wischen aufrufen
- Distributed Algorithm Engineering
Paul G. Spirakis
Christos D. Zaroliagis
- Springer Berlin Heidelberg
Neuer Inhalt/© ITandMEDIA