What Is Distributed Computing?

Distributed computing (or distributed processing) is the technique of linking together multiple computer servers over a network into a cluster, to share data and to coordinate processing power. Such a cluster is referred to as a “distributed system.” Distributed computing offers advantages in scalability (through a “scale-out architecture”), performance (via parallelism), resilience (via redundancy), and cost-effectiveness (through the use of low-cost, commodity hardware).

 

As data volumes have exploded and application performance demands have increased, distributed computing has become extremely common in database and application design. This is why it is especially valuable for scaling so that as data volumes grow, that extra load can be handled by simply adding more hardware to the system. Contrast this to traditional “big iron” environments consisting of powerful computer servers, in which load growth must be handled by upgrading and replacing the hardware.

An overview of how distributed computing works.
In distributed computing, multiple computer servers are tied together across a network to enable large workloads that take advantage of all available resources.

Distributed Computing in Cloud Computing

The growth of cloud computing options and vendors has made distributed computing even more accessible. Although cloud computing instances themselves do not automatically enable distributed computing, there are many different types of distributed computing software that run in the cloud to take advantage of the quickly available computing resources.

Previously, organizations relied on database administrators (DBAs) or technology vendors to link computing resources across networks within and across data centers to be able to share resources. Now, the leading cloud vendors make it easier to add servers to a cluster for additional storage capacity or computing performance.

With the ease and speed in which new computing resources can be provisioned, distributed computing enables greater levels of agility when handling growing workloads. This enables “elasticity,” in which a cluster of computers can be expanded or contracted easily depending on the immediate workload requirements.

Key Advantages

Distributed computing makes all computers in the cluster work together as if they were one computer. While there is some complexity in this multi-computer model, there are greater benefits around:

  • Scalability. Distributed computing clusters are easy to scale through a “scale-out architecture” in which higher loads can be handled by simply adding new hardware (versus replacing existing hardware).
  • Performance. Through parallelism in which each computer in the cluster simultaneously handles a subset of an overall task, the cluster can achieve high levels of performance through a divide-and-conquer approach.
  • Resilience. Distributed computing clusters typically copy or “replicate” data across all computer servers to ensure there is no single point of failure. Should a computer fail, copies of the data on that computer are stored elsewhere so that no data is lost.
  • Cost-effectiveness. Distributed computing typically leverages low-cost, commodity hardware, making initial deployments as well as cluster expansions very economical.

 

Related Topics

Edge Computing

Grid Computing

In-Memory Computation

In-Memory Data Grid

In-Memory Processing

Further Reading

In-Memory, Distributed Data Structures for the Masses

Distributed Caching

Relevant Resources

Video

Distributed Computing with Hazelcast

Today’s amounts of collected data are showing a nearly exponential growth. More than 75% of all the data have been collected in the past 5 years. To store this data and process it in an appropriate time you need to partition the data and parallelize the processing of reports and analytics. This journey will give an interactive introduction into Distributed and In-Memory Computing with Hazelcast - containing a few slides, some live-coding and last but not least discussions and questions.
Webinar
| Video
| 60 minutes

Introduction to In-Memory Data Grids

The speed at which today’s evolving data is exploding (90% of all data was collected in the last 2 years) imposes complex business problems that prevailing technology platforms can not address. This is preventing Enterprises from quickly extracting business value from this data. This poses further challenges as the value of data and the insights we can get from them decrease if it takes too long to take action. In this talk, we will learn how Hazelcast® addresses these problems and helps Enterprises overcome the challenges of extracting business value from massive scale data. You will be introduced to Distributed Systems and In-Memory Computing with Hazelcast. This talk will cover some familiar distributed data structures like Maps, Lists, Queues, etc., along with running complex business algorithms in parallel over a Hazelcast cluster by using Distributed Executor Service, EntryProcessors and In-Memory MapReduce.
View All Resources