SlideShare a Scribd company logo
chapter 1
Objectives
To define what is a distributed system
To know the consequences of the
definition
To identify the challenges in designing and
building a distributed system
Chapter Outlines
Introduction
Examples of Distributed Systems
Challenges of Distributed Systems
♦ Data are Distributed
» If data must exist in multiple computers for admin and ownership
reasons
♦ Computation is Distributed
» Applications taking advantage of parallelism, multiple processors,
» particular feature
» Scalability and heterogeneity of Distributed System
♦ Users are Distributed
» If Users communicate and interact via application (shared objects)
Definition of A Distributed System
“A distributed system is a collection of independent
computers that appear to the users of the system as a
single computer.” [Tanenbaum]
“A distributed system is a collection of autonomous
computers linked by a network with software designed
to produce an integrated computing facility.”
[Coulouris, Dollimore, Kindberg]
“A system of multiple autonomous processing
elements, cooperating in a common purpose or to
achieve a common goal.” [Burns & Wellings 1997]
”A system that consists of a collection of two or more
independent computers, that are connected by a
network, which coordinate their processing through the
exchange of synchronous or asynchronous message
passing. They may be on separate continents, in the
same building or the same room”.
Definition from our textbook
Centralized vs. Distributed
Introduction
Motivation for A Distributed System
 Load balancing / distribution
 breaking a problem into smaller pieces enables you to solve larger
problems without resorting to larger computer
 MAINFRAME – 10 X faster but 1000 X expensive
 Increased Processing Power
 independent processors working on the same task
 Distributed systems consisting of collections of microcomputers
may have processing powers that no single computer will ever
achieve
 10000 CPUs, each running at 50 MIPS, yields 500000 MIPS 
instruction to be executed in 0.002 nsec  equivalent to light
distance of 0.6 mm  any processor chip of that size would melt
immediately
Introduction
Motivation for A Distributed System
Fault tolerance
 If any of the machine gets down, others can still run
Availability
 Anytime, anywhere access
Resource sharing
 All clients can be server or vice versa to provide resources
(data, files, services)
 The main motivator for DS
Examples
Examples
Source : http://setiathome.ssl.berkeley.edu/
Examples
Source : http://www.girardin.org/fabien/blog/wp-content/mobile_computing_30s.png
Distributed Computing
Examples
Distributed Computing
Challenges in Distributed System
Distributed Computing
Challenge: Heterogeneity
Heterogeneity = variety and difference
Heterogeneity of
underlying network infrastructure (ethernet, ISDN, token ring etc),
computer hardware and software (e.g., operating systems, compare UNIX
sockets and Winsock calls),
programming languages (java, C, python : in particular, data
representations),
implementations by different developers
Heterogeneity needs to be masked
Distributed Computing
determines whether the system can be
extended and re-implemented in various
ways
Determined primarily by the degree to
which new resource-sharing services can be
added and be made available for use by
variety of client programs
Detailed interfaces of components need to
be standardized and published.
Challenge: Openness
Distributed Computing
Security for information resources has three components:
Confidentiality
 protection against disclosure to unauthorized individuals
Integrity
 protection against alteration or corruption
Availability
 protection against interference with the means of accessing the
resources
The challenge: sending sensitive information in a network
message in a secure manner efficiently
Not just to conceal the info but to ensure that the sender and
recipients are the rightful owners of the messages
Challenge: Security
Distributed Computing
Challenge: Scalability
A distributed system is scalable if it remains effective
as the number of users and/or resources increase
Challenges:
Controlling resource costs
Controlling performance loss
Preventing resources from running out
Avoiding performance bottlenecks
Distributed Computing
Challenge: Failure Handling
Failures more common than in centralized systems
and usually partial
Failure handling includes
Detection (may be impossible)
Masking/hiding
Tolerance
Recovery
Redundancy
Distributed Computing
Challenge: Failure Handling
Detection
Some possible (e.g., using transmission errors via
checksums)
Some impossible (crashed remote server vs. slow
remote server)
Challenge: manage failures that cannot be detected, but
suspected
Distributed Computing
Challenge: Failure Handling
Masking/hiding
Some failures can be hidden or made less severe
Replication in space/time
 Space: e.g., writing to multiple disks
 Time: e.g., transmission of multiple messages
May not work in worst cases, e.g., all disks may have
been corrupted
Distributed Computing
Challenge: Failure Handling
Tolerance
Sometimes not feasible to hide all failures
E.g., user has to tolerate if web service has failed rather than wait
until service is up again
Only feasible for certain classes of applications/systems, e.g., DNS
vs. Internet addresses
Recovery
Restoring a correct system state
Roll back using log files
Distributed Computing
Challenge: Failure Handling
Redundancy
Tolerate failures by using redundant components
Provided through replication
E.g., redundant routes in network, replication of name tables in
multiple domain name servers
Goal of failure handling: high availability
availability of a system is a measure of the proportion of time that
the system is available for use
Distributed Computing
Challenge: Concurrency
Concurrency control
Handling several simultaneous requests for a resource
 Consistent scheduling of concurrent threads (so that
dependencies are preserved, e.g., in concurrent transactions)
Synchronized operations (semaphores)
 Safest, but limits throughput
Shared objects/resources must guarantee correctness in a
concurrent environment
Avoidance of deadlocks
Distributed Computing
Challenge: Transparency
Concealing the heterogeneous and distributed nature
of the system so that it appears to the user like one
system
Eight types (ANSA/ISO)
access, location, concurrency, replication, failure,
mobility, performance and scaling transparencies
Distributed Computing
Challenge: Transparency
•Access transparency:
•enables local and remote resources to be accessed using identical
operations.
For instance, from a user's point of view, access to a remote service such as
a printer should be identical with access to a local printer.
From a programmers point of view, the access method to a remote object
may be identical to access a local object of the same class.
•E.g., Same user interface and operations offered in order to access either
local or remote resources
Distributed Computing
Challenge: Transparency
•Location transparency:
•enables resources to be accessed without knowledge of their location.
•The details of the topology of the system should be of no concern to the
user.
•The location of an object in the system may not be visible to the user or
programmer.
•This differs from access transparency in that both the naming and access
methods may be the same. Names may give no hint as to location.
•E.g., URL or e-mail addresses.
• www.google.com (IP address is the physical location)
Distributed Computing
Challenge: Transparency
•Concurrency transparency:
•enables several processes to operate concurrently using shared resources
without interference between them.
•E.g., no conflict occur when 2 or more users accessing the same system
Distributed Computing
Challenge: Transparency
•Replication transparency:
•enables multiple instances of resources to be used to increase reliability
and performance without knowledge of the replicas by users.
•This kind of transparency should be mainly incorporated for the distributed file
systems, which replicate the data at two or more sites for more reliability. The client
generally should not be aware that a replicated copy of the data exists. The clients
should also expect operations to return only one set of values.
•The examples are Distributed DBMS and Mirroring of Web pages.
•Failure transparency:
•enables the concealment of faults, allowing users and application
programs to complete their tasks despite the failure of hardware or
software components.
•E.g., retransmission of e-mail messages
•Mobility transparency:
•allows the movement of resources and clients within a system without
affecting the operation of users or programs.Distributed Computing
Challenge: Transparency
•Mobility transparency:
•allows the movement of resources and clients within a system without
affecting the operation of users or programs.
•E.g., caller and callee undergoing different places while on the phone
Distributed Computing
Challenge: Transparency
•Performance transparency:
•allows the system to be reconfigured to improve performance as loads
vary.
•Eg:Video On Demand (VOD) System
•Scaling transparency:
•allows the system and applications to expand in scale without change to
the system structure or the application algorithms.
•Eg: P2P apps
Distributed Computing
Transparency Description
Access
Hide differences in data representation and how a
resource is accessed
Location Hide where a resource is located
Migration Hide that a resource may move to another location
Relocation
Hide that a resource may be moved to another
location while in use
Replication Hide that a resource may be replicated
Concurrency
Hide that a resource may be shared by several
competitive users
Failure Hide the failure and recovery of a resource
Persistence
Hide whether a (software) resource is in memory or on
disk
1. Name a program that is using distributed computing and freely
available to the masses
2. Name 1 research field that is relying heavily on distributed computing
Summary
A distributed system is a collection of independent
and autonomous computers that appear to the
users of the system as a single computer.”
Based on the above definition, there are three
significant consequences :
Concurrency
No global clock
Independent failures
Several challenges need to be addressed in
designing and building DS
Heterogeneity, openness, security, scalability, failure
handling, concurrency and transparency.
Distributed Computing

More Related Content

What's hot

System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
ishapadhy
 
CSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating SystemCSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating System
ghayour abbas
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computing
SVijaylakshmi
 
Operating system 18 process creation and termination
Operating system 18 process creation and terminationOperating system 18 process creation and termination
Operating system 18 process creation and termination
Vaibhav Khanna
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical Clocks
Dilum Bandara
 
Process Management-Process Migration
Process Management-Process MigrationProcess Management-Process Migration
Process Management-Process Migration
MNM Jain Engineering College
 
3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architecture
guestd0cc01
 
Coordination and Agreement .ppt
Coordination and Agreement .pptCoordination and Agreement .ppt
Coordination and Agreement .ppt
SOURAVKUMAR723356
 
Dos attack
Dos attackDos attack
Dos attack
Suraj Swarnakar
 
fault-tolerance-slide.ppt
fault-tolerance-slide.pptfault-tolerance-slide.ppt
fault-tolerance-slide.ppt
Shailendra61
 
Java rmi
Java rmiJava rmi
Java rmi
kamal kotecha
 
management of distributed transactions
management of distributed transactionsmanagement of distributed transactions
management of distributed transactionsNilu Desai
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
Riya Choudhary
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systems
Aya Mahmoud
 
Denial of service
Denial of serviceDenial of service
Denial of service
garishma bhatia
 
process control block
process control blockprocess control block
process control block
Vikas SHRIVASTAVA
 
Peer to Peer services and File systems
Peer to Peer services and File systemsPeer to Peer services and File systems
Peer to Peer services and File systems
MNM Jain Engineering College
 
Data and database administration(database)
Data and database administration(database)Data and database administration(database)
Data and database administration(database)welcometofacebook
 

What's hot (20)

Mutual exclusion and sync
Mutual exclusion and syncMutual exclusion and sync
Mutual exclusion and sync
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
CSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating SystemCSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating System
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computing
 
Operating system 18 process creation and termination
Operating system 18 process creation and terminationOperating system 18 process creation and termination
Operating system 18 process creation and termination
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical Clocks
 
Process Management-Process Migration
Process Management-Process MigrationProcess Management-Process Migration
Process Management-Process Migration
 
3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architecture
 
Coordination and Agreement .ppt
Coordination and Agreement .pptCoordination and Agreement .ppt
Coordination and Agreement .ppt
 
Dos attack
Dos attackDos attack
Dos attack
 
fault-tolerance-slide.ppt
fault-tolerance-slide.pptfault-tolerance-slide.ppt
fault-tolerance-slide.ppt
 
Java rmi
Java rmiJava rmi
Java rmi
 
Semaphores
SemaphoresSemaphores
Semaphores
 
management of distributed transactions
management of distributed transactionsmanagement of distributed transactions
management of distributed transactions
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systems
 
Denial of service
Denial of serviceDenial of service
Denial of service
 
process control block
process control blockprocess control block
process control block
 
Peer to Peer services and File systems
Peer to Peer services and File systemsPeer to Peer services and File systems
Peer to Peer services and File systems
 
Data and database administration(database)
Data and database administration(database)Data and database administration(database)
Data and database administration(database)
 

Viewers also liked

Goal: 50 and healthy!
Goal: 50 and healthy!Goal: 50 and healthy!
Goal: 50 and healthy!
Katherine Chen
 
Compuware Mobility Presentation Overview
Compuware Mobility Presentation OverviewCompuware Mobility Presentation Overview
Compuware Mobility Presentation Overview
MPLS-Services-Compuware
 
Optimus protein
Optimus proteinOptimus protein
Optimus proteinEdDonnelly
 
3 easy changes to start taking vitamins, doing crunches, and eating healthier
3 easy changes to start taking vitamins, doing crunches, and eating healthier3 easy changes to start taking vitamins, doing crunches, and eating healthier
3 easy changes to start taking vitamins, doing crunches, and eating healthier
Katherine Chen
 
Loneliness and Longevity
Loneliness and LongevityLoneliness and Longevity
Loneliness and Longevity
Katherine Chen
 
Portfolio
PortfolioPortfolio
Portfoliowrwolff
 
How to start going to the gym: what worked/is working for me!
How to start going to the gym: what worked/is working for me!How to start going to the gym: what worked/is working for me!
How to start going to the gym: what worked/is working for me!
Katherine Chen
 
Staff Walking Survey Results
Staff Walking Survey ResultsStaff Walking Survey Results
Staff Walking Survey Results
Katherine Chen
 
Li Cppi Corporate Overview
Li Cppi Corporate OverviewLi Cppi Corporate Overview
Li Cppi Corporate Overview
jwarnerinmiami
 
