We live in a world teeming with different websites and applications, that we use on a daily basis however the underlying technology that builds and delivers these technological experiences is a marvel in and of itself. That is until we understand distributed computing. That may sound very abstract but in fact it is very simple. At least in theory!
Distributed computing is reshaping the ways we handle these complex issues. But what exactly is distributed computing? Imagine if you could pool the power of thousands of computers across the globe, working together to solve problems that a single computer would take centuries to process. Think multiple computers acting as a single system - this is the essence of distributed computing.
The evolution of distributed computing commenced in the 1960s with the emergence of initial networks such as ARPANET, which set the foundation for the modern internet (and one of the first computer networks to implement the TCP/IP protocol). A major advancement took place in the late 1990s with the introduction of initiatives like SETI@Home marking a significant breakthrough. Through the use of home computers, such as PCs and laptops, participants in this initiative were able to analyse radio signals from space in order to aid in the hunt for extraterrestrial life.
Distributed computing works by taking a large problem, such as modelling the folding of proteins requiring large computational resources - and instead breaks it up into smaller pieces which can then be run concurrently on multiple computers at once. These computers are often referred to as nodes. The nodes communicate with each other via a network protocol to share data and exchange results. The two main architectural styles are: