SlideShare une entreprise Scribd logo
1  sur  74
Télécharger pour lire hors ligne
Lecturer: Yetmwork Tesfaye
MSc. in Computer Science and Engineering
College of Computing and Informatics
Department of Computer Science
Chapter 1: Introduction to Distributed System
Objectives
At the end of this Chapter Students be able to know:-
✓ Introduction of Distributed system
✓ Examples of Distributed system
✓ Characteristics of Distributed system
✓ Advantage of Distributed system
✓ Dis Advantage of Distributed system
✓ Attribute of Distributed system
✓ Goals of Distributed system
✓ Types of Distributed system
What is Distributed System?
Distributed system - A collection of independent computers that
appears to its users as a single coherent system.
This definition has two aspects:
1. hardware: autonomous machines
2. software: a single system view for the users
What is Distributed System?
❑ It is a collection of autonomous independent computers, connected
through a network and distributed middleware which enables
computers to co-ordinate their activities (by passing messages) and
to share the resources of the system, so the users perceive the
system as a single coherent computing facility.
What is Distributed System?
❑ 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
(Blair & Stefani)
❑ A distributed system is one that stops you getting any work done
when a machine you’ve never even heard of crashes (Leslie)
Example of Distributed System
❑ Airline reservation system
❑ Electronic banking
❑ Automatic processing of orders
❑ Distributed real-time systems
❑ Distributed multimedia systems such as video-conferencing...
❑ WWW…
Why Distributed System?
❑ Resource and Data Sharing
▪ printers, databases, multimedia servers, ...
❑ Availability, Reliability
▪ the loss of some instances can be hidden
❑ Scalability, Extensibility
▪ the system grows with demand (e.g., extra servers)
❑ Performance
▪ huge power (CPU, memory, ...) available
❑ Inherent distribution, communication
▪ organizational distribution, e-mail, video
Characteristics of Distributed System
❑ 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
Advantage of Distributed System
❑ Performance: Very often a collection of processors can
provide higher performance (and better price/performance
ratio) than a centralized computer.
❑ Distribution: many applications involve, by their nature,
spatially separated machines (banking, commercial,
automotive system).
❑ Reliability (fault tolerance): if some of the machines crash,
the system can survive.
Advantage of Distributed System
❑ Incremental growth: as requirements on processing power
grow, new machines can be added incrementally.
❑ Sharing of data/resources: shared data is essential to many
applications (banking, computer supported cooperative work,
reservation systems); other resources can be also shared (e.g.
expensive printers).
❑ Communication: facilitates human-to-human communication.
Dis-Advantage of Distributed System
◼ Difficulties of developing distributed software: how should
operating systems, programming languages and applications look
like?
◼ Networking problems: several problems are created by the
network infrastructure, which have to be dealt with: loss of
messages, overloading,
◼ Security problems: sharing generates the problem of data
security.
Attributes of Distributed Systems
 Performance
 Scalability
 Connectivity
 Security
 Reliability
 Fault tolerance
Performance and Scalability
• Centralized system
 A single server handles all user requests
• Distributed system
 User requests can be sent to different servers
working in parallel to increase performance
• Scalability
 Allows a distributed system to grow (i.e., add
more machines to the system) without affecting
the existing applications and users
Connectivity and Security
• Distributed systems
 Susceptible to attacks by malicious users if they
rely on insecure communications media
• To improve security:
 Allow only authorized users to access resources
 Ensure that information transmitted over the
network is readable only by the intended
recipients
 Provide mechanisms to protect resources from
attack
Reliability and Fault Tolerance
• Fault tolerance
 Implemented by providing replication of
resources across the system
• Replication
 Offers users increased reliability and availability
over single-machine implementations
 Designers must provide mechanisms to ensure
consistency among the state information at
different machines
Goals of a Distributed System
• Accessibility: A distributed system should easily
connect users to resources.
 Groupware is software for collaborative editing,
teleconferencing, and so on.
• Transparency: It should hide the fact that resources
are distributed across a network.
• Openness: It should be open.
 An open distributed system is a system that offers