Walking for entertainment
Walking for entertainmentWalking for entertainment
Walking for entertainmentKatherine Chen
 
Web engineering cse ru
Web engineering cse ruWeb engineering cse ru
Web engineering cse ru
Hossain Md Shakhawat
 
STP engagement and consultation for NHS & Local Authorities
STP engagement and consultation for NHS & Local AuthoritiesSTP engagement and consultation for NHS & Local Authorities
STP engagement and consultation for NHS & Local Authorities
Rhion Jones
 
Ebook competencias-digitales-blog
Ebook competencias-digitales-blogEbook competencias-digitales-blog
Ebook competencias-digitales-blog
Daniel Gracia
 
Cryptography cse,ru
Cryptography cse,ruCryptography cse,ru
Cryptography cse,ru
Hossain Md Shakhawat
 
Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
Hossain Md Shakhawat
 
Caesar cipher
Caesar cipherCaesar cipher
Caesar cipher
Hossain Md Shakhawat
 
Decision making and looping
Decision making and loopingDecision making and looping
Decision making and looping
Hossain Md Shakhawat
 
Jpeg compression
Jpeg compressionJpeg compression
Jpeg compression
Hossain Md Shakhawat
 

Viewers also liked (20)

Goal: 50 and healthy!
Goal: 50 and healthy!Goal: 50 and healthy!
Goal: 50 and healthy!
 
Compuware Mobility Presentation Overview
Compuware Mobility Presentation OverviewCompuware Mobility Presentation Overview
Compuware Mobility Presentation Overview
 
Optimus protein
Optimus proteinOptimus protein
Optimus protein
 
3 easy changes to start taking vitamins, doing crunches, and eating healthier
3 easy changes to start taking vitamins, doing crunches, and eating healthier3 easy changes to start taking vitamins, doing crunches, and eating healthier
3 easy changes to start taking vitamins, doing crunches, and eating healthier
 
Loneliness and Longevity
Loneliness and LongevityLoneliness and Longevity
Loneliness and Longevity
 
Portfolio
PortfolioPortfolio
Portfolio
 
How to start going to the gym: what worked/is working for me!
How to start going to the gym: what worked/is working for me!How to start going to the gym: what worked/is working for me!
How to start going to the gym: what worked/is working for me!
 
Staff Walking Survey Results
Staff Walking Survey ResultsStaff Walking Survey Results
Staff Walking Survey Results
 
Li Cppi Corporate Overview
Li Cppi Corporate OverviewLi Cppi Corporate Overview
Li Cppi Corporate Overview
 
Goal: 50 and healthy!
Goal: 50 and healthy!Goal: 50 and healthy!
Goal: 50 and healthy!
 
Walking for entertainment
Walking for entertainmentWalking for entertainment
Walking for entertainment
 
Predicting Motivation
Predicting MotivationPredicting Motivation
Predicting Motivation
 
Web engineering cse ru
Web engineering cse ruWeb engineering cse ru
Web engineering cse ru
 
STP engagement and consultation for NHS & Local Authorities
STP engagement and consultation for NHS & Local AuthoritiesSTP engagement and consultation for NHS & Local Authorities
STP engagement and consultation for NHS & Local Authorities
 
Ebook competencias-digitales-blog
Ebook competencias-digitales-blogEbook competencias-digitales-blog
Ebook competencias-digitales-blog
 
Cryptography cse,ru
Cryptography cse,ruCryptography cse,ru
Cryptography cse,ru
 
Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
 
Caesar cipher
Caesar cipherCaesar cipher
Caesar cipher
 
Decision making and looping
Decision making and loopingDecision making and looping
Decision making and looping
 
Jpeg compression
Jpeg compressionJpeg compression
Jpeg compression
 

Similar to Chapter 1 -_characterization_of_distributed_systems

distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdf
lematadese670
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
salutiontechnology
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
balewayalew
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introductionTamrat Amare
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -
ssuser7c150a
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
sirajmohammed35
 
Chapter One.ppt
Chapter One.pptChapter One.ppt
Chapter One.ppt
abdigeremew
 
Distributed Processing
Distributed ProcessingDistributed Processing
Distributed ProcessingImtiaz Hussain
 
distributed system original.pdf
distributed system original.pdfdistributed system original.pdf
distributed system original.pdf
KirimanyiJovanntanda
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
meharikiros2
 
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.ppt
MrVMNair
 
Lect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxLect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptx
PardonSamson
 
