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

Consequences

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)

Examples

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

Summary

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.

Advertisements

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: