Apress

Distributed Programming

Theory and Practice

By A. Udaya Shankar

Distributed Programming Cover Image

  • ISBN13: 978-1-4614-4880-8
  • 405 Pages
  • User Level: Students
  • Publication Date: September 15, 2012
  • Available eBook Formats: PDF
  • eBook Price: $79.95
Buy eBook Buy Print Book Add to Wishlist
Full Description
Distributed Programming: Theory and Practice presents a practical and rigorous method to develop distributed programs that correctly implement their specifications. The method also covers how to write specifications and how to use them. Numerous examples such as bounded buffers, distributed locks, message-passing services, and distributed termination detection illustrate the method. Larger examples include data transfer protocols, distributed shared memory, and TCP network sockets. Distributed Programming: Theory and Practice bridges the gap between books that focus on specific concurrent programming languages and books that focus on distributed algorithms.  Programs are written in a 'real-life' programming notation, along the lines of Java and Python with explicit instantiation of  threads and programs.  Students and programmers will see these as programs and not 'merely' algorithms in pseudo-code.  The programs implement interesting algorithms and solve problems that are large enough to serve as projects in programming classes and software engineering classes. Exercises and examples are included at the end of each chapter with on-line access to the solutions. Distributed Programming: Theory and Practice is designed as an advanced-level text book for students in computer science and electrical engineering.  Programmers, software engineers and researchers working in this field will also find this book useful.
Table of Contents

Table of Contents

  1. Introduction.
  2. Simple Lock.
  3. Bounded Buffer.
  4. Message
  5. Passing Services.
  6. Fifo Channels from Unreliable Channels.
  7. Programs, Semantics and Effective Atomicity.
  8. Implements and Compositionality.
  9. SESF for Time
  10. Constrained Programs.
  11. Lock using Peterson's Algorithm.
  12. Lock using the Bakery Algorithm.
  13. Distributed Lock Service.
  14. Distributed Lock using Timestamps.
  15. Channel with Termination Detection Service.
  16. Termination Detection for Diffusing Computations.
  17. Object
  18. Transfer Service.
  19. Object Transfer using Path Reversal.
  20. Distributed Shared Memory Service.
  21. A Single
  22. Copy Distributed Shared Memory.
  23. A Multi
  24. Copy Distributed Shared Memory.
  25. Reliable Transport Service.
  26. Reliable Transport Protocol.
Errata

If you think that you've found an error in this book, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.

* Required Fields

No errata are currently published