Skip to main content

Goals, need of transparency, challenges

Short answer

Goals include resource sharing, transparency, openness, scalability, concurrency and fault tolerance. Transparency hides location, replication, failure and concurrency, making the system easy to use and reducing development cost. Challenges are network latency, partial failure, performance cost, concurrency control, heterogeneity, geographic distance, and trade-offs with location-aware services.

What are the major goals of a distributed system? Explain the need of transparency in distributed system along with the challenges in achieving that.

Goals of a distributed system

  • Resource sharing: users and programs share printers, files, data, storage and compute power across the network (for example the web, cloud storage).
  • Transparency: hide the fact that processes and resources are physically spread over many machines.
  • Openness: the system offers services through standard, published interfaces so that parts from different vendors can interoperate and be extended.
  • Scalability: the system keeps working well as users, resources and geographic spread grow.
  • Concurrency and fault tolerance: many users work at once, and the system keeps running when some component fails.

Need of transparency

Users and application programmers should not have to know where data is stored, how many copies exist, or how a failure is handled. Without transparency each application would need code for networking, location, failure and concurrency, which is complex and error prone. Transparency:

  • makes the system easy to use (one system image);
  • lets the system move, copy and reorganise resources without changing applications;
  • reduces development cost, since programmers work as if on a single computer;
  • helps resource sharing and scalability.

The main forms are access, location, migration, relocation, replication, concurrency, failure and persistence transparency.

Challenges in achieving transparency

  • Network latency and unreliability: a remote call cannot be made identical to a local call. Hiding delay completely is impossible.
  • Partial failure: it is hard to tell whether a server has crashed or the network is only slow, so failure transparency is hard.
  • Performance cost: full replication transparency needs consistency protocols, and hiding location needs lookups.
  • Concurrency: keeping replicated and shared data consistent requires locks or transactions, which reduce speed.
  • Heterogeneity: different data representations need conversion for access transparency.
  • Geographic distance: a user in Nepal and a server abroad will always see differences in delay.
  • Trade-off: in some cases (location-aware services, mobile apps) users prefer to know the location, so full transparency is not always desirable.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 1 questions →