Introduction to Distributed System

Introduction to Distributed System

This is the first tutorial on Distributed System where you are going to learn about Introduction to Distributed System.

Distributed System Definition

A Distributed System is a collection of autonomous computer system capable of communication and cooperation via their hardware and software interconnections. It is a collection of loosely coupled processors interconnected by a communication network. Loosely coupled processor is the set of systems which is not dependent on each other.

Example of Distributed System

  1. World Wide Web - An information system in which resources are identified by URL, which can be accessible over the internet.
  2. Multimedia System - Processing, storage, generation and manipulation of Multimedia resources.
  3. Embedded System - A microprocessor based computer hardware system with inbuilt software that is designed to perform a dedicated function.
  4. Internet - A computer network that connects computers all over the world.
  5. Intranet - A private network that is contained within an organization.

Advantages of Distributed Systems

  1. Transparency - We can access any of the resources from a particular set of systems without knowing the location.
  2. Resource Sharing - The resources have been distributed to many systems for the faster availability of that resource.
  3. Fault Tolerance - The ability of the system to tolerate the faults in the system to continue operating without any interruption.
  4. Information / Load Sharing - The information has been scattered over the particular system so the load should be balanced to maintain the scalability factor. Scalability factor is the factor in which even after increasing the load on a particular system the performance will not degraded.
  5. Reliability and Availability - The system should be reliable i.e. resource should be available when needed.
  6. Computational Speed Up - Accessing of data is good, which increases the computational speed.

Disadvantages of Distributed Systems.

  1. Providing adequate security is tough.
  2. Data loss between nodes can take place.
  3. Databases are complicated and difficult to handle as compared to a single user system.
  4. Overloading occurs if all the nodes try to send data at once in the distributed system.

Distributed Systems Concepts

Distributed systems can be found in a wide range of applications, from small-scale home networks to large-scale cloud computing platforms.One of the main benefits of distributed systems is their ability to provide increased scalability and fault tolerance. By distributing the workload across multiple machines, a distributed system can handle a much larger workload than a single machine. Additionally, if one machine in the system fails, the workload can be seamlessly transferred to another machine, minimizing downtime.

Another key benefit of distributed systems is their ability to improve performance. By dividing a task into smaller subtasks and distributing them among multiple machines, a distributed system can often complete the task faster than a single machine could. This is because each machine can work on its subtask in parallel with the others.

To achieve these benefits, distributed systems rely on a number of key technologies and concepts. One of the most important is communication between the machines in the system. In order for the machines to work together as a single system, they must be able to communicate with each other. This is typically accomplished using a variety of networking protocols, such as TCP/IP or MPI.

Another important aspect of distributed systems is consistency and coordination. When multiple machines are working together to accomplish a task, it's essential that they all have a consistent view of the system's state. This is typically achieved using a variety of distributed algorithms, such as Paxos and Raft, which provide a way for the machines to agree on the state of the system.

Distributed systems are also often designed to be fault tolerant, meaning they can continue to function even in the presence of machine or network failures. This is typically achieved by replicating data across multiple machines and using consensus algorithms to maintain consistency in the face of failures.

One of the most common use cases for distributed systems is distributed storage. This is a method of storing data across multiple machines, rather than on a single machine. Distributed storage systems, such as Hadoop HDFS and Google File System (GFS), provide a way to store large amounts of data and ensure that it is available and accessible, even in the event of a machine failure.

Distributed systems are also commonly used for distributed computing. This is a method of using multiple machines to perform a computation, rather than a single machine. Distributed computing systems, such as Apache Spark and Apache Hadoop, provide a way to perform large-scale data processing on distributed clusters.

In conclusion, distributed systems are a powerful tool for solving a wide range of problems that require increased scalability and fault tolerance. By dividing a task into smaller subtasks and distributing them among multiple machines, distributed systems can improve performance and ensure that a task is completed even in the face of machine or network failures. With the rise of containerization and orchestration tooling, it’s easier than ever to deploy and manage distributed systems at scale.

This article on Introduction to Distributed System is contributed by Rajnish Kumar. If you like TheCode11, then do follow us on Facebook, Twitter and Instagram.

Previous Post Next Post

Contact Form