Distributed System…

Fathima Minha
4 min readFeb 18, 2021

A distributed system, also known as distributed computing, is a system with collection of multiple components located on different machines that communicate and share massages with each other in order to achieve their goals.

Distributed system model

How does a distributed system works?

Hardware and software architectures are used to maintain a distributed system. Everything must be interconnected CPU via the network and processes via the communication system.

Architecture models of Distributed System

Architecture

Client–server : architectures where smart clients contact the server for data then format and display it to the users. Input at the client is committed back to the server when it represents a permanent change.

Three-tier : architectures that move the client intelligence to a middle tier so that stateless clients can be used. This simplifies application deployment. Most web applications are three-tier.

n-tier : architectures that refer typically to web applications which further forward their requests to other enterprise services. This type of application is the one most responsible for the success of application servers.

Peer-to-peer : architectures where there are no special machines that provide a service or manage the network resources. Instead all responsibilities are uniformly divided among all machines, known as peers. Peers can serve both as clients and as servers. Examples of this architecture include BitTorrent and the bitcoin network.

Examples of Distributed System

  1. Distributed Real-time Systems

Many industries use real-time systems that are distributed locally and globally. Airlines use flight control systems, Uber and Lyft use dispatch systems, manufacturing plants use automation control systems, logistics and e-commerce companies use real-time tracking systems.

2. Parallel Processing

There used to be a distinction between parallel computing and distributed systems. Parallel computing was focused on how to run software on multiple threads or processors that accessed the same data and memory. Distributed systems meant separate machines with their own processors and memory. With the rise of modern operating systems, processors and cloud services these days, distributed computing also encompasses parallel processing.

3. Distributed artificial intelligence

Distributed Artificial Intelligence is a way to use large scale computing power and parallel processing to learn and process very large data sets using multi-agents.

4. Networks

The earliest example of a distributed system happened in the 1970s when ethernet was invented and LAN (local area networks) were created. For the first time computers would be able to send messages to other systems with a local IP address. Peer-to-peer networks evolved and e-mail and then the Internet as we know it continue to be the biggest, ever growing example of distributed systems. As the internet changed from IPv4 to IPv6, distributed systems have evolved from “LAN” based to “Internet” based.

Advantages of Distributed System

  1. Unlimited Horizontal Scaling : machines can be added whenever required.
  2. Low Latency : having machines that are geographically located closer to users, it will reduce the time it takes to serve users.
  3. Fault Tolerance : if one server or data center goes down, others could still serve the users of the service.

Disadvantages of Distributed System

  • Security problem due to sharing
  • Some messages can be lost in the network system
  • Bandwidth is another problem if there is large data then all network wires to be replaced which tends to become expensive
  • Overloading is another problem in distributed operating systems
  • If there is a database connected on local system and many users accessing that database through remote or distributed way then performance become slow
  • The databases in network operating is difficult to administrate then single user system

Challenges in Distributed Systems

The lack of global knowledge.
Naming.
Scalability.
Compatibility.
Process synchronization (requires global knowledge)
Resource management (requires global knowledge)
Security.
Fault tolerance, error recovery.

Summary

In the short span of this article, we managed to define what a distributed system is, how does it works, examples for them and the advantages , disadvantages of distributed system.

Some important things to remember are:

Distributed systems are complex.
They are chosen by the necessity of scale and price.
They are harder to work with.

--

--

Fathima Minha
0 Followers

Reading for BICT (Hons) at Faculty of Technology, University of Ruhuna, Matara, Sri - Lanka.