Introduction to distributed computing

Edison Devadoss
YavarTechWorks
Published in
2 min readJan 12, 2023

--

Hi friends, In the blog, I will explain my understanding of Distributed computing.

https://www.photopea.com

Distributed computing is where multiple computer units are connected to achieve a common task. The larger computing power enables a lot more tasks to be performed than in a single unit.

An example of distributed computing project is hunting large prime numbers, and analyzing DNA codes.

We may encounter another term Distributed system. What is the difference between both?

The distributed system is a collection of autonomous computers, connected through a network and distribution middleware, which enables computers to coordinate their activities and share the resources of the system. All distributed computing needs distributed system.

Why do we need distributed computing?

Here I will give a few main reasons:

  • Scaling
  • Reliable
  • Performance

Scaling:

Scaling is the first main reason for distributed computing. There are two types of scaling. Vertical scaling and Horizontal scaling.

Vertical scaling: Vertical scaling is adding more resources to the computer. Like increasing RAM memory and hard disk.

But it can not fully fix the problem. At one point of the time system is overloaded with traffic. The solution for this is Horizontal scaling.

Horizontal Scaling: Horizontal Scaling is adding more computer resource parallel. It connected more computers together for common tasks.

Reliable:

Since distributed computing is connected to more computers, If one computer/hardware fails, another one takes responsibility. Reliability is one of the main characteristics of distributed computing.

Performance:

In distributed computing, data is stored dividedly store multiple systems. When the user makes a request we do not need to query the full database, because data is stored in multiple systems.

Challenges in distributed computing:

  • Partial failure — Network failure, some nodes are working and others are failed)
  • Concurrency — Running tasks in parallel
  • Performance — Complexity in achieving application performance.

Thank you for reading. Have a nice day!

--

--

Edison Devadoss
YavarTechWorks

Software developer / JavaScript / React / React Native / Firebase / Node.js / C Programming / Book Reader