How to generate cryptographically strong sequences of pseudo-random bits
SIAM Journal on Computing
Efficient robust parallel computations
STOC '90 Proceedings of the twenty-second annual ACM symposium on Theory of computing
Combining tentative and definite executions for very fast dependable parallel computing
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
How to withstand mobile virus attacks (extended abstract)
PODC '91 Proceedings of the tenth annual ACM symposium on Principles of distributed computing
Distributed pursuit-evasion: some aspects of privacy and security in distributed computing
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
Introduction to distributed algorithms
Introduction to distributed algorithms
Online tracking of mobile users
Journal of the ACM (JACM)
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Parallel algorithms with processor failures and delays
Journal of Algorithms
Fundamental control algorithms in mobile networks
Proceedings of the eleventh annual ACM symposium on Parallel algorithms and architectures
Reaching Agreement in the Presence of Faults
Journal of the ACM (JACM)
LEDA: a platform for combinatorial and geometric computing
LEDA: a platform for combinatorial and geometric computing
Intrusion detection in wireless ad-hoc networks
MobiCom '00 Proceedings of the 6th annual international conference on Mobile computing and networking
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
SIMULA: an ALGOL-based simulation language
Communications of the ACM
Attack propagation in networks
Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
STOC '01 Proceedings of the thirty-third annual ACM symposium on Theory of computing
Distributed Algorithms
Mobile Computing
Fault-Tolerant Parallel Computation
Fault-Tolerant Parallel Computation
Distributed Protocols Against Mobile Eavesdroppers
WDAG '95 Proceedings of the 9th International Workshop on Distributed Algorithms
Randomized Pursuit-Evasion in Graphs
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
The SimUTC Fault-Tolerant Distributed Systems Simulation Toolkit
MASCOTS '99 Proceedings of the 7th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems
Ad Hoc Networking
STACS'99 Proceedings of the 16th annual conference on Theoretical aspects of computer science
DAP: A Generic Platform for the Simulation of Distributed Algorithms
ANSS '04 Proceedings of the 37th annual symposium on Simulation
Algorithm engineering: bridging the gap between algorithm theory and practice
Algorithm engineering: bridging the gap between algorithm theory and practice
Hi-index | 0.00 |
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 arbitrary asynchrony is hard, if not impossible, to implement; and the generation of "difficult" input instances which is a particular challenge. In this work, we identify some 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 by addressing the need of a simulation environment and how asynchrony is incorporated when experimenting with distributed algorithms. We then proceed by suggesting two methods for generating difficult input instances for distributed experiments, namely a 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 memory problem in order to demonstrate these ideas. We then address a particularly interesting 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.