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

Chapter 1 - Introduction to Distributed System

Uploaded by

yaa357621
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Chapter 1 - Introduction to Distributed System

Uploaded by

yaa357621
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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 (mlibsie@cs.aau.edu.et)
 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