0% found this document useful (0 votes)
12 views

Chapter 1 - Introduction to Distributed System

Uploaded by

yaa357621
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Chapter 1 - Introduction to Distributed System

Uploaded by

yaa357621
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

Introduction To Distributed System

Outlines
• Chapter 1: Introduction
• Chapter 2: Architecture
• Chapter 3: Process
• Chapter 4: Communication
• Chapter 5: Naming
• Chapter 6: Synchronization
• Chapter 7: Consistency & Replication
• Chapter 8: Fault Tolerance

01/21/2025 04:18:51 PM 1
Objectives of learning DS

• Connecting Users and Resources:


• 2. Transparency:
• 3. Openness:
• 4. Scalable:

01/21/2025 04:18:51 PM 2
01/21/2025 04:18:51 PM 3
Chapter 1 - Introduction to Distributed System
1.1 Introduction and Definition
 before the mid-80s, computers were
 very expensive (hundred of thousands or even millions of dollars)
 very slow (a few thousand instructions per second)
 not connected among themselves
 after the mid-80s: two major developments
 cheap and powerful microprocessor-based computers appeared
 computer networks
 LANs at speeds ranging from 10 to 1000 Mbps
 WANs at speed ranging from 64 Kbps to gigabits/sec

 consequence
 feasibility of using a large network of computers to work for the same
application; this is in contrast to the old centralized systems where there
01/21/2025 04:18:51 PM 4
was a single computer with its peripherals.
Definition of a Distributed System

a distributed system is:


a collection of independent computers that appears to its users
as a single coherent system - computer
this definition has two aspects:
1.hardware: autonomous machines
2.software: a single system view for the users
Other Definitions
A distributed system is a system designed to support the
development of applications and services which can
exploit a physical architecture consisting of multiple,
autonomous processing elements that do not share
primary memory but cooperate by sending asynchronous
messages over a communication network
01/21/2025 04:18:51 PM 5
Why Distributed?
A. Resource and Data Sharing
 printers, databases, multimedia servers, ...
B. Availability

A distributed system will normally be continuously available, although perhaps


some parts may be temporarily out of order
• Reliability :it hides, as best and reasonable as possible, the differences in
hardware and operating systems from each application.
 Scalability, Extensibility
 the system grows with demand (e.g., extra servers)
 Performance
 huge power (CPU, memory, ...) available
 Inherent distribution, communication
01/21/2025 04:18:51 PM 6
 organizational distribution, e-mail, video
DS

• scalability

01/21/2025 04:18:51 PM 7
Problems of Distribution
 Concurrency, Security
clients must not disturb each other
 Privacy
unwanted communication such as spam
 Partial failure
we often do not know where the error is (e.g., RPC)
 Location, Migration, Replication
clients must be able to find their servers
 Heterogeneity
hardware, platforms, languages, management

01/21/2025 04:18:51 PM 8
Characteristics of Distributed Systems
differences between the computers and the ways they communicate are hidden
from users
users and applications can interact with a distributed system in a consistent and
uniform way regardless of location
distributed systems should be easy to expand and scale
a distributed system is normally continuously available, even if there may be
partial failures
1.2 Organization and Goals of a Distributed System

to support heterogeneous computers and networks and to provide a single-system


view, a distributed system is often organized by means of a layer of software called
01/21/2025 04:18:51 PM 9
middleware that extends over multiple machines.
a distributed system organized as middleware; note that the
middleware layer extends over multiple machines

01/21/2025 04:18:51 PM 10
Goals of a distributed system:
 a distributed system should be
 easily connect users with resources (printers, computers, storage
facilities, data, files, Web pages, ...)
 reasons: economics, to collaborate and exchange information
 be transparent: hide the fact that the resources and processes are
distributed across multiple computers
 be open
 be scalable
Transparency in a Distributed System
 a distributed system that is able to present itself to users and applications
as if it were only a single computer system is said to be transparent
01/21/2025 04:18:51 PM 11
 different forms of transparency in a distributed system
Transparency Description
Access Hide differences in data representation
(endianness, file naming, ...) and how a resource
is accessed
Location Hide where a resource is physically located; where
is http://www.prenhall.com/index.html? (naming)
Migration Hide that a resource may move to another location
Relocation Hide that a resource may be moved to another location while in use;
e.g., mobile users using their wireless laptops
ReplicationHide that a resource is replicated
Concurrency Hide that a resource may be shared by several
competitive users; a resource must be left in a consistent state
Failure Hide the failure and recovery of a resource
Persistence Hide whether a (software) resource is in memory or on
disk
01/21/2025 04:18:51 PM 12
Openness in a Distributed System
a distributed system should be open
we need well-defined interfaces
interoperability
components of different origin can communicate
portability
components work on different platforms
Another goal of an open distributed system is that it should be
flexible and extensible; easy to configure the system out of different
components; easy to add new components, replace existing ones
01/21/2025 04:18:51 PM 13
an Open Distributed System is a system that offers services
according to standard rules that describe the syntax and semantics
of those services; e.g., protocols in networks
standards - a necessity
should allow competition in non-normative areas
in distributed systems, such services are often specified through
interfaces often described using an Interface Definition Language (IDL)
specify only syntax: the names of the functions, types of
parameters, return values, possible exceptions
01/21/2025 04:18:51 PM 14
Scalability in Distributed Systems
a distributed system should be scalable
 size: adding more users and resources to the system
 geographically: users and resources may be far apart
 administratively: should be easy to manage even if it spans many
administrative organizations

Examples of scalability
01/21/2025 04:18:51 PM problems 15
Scaling Techniques
how to solve scaling problems
the problem is mainly performance, and arises as a result of
limitations in the capacity of servers and networks (for
geographical scalability)
three possible solutions: hiding communication latencies,
distribution, and replication

01/21/2025 04:18:51 PM 16
a. Hide Communication Latencies
try to avoid waiting for responses to remote service requests
let the requester do other useful job:- i.e., construct requesting
applications that use only asynchronous communication instead of
synchronous communication; when a reply arrives the application is
interrupted
good for batch processing and parallel applications but not for
interactive applications
for interactive applications, move part of the job to the client to reduce
communication; e.g. filling a form and checking the entries
01/21/2025 04:18:51 PM 17
(a) a server checking the correctness of field entries
(b) a client doing the job

01/21/2025 04:18:51 PM 18
b. Distribution
 e.g., DNS - Domain Name System ([email protected])
 divide the name space into zones
 for details, see later in Chapter 5 - Naming

an example of dividing the DNS name space into zones


01/21/2025 04:18:51 PM 19
C. Replication
 replicate components across a distributed system to increase
availability and for load balancing, leading to better performance
 decided by the owner of a resource
 caching (a special form of replication) also reduces
communication latency; decided by the user
 but, caching and replication may lead to consistency problems

01/21/2025 04:18:51 PM 20
1.3 Types of distributed Systems
 Three types: distributed computing systems, distributed information systems,
and pervasive/embedded systems
1. Distributed Computing Systems
• Used for high-performance computing tasks

• two types: cluster computing and grid computing

• Cluster Computing
• a collection of similar workstations or PCs (homogeneous), closely connected by means
of a high-speed LAN
• each node runs the same operating system

• used for parallel programming in which a single computer intensive program is run in
01/21/2025 04:18:51 PM 21
parallel on multiple machines
• Grid Computing: Resource sharing and coordinated problem solving in
dynamic, multi-institutional virtual organizations
• high degree of heterogeneity: no assumptions are made concerning
hardware, operating systems, networks, administrative domains,
security policies, etc.
• Globus is a software sytem for Grid Computing; read about the Globus
Alliance at http://www.globus.org/

2.Distributed Information Systems


• problem: many networked applications with a problem of interoperability
• at the lowest level: wrap a number of requests into a single larger request
and have it executed as a distributed transaction; all or none of the
requests would be executed
• how to let applications communicate directly with each other, i.e.,
Enterprise Application Integration (EAI)
01/21/2025 04:18:51 PM 22
Transaction Processing Systems applications

• special primitives are required in Transaction Processing Systems, e.g, consider a


database to program transactions, supplied either by the underlying distributed
system or by the language runtime system
• exact list of primitives depends on the type of application; procedure calls,
ordinary statements, etc. can also be included
• e.g., assume the following banking operation
• withdraw an amount x from account 1
• deposit the amount x to account 2
• what happens if there is a problem after the first activity is carried out?
:group the two operations into one transaction; either both are carried out or neither
01/21/2025 04:18:51 PM 23
• we need a way to roll back when a transaction is not completed
3.Distributed Pervasive Systems
• the distributed systems discussed so far are characterized by their stability; fixed nodes
having high-quality connection to a network
• there are also mobile and embedded computing devices which are small, battery-
powered, mobile, and with a wireless connection
• three requirements for pervasive applications are:
• embrace contextual changes: a device is aware that its environment may change all the
time, e.g., changing its network access point
• encourage ad hoc composition: devices are used in different ways by different users
• recognize sharing as the default: devices join a system to access or provide information
• examples of pervasive systems
• Home Systems that integrate consumer electronics
• Electronic Health Care Systems to monitor the well-being of individuals
• Sensor Networks

01/21/2025 04:18:51 PM 24
Thank you!

01/21/2025 04:18:51 PM 25

You might also like