services according to standard rules that describe
the syntax and semantics of those services.
• Scalability: It should be scalable.
Transparency in a Distributed System
❑ Distributed systems should be perceived by users and
application programmers as a whole rather than as a
collection of cooperating components.
❑ Transparency has different aspects that were identified by
ANSA (Advanced Network Systems Architecture).
❑ These represent properties that a well-designed distributed
systems should have
❑ They are dimensions against which we measure middleware
components.
Transparency in a Distributed System
Transparency Description
Access
Hide differences in data representation and
how a resource is accessed (file naming..)
Location
Hide where a resource is physically
located.
Migration
Hide that a resource may move to another
location
Different forms of transparency in a distributed system.
Relocation
Hide that a resource may be moved to
another location while in use.
Replication Hide 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
Transparency in a Distributed System
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 other components that
request services would first have to be changed to use a
different interface.
Location Transparency
• Enables information objects to be accessed without
knowledge of their physical location.
• Example1: Pages in the Web.
• Example2: When an NFS administrator moves a
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.
Migration Transparency
❑ Allows the movement of information objects within
a system 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 host hardware).
❑ Without migration transparency, a distributed system
becomes very inflexible as components are tied to
particular machines and moving them requires
changes in other components.
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.
• Example1: Distributed DBMS.
• Example2: Mirroring Web Pages.
Concurrency Transparency
• Enables several processes to operate concurrently using
shared information objects without interference between
them. Neither user nor application engineers have to see
how concurrency is controlled.
• Example1: Bank applications.
• Example2: Database management system.
Scalability Transparency
• Allows the system and applications to expand in 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.
• Example1: World-Wide-Web.
• Example2: Distributed Database.
Performance Transparency
• Allows the system to be reconfigured to improve
performance as loads vary.
• Consider how efficiently the system uses resources.
• Relies on Migration and Replication transparency
• Load Balancing.
• Difficult to achieve because of dynamism
Failure Transparency
• Enables to hide errors!
• 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 for such 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.
Dimensions Of Transparency
Openness Problems
• In distributed systems, services are generally specified
through interfaces, which are described in an Interface
Definition Language (IDL).
• Interoperability: characterizes the extent by which two
implementations of systems or components from
different manufactures can co-exist and work together
by merely relying on each other’s services as specified
by a common standard.
 Example: Mobile phones
• Portability: characterizes to what extent an application
developed for a distributed system A can be executed,
without modification, on a different system B that
implements the same interface as A.
 Example: Java
• Flexibility: means that it should be easy to configure
the system out of different components possibly from
different developers.
Scalability Problems
• Scalability of a system can be measured in three
dimensions:
 Size: adding more users and resources to the
system
 Geographically scalable: users and resources may
be far apart.
 Administratively scalable: easy to manage even if
its spans many independent administrative
organizations.
Scalability Problems with respect to
Size
• Scalability of a system can be measured in three
dimensions: If more users or resources need to be
added , we often confronted with limitations of
centralized services, data and algorithm.
• Example: if a single server is installed on a
specific machine and if we add more No. of users
(Apps.) that access this server, the server become
bottleneck.
• Some times using a single server is an avoidable for
security reasons.
Scalability Problems
Examples of scalability limitations.
Concept Example
Centralized services A single server for all users
Centralized data A single on-line telephone book
Centralized
algorithms
Doing routing based on complete
information
Scalability Problems
• Decentralized algorithms have the following
characteristics:
 No machine has complete information about the
system state.
 Machines make decisions based only on local
information.
 Failure of one machine does not ruin the algorithm.
 There is no implicit assumption that a global clock