Distributed Computing system
Distributed Computing system Distributed Computing system
Distributed Computing system
Sarvesh Meena
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
PardonSamson
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docx
vinaypandey170
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
Subhash Basistha
 
433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt
MattChristianAustria2
 
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
JiyaMalik33
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
harpreetkaur1129
 
1.intro. to distributed system
1.intro. to distributed system1.intro. to distributed system
1.intro. to distributed system
Gd Goenka University
 

Similar to Chapter 1 -_characterization_of_distributed_systems (20)

distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdf
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
Chapter One.ppt
Chapter One.pptChapter One.ppt
Chapter One.ppt
 
Distributed Processing
Distributed ProcessingDistributed Processing
Distributed Processing
 
distributed system original.pdf
distributed system original.pdfdistributed system original.pdf
distributed system original.pdf
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
 
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.ppt
 
Lect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxLect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptx
 
Distributed Computing system
Distributed Computing system Distributed Computing system
Distributed Computing system
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docx
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 
433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt
 
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
 
1.intro. to distributed system
1.intro. to distributed system1.intro. to distributed system
1.intro. to distributed system
 

Recently uploaded

Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

Chapter 1 -_characterization_of_distributed_systems

  • 2. Objectives To define what is a distributed system To know the consequences of the definition To identify the challenges in designing and building a distributed system
  • 3. Chapter Outlines Introduction Examples of Distributed Systems Challenges of Distributed Systems
  • 4. ♦ Data are Distributed » If data must exist in multiple computers for admin and ownership reasons ♦ Computation is Distributed » Applications taking advantage of parallelism, multiple processors, » particular feature » Scalability and heterogeneity of Distributed System ♦ Users are Distributed » If Users communicate and interact via application (shared objects)
  • 5. Definition of A Distributed System “A distributed system is a collection of independent computers that appear to the users of the system as a single computer.” [Tanenbaum] “A distributed system is a collection of autonomous computers linked by a network with software designed to produce an integrated computing facility.” [Coulouris, Dollimore, Kindberg] “A system of multiple autonomous processing elements, cooperating in a common purpose or to achieve a common goal.” [Burns & Wellings 1997]
  • 6. ”A system that consists of a collection of two or more independent computers, that are connected by a network, which coordinate their processing through the exchange of synchronous or asynchronous message passing. They may be on separate continents, in the same building or the same room”. Definition from our textbook
  • 8. Introduction Motivation for A Distributed System  Load balancing / distribution  breaking a problem into smaller pieces enables you to solve larger problems without resorting to larger computer  MAINFRAME – 10 X faster but 1000 X expensive  Increased Processing Power  independent processors working on the same task  Distributed systems consisting of collections of microcomputers may have processing powers that no single computer will ever achieve  10000 CPUs, each running at 50 MIPS, yields 500000 MIPS  instruction to be executed in 0.002 nsec  equivalent to light distance of 0.6 mm  any processor chip of that size would melt immediately
  • 9. Introduction Motivation for A Distributed System Fault tolerance  If any of the machine gets down, others can still run Availability  Anytime, anywhere access Resource sharing  All clients can be server or vice versa to provide resources (data, files, services)  The main motivator for DS
  • 14. Challenges in Distributed System Distributed Computing
  • 15. Challenge: Heterogeneity Heterogeneity = variety and difference Heterogeneity of underlying network infrastructure (ethernet, ISDN, token ring etc), computer hardware and software (e.g., operating systems, compare UNIX sockets and Winsock calls), programming languages (java, C, python : in particular, data representations), implementations by different developers Heterogeneity needs to be masked Distributed Computing
  • 16. determines whether the system can be extended and re-implemented in various ways Determined primarily by the degree to which new resource-sharing services can be added and be made available for use by variety of client programs Detailed interfaces of components need to be standardized and published. Challenge: Openness Distributed Computing
  • 17. Security for information resources has three components: Confidentiality  protection against disclosure to unauthorized individuals Integrity  protection against alteration or corruption Availability  protection against interference with the means of accessing the resources The challenge: sending sensitive information in a network message in a secure manner efficiently Not just to conceal the info but to ensure that the sender and recipients are the rightful owners of the messages Challenge: Security Distributed Computing
  • 18. Challenge: Scalability A distributed system is scalable if it remains effective as the number of users and/or resources increase Challenges: Controlling resource costs Controlling performance loss Preventing resources from running out Avoiding performance bottlenecks Distributed Computing
  • 19. Challenge: Failure Handling Failures more common than in centralized systems and usually partial Failure handling includes Detection (may be impossible) Masking/hiding Tolerance Recovery Redundancy Distributed Computing
  • 20. Challenge: Failure Handling Detection Some possible (e.g., using transmission errors via checksums) Some impossible (crashed remote server vs. slow remote server) Challenge: manage failures that cannot be detected, but suspected Distributed Computing
  • 21. Challenge: Failure Handling Masking/hiding Some failures can be hidden or made less severe Replication in space/time  Space: e.g., writing to multiple disks  Time: e.g., transmission of multiple messages May not work in worst cases, e.g., all disks may have been corrupted Distributed Computing
  • 22. Challenge: Failure Handling Tolerance Sometimes not feasible to hide all failures E.g., user has to tolerate if web service has failed rather than wait until service is up again Only feasible for certain classes of applications/systems, e.g., DNS vs. Internet addresses Recovery Restoring a correct system state Roll back using log files Distributed Computing
  • 23. Challenge: Failure Handling Redundancy Tolerate failures by using redundant components Provided through replication E.g., redundant routes in network, replication of name tables in multiple domain name servers Goal of failure handling: high availability availability of a system is a measure of the proportion of time that the system is available for use Distributed Computing
  • 24. Challenge: Concurrency Concurrency control Handling several simultaneous requests for a resource  Consistent scheduling of concurrent threads (so that dependencies are preserved, e.g., in concurrent transactions) Synchronized operations (semaphores)  Safest, but limits throughput Shared objects/resources must guarantee correctness in a concurrent environment Avoidance of deadlocks Distributed Computing
  • 25. Challenge: Transparency Concealing the heterogeneous and distributed nature of the system so that it appears to the user like one system Eight types (ANSA/ISO) access, location, concurrency, replication, failure, mobility, performance and scaling transparencies Distributed Computing
  • 26. Challenge: Transparency •Access transparency: •enables local and remote resources to be accessed using identical operations. For instance, from a user's point of view, access to a remote service such as a printer should be identical with access to a local printer. From a programmers point of view, the access method to a remote object may be identical to access a local object of the same class. •E.g., Same user interface and operations offered in order to access either local or remote resources Distributed Computing
  • 27. Challenge: Transparency •Location transparency: •enables resources to be accessed without knowledge of their location. •The details of the topology of the system should be of no concern to the user. •The location of an object in the system may not be visible to the user or programmer. •This differs from access transparency in that both the naming and access methods may be the same. Names may give no hint as to location. •E.g., URL or e-mail addresses. • www.google.com (IP address is the physical location) Distributed Computing
  • 28. Challenge: Transparency •Concurrency transparency: •enables several processes to operate concurrently using shared resources without interference between them. •E.g., no conflict occur when 2 or more users accessing the same system Distributed Computing
  • 29. Challenge: Transparency •Replication transparency: •enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users. •This kind of transparency should be mainly incorporated for the distributed file systems, which replicate the data at two or more sites for more reliability. The client generally should not be aware that a replicated copy of the data exists. The clients should also expect operations to return only one set of values. •The examples are Distributed DBMS and Mirroring of Web pages. •Failure transparency: •enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. •E.g., retransmission of e-mail messages •Mobility transparency: •allows the movement of resources and clients within a system without affecting the operation of users or programs.Distributed Computing
  • 30. Challenge: Transparency •Mobility transparency: •allows the movement of resources and clients within a system without affecting the operation of users or programs. •E.g., caller and callee undergoing different places while on the phone Distributed Computing
  • 31. Challenge: Transparency •Performance transparency: •allows the system to be reconfigured to improve performance as loads vary. •Eg:Video On Demand (VOD) System •Scaling transparency: •allows the system and applications to expand in scale without change to the system structure or the application algorithms. •Eg: P2P apps Distributed Computing
  • 32. Transparency Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use Replication Hide that a resource may be replicated Concurrency Hide that a resource may be shared by several competitive users Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk
  • 33. 1. Name a program that is using distributed computing and freely available to the masses 2. Name 1 research field that is relying heavily on distributed computing
  • 34. Summary A distributed system is a collection of independent and autonomous computers that appear to the users of the system as a single computer.” Based on the above definition, there are three significant consequences : Concurrency No global clock Independent failures Several challenges need to be addressed in designing and building DS Heterogeneity, openness, security, scalability, failure handling, concurrency and transparency. Distributed Computing