Distributed Systems: Introduction - Module 1
Distributed Systems: Introduction - Module 1
Introduction – Module 1
DISTRIBUTED SYSTEMS - Introduction
• From 1945, when the modern computer era began, until about 1985 computers were
large and expensive.
• The first was the development of powerful microprocessors. Initially these were 8-bit
machines but soon 16-, 32-, and 64-bit CPUs became common.
• The second development was the invention of high-speed computer networks.
• Local-area networks or LANs allow thousands of machines within a building to be
connected in such a way that small amounts of information can be transferred in a few
microseconds or so. Larger amounts of data can be moved between machines at rates of
billions of bits per second (bps).
• Wide-area networks or WANs allow hundreds of millions of machines all over the earth to
be connected at speeds varying from tens of thousands to hundreds of millions bps.
Definition
• A distributed system is a collection of independent computers that
appear to the users of the system as a single computer.
[Andrew Tanenbaum]
1. Concurrency
2. No global clock
3. Independent failures
Common Goals:
• Heterogeneity – can the system handle a large variety of types of PCs and devices?
• Robustness – is the system resilient to host crashes and failures, and to the network dropping
messages?
• Availability – are data+services always there for clients?
• Transparency – can the system hide its internal workings from the users?
• Concurrency – can the server handle multiple clients simultaneously?
• Efficiency – is the service fast enough? Does it utilize 100% of all resources?
• Scalability – can it handle 100 million nodes without degrading service? (nodes=clients
and/or servers) How about 6 B? More?
• Security – can the system withstand hacker attacks?
• Openness – is the system extensible?
Example of Distributed system
• Web search
• Massively Multiplayer Online Games (MMOGs)
• Financial trading
Selected application domains and associated networked applications: