Mod 1 Part 1
Mod 1 Part 1
SYSTEMS
INTRODUCTION TO
DISTRIBUTED SYSTEMS
`
Definition
Motivation for Distributed system
Architectural Categories
Characteristics, Issues, Goals,
Advantages
Disadvantages
DEFINITION
A distributed system is a collection of independent
computers, interconnected via a network, capable of
collaborating on a task.
A distributed system can be characterized as collection
of multiple autonomous computers that communicate
over a communication network and having following
features:
✔ No common Physical clock
✔ Enhanced Reliability
✔ Increased performance/cost ratio
✔ Access to geographically remote data and resources
✔ Scalability
3
DEFINITION CNTD…
System-
Wide
Shared
CPU CPU memory CPU CPU
Interconnection hardware
LOOSELY COUPLED
SYSTEMS
In these systems, the processors do not share
memory, and each processor has its own local
memory .Loosely coupled systems are referred
to as distributed computing systems, or simply
distributed systems
Communication network
CHARACTERISTICS OF DISTRIBUTED
SYSTEM
Concurrency
No global clock
Independent failures
More reliable
Fault tolerant
Scalable
EXAMPLES OF DISTRIBUTED SYSTEMS
Internet/World-Wide Web
13
DATABASE MANAGEMENT
SYSTEM
14
AUTOMATIC TELLER
MACHINE NETWORK
15
INTERNET
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
WORLD-WIDE-WEB
17
WEB SERVERS AND WEB
BROWSERS
http://www.google.comlsearch?q=lyu
www.google.co
m
Browsers
Web servers
www.uu.s Internet
e http://www.uu.se
/
www.w3c.or
g
File system of http://www.w3c.org/Protocols/Activity.htm
www.w3c.org Protocols l
Activity.htm
l
MOBILE AND UBIQUITOUS
COMPUTING
Internet
Mobile
phone
Printer
Laptop Host site
Camera
Distributed System
24
Transparency in a
Distributed
System
ACCESS
TRANSPARENCY
Enables local and remote information objects to be
accessed using identical operations.
26
LOCATION
TRANSPARENCY
Enables information objects to be accessed
without knowledge of their location.
27
CONCURRENCY
TRANSPARENCY
Enables several processes to operate
concurrently using shared information objects
without interference between them.
Example: NFS
28
REPLICATION
TRANSPARENCY
Enables multiple instances of information
objects to be used to increase reliability and
performance without knowledge of the replicas
by users or application programs
29
FAILURE
TRANSPARENCY
Enables the concealment of faults
30
MIGRATION
TRANSPARENCY
Allows the movement of information objects
within a system without affecting the operations
of users or application programs
Relocation Transparency:
Situation in which resources can be relocated
while they are being accessed without the user
or application noticing anything. In such
cases, the system is said to support relocation
transparency.
31
PERFORMANCE
TRANSPARENCY
Allows the system to be reconfigured to
improve performance as loads vary.
32
SCALING
TRANSPARENCY
Allows the system and applications to expand
in scale without change to the system structure
or the application algorithms.
Example: World-Wide-Web
33
HETEROGENEITY
Variety and differences in
⚫ Networks
⚫ Computer hardware
⚫ Operating systems
⚫ Programming languages
⚫ Implementations by different developers
34
SECURITY
In a distributed system, clients send requests to
access data managed by servers, resources in
the networks:
⚫ Doctors requesting records from hospitals
⚫ Users purchase products through electronic commerce
Security is required for:
⚫ Concealing the contents of messages: security and privacy
⚫ Identifying a remote user or other agent correctly
(authentication)
New challenges:
⚫ Denial of service attack
⚫ Security of mobile code
35
FAILURE HANDLING
(FAULT TOLERANCE)
36
CONCURRENCY
Components in distributed systems are
executed in concurrent processes.
Components access and update shared
resources (e.g. variables, databases, device
drivers).
Integrity of the system may be violated if
concurrent updates are not coordinated.
37
SCALABILITY
Scalability of a system can be measured along at
least three different dimensions
scalability with respect to size: meaning that we can
easily add more users and resources to the system.
geographically scalable :system is one in which the
users and resources may lie far apart.
Administratively scalable: meaning that it can still be
easy to manage even if it spans many independent
administrative organizations.
SCALING TECHNIQUES
Hiding communication latencies
⚫ Asynchronous communication
⚫ Allocate more job to client machine
Distribution
⚫ Distribution involves taking a component, splitting it
into smaller parts, and subsequently spreading those
parts across the system. An excellent example of
distribution is the Internet Domain Name System
(DNS)
Replicate
4. BASIC DESIGN ISSUES
Specific issues for distributed systems:
⚫ Naming
⚫ Communication
⚫ Software structure
⚫ System architecture
⚫ Workload allocation
⚫ Consistency maintenance
40
NAMING
A name is resolved when translated into an
interpretable form for resource/object reference.
⚫ Communication identifier (IP address + port number)
⚫ Name resolution involves several translation steps
Design considerations
⚫ Choice of name space for each resource type
⚫ Name service to resolve resource names to comm. id.
Name services include naming context resolution,
hierarchical structure, resource protection
41
COMMUNICATIO
N Separated components communicate with sending
processes and receiving processes for data transfer
and synchronization.
Message passing: send and receive primitives
⚫ synchronous or blocking
⚫ asynchronous or non-blocking
⚫ Abstractions defined: channels, sockets, ports.
Communication patterns: client-server
communication (e.g., RPC, function shipping)
and group multicast
42
SOFTWARE STRUCTURE
Layers in centralized computer systems:
Applications
Middleware
Operating system
43
SOFTWARE STRUCTURE
Layers and dependencies in distributed systems:
Applications
Open
Distributed programming services
support
44
Challenges
• Performance
• Concurrency
• Failures
• Scalability
• System updates/growth
• Heterogeneity
• Openness
• Multiplicity of ownership,
authority
• Security
• Quality of service/user experience
• Transparency
• Debugging
ADVANTAGES OF DISTRIBUTED
SYSTEM
Information Sharing among Distributed Users
Resource Sharing
Extensibility and Incremental growth
Shorter Response Time and Higher Output
Higher Reliability
Better Flexibility’s in meeting User’s needs
Better price/performance ratio
Scalability
Transparency
7
DISADVANTAGES OF
DISTRIBUTED SYSTEM
Difficulties of developing distributed
software
Networking Problem
Security Problems
Performance
Openness
Reliability and Fault Tolerance
8
REFERENCES:
Tanenbaum, Andrew S., and Maarten
Van Steen. Distributed systems:
principles and paradigms. Prentice-Hall,
2007.
Sinha, Pradeep K. Distributed operating systems:
concepts and design. PHI Learning Pvt. Ltd., 1998.
NOC:Distributed Systems,NPTEL