Assignment 1: Basics

  1. What do you understand by the term “models” for distributed systems?

  2. Redesign the distributed search algorithm (from slides) for the model – “Completely connected, synchronous, unreliable”

  3. Redesign the distributed search algorithm (from slides) for the model – “Connected in ring topology, asynchronous, reliable”

  4. Create a scenario where the atomicity issue in distributed systems can be understood.

  5. Why two clocks cannot be perfectly synchronized?

  6. To address faults, we can use replication – what kind of problems/challenges this approach can cause?

  7. Identify some distributed systems in real life that you interact with. How do you know, they are distributed systems?

  8. What do you mean by weakening a model? Give example.

  9. Discuss the advantages of distributed systems. Explain with clear examples why they are hard to implement.

  10. What is the use of replication in distributed systems? How is it related to fault tolerance.

  11. Explain with example the issue of global clocks in distributed systems.

  12. Explain with example the issue of global memory in distributed systems.

  13. What are the difference between synchronous and asynchronous models?

  14. If synchronous network is better than asynchronous networks, then why do we even consider the other one?

  15. Explain with figures, what do you mean by different topologies?

  16. Explain with example various complexity measures for distributed systems.