SlideShare una empresa de Scribd logo
1 de 34
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

Más contenido relacionado

La actualidad más candente

Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systems
Reza Gh
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
karan2190
 
Distributed Server
Distributed ServerDistributed Server
Distributed Server
Rajan Kumar
 
Virtualization (Distributed computing)
Virtualization (Distributed computing)Virtualization (Distributed computing)
Virtualization (Distributed computing)
Sri Prasanna
 

La actualidad más candente (20)

Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
 
Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systems
 
Distributed System
Distributed SystemDistributed System
Distributed System
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
 
Distributed Server
Distributed ServerDistributed Server
Distributed Server
 
Distributed network
Distributed networkDistributed network
Distributed network
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Distributed Operating System_4
Distributed Operating System_4Distributed Operating System_4
Distributed Operating System_4
 
VTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingVTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computing
 
Distributed computing bsics
Distributed computing bsicsDistributed computing bsics
Distributed computing bsics
 
Client Server Architecture ppt
Client Server Architecture pptClient Server Architecture ppt
Client Server Architecture ppt
 
Virtualization (Distributed computing)
Virtualization (Distributed computing)Virtualization (Distributed computing)
Virtualization (Distributed computing)
 
Virtual machine security
Virtual machine securityVirtual machine security
Virtual machine security
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
 
Overview of computing paradigm
Overview of computing paradigmOverview of computing paradigm
Overview of computing paradigm
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
 
CSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating SystemCSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating System
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)
 
Unix architecture | Operating System
Unix architecture | Operating SystemUnix architecture | Operating System
Unix architecture | Operating System
 

Destacado

Optimus protein
Optimus proteinOptimus protein
Optimus protein
EdDonnelly
 
Portfolio
PortfolioPortfolio
Portfolio
wrwolff
 
Walking for entertainment
Walking for entertainmentWalking for entertainment
Walking for entertainment
Katherine Chen
 
Ebook competencias-digitales-blog
Ebook competencias-digitales-blogEbook competencias-digitales-blog
Ebook competencias-digitales-blog
Daniel Gracia
 

Destacado (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 a Chapter 1 -_characterization_of_distributed_systems

Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
Tamrat Amare
 
Distributed Processing
Distributed ProcessingDistributed Processing
Distributed Processing
Imtiaz Hussain
 
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.ppt
MrVMNair
 

Similar a 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
 
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
 
istributed system
istributed systemistributed system
istributed system
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

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