Distributed Computing – Introduction

Introduction to distributed computing

As this is just an intro I’ll keep it brief…

Sooooo, what is a distributed system? I’m going to ‘borrow’ the description that Matt used in his COMP10052 posts (this post to be precise):

A distributed system is one in which independent, self-sufficient, often heterogeneous and autonomous,spatially separated components must use a common interconnect to exchange information in order to coordinate their actions and allow the whole to appear to its users as a single coherent system.
So basically, it’s a computing platform built with many computers that:
  • Operate concurrently
  • Are physically distributed (maybe across a room, maybe across an ocean)
  • Are linked by a network (quite an important part)
  • Have independent clocks


There are some consequences of running a distributed system. They aren’t necessarily bad but they need to be considered.

  • There’s no such thing as a global clock (not even Big Ben)
  • There’s no global state (s0 there isn’t any process that knows the current global system state)
  • The usual consequences that come from parallel processing, like race conditions and deadlocks
  • System failures can occur on one machine (so it’s important we build a system that can keep running when machines fail)


There are lots and lots and lots of distributed systems around, so here’s a few examples:

  • The world wide web
  • DNS
  • P2P networks
  • e-banking networks

The real advancements in distributed computing came with the rise of the web in the early 90s and network technology developed quickly.

The 8 fallacies of distributed computing

There’s no point in me going over these again when Matt has summarised them perfectly in a COMP10052 post, so I’m just going to link to that post. Read the 8 fallacies (aka axioms) and then come back here for the summary.

Click here for the post


There really isn’t much to add, as it is just an introductory post, so:

  • Remember what a distributed system is
  • Learn what the consequences to consider in creating one are
  • Learn the 8 fallacies / axioms
  • Floss

And that’s everything.


About Shaun
I'm super cool and I do computer science (unrelated to the coolness)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: