Distributed Systems, a Beginner Friendly Introduction with advantages and disadvantages

 

Introduction to Distributed System

Computer systems are undergoing a revolution. Computers were big and pricey from 1945, when the modern computer era started, to 1985 or so. The majority of businesses only possessed a small number of computers, and because there were no links between them, they all ran separately from one another.

However, beginning in the middle of the 1980s, two technological developments started to alter that position.

  • The introduction of potent microprocessors was the first. These were 8-bit devices at first, but 16-, 32-, and even 64-bit CPUs quickly gained popularity.

  • High-speed computer networks were created, which was the second advancement. Numerous machines can be connected to one another within a building using local area networks (LANs), allowing for the millisecond-level transport of modest amounts of data between them. Millions of machines can link with one another thanks to wide area networks, or WANs.

As a result of these technologies, connecting a large number of CPUs via a high-speed network is now not only possible but also simple. Usually, they are referred to as distributed systems.

A single CPU, its memory, peripheral devices, and some terminals make up a centrally located system, also known as a single-processor system. Software for distributed systems differs from that for centralised ones.

Definition of Distributed System:

A distributed system is made up of several separate computers that work together to give users the impression of using a single computer.

This definition has two aspects.

• The first is a hardware issue because autonomous machines are involved.

• The users perceive the system as a single computer in the second, which has to do with software.

Both are essential.

Think of a departmental network of workstations in a school or business, for instance. In the machine room, there might be a number of processors for each user's individual workstation that aren't specifically allotted to anyone and are instead dynamically allocated as needed. The system may use a single file system, with identical access methods and path names for all files on all devices. Execute commands entered by users on their personal workstations. Possible locations include vacant processors in the machine room and idle workstations belonging to others. This system, which resembles a traditional single-processor timesharing system, would be considered distributed.

GOALS

Now, we will discuss the motivation and goals of distributed systems and look at their advantages and disadvantages compared to traditional centralized systems.

Advantages of Distributed Systems over Centralized Systems

Economics is the true driving force behind a distributed system. According to Grosch's law, a CPU's processing capability is proportional to the square of its cost. You can get four times the performance for a price that is double that. Grosch's law is no longer relevant in the age of microprocessor technology. Today, the identical CPU can be purchased for double the price and run at a slightly faster clock speed. As a result, connecting a lot of inexpensive CPUs to one another in a system is the most economical method. A single large centralised system has a substantially worse price/performance ratio than a distributed system.

In addition to offering a higher price/performance ratio than a single mainframe, a group of microprocessors may also deliver an absolute performance that no mainframe, regardless of price, can match. For instance, using current technology, a system with a total performance of 500,000 MIPS can be constructed using 10,000 modern CPU chips, each of which runs at 50 MIPS (Millions of Instructions Per Second). To do this, a single processor (i.e., CPU) would need to execute an instruction in 0.002 nsec (2 pico sec). No machine now in use even comes close to this. Consequently, whether the objective is a typical performance at a cheap cost or an exceptionally high performance at a higher cost

We prefer to refer to any system in which several networked CPUs collaborate as a "distributed system" in the broadest sense.

The fact that some applications are by nature distributed is the second justification for developing a distributed system. A chain of supermarkets may have numerous locations, each of which receives local deliveries of items (perhaps from nearby farms), conducts local business, and makes local decisions. Therefore, it makes logical to maintain track of inventories locally rather than centrally at corporate headquarters at each store. The majority of searches and updates will be made locally, after all. But occasionally, upper management could request reports from each neighbourhood store. Making the entire system appear to application programmes to be a single computer while implementing it decentralizedly, as we have explained, with one computer per store, is one technique to achieve this goal.

Another benefit is computer-supported cooperative work, when a group of individuals who are spread out geographically collaborate to generate something like a joint report. For instance, real-time competition amongst players located in various locations during computer-supported cooperative games.

Higher dependability is another potential benefit of a distributed system versus a centralised system. Because the workload is spread over numerous machines, a single chip failure will only affect one of them, leaving the others unaffected. Ideally, the system should be able to function with a performance loss of 5% even if 5% of the computers are down at any given time.

Last but not least, gradual expansion has the potential to be better than a centralised system. A business will frequently purchase a mainframe with the idea of using it for all of its operations. If the company's workload increases, the mainframe will eventually become insufficient. The only options are to either add a second mainframe or replace the current mainframe with a bigger one (assuming one already exists). However, with a distributed system, it might be easy to simply add more processors, allowing the system to grow gradually as needed.

Advantages of Distributed Systems over Independent PCs

Microprocessors provide for efficient corporate operations where each user has their own PC and may operate independently while sharing data among multiple users. The devices must be connected since shared data are crucial to this application and many others.

In a distributed system, we can share costly peripherals like colour laser printers, phototypesetters, etc. in addition to data between several users.

To improve interpersonal communication, a set of separate computers can be linked together to form a distributed system. Electronic mail provides several benefits over conventional letters, phone calls, and FAXes, according to many people. Contrary to FAX, it produces documents that may be changed, rearranged, stored in the computer, and manipulated using text processing software. It is also significantly faster than paper mail, does not need that both parties be accessible at the same time as does the telephone.

A distributed system is also more adaptable than providing each user with their own personal computer. A distributed system consists of a mix of private and public computers, sometimes of various sizes. The task can be distributed among the computers more efficiently, and the loss of a few machines might be made up for by allowing employees to work in other locations.

 

Disadvantages of Distributed Systems

Distributed systems have advantages and strengths, but they can have drawbacks. We'll mention a couple of them in this section.

The worst issue is already mentioned: software. We don't have a lot of experience creating, implementing, and using distributed software given the current state of the art. What kind of applications, operating systems, and programming languages are suitable for these systems? How much of the distribution should the users be aware of? What should the system do and what should the users accomplish?

The communication network is also a possible issue. It can get overloaded and lose messages, both of which require specialised software to recover. The network must either be replaced when it reaches saturation point or a second one must be added. In both situations, a costly network rewiring project or network interface board replacement may be necessary (e.g., by fibre optics). When a system becomes to rely on a network, its loss or saturation can eliminate the majority of the benefits that a distributed system was designed to provide.

Finally, security issues arise frequently. It is frequently desirable to have a dedicated, isolated personal computer that is maintained in a closed room and has no network connections to any other devices for data that must be kept hidden at all costs.

 

 

Thanks for Reading, If your Liked the content Please Share it with your peers.