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.
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.
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.
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.
No comments:
Post a Comment