exists.
Scaling Techniques
• In most cases, scalability problems in DS appear as
Performance problems caused by limited capacity of
servers and network.
• There are basically three techniques for scaling:
1) Hiding communication latencies,
2) Distribution, and
3) Replication.
Scaling Techniques
1. 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
Scaling Techniques
1.4
The difference between letting (reduce the server workload):
a) a server or
b) a client check forms as they are being filled
• Example: Java applets
• Generally applying Asynchronous communication
Scaling Techniques
◼2. Distribution
E.g., DNS - Domain Name System (mlibsie@cs.aau.edu.et)
Divide the name space into non-overlapping zones
for details, see later in Chapter 5 - Naming
Scaling Techniques
1.5
An example of dividing the DNS name space into zones.
Scaling Techniques
◼3. 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.
Scaling Techniques
• Pros:
• Increases availability
• Load balancing
• Reduce communication latency
• Cons:
• Consistency
• Security
Pitfalls when Developing DSs
• False assumptions made by first time developers
• The network is reliable
• The network is secure
• The network is homogeneous
• The topology does not change
• Latency is zero
• Bandwidth is infinite
• Transport cost is zero
• There is one administrator
Types of DSs
• Three Types
1. Distributed Computing Systems
2. Distributed Information Systems
3. Pervasive Systems (Distributed Embedded Systems)
Distributed Computing Systems
• It refer to networks of interconnected computers or nodes that
collaborate to achieve a common computational task or goal.
• These systems distribute the workload across multiple machines,
often geographically dispersed, to improve performance, scalability,
and fault tolerance.
• Characteristics:
➢ Decentralization: No single point of control or failure.
➢ Resource Sharing: Sharing of computational resources such as
processing power, memory, and storage.
➢ Communication: Nodes communicate with each other to
coordinate tasks and exchange data.
➢ Scalability: Ability to scale horizontally by adding more nodes
to the network.
Examples: Google File System (GFS).
Distributed Computing Systems
• Types of Distributed Computing System
➢Cluster Computing: the underlying hardware consists of a
collection of similar workstations or PCs, closely connected by
means of a high-speed local-area network. In addition, each
node runs the same operating system.
➢Grid Computing: often constructed as a federation of computer
systems, where each system may fall under a different
administrative domain, and may be very different when it
comes to hardware, software, and deployed network
technology.
Distributed Computing Systems
• From the perspective of grid computing, a next logical step is
to simply outsource the entire infrastructure that is needed for
compute-intensive applications.
• In essence, this is what cloud computing is all about: providing
the facilities to dynamically construct an infrastructure and
compose what is needed from available services.
Distributed Computing Systems
• High-performance computing more or less started with the
introduction of multiprocessor machines.
• In this case, multiple CPUs are organized in such a way
that they all have access to the same physical memory.
• In contrast, in a multicomputer system several computers are
connected through a network and there is no sharing of main
memory.
• Shared-memory model proved to be highly convenient for
improving the performance of programs and it was relatively
easy to program.
• But scalability problem
Distributed Computing Systems
Multiprocessor architecture compared to a multicomputer
architecture
Distributed Computing Systems
• To overcome the limitations of shared-memory systems, high-
performance computing moved to distributed-memory
systems
• This shift also meant that many programs had to make use
of message passing instead of modifying shared data as a
means of communication and synchronization between
threads.
• Unfortunately, message passing models have proven to be
much more difficult and error-prone compared to the
shared-memory programming models.
Distributed Computing Systems
➢ Cluster Computing:
• Cluster-computing systems became popular when the
price/performance ratio of personal computers and workstations
improved.
• At a certain point, it became financially and technically
attractive to build a supercomputer using off-the-shelf
technology by simply hooking up a collection of relatively
simple computers in a high-speed network.
• In virtually all cases, cluster computing is used for parallel
programming in which a single (compute intensive) program is
run in parallel on multiple machines.
Distributed Computing Systems
➔ Cluster Computing:
• One widely applied example of a cluster computer
is formed by Linux-based Beowulf clusters, of
which the general configuration is shown below.
Distributed Computing Systems
➢ Grid Computing:
• No assumptions are made concerning similarity of hardware,
operating systems, networks, administrative domains,
security policies, etc.
• A key issue in a grid computing system is that resources
from different organizations are brought together to allow
the collaboration of a group of people from different
institutions, indeed forming a federation of systems.
• Such a collaboration is realized in the form of a virtual
organization.
Distributed Computing Systems
➢ Grid Computing:
• The processes belonging to the same virtual organization have
access rights to the resources that are provided to that organization.
• Typically, resources consist of compute servers (including
supercomputers, possibly implemented as cluster computers),
storage facilities, and databases.
Distributed Computing Systems
➢ Grid Computing:
• An architecture initially proposed by Foster et al. is shown in
the following figure, which still forms the basis for many grid
computing systems.
A layered architecture for grid computing systems
Distributed Computing Systems
➢ Grid Computing:
• The architecture consists of four layers.
• Fabric layer provides interfaces to local resources at a
specific site.
• Provide functions for querying the state and capabilities of
a resource, along with functions for actual resource
management.(e.g., locking resources).
Distributed Computing Systems
➢ Grid Computing:
• Resource layer is responsible for managing a single
resource.
• It uses the functions provided by the connectivity
layer and calls directly the interfaces made available
by the fabric layer.
• Connectivity layer consists of communication protocols
for supporting grid transactions that span the usage of
multiple resources.
• Contain security protocols to authenticate users and
resources.
Distributed Computing Systems
➢ Grid Computing:
• Collective layer: It deals with handling access to multiple
resources and typically consists of services for resource
discovery, allocation and scheduling of tasks onto multiple
resources, data replication, and so on.
• Unlike the connectivity and resource layer, each consisting
of a relatively small, standard collection of protocols, the
collective layer may consist of many different protocols
reflecting the broad spectrum of services it may offer to a
virtual organization.
Distributed Computing Systems
➢ Grid Computing:
• Application layer: consists of the applications that operate
within a virtual organization and which make use of the grid
computing environment.
• Typically the collective, connectivity, and resource layer form
the heart of what could be called a grid middleware layer.
• These layers jointly provide access to and management of
resources that are potentially dispersed across multiple
sites.
Distributed Computing Systems
➢ Cloud Computing:
Cloud computing delivers computing resources, including
infrastructure, platforms, and software, over the internet on a
pay-as-you-go basis. Cloud computing provides scalability,
flexibility, and on-demand access to computing resources,
allowing users to deploy and manage applications without the
need for extensive hardware infrastructure.
Example: Amazon Web Services (AWS)
Distributed Computing Systems
➢ Cloud Computing:
• In practice, clouds are organized into four layers, as shown
in the next figure.
Distributed Computing Systems
➢ Cloud Computing:
1. Hardware: processors, routers, power and cooling
systems.
2. Infrastructure: an important layer forming the backbone
for most cloud computing platforms.
• It deploys virtualization techniques to provide
customers an infrastructure consisting of virtual
storage and computing resources.
3. Platform: provides to a cloud-computing customer what
an operating system provides to application developers.
4. Application: Actual applications run in this layer and are
offered to users for further customization.
• text processors, spreadsheet applications, presentation
applications, and so on.
Distributed Computing Systems
➢ Cloud Computing:
• Cloud-computing providers offer these layers to their
customers through various interfaces (including command-
line tools, programming interfaces, and Web interfaces),
leading to three different types of services:
– Infrastructure-as-a-Service (IaaS) covering hardware and
infrastructure layer.
– Platform-as-a-Service (PaaS) covering the platform layer.
– Software-as-a-Service (SaaS) in which their applications
are covered.
Distributed Information Systems
• Distributed information systems manage and distribuet data
across multiple nodes or databases in a distributed network.
These systems focus on ensuring the availability, consistency,
and integrity of data across the distributed environment.
Characteristics:
• Data Distribution: Data is distributed across multiple nodes or
databases.
Distributed Information Systems
• Data Consistency: Techniques such as distributed
transactions and replication ensure data consistency.
• Query Processing: Queries may be distributed and
executed across multiple nodes.
Examples: Distributed databases.
Pervasive Systems(Distributed
Embedded System
• Pervasive systems, also known as distributed embedded
systems, consist of interconnected embedded devices or sensors
deployed in the physical environment to monitor, control, and
interact with the surrounding world. These systems aim to
seamlessly integrate computing and communication capabilities
into everyday objects and environments.
Pervasive Systems
• Characteristics:
Embedded Devices: Systems comprise embedded devices with
limited computational and communication capabilities.
Ubiquitous Connectivity: Devices communicate with each
other and with central servers or controllers.
Context Awareness: Systems may be aware of their physical
environment and adapt their behavior accordingly.
Examples: Internet of Things (IoT) applications, smart home
systems, industrial automation, wearable devices.
Pervasive Systems
• In Pervasive systems.
▪ There is often no single dedicated interface, such as a
screen/keyboard combination.
▪ Instead, a pervasive system is often equipped with many
sensors that pick up various aspects of a user’s behavior.
▪ Likewise, it may have a myriad of actuators to provide
information and feedback, often even purposefully aiming to
steer behavior.
Pervasive Systems
• Many devices in pervasive systems are characterized by being
small, battery powered, mobile, and having only a wireless
connection, although not all these characteristics apply to all
devices.
Pervasive Systems
• There are three different types of pervasive systems, although
there is considerable overlap between the three types:
1. Ubiquitous Computing Systems
2. Mobile Computing Systems
3. Sensor Networks
Pervasive Systems
1. Ubiquitous Computing Systems
• Ubiquitous computing aims to integrate computing technology
seamlessly into our environment, making it pervasive and
invisible. It involves embedding sensors and computing
capabilities into everyday objects and spaces, enabling them to
sense, communicate, and respond to user needs without explicit
instructions.
• The goal is to create intelligent environments that are aware of
users' needs and preferences, adapting to their behaviors and
providing personalized services.
Pervasive Systems
• The core requirements for a ubiquitous computing system are
roughly as follows:
1. (Distribution) Devices are networked, distributed, and accessible
in a transparent manner.
2. (Interaction) Interaction between users and devices is highly
unobtrusive.
3. (Autonomy) Devices operate autonomously without human
intervention, and are thus highly self-managed.
4. (Intelligence) The system as a whole can handle a wide range of
dynamic actions and interactions.
Pervasive Systems
2. Mobile Computing Systems
• Mobile computing refers to the use of portable computing devices
such as smartphones, tablets, and laptops. These devices are
equipped with wireless communication capabilities and can access
the internet, providing users with pervasive access to information
and services on the go.
Pervasive Systems
3. Sensor Networks
• Sensor networks are a specific type of network composed of
interconnected sensors that gather data from the physical
world.
• Sensor networks are often used in pervasive computing
environments to monitor and sense the physical environment,
enabling applications such as environmental monitoring,
surveillance, and healthcare monitoring.
Pervasive Systems
• A sensor network generally consists of tens to hundreds or
thousands of relatively small nodes, each equipped with one
or more sensing devices.
• Most sensor networks use wireless communication, and the
nodes are often battery powered.
• Their limited resources, restricted communication
capabilities, and constrained power consumption demand
that efficiency is high on the list of design criteria.
Thank You!!

Contenu connexe

Similaire à distributed system chapter one introduction to distribued system.pdf

Lecture03.pptx
Lecture03.pptxLecture03.pptx
Lecture03.pptxSaunya2
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptAschalewAyele2
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -ssuser7c150a
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxmeharikiros2
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes SAhammedShakil
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemSunita Sahu
 
Lecture 1 distriubted computing
Lecture 1 distriubted computingLecture 1 distriubted computing
Lecture 1 distriubted computingARTHURDANIEL12
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptbalewayalew
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptxharpreetkaur1129
 
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptMrVMNair
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introductionTamrat Amare
 
distrbuted system chapter one .DS .pptx
distrbuted system chapter one  .DS .pptxdistrbuted system chapter one  .DS .pptx
distrbuted system chapter one .DS .pptxayoupalthman
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxvinaypandey170
 
Distributed system
Distributed systemDistributed system
Distributed systemchirag patil
 
distributed computing: Unleashing collaborative computing power.ppt
distributed computing: Unleashing collaborative computing power.pptdistributed computing: Unleashing collaborative computing power.ppt
distributed computing: Unleashing collaborative computing power.pptrutvik64
 
Design Goals of Distributed System
Design Goals of Distributed SystemDesign Goals of Distributed System
Design Goals of Distributed SystemAshish KC
 

Similaire à distributed system chapter one introduction to distribued system.pdf (20)

Lecture03.pptx
Lecture03.pptxLecture03.pptx
Lecture03.pptx
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Lecture 1 distriubted computing
Lecture 1 distriubted computingLecture 1 distriubted computing
Lecture 1 distriubted computing
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.ppt
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 
distrbuted system chapter one .DS .pptx
distrbuted system chapter one  .DS .pptxdistrbuted system chapter one  .DS .pptx
distrbuted system chapter one .DS .pptx
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docx
 
3. challenges
3. challenges3. challenges
3. challenges
 
Distributed system
Distributed systemDistributed system
Distributed system
 
distributed computing: Unleashing collaborative computing power.ppt
distributed computing: Unleashing collaborative computing power.pptdistributed computing: Unleashing collaborative computing power.ppt
distributed computing: Unleashing collaborative computing power.ppt
 
Chapter One.ppt
Chapter One.pptChapter One.ppt
Chapter One.ppt
 
Design Goals of Distributed System
Design Goals of Distributed SystemDesign Goals of Distributed System
Design Goals of Distributed System
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 

Dernier

Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 

Dernier (20)

Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 

distributed system chapter one introduction to distribued system.pdf

  • 1. Lecturer: Yetmwork Tesfaye MSc. in Computer Science and Engineering College of Computing and Informatics Department of Computer Science Chapter 1: Introduction to Distributed System
  • 2. Objectives At the end of this Chapter Students be able to know:- ✓ Introduction of Distributed system ✓ Examples of Distributed system ✓ Characteristics of Distributed system ✓ Advantage of Distributed system ✓ Dis Advantage of Distributed system ✓ Attribute of Distributed system ✓ Goals of Distributed system ✓ Types of Distributed system
  • 3. What is Distributed System? Distributed system - A collection of independent computers that appears to its users as a single coherent system. This definition has two aspects: 1. hardware: autonomous machines 2. software: a single system view for the users
  • 4. What is Distributed System? ❑ It is a collection of autonomous independent computers, connected through a network and distributed middleware which enables computers to co-ordinate their activities (by passing messages) and to share the resources of the system, so the users perceive the system as a single coherent computing facility.
  • 5. What is Distributed System? ❑ 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 (Blair & Stefani) ❑ A distributed system is one that stops you getting any work done when a machine you’ve never even heard of crashes (Leslie)
  • 6. Example of Distributed System ❑ Airline reservation system ❑ Electronic banking ❑ Automatic processing of orders ❑ Distributed real-time systems ❑ Distributed multimedia systems such as video-conferencing... ❑ WWW…
  • 7. Why Distributed System? ❑ Resource and Data Sharing ▪ printers, databases, multimedia servers, ... ❑ Availability, Reliability ▪ the loss of some instances can be hidden ❑ Scalability, Extensibility ▪ the system grows with demand (e.g., extra servers) ❑ Performance ▪ huge power (CPU, memory, ...) available ❑ Inherent distribution, communication ▪ organizational distribution, e-mail, video
  • 8. Characteristics of Distributed System ❑ 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
  • 9. Advantage of Distributed System ❑ Performance: Very often a collection of processors can provide higher performance (and better price/performance ratio) than a centralized computer. ❑ Distribution: many applications involve, by their nature, spatially separated machines (banking, commercial, automotive system). ❑ Reliability (fault tolerance): if some of the machines crash, the system can survive.
  • 10. Advantage of Distributed System ❑ Incremental growth: as requirements on processing power grow, new machines can be added incrementally. ❑ Sharing of data/resources: shared data is essential to many applications (banking, computer supported cooperative work, reservation systems); other resources can be also shared (e.g. expensive printers). ❑ Communication: facilitates human-to-human communication.
  • 11. Dis-Advantage of Distributed System ◼ Difficulties of developing distributed software: how should operating systems, programming languages and applications look like? ◼ Networking problems: several problems are created by the network infrastructure, which have to be dealt with: loss of messages, overloading, ◼ Security problems: sharing generates the problem of data security.
  • 12. Attributes of Distributed Systems  Performance  Scalability  Connectivity  Security  Reliability  Fault tolerance
  • 13. Performance and Scalability • Centralized system  A single server handles all user requests • Distributed system  User requests can be sent to different servers working in parallel to increase performance • Scalability  Allows a distributed system to grow (i.e., add more machines to the system) without affecting the existing applications and users
  • 14. Connectivity and Security • Distributed systems  Susceptible to attacks by malicious users if they rely on insecure communications media • To improve security:  Allow only authorized users to access resources  Ensure that information transmitted over the network is readable only by the intended recipients  Provide mechanisms to protect resources from attack
  • 15. Reliability and Fault Tolerance • Fault tolerance  Implemented by providing replication of resources across the system • Replication  Offers users increased reliability and availability over single-machine implementations  Designers must provide mechanisms to ensure consistency among the state information at different machines
  • 16. Goals of a Distributed System • Accessibility: A distributed system should easily connect users to resources.  Groupware is software for collaborative editing, teleconferencing, and so on. • Transparency: It should hide the fact that resources are distributed across a network. • Openness: It should be open.  An open distributed system is a system that offers services according to standard rules that describe the syntax and semantics of those services. • Scalability: It should be scalable.
  • 17. Transparency in a Distributed System ❑ Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components. ❑ Transparency has different aspects that were identified by ANSA (Advanced Network Systems Architecture). ❑ These represent properties that a well-designed distributed systems should have ❑ They are dimensions against which we measure middleware components.
  • 18. Transparency in a Distributed System Transparency Description Access Hide differences in data representation and how a resource is accessed (file naming..) Location Hide where a resource is physically located. Migration Hide that a resource may move to another location Different forms of transparency in a distributed system.
  • 19. Relocation Hide that a resource may be moved to another location while in use. Replication Hide 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 Transparency in a Distributed System
  • 20. 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 other components that request services would first have to be changed to use a different interface.
  • 21. Location Transparency • Enables information objects to be accessed without knowledge of their physical location. • Example1: Pages in the Web. • Example2: When an NFS administrator moves a 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.
  • 22. Migration Transparency ❑ Allows the movement of information objects within a system 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 host hardware). ❑ Without migration transparency, a distributed system becomes very inflexible as components are tied to particular machines and moving them requires changes in other components.
  • 23. 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. • Example1: Distributed DBMS. • Example2: Mirroring Web Pages.
  • 24. Concurrency Transparency • Enables several processes to operate concurrently using shared information objects without interference between them. Neither user nor application engineers have to see how concurrency is controlled. • Example1: Bank applications. • Example2: Database management system.
  • 25. Scalability Transparency • Allows the system and applications to expand in 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. • Example1: World-Wide-Web. • Example2: Distributed Database.
  • 26. Performance Transparency • Allows the system to be reconfigured to improve performance as loads vary. • Consider how efficiently the system uses resources. • Relies on Migration and Replication transparency • Load Balancing. • Difficult to achieve because of dynamism
  • 27. Failure Transparency • Enables to hide errors! • 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 for such 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.
  • 29. Openness Problems • In distributed systems, services are generally specified through interfaces, which are described in an Interface Definition Language (IDL). • Interoperability: characterizes the extent by which two implementations of systems or components from different manufactures can co-exist and work together by merely relying on each other’s services as specified by a common standard.  Example: Mobile phones • Portability: characterizes to what extent an application developed for a distributed system A can be executed, without modification, on a different system B that implements the same interface as A.  Example: Java • Flexibility: means that it should be easy to configure the system out of different components possibly from different developers.
  • 30. Scalability Problems • Scalability of a system can be measured in three dimensions:  Size: adding more users and resources to the system  Geographically scalable: users and resources may be far apart.  Administratively scalable: easy to manage even if its spans many independent administrative organizations.
  • 31. Scalability Problems with respect to Size • Scalability of a system can be measured in three dimensions: If more users or resources need to be added , we often confronted with limitations of centralized services, data and algorithm. • Example: if a single server is installed on a specific machine and if we add more No. of users (Apps.) that access this server, the server become bottleneck. • Some times using a single server is an avoidable for security reasons.
  • 32. Scalability Problems Examples of scalability limitations. Concept Example Centralized services A single server for all users Centralized data A single on-line telephone book Centralized algorithms Doing routing based on complete information
  • 33. Scalability Problems • Decentralized algorithms have the following characteristics:  No machine has complete information about the system state.  Machines make decisions based only on local information.  Failure of one machine does not ruin the algorithm.  There is no implicit assumption that a global clock exists.
  • 34. Scaling Techniques • In most cases, scalability problems in DS appear as Performance problems caused by limited capacity of servers and network. • There are basically three techniques for scaling: 1) Hiding communication latencies, 2) Distribution, and 3) Replication.
  • 35. Scaling Techniques 1. 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
  • 36. Scaling Techniques 1.4 The difference between letting (reduce the server workload): a) a server or b) a client check forms as they are being filled • Example: Java applets • Generally applying Asynchronous communication
  • 37. Scaling Techniques ◼2. Distribution E.g., DNS - Domain Name System (mlibsie@cs.aau.edu.et) Divide the name space into non-overlapping zones for details, see later in Chapter 5 - Naming
  • 38. Scaling Techniques 1.5 An example of dividing the DNS name space into zones.
  • 39. Scaling Techniques ◼3. 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.
  • 40. Scaling Techniques • Pros: • Increases availability • Load balancing • Reduce communication latency • Cons: • Consistency • Security
  • 41. Pitfalls when Developing DSs • False assumptions made by first time developers • The network is reliable • The network is secure • The network is homogeneous • The topology does not change • Latency is zero • Bandwidth is infinite • Transport cost is zero • There is one administrator
  • 42. Types of DSs • Three Types 1. Distributed Computing Systems 2. Distributed Information Systems 3. Pervasive Systems (Distributed Embedded Systems)
  • 43. Distributed Computing Systems • It refer to networks of interconnected computers or nodes that collaborate to achieve a common computational task or goal. • These systems distribute the workload across multiple machines, often geographically dispersed, to improve performance, scalability, and fault tolerance. • Characteristics: ➢ Decentralization: No single point of control or failure. ➢ Resource Sharing: Sharing of computational resources such as processing power, memory, and storage. ➢ Communication: Nodes communicate with each other to coordinate tasks and exchange data. ➢ Scalability: Ability to scale horizontally by adding more nodes to the network. Examples: Google File System (GFS).
  • 44. Distributed Computing Systems • Types of Distributed Computing System ➢Cluster Computing: the underlying hardware consists of a collection of similar workstations or PCs, closely connected by means of a high-speed local-area network. In addition, each node runs the same operating system. ➢Grid Computing: often constructed as a federation of computer systems, where each system may fall under a different administrative domain, and may be very different when it comes to hardware, software, and deployed network technology.
  • 45. Distributed Computing Systems • From the perspective of grid computing, a next logical step is to simply outsource the entire infrastructure that is needed for compute-intensive applications. • In essence, this is what cloud computing is all about: providing the facilities to dynamically construct an infrastructure and compose what is needed from available services.
  • 46. Distributed Computing Systems • High-performance computing more or less started with the introduction of multiprocessor machines. • In this case, multiple CPUs are organized in such a way that they all have access to the same physical memory. • In contrast, in a multicomputer system several computers are connected through a network and there is no sharing of main memory. • Shared-memory model proved to be highly convenient for improving the performance of programs and it was relatively easy to program. • But scalability problem
  • 47. Distributed Computing Systems Multiprocessor architecture compared to a multicomputer architecture
  • 48. Distributed Computing Systems • To overcome the limitations of shared-memory systems, high- performance computing moved to distributed-memory systems • This shift also meant that many programs had to make use of message passing instead of modifying shared data as a means of communication and synchronization between threads. • Unfortunately, message passing models have proven to be much more difficult and error-prone compared to the shared-memory programming models.
  • 49. Distributed Computing Systems ➢ Cluster Computing: • Cluster-computing systems became popular when the price/performance ratio of personal computers and workstations improved. • At a certain point, it became financially and technically attractive to build a supercomputer using off-the-shelf technology by simply hooking up a collection of relatively simple computers in a high-speed network. • In virtually all cases, cluster computing is used for parallel programming in which a single (compute intensive) program is run in parallel on multiple machines.
  • 50. Distributed Computing Systems ➔ Cluster Computing: • One widely applied example of a cluster computer is formed by Linux-based Beowulf clusters, of which the general configuration is shown below.
  • 51. Distributed Computing Systems ➢ Grid Computing: • No assumptions are made concerning similarity of hardware, operating systems, networks, administrative domains, security policies, etc. • A key issue in a grid computing system is that resources from different organizations are brought together to allow the collaboration of a group of people from different institutions, indeed forming a federation of systems. • Such a collaboration is realized in the form of a virtual organization.
  • 52. Distributed Computing Systems ➢ Grid Computing: • The processes belonging to the same virtual organization have access rights to the resources that are provided to that organization. • Typically, resources consist of compute servers (including supercomputers, possibly implemented as cluster computers), storage facilities, and databases.
  • 53. Distributed Computing Systems ➢ Grid Computing: • An architecture initially proposed by Foster et al. is shown in the following figure, which still forms the basis for many grid computing systems. A layered architecture for grid computing systems
  • 54. Distributed Computing Systems ➢ Grid Computing: • The architecture consists of four layers. • Fabric layer provides interfaces to local resources at a specific site. • Provide functions for querying the state and capabilities of a resource, along with functions for actual resource management.(e.g., locking resources).
  • 55. Distributed Computing Systems ➢ Grid Computing: • Resource layer is responsible for managing a single resource. • It uses the functions provided by the connectivity layer and calls directly the interfaces made available by the fabric layer. • Connectivity layer consists of communication protocols for supporting grid transactions that span the usage of multiple resources. • Contain security protocols to authenticate users and resources.
  • 56. Distributed Computing Systems ➢ Grid Computing: • Collective layer: It deals with handling access to multiple resources and typically consists of services for resource discovery, allocation and scheduling of tasks onto multiple resources, data replication, and so on. • Unlike the connectivity and resource layer, each consisting of a relatively small, standard collection of protocols, the collective layer may consist of many different protocols reflecting the broad spectrum of services it may offer to a virtual organization.
  • 57. Distributed Computing Systems ➢ Grid Computing: • Application layer: consists of the applications that operate within a virtual organization and which make use of the grid computing environment. • Typically the collective, connectivity, and resource layer form the heart of what could be called a grid middleware layer. • These layers jointly provide access to and management of resources that are potentially dispersed across multiple sites.
  • 58. Distributed Computing Systems ➢ Cloud Computing: Cloud computing delivers computing resources, including infrastructure, platforms, and software, over the internet on a pay-as-you-go basis. Cloud computing provides scalability, flexibility, and on-demand access to computing resources, allowing users to deploy and manage applications without the need for extensive hardware infrastructure. Example: Amazon Web Services (AWS)
  • 59. Distributed Computing Systems ➢ Cloud Computing: • In practice, clouds are organized into four layers, as shown in the next figure.
  • 60. Distributed Computing Systems ➢ Cloud Computing: 1. Hardware: processors, routers, power and cooling systems. 2. Infrastructure: an important layer forming the backbone for most cloud computing platforms. • It deploys virtualization techniques to provide customers an infrastructure consisting of virtual storage and computing resources. 3. Platform: provides to a cloud-computing customer what an operating system provides to application developers. 4. Application: Actual applications run in this layer and are offered to users for further customization. • text processors, spreadsheet applications, presentation applications, and so on.
  • 61. Distributed Computing Systems ➢ Cloud Computing: • Cloud-computing providers offer these layers to their customers through various interfaces (including command- line tools, programming interfaces, and Web interfaces), leading to three different types of services: – Infrastructure-as-a-Service (IaaS) covering hardware and infrastructure layer. – Platform-as-a-Service (PaaS) covering the platform layer. – Software-as-a-Service (SaaS) in which their applications are covered.
  • 62. Distributed Information Systems • Distributed information systems manage and distribuet data across multiple nodes or databases in a distributed network. These systems focus on ensuring the availability, consistency, and integrity of data across the distributed environment. Characteristics: • Data Distribution: Data is distributed across multiple nodes or databases.
  • 63. Distributed Information Systems • Data Consistency: Techniques such as distributed transactions and replication ensure data consistency. • Query Processing: Queries may be distributed and executed across multiple nodes. Examples: Distributed databases.
  • 64. Pervasive Systems(Distributed Embedded System • Pervasive systems, also known as distributed embedded systems, consist of interconnected embedded devices or sensors deployed in the physical environment to monitor, control, and interact with the surrounding world. These systems aim to seamlessly integrate computing and communication capabilities into everyday objects and environments.
  • 65. Pervasive Systems • Characteristics: Embedded Devices: Systems comprise embedded devices with limited computational and communication capabilities. Ubiquitous Connectivity: Devices communicate with each other and with central servers or controllers. Context Awareness: Systems may be aware of their physical environment and adapt their behavior accordingly. Examples: Internet of Things (IoT) applications, smart home systems, industrial automation, wearable devices.
  • 66. Pervasive Systems • In Pervasive systems. ▪ There is often no single dedicated interface, such as a screen/keyboard combination. ▪ Instead, a pervasive system is often equipped with many sensors that pick up various aspects of a user’s behavior. ▪ Likewise, it may have a myriad of actuators to provide information and feedback, often even purposefully aiming to steer behavior.
  • 67. Pervasive Systems • Many devices in pervasive systems are characterized by being small, battery powered, mobile, and having only a wireless connection, although not all these characteristics apply to all devices.
  • 68. Pervasive Systems • There are three different types of pervasive systems, although there is considerable overlap between the three types: 1. Ubiquitous Computing Systems 2. Mobile Computing Systems 3. Sensor Networks
  • 69. Pervasive Systems 1. Ubiquitous Computing Systems • Ubiquitous computing aims to integrate computing technology seamlessly into our environment, making it pervasive and invisible. It involves embedding sensors and computing capabilities into everyday objects and spaces, enabling them to sense, communicate, and respond to user needs without explicit instructions. • The goal is to create intelligent environments that are aware of users' needs and preferences, adapting to their behaviors and providing personalized services.
  • 70. Pervasive Systems • The core requirements for a ubiquitous computing system are roughly as follows: 1. (Distribution) Devices are networked, distributed, and accessible in a transparent manner. 2. (Interaction) Interaction between users and devices is highly unobtrusive. 3. (Autonomy) Devices operate autonomously without human intervention, and are thus highly self-managed. 4. (Intelligence) The system as a whole can handle a wide range of dynamic actions and interactions.
  • 71. Pervasive Systems 2. Mobile Computing Systems • Mobile computing refers to the use of portable computing devices such as smartphones, tablets, and laptops. These devices are equipped with wireless communication capabilities and can access the internet, providing users with pervasive access to information and services on the go.
  • 72. Pervasive Systems 3. Sensor Networks • Sensor networks are a specific type of network composed of interconnected sensors that gather data from the physical world. • Sensor networks are often used in pervasive computing environments to monitor and sense the physical environment, enabling applications such as environmental monitoring, surveillance, and healthcare monitoring.
  • 73. Pervasive Systems • A sensor network generally consists of tens to hundreds or thousands of relatively small nodes, each equipped with one or more sensing devices. • Most sensor networks use wireless communication, and the nodes are often battery powered. • Their limited resources, restricted communication capabilities, and constrained power consumption demand that efficiency is high on the list of design criteria.