01 ds motivation session 1
TRANSCRIPT
-
7/29/2019 01 Ds Motivation Session 1
1/30
Distributed Systems / 1 - 1
Outline
1. What is a Distributed System
2. Why botherwith them?3. Examples of Distributed Systems
4. Common Characteristics
5. Summary
-
7/29/2019 01 Ds Motivation Session 1
2/30
Distributed Systems / 1 - 2
Outline
1. What is a Distributed System
2. Why botherwith them?3. Examples of Distributed Systems
4. Common Characteristics
5. Summary
-
7/29/2019 01 Ds Motivation Session 1
3/30
Distributed Systems / 1 - 3
What is Distributed?
Data are Distributed If data must exist in multiple computers for admin and ownership reasons
Computation is Distributed
Applications taking advantage of parallelism, multiple processors,
particular feature
Scalability and heterogeneity of Distributed System
Users are Distributed
If Users communicate and interact via application (shared objects)
-
7/29/2019 01 Ds Motivation Session 1
4/30
Distributed Systems / 1 - 4
History of Distributed Computing
1940. The British Government came to the conclusion that
2 or 3 computers would be sufficient for UK.
1960. Mainframe computers took up a few hundred square
feet.
1970. First Local Area Networks (LAN) such as Ethernet.
1980. First network cards for PCs.
1990. First wide area networks, the Internet, that evolved
from the US Advanced Research Projects Agency net
(ARPANET, 4 nodes in 1969) and was, later, fueled by therapid increase in network bandwith and the invention of
the World Wide Web at CERN in 1989.
-
7/29/2019 01 Ds Motivation Session 1
5/30
Distributed Systems / 1 - 5
Distributed System Types (Enslow 1978)
Fully Distributed
Processors
Control
Fully replicated
Not fully replicated master directory
Local data, local directory
Master-slave
Autonomous transaction based
Autonomous fully cooperative
Homog.special
purposeHeterog.
special
purpose
Homog.general
purposeHeterog.
general
purpose
-
7/29/2019 01 Ds Motivation Session 1
6/30
Distributed Systems / 1 - 6
1. What is a Distributed System?
A collection of components that execute on different
computers. Interaction is achieved using a computer network.
A distributed system consists of a collection of autonomouscomputers, connected through a network and distributed
operating system software, which enables computers to
coordinate their activities and to share the resources of the
system, so that users perceive the system as a single,
integrated computing facility.
-
7/29/2019 01 Ds Motivation Session 1
7/30
Distributed Systems / 1 - 7
1.1 Centralised System Characteristics
Non-autonomous parts: The system possesses full control.
Homogeneous: Constructed using the same technology
(e.g., same programming language and compiler for all
parts).
Component shared by all users all the time.
All resources accessible.
Software runs in a single process.
Single Point of control.
Single Point of failure (either they work or they do not
work).
-
7/29/2019 01 Ds Motivation Session 1
8/30
Distributed Systems / 1 - 8
1.2 Distributed System Characteristics
Multiple autonomous components.
Heterogeneous.
Components are not shared by all users.
Resources may not be accessible. Software runs in concurrent processes on different
processors.
Multiple Points of control.
Multiple Points of failure (but more fault tolerant!).
-
7/29/2019 01 Ds Motivation Session 1
9/30
Distributed Systems / 1 - 9
1.3 Model of a Distributed System
Component1
Componentn
Middleware
Network Operating System
Hardware
Host 1
Component1
Componentn
Middleware
Network Operating System
Hardware
Host n
..
..
...
Network
-
7/29/2019 01 Ds Motivation Session 1
10/30
Distributed Systems / 1 - 10
2. Examples of Distributed Systems
Local Area Network
Database Management System
Automatic Teller Machine Network
World-Wide Web
-
7/29/2019 01 Ds Motivation Session 1
11/30
Distributed Systems / 1 - 11
2.1 Local Area Network
-
7/29/2019 01 Ds Motivation Session 1
12/30
Distributed Systems / 1 - 12
2.2 Database Management System
-
7/29/2019 01 Ds Motivation Session 1
13/30
-
7/29/2019 01 Ds Motivation Session 1
14/30
Distributed Systems / 1 - 14
3. Common Characteristics
What are we trying to achieve when weconstruct a distributed system?
Certain common characteristics can be used
to assess distributed systems Resource Sharing Openness
Concurrency
Scalability Fault Tolerance
Transparency
-
7/29/2019 01 Ds Motivation Session 1
15/30
Distributed Systems / 1 - 15
3.1 Resource Access and Sharing
Ability to use any hardware, software or data
anywhere in the system ... once authorised!.
Security implications: Resource manager
controls access, provides naming schemeand controls concurrency.
Resource sharing model:
client/servervs n-tier architectures.
-
7/29/2019 01 Ds Motivation Session 1
16/30
Distributed Systems / 1 - 16
3.2 Openness
Openness is concerned with extensions and
improvements of distributed systems.
Detailed interfaces of components need to be
standardized and published. It is crucial because the overall architecture
needs to be stable even in the face of
changing functional requirements.
-
7/29/2019 01 Ds Motivation Session 1
17/30
Distributed Systems / 1 - 17
3.3 Concurrency
Components in distributed systems areexecuted in concurrent processes.
Components access and update shared
resources (e.g. variables, databases, devicedrivers).
Integrity of the system may be violated if
concurrent updates are not coordinated.
Lost updates
Inconsistent analysis
-
7/29/2019 01 Ds Motivation Session 1
18/30
Distributed Systems / 1 - 18
3.4 Scalability
Adaptation of distributed systems to accommodate more users
respond faster (this is the hard one)
Usually done by adding more and/or fasterprocessors.
Components should not need to be changed
when scale of a system increases.
Design components to be scalable!
-
7/29/2019 01 Ds Motivation Session 1
19/30
Distributed Systems / 1 - 19
3.5 Fault Tolerance
Hardware, software and networks fail!
Distributed systems must maintain availability
even at low levels of
hardware/software/network reliability.
Fault tolerance is achieved by
Redundancy (replication)
Recovery Design
-
7/29/2019 01 Ds Motivation Session 1
20/30
Distributed Systems / 1 - 20
3.6 Transparency
Distributed systems should be perceived by usersand application programmers as a whole rather
than as a collection of cooperating components.
Transparency has different aspects that were
identified by ANSA (Advanced Network SystemsArchitecture).
These represent properties that a well-designed
distributed systems should have
They are dimensions against which we measure
middleware components.
-
7/29/2019 01 Ds Motivation Session 1
21/30
Distributed Systems / 1 - 21
3.6.1 Access Transparency
Enables local and remote information objects to be
accessed using identical operations, that is, the interface
to a service request is the same for communication
between components on the same host and components
on different hosts. Example: File system operations in Unix Network File
System (NFS).
A component whose access is not transparent cannot
easily be moved from one host to the other. All othercomponents that request services would first have to be
changed to use a different interface.
-
7/29/2019 01 Ds Motivation Session 1
22/30
Distributed Systems / 1 - 22
3.6.2 Location Transparency
Enables information objects to be accessedwithout knowledge of theirphysical location.
Example: Pages in the Web.
Example: When an NFS administrator movesa partition, for instance because a disk is full,
application programs accessing files in that
partition would have to be changed if file
location is not transparent for them.
-
7/29/2019 01 Ds Motivation Session 1
23/30
Distributed Systems / 1 - 23
3.6.3 Migration Transparency
Allows the movement of information objects within asystem without affecting the operations of users or
application programs.
It is useful, as it sometimes becomes necessary to move a
component from one host to another (e.g., due to an
overload of the host or to a replacement of the hosthardware).
Without migration transparency, a distributed system
becomes very inflexible as components are tied to
particular machines and moving them requires changes inother components.
-
7/29/2019 01 Ds Motivation Session 1
24/30
Distributed Systems / 1 - 24
3.6.4 Replication Transparency
Enables multiple instances of informationobjects to be used to increase reliability and
performance without knowledge of the
replicas by users or application programs.
Example: Distributed DBMS.
Example: Mirroring Web Pages.
-
7/29/2019 01 Ds Motivation Session 1
25/30
Distributed Systems / 1 - 25
3.6.5 Concurrency Transparency
Enables several processes to operate
concurrently using shared information objects
without interference between them. Neither
user nor application engineers have to seehow concurrency is controlled.
Example: Bank applications.
Example: Database management system.
-
7/29/2019 01 Ds Motivation Session 1
26/30
Distributed Systems / 1 - 26
3.6.6 Scalability Transparency
Allows the system and applications to expandin scale without change to the system
structure or the application algorithms.
How system behaves with more components
Similar to performance Transparency, i.e
QoS provided by applications.
Example: World-Wide-Web.
Example: Distributed Database.
-
7/29/2019 01 Ds Motivation Session 1
27/30
Distributed Systems / 1 - 27
3.6.7 Performance Transparency
Allows the system to be reconfigured toimprove performance as loads vary.
Consider how efficiently the system uses
resources.
Relies on Migration and Replication
transparency
Example: TCP/IP routes according to traffic.
Load Balancing.
Difficult to achieve because of dynamism
-
7/29/2019 01 Ds Motivation Session 1
28/30
Distributed Systems / 1 - 28
3.6.8 Failure Transparency
Enables the concealment of faults! Components can be designed without taking into
account that services they rely on might fail.
Server components can recover from failures
without the server designer taking measures forsuch recovery.
Allows users and applications to complete their
tasks despite the failure of other components.
Its achievement is supported by both concurrency
and replication transparency.
i i Of
-
7/29/2019 01 Ds Motivation Session 1
29/30
Distributed Systems / 1 - 29
Dimensions Of Transparency
ScalabilityTransparency
MigrationTransparency
AccessTransparency
PerformanceTransparency
ReplicationTransparency
LocationTransparency
FailureTransparency
ConcurrencyTransparency
4 S
-
7/29/2019 01 Ds Motivation Session 1
30/30
Distributed Systems / 1 - 30
4. Summary
What is a distributed system and how does it
compare to a centralised system?
What are the characteristics of distributedsystems?
What are the different dimensions of
transparency?