Share the latest technology trends or photos of gadgets you love.

Distributed Computing

Distributed Computing

It is a part of the computer science field which studies distributed systems. In this article, we will gain more insight into this form along with some examples.
Bhakti Satalkar
A distributed system is a system which consists of multiple autonomous computers who communicate with each other through the computer network. These computers interact with each other so that they can achieve a common set goal. Any computer program which runs in such a system is known as 'distributed program', whereas 'distributed programming' refers to the process of writing any such programs. To make things simpler, a problem is divided into a number of tasks and each of the task is solved by one computer.

What Does it Mean?

When one refers to this term, either in 'programming' or 'algorithm', it refers to computer networks where individual computers are physically distributed within certain geographical area. These terms now have a wider meaning and refer to autonomous processes which run on the same physical computer and communicate with each other by passing messages. It is very difficult to define such a system, but each of these do have certain properties which are a part of the systems. They are:
  • Although there are a number of autonomous computational entities, each of these have their own local memory.
  • The different entities, who are a part of the system communicate between each other by passing messages.
  • The system should be able to tolerate problems or failures in individual computers.
  • Often the structure of the system, inclusive of the types of network topologies, number of computers, etc., are not known in advance. There can be different kinds of computers and network links which can be a part of the system. At the same time, there are chances of the system changing completely or partially during the execution of such a program.
  • A disadvantage of the system is that each node or computer in the system has only limited and incomplete view of the entire system anonly d each computer is able to view part of the input.

It is an environment which was developed in the early 1990s' by a consortium and acronymed as 'DCE'. The framework and toolkit for developing client/server applications is supplied by DCE. It is said to be a gigantic step in direction of standardization of architectures, which were initially dependent on the manufacturer. Like was the case with OSI model, DCE also did not gain success, however, the underlying concept prevailed.

Principles, Algorithms and Systems

When we start looking for its algorithms, there is a major confusion which arises between 'concurrent', 'parallel', and 'distributed' computing. They overlap, and making a clear distinction between them is a difficult task. Same system can have characteristics of parallel as well as distributed system, as the processors in a typical system often run concurrently. The basic criteria, which can be used to make the distinction, is access to memory. In parallel computing, all processors share the memory, whereas in distributed computing, each processor has its own private memory. The distributed computing projects which use message-passing models have certain characteristics.
  • The designer of the algorithm is the only one who is allowed to choose the computer program and all the computers run the chosen programs.
  • It is necessary that the system works correctly irrespective of the structure of the network.
  • There is a commonly used model which is a graph with one finite-state machine per node.
  • When one talks of distributed algorithms, the computational problems are typically related to graphs.
  • More often than not, the graph which describes the structure of the computer network is the problem instance.
Let's understand this better, with the help of an example.

The graph G is a graph of structure of the computer network. There is one computer, which is located on each node of G and there is single communication link for each edge of G. In the beginning, each computer which is a part of the graph knows only about its immediate neighbors. In order to discover each other, the computers have to exchange messages. This will also help them to discover more about the structure of graph G. It is mandatory that each computer produces its own color as output. The main focus of this algorithm is to coordinate the operation of any arbitrary system.

There are various distributed computing software that have now been developed. It is used in various fields ranging from biology and medicine, to earth sciences, mathematics (but naturally), physics and astronomy, as well as multi-applications projects. There are also a number of upcoming projects in the field of artificial intelligence as well as non-specialized projects, some of which are also based in the field of plasma technology.