Introduction To Distributed Systems and Characterisation: Valerie G. Silverio
Introduction To Distributed Systems and Characterisation: Valerie G. Silverio
and Characterisation
Valerie G. Silverio
College of Computer Studies
Introduction
Defining Distributed Systems
Characteristics of Distributed Systems
Example Distributed Systems
Challenges of Distributed Systems
Summary
2
Introduction
Corporate networks
Factory networks
Campus networks
Home networks
In-car networks
3
Defining Distributed Systems
4
Leslie Lamport’s Definition
5
Networks vs. Distributed Systems
6
Reasons for Distributed Systems
Functional Separation:
Existence of computers with different capability and purpose:
Clients and Servers
Data collection and data processing
Inherent distribution:
Information:
Different information is created and maintained by different persons (e.g., Web pages)
People
Computer supported collaborative work (virtual teams, engineering, virtual surgery)
Retail store and inventory systems for supermarket chain (e.g., Coles, Safeway)
Power imbalance and load variation:
Distribute computational load among different computers.
Reliability:
Long term preservation and data backup (replication) at different location.
Economies:
Sharing a printer by many users and reduce the cost of ownership.
Building a supercomputer out of a network of computers.
7
Consequences of Distributed Systems
8
Characteristics of distributed systems
Parallel activities
Autonomous components executing concurrent tasks
Communication via message passing
No shared memory
Resource sharing
Printer, database, other services
No global state
No single process can have knowledge of the current global
state of the system
No global clock
Only limited precision for processes to synchronize their clocks
9
Goals of Distributed Systems
10
Differentiation with parallel systems [1]
Multiprocessor systems
Shared memory
Bus-based interconnection network
E.g. SMPs (symmetric multiprocessors) with two or more CPUs
Multicomputer systems
No shared memory
Homogeneous in hard- and software
Massively Parallel Processors (MPP)
Tightly coupled high-speed network
PC/Workstation clusters
High-speed networks/switches based connection.
11
Differentiation with parallel systems is blurring
12
Examples of Distributed Systems
13
A typical portion of the Internet and its services:
Multimedia services providing access to music, radio, TV
channels, video conferencing and supporting several users.
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
Local area
Web server network
email server
print
File server
other servers
the rest of
the Internet
router/firewall
15
Mobile and ubiquitous computing: portable and
handheld devices in a distributed system
Internet
Mobile
phone
Printer Laptop
Camera Host site
http://www.google.com/search?q=Buyya
www.google.com
www.cdk3.net Internet
http://www.cdk3.net/
www.w3c.org
Activity.html
17
Business Example and Challenges
What if
Your customer uses a completely different hardware? (PC,
MAC,…)
… a different operating system? (Windows, Unix,…)
… a different way of representing data? (ASCII, EBCDIC,…)
Heterogeneity
Or
You want to move your business and computers to the
Caribbean (because of the weather)?
Your client moves to the Caribbean (more likely)?
Distribution transparency
19
Business example – challenges II
What if
Two customers want to order the same item at the
same time?
Concurrency
Or
The database with your inventory information
crashes?
Your customers computer crashes in the middle of
an order?
Fault tolerance
20
Business example – challenges III
What if
Someone tries to break into your system to steal data?
… sniffs for information?
… your customer orders something and doesn’t accept
the delivery saying he didn’t?
Security
Or
You are so successful that millions of people are
visiting your online store at the same time?
Scalability
21
Business example – challenges IV
22
Overview challenges I
Heterogeneity
Heterogeneous components must be able to interoperate
Distribution transparency
Distribution should be hidden from the user as much as possible
Fault tolerance
Failure of a component (partial failure) should not result in failure
of the whole system
Scalability
System should work efficiently with an increasing number of users
System performance should increase with inclusion of additional
resources.
23
Overview challenges II
Concurrency
Shared access to resources must be possible
Openness
Interfaces should be publicly available to ease
adding new components
Security
The system should only be used in the way
intended
24
Heterogeneity
25
Distribution Transparency I
26
Distribution Transparency II
Replication transparency
Access to replicated resources as if there was just one.
And provide enhanced reliability and performance without
knowledge of the replicas by users or application
programmers.
Migration (mobility/relocation) transparency
Allow the movement of resources and clients within a
system without affection the operation of users or
applications.
E.g. switching from one name server to another at runtime;
migration of an agent/process form one node to another.
27
Distribution Transparency III
Concurrency transparency
A process should not notice that there are other sharing the same
resources
Performance transparency:
Allows the system to be reconfigured to improve performance as loads
vary.
E.g., dynamic addition/deletion of components. switching from linear
structures to hierarchical structures when the number of users increase.
Scaling transparency:
Allows the system and applications to expand in scale without change to
the system structure or the application algorithms.
Application level transparencies:
Persistence transparency
Masks the deactivation and reactivation of an object
Transaction transparency
Hides the coordination required to satisfy the transactional properties of
operations
28
Fault tolerance
29
Fault tolerance mechanisms
Fault detection
Checksums, heartbeat, …
Fault masking
Retransmission of corrupt messages, redundancy,
…
Fault toleration
Exception handling, timeouts,…
Fault recovery
Rollback mechanisms,…
30
Scalability
31
Concurrency
32
Openness and Interoperability
Open system:
"... a system that implements sufficient open specifications
for interfaces, services, and supporting formats to enable
properly engineered applications software to be ported
across a wide range of systems with minimal changes, to
interoperate with other applications on local and remote
systems, and to interact with users in a style which
facilitates user portability" (Guide to the POSIX Open
Systems Environment, IEEE POSIX 1003.0).
Open spec/standard developers - communities:
ANSI, IETF, W3C, ISO, IEEE, OMG, Trade associations,...
33
Security I
34
Security II
Availability
Protection against interference targeting access to
the resources.
E.g. denial of service (DoS, DDoS) attacks
Non-repudiation
Proof of sending / receiving an information
E.g. digital signature
35
Security mechanisms
Encryption
E.g. Blowfish, RSA
Authentication
E.g. password, public key authentication
Authorization
E.g. access control lists
36
Summary
37