Skip to main content

Distributed Algorithm Engineering

  • Chapter
  • First Online:
Experimental Algorithmics

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2547))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Acharya, B. Badrinath, and T. Imielinski. Structuring distributed algorithms for mobile hosts. In Proceedings of the 14th International Conference on Distributed Computing Systems, 1994.

    Google Scholar 

  2. M. Adler, H. Räcke, N. Sivadasan, C. Sohler, and B. Vöcking. Randomized pursuit-evasion in graphs. In Automata, Languages, and Programming (ICALP’02). Springer Lecture Notes in Computer Science, to appear.

    Google Scholar 

  3. H. Attiya and J. Welch. Distributed Computing. McGraw-Hill, 1998.

    Google Scholar 

  4. B. Awerbuch and D. Peleg. Concurrent online tracking of mobile users. Journal of the ACM, 42(5):1021–1058, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  5. M. Blum and S. Micali. How to generate cryptographically strong sequences of pseudo-random bits. SIAM Journal on Computing, 13(4):850–863, 1984.

    Article  MATH  MathSciNet  Google Scholar 

  6. J. Buss, P. Kanellakis, P. Ragde, and A. Shvartsman. Parallel algorithms with processor failures and delays. Journal of Algorithms, 20:45–86, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  7. I. Chatzigiannakis, S. Nikoletseas, and P. Spirakis. Analysis and experimental evaluation of an innovative and efficient routing approach for ad-hoc mobile networks. In Proceedings of the 4th Workshop on Algorithmic Engineering (WAE’00). Springer Lecture Notes in Computer Science 1982, pages 99–110, 2000.

    Google Scholar 

  8. I. Chatzigiannakis, S. Nikoletseas, N. Paspallis, P. Spirakis, and C. Zaroliagis. An experimental studyo f basic communication protocols in ad-hoc mobile networks. In Proceedings of the 5th Workshop on Algorithmic Engineering (WAE’01). Springer Lecture Notes in Computer Science 2141, pages 159–171, 2001.

    Google Scholar 

  9. O. Dahl, K. Nygaard. SIMULA’ an Algol-based simulation language. Communications of the ACM, 9(9):671–678, 1966.

    Article  MATH  Google Scholar 

  10. M. Fischer, N. Lynch, and M. Paterson. Impossibility of distributed consensus with one faultypro cess. Journal of the ACM, 32(2):374–382, 1985.

    Article  MATH  MathSciNet  Google Scholar 

  11. Z. Haas and M. Pearlman. The performance of a new routing protocol for the reconfigurable wireless networks. In Proceedings of ICC’98, 1998.

    Google Scholar 

  12. K. Hatzis, G. Pentaris, P. Spirakis, and V. Tampakas. Implementation and testing eavesdropper protocols using the DSP tool. In K. Mehlhorn, editor, Proceedings of the 2nd Workshop on Algorithmic Engineering (WAE’98), pages 74–85, 1998.

    Google Scholar 

  13. K. Hatzis, G. Pentaris, P. Spirakis, and V. Tampakas. Counting in mobile networks: theoryan d experimentation. In Proceedings of the 3rd Workshop on Algorithmic Engineering (WAE’99). Springer Lecture Notes in Computer Science 1668, pages 95–109, 1999.

    Google Scholar 

  14. K. Hatzis, G. Pentaris, P. Spirakis, V. Tampakas, and R. Tan. Fundamental control algorithms in mobile networks. In Proceedings of the 11th Annual Symposium on Parallel Algorithms and Architectures (SPAA’99), pages 251–260, 1999.

    Google Scholar 

  15. M. Herlihyand S. Rajsbaum. Algebraic topology and distributed computing: a primer. In Jan van Leeuwen, editor, Computer Science Today: Recent Trends and Developments. Springer Lecture Notes in Computer Science 1000, pages 203–217, 1995.

    Google Scholar 

  16. T. Imielinski and H. F. Korth. Mobile Computing. Kluwer Academic Publishers, 1996.

    Google Scholar 

  17. J. R. Jump. NETSIM Reference Manual, Version 1.0. Rice University, 1993.

    Google Scholar 

  18. J. R. Jump. YACSIM Reference Manual, Version 2.1. Rice University, 1993.

    Google Scholar 

  19. P. Kanellakis and A. Shvartsman. Fault-Tolerant Parallel Computation. Kluwer Academic Publishers, 1997.

    Google Scholar 

  20. Z. Kedem, K. Palem, A. Raghunathan, and P. Spirakis. Combining tentative and definite executions for dependable parallel computing. In Proceedings of the 23rd ACM Symposium on Theory of Computing (STOC’91), pages 381–390, 1991.

    Google Scholar 

  21. Z. Kedem, K. Palem, and P. Spirakis. Efficient robust parallel computations. In Proceedings of the 22nd ACM Symposium on Theory of Computing (STOC’90), pages 138–148, 1990.

    Google Scholar 

  22. J. Kephart and S. White. Directed-graph epidemiological models of computer viruses. IBM Research Report; also, in Proceedings of the IEEE Symposium on Security and Privacy, 1991.

    Google Scholar 

  23. E. Koutsoupias and C. Papadimitriou. Worst-case equilibria. In Proceedings of the 16th Symposium on Theoretical Aspects of Computer Science (STACS’99). Springer Lecture Notes in Computer Science 1563, pages 404–413, 1999.

    Google Scholar 

  24. L. Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558–564, 1978.

    Article  MATH  Google Scholar 

  25. M. C. Little and D. McCue. Construction and use of a simulation package in C++. C User’s Journal, 12(3), 1994. Also at http://cxxsim.ncl.ac.uk/.

  26. N. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers Inc., 1996.

    Google Scholar 

  27. M. Mavronicolas and P. Spirakis. The price of selfish routing. In Proceedings of the 33rd ACM Symposium on Theory of Computing (STOC’01), pages 510–519, 2001.

    Google Scholar 

  28. S. McCanne and S. Floyd. ns Network Simulator. http://www.isi.edu/nsnam/ns/.

  29. K. Mehlhorn and S. Näher. LEDA: A Platform for Combinatorial and Geometric Computing. Cambridge UniversityPress, 1999.

    Google Scholar 

  30. S. Nikoletseas, G. Prasinos, P. Spirakis, and C. Zaroliagis. Attack propagation in networks. In Proceedings of the 13th ACM Symposium on Parallel Algorithms and Architectures (SPAA’01), pages 67–76, 2001. To appear in Theory of Computing Systems.

    Google Scholar 

  31. R. Ostrovsky and M. Yung. How to withstand mobile virus attacks. In Proceedings of the 10th ACM Symposium on Principles of Distributed Computing (PODC’91), pages 51–59, 1991.

    Google Scholar 

  32. V. Park and M. Corson. Temporally-ordered routing algorithms (TORA): version 1-functional specification. IETF, Internet Draft, draft-ietf-manettora-spec-02.txt, Oct. 1999.

    Google Scholar 

  33. M. Pease, R. Shostak, and L. Lamport. Reaching agreement in the presence of faults. Journal of the ACM, 27(2):228–234, 1980.

    Article  MATH  MathSciNet  Google Scholar 

  34. C.E. Perkins. Ad-Hoc Networking. Addisson-Wesley, 2001.

    Google Scholar 

  35. P. Spirakis and B. Tampakas. Distributed pursuit-evasion: some aspects of privacya nd security in distributed computing. In Proceedings of the 13th ACM Symposium on Principles of Distributed Computing (PODC’94), short paper, 1994.

    Google Scholar 

  36. P. Spirakis, B. Tampakas, and H. Antonopoulou. Distributed protocols against mobile eavesdroppers. In Proceedings of the 9th International Workshop on Distributed Algorithms (WDAG’95). Springer Lecture Notes in Computer Science 972, pages 160–167, 1995.

    Google Scholar 

  37. G. Tel. Introduction to Distributed Algorithms. Cambridge University Press, 1994.

    Google Scholar 

  38. B. Weiss, G. Gridling, U. Schmid, and K. Schossmaier. The SimUTC faulttolerant distributed systems simulation toolkit. In Proceedings of the 7th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS’99), 1999.

    Google Scholar 

  39. Y. Zhang and W. Lee. Intrusion detection in wireless ad-hoc Networks. In Proceedings of the 6th Annual ACM/IEEE International Conference on Mobile Computing (MOBICOM’00), pages 275–283, 2000.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Spirakis, P.G., Zaroliagis, C.D. (2002). Distributed Algorithm Engineering. In: Fleischer, R., Moret, B., Schmidt, E.M. (eds) Experimental Algorithmics. Lecture Notes in Computer Science, vol 2547. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36383-1_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-36383-1_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00346-5

  • Online ISBN: 978-3-540-36383-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics