Technologies for Distributed Computing
Content Outline of the Article:
1.What is Distributed Computing
2.How Distributed Computing works
3.Benefits of Distributed Computing
4.Disadvantages of Distributed Computing
5.Major Distributed Computing Technologies
6.Conclusion
What is Distributed Computing?
Distributed computing is a model in which components of a software system are shared among multiple computers or nodes. Even though the software components may be spread out across multiple computers in multiple locations, they're run as one system. This is done to improve efficiency and performance. The systems on different networked computers communicate and coordinate by sending messages back and forth to achieve a defined task.
How Distributed Computing works
Distributed computing networks can be connected as local networks or through a wide area network if the machines are in a different geographic location. Processors in distributed computing systems typically run in parallel.
In enterprise settings, distributed computing generally puts various steps in business processes at the most efficient places in a computer network. For example, a typical distribution has a three-tier model that organizes applications into the presentation tier (or user interface), the application tier and the data tier. These tiers function as follows:
In addition to the three-tier model, other types of distributed computing include client-server, n-tier and peer-to-peer:
Benefits of Distributed Computing
Distributed computing includes the following benefits:
Disadvantages of Distributed Computing
Complexity
Distributed computing systems are difficult to deploy, maintain and troubleshoot/debug than their centralized counterparts. The increased complexity is not only limited to the hardware as distributed systems also need software capable of handling the security and communications.
Recommended by LinkedIn
Higher Initial Cost
The deployment cost of a distribution is higher than a single system. Increased processing overhead due to additional computation and exchange of information also adds up to the overall cost.
Security Concerns
Data access can be controlled fairly easily in a centralized computing system, but it’s not an easy job to manage security of distributed systems. Not only the network itself has to be secured, users also need to control replicated data across multiple locations.
Major Distributed Computing Technologies
There are three major distributed computing technology which are given below:
Mainframes:
Mainframes were the first example of large computing facilities which leverage multiple processing units. They are powerful, highly reliable computers specialized for large data movement and large I/O operations. Mainframes are mostly used by large organizations for bulk data processing such as online transactions, enterprise resource planning and other big data operations. They are not considered as a distributed system; however they can perform big data processing and operations due to their high computational power by multiple processors.
One of the most attractive features of mainframe was the ability to be highly reliable computers that were always on and capable of tolerating failures transparently. Furthermore, system shutdown is not required to change its component. Batch processing is the important application of mainframes. Their popularity has been reduced nowadays.
Clusters:
Clusters have started as the low-cost alternative to the mainframes and supercomputer. Due to advancement of technology in mainframes and supercomputers, other hardware’s and machines have become cheap which are connected by high bandwidth networks controlled by specific software tools that manage the messaging system. Since the 1980s cluster has become standard technology for parallel and high-performance computing. Due to their low investment cost different research institutions, companies, universities now a day use clusters.
This technology contributed to the evolution of tools and framework for distributed computing like Condor, PVM, MP. One of the attractive features of clusters is the cheap machines with high computational power to solve the problem. And clusters are scalable. Example of a cluster is amazon EC2 clusters to process data using Hadoop which has multiple nodes(machines) with master nodes and data nodes and we can scale it if we have a big volume of data.
Grids:
They appeared in the early 1990’s as the evolution of cluster computing. Grid computing can have an analogy with electric power grid which is an approach to use high computational power, storage services and other variety of services. Users can consume resources in the same way as use of utilities such as power, gas and water. Grids initially developed aggregation of geographically dispersed clusters by means of internet connections and clusters belonging to different organizations and arrangement is made to share computational power between those organizations. Grid is dynamic aggregation of heterogeneous computing nodes which can be both nationwide and worldwide.
Different development in technology has made possible in diffusion of computing grids which are:
Conclusion
Distributed computing helps improve performance of large-scale projects by combining the power of multiple machines. It’s much more scalable and allows users to add computers according to growing workload demands. Although distributed computing has its own disadvantages, it offers unmatched scalability, better overall performance and more reliability, which makes it a better solution for businesses dealing with high workloads and big data.
Distributing technology has led to the development of cloud computing.
This is all about my article on Technologies for Distributed Computing.
Thank you.
Can you please also help in making making a distributed computer for load balancing?