What is distributed system?

Amit Shrigondekar
1 min readApr 1, 2022

What makes a software distributed one?

  • Commodity computers talk to other computers over a network to accomplish a certain task

Distributed System = Partial Failures + Unbounded Latency

Why make software distributed?

  • Data too big to fit on one machine
  • You want things to be faster using more computers
  • Scalable ( support more data and compute)
  • Isolate failures to avoid the entire system going down

What are the main features of distributed software?

  • Characterized by partial-failures
  • Partial failure means some parts of the system are NOT working; some are working.
  • It runs on several nodes ( node is just a computer connected by the network)
  • Designing around failures: Continues to operate in the presence of failures.

In comparison with High-performance computing, it treats partial failure as a total failure.

Fundamentals of the Distributed system

  • What can go wrong when two nodes talk to each other over the network?
  • If you send a request to another node and don’t receive a response, it is impossible to know why.
  • Byzantine Faults: Responder is lying, refusing to answer
  • The sender’s message could be lost, is slow on a congested network, or the destination crashed while processing
  • The responding node is slow , its response might be lost during transit, or the responder crashed

References:

  • Martin Kleppmann, Lindsey Kuper

--

--