SlideShare a Scribd company logo
1 of 35
Distributed Systems –
An Introduction
CS4262 Distributed Systems
Dilum Bandara
Dilum.Bandara@uom.lk
Some slides extracted from Dr. Srinath Perera & Dr. Rajkumar Buyya’s
Presentation Deck
What is a Distributed System?
2
Source: http://people.reed.edu/~jimfix/442ds/
What is a Distributed System?
3
Source: www.cs.bham.ac.uk/~nagarajs/courses/DSS/
What is a Distributed System?
“A distributed system is
one on which I cannot get
any work done because
some machine I have
never heard of has
crashed.”
--Leslie Lamport
4
What is a Distributed System?
“A system in which hardware or
software components located at
networked computers
communicate & coordinate their
actions only by message
passing.” - [Coulouris]
“A distributed system is a
collection of independent
computers that appear to the
users of the system as a single
coherent system.” - [Tanenbaum]
5
Key Characteristics
 Many independent computers
 Only communicate via message passing
 Coordinate/communicate to fulfill a common
goal
6
Characteristics of Distributed Systems
7
Question
 Which of the following is true?
a) Horizontal scaling is used in enterprise applications
b) Vertical scaling is used in cloud computing
c) Elasticity is the ability to scale in & out
d) Stateful servers/components are easier to scale
8
Why Distributed Systems?
 Some systems are inherently distributed
 e.g., file sharing, mobile social networks, vehicles
 Some problems are too big for a single system
 For scalability
 e.g., Google, Amazon, YouTube
 For better QoS/QoE
 e.g., YouTube, Google
 For reliability
 e.g., Google, Amazon
 For specific demographics
 e.g., Amazon, Yahoo, Google, CircInfo
 Economic reasons
 Resource sharing, Cloud
 System evolution
 Heterogeneous system with time
9
Applications – Online Stores
 Many items
 List of all items, with
their specs
 Index items by many
dimensions &
support search
 Many sellers
 Many byers
 Byers behaviour
 Support checkout, tracks delivery, returns, ratings, & complains
 Supported by partitioning sellers/ items across many nodes
 Business analytics 10
Applications – Desktop Grids
 Many volunteering their
computing power
 Scientists submit
computing jobs to system
 Broker match resources
with jobs
 Resource run jobs &
return results
 Handle failures
 Avoid free riding
 Biggest computers on
earth
www.seti.cl/aprendiendo-mas-sobre-boinc-y-la-computacion-voluntaria/
11
Applications – IoT
 Many sensors – Weather, travel, traffic, surveillance,
stock exchange, smart grid, production lines
 Monitor, understand, & react to events
 Usually handled with Stream Processing, Complex Event
Processing, or custom applications
Source: www.flickr.com/photos/imuttoo/4257813689/ by Ian Muttoo, www.flickr.com/photos/eastcapital/4554220770/ ,
www.flickr.com/photos/patdavid/4619331472/ by Pat David copyright CC
12
Applications – Mobile Crowdsourcing
 Modern mobile phones
are like a weather centre
 GPS, Barometer,
Temperature, Light
Proximity, & Moisture
sensors
 Get volunteer phones to
send sensor data (Crowd
source)
 Report on weather
 Crop diseases (agriculture
officials)
 Epidemics (from hospitals,
doctors)
 Use that to do weather
predictions, crop disease
& epidemic spread
Source: www.fotopedia.com/items/flickr-2548697541 ,
www.geograph.org.uk/photo/1534209, and
www.yourbdnews.com/2011/10/17/samsung-files-to-halt-iphone-4s-
in-japan-australia/iphone-4s, Licensed CC
Mobile:
Solving the Last Mile
Problem
13
Applications – Data Storages &
Provenance (Sky Server)
 Telescopes (Square
Kilometer Array) keep
collecting data from sky
(TBs per day)
 Sky Survey lets scientists
to come & see the sky of a
given location, as seen at
a given time
 Moving data take a long
time 1TB takes
 100 Mbps network - 30 hrs
 1 Gbps network - 3 hrs
 10 Gbps network - 20
minuteswww.geograph.org.uk/photo/103069, Licensed CC
14
http://cas.sdss.org
Applications – Theoretical Computer
Science
 Concerns with
 Coordination algorithms
 Leader election, multicast,
distributed locks, barriers,
snapshot algorithms
 Impossibility results, upper &
lower bounds
 Distributed versions of some
centralized algorithms
 e.g., shortest path
 A lot of work done on 70s lay
the ground work for Distributed
Systems
http://www.flickr.com/photos/lodz_na_nowo/5690492370/
http://xkcd.com/384/
http://www.flickr.com/photos/quinnanya/4990131194/sizes/z/in/photostream/,
Licensed CC
15
Parallel vs. Distributed Systems
 Convergence of concepts of parallel &
distributed systems
 Differentiation with parallel systems is blurring
 New middleware
 Extensibility of clusters leads to heterogeneity
 As new hardware is added
16
Parallel Systems Distributed Systems
Tight coupling Loose coupling
Physical proximity Server room to Global
Homogeneous Heterogeneous
Threads & MPI RPC, Web Services, REST
Distributed Systems Timeline/History
17
Period Topics
1965-late 70s Parallel Programming, Self Stabilization, Fault Tolerance,
ER Model/ Transactions, Time Clock
1980s Consensus & impossibility, SQL, Distributed Snapshots,
Replications, Group Communication
Early 90s Linearizability, Parallel DB, Transactional Memory, RAID,
MPI
Late 90s Volunteer Computing, P2P file sharing, Complex event
processing
Early 2000 Oceanostore, Web Services, Symantec Web, REST,
DHT, Pub/Sub, Grid, Autonomic Computing, Google File
System, Virtualization, SOA, Map reduce
2005-2010 Cloud, NoSQL, Mobile Apps, Data Provenance
Design Goals
 Transparency
 Differences between computers & the way they
communicate are hidden from users
 Single System View (SSV/SSI)
 Users & applications interact with a distributed system
in a consistent & uniform way regardless of where or
when the interaction takes place
 Scalability
 Relatively easy to expand or scale
 Availability
 Continuously available even though certain parts may
be temporarily out of order 18
Basic Design Issues
 Naming
 Flat, hierarchical
 Communication
 Dynamic, random, deterministic, unicast, anycast, multicast,
broadcast, RPC, HTTP
 System architecture
 Client-server, hierarchical, random, structured, hybrid
 Software structure
 API, SOA, ROA (Resource Oriented Architecture), Micro-services
 Workload allocation
 Static, dynamic
 Consistency maintenance
 Soft vs. hard 19
Fallacies of Distributed Systems
 Network is reliable
 Latency is zero
 Bandwidth is infinite
 Transport cost is zero
 Network is secure
 Topology doesn't change
 There is one administrator
 Infrastructure is homogeneous
20
By Arnon Rotem-Gal-Oz
Distributed System Challenges
 Concurrency
 No global state
 Failures in different elements
 Transparency
 Fault tolerance
 Scalability
 Heterogeneity
 Security
 Openness
21
1. Concurrency Challenges
 Every software or hardware component
 Autonomous, enable resource sharing, & synchronize
& coordinate via message passing
 A & B are concurrent, if either A can happen before B,
or B can happen before A
 Typical problems
 Deadlocks
 Unreliable communication
 Provide & manage concurrent access to shared
resources
 Preserve dependencies, e.g., distributed transactions
 Fair scheduling 22
2. Lack of Global State
 Absence of a global state
 Typically no single process would have a knowledge
of current global state of the system
 Due to concurrency & message passing communication
 Absence of a global clock
 Hard to say who’s first
 There are limits on precision with which processes in
a can synchronize their clocks
 However, problem can now be addressed in some
application with GPS time stamps
23
3. Failures in Different Elements
 Failures are more common than in centralized
systems
 Processes run autonomously, in isolation
 Failures of individual processes may remain
undetected
 Individual processes may be unaware of failures
in the system context
 Network failures isolate processes & partition
system
24
4. Transparency
 Present system to users & applications as a
single computer system
 Hides the fact that resources are physically
distributed across multiple computers
 There’s a trade-off between high degree of
transparency & system performance
 Attempting to blindly hide all distribution aspects from
users is not always a good idea
 Transparency can be applied to several aspects
25
Forms of Transparency
 Access transparency
 Access to local or remote resources is identical
 e.g., Network File System
 Location transparency
 Access without knowledge of location
 e.g., URLs, e-mail addresses
 Failure transparency
 Tasks can be completed despite failures
 e.g., retransmission of e-mails, failure of a Web server node should
not bring down the website
 Replication transparency
 Access to replicated resources as if there was just one
 Provide enhanced reliability & performance
26
Forms of Transparency (Cont.)
 Migration (mobility/relocation) transparency
 Movement of resources & clients within a system without affection
operation of users or applications
 e.g., switching from one name server to another, migration of a VM
from physical server to another
 Concurrency transparency
 A process shouldn’t notice that there are others sharing same
resources
 Performance transparency
 Allows system to be dynamically reconfigured to improve
performance as loads vary
 Scaling transparency
 Allows system & applications to expand in scale without change to
system structure or application algorithms 27
Question(s)
 Migration transparency
a) Allows access without knowledge of location
b) Enables multiple instances of resources
c) Enables the movement of resources
d) Enables the concealment of faults
 Higher degree of transparency is always
desirable True / False
28
5. Fault Tolerance
 Failure
 When an offered service no longer complies with its
specification
 Fault
 Cause of a failure
 Fault tolerance
 No failure despite faults
 Failures in distributed systems are partial
 Some components fail while others continue to
function
 Therefore, handling failure is particularly difficult
29
Fault Tolerance Mechanisms
 Detecting failures
 Checksums, heartbeat
 Masking failures
 Retransmission of corrupt messages, redundancy
 Tolerating failures
 Exception handling, timeouts, redundancy
 Recovering from failures
 Snapshots, rollback mechanisms
30
6. Scalability
 At many different scales
 No of applications, users, transactions, products to be
sold, attributes of products
 Goal is to remain effective when there is a significant
increase in no of resources & users
 3 different dimensions:
 Size scalability
 Limitations due to centralized services, centralized data,
centralized algorithms
 Geographic scalability
 Unreliable communication, lack of performance guarantees
 Administrative scalability
 Conflicting policies for resource usage, security, etc. 31
Scaling Techniques
 Scalability problems typically appear as
performance problems
 3 basic scaling techniques
 Hiding communication latencies
 Distribution
 Replication
32
Scalability Concerns
 Cost of physical resources
 Cost should linearly increase with system size
 Performance loss
 Finding things in large & distributed systems are hard
 Looking for algorithms with O(log n), n is size of data
 Preventing software resources from running out
 Nos used to represent resources, users, services, etc.
 e.g., IP v4 to V6, Y2K problem, Year 2038 problem
 Avoiding performance bottlenecks
 Maintaining global state
 Difficulty of maintaining up to date state 33
7-9. Other Challenges
 Heterogeneity
 Heterogeneous components must be able to
interoperate
 Applies to hardware, software, middleware, & protocols
 Security
 System should only be used in the way intended
 Distributed resources, networks, & users
 Distributed authentication, authorization, enforcing
integrity, non-repudiation, & accounting is hard
 Openness
 Interfaces should be publicly available to ease adding
new components 34
Summary
 We use them without realizing they are
distributed
 Goals
 Transparency, single system view, scalability,
availability
 Challenges
 Concurrency, no global state, failures, transparency,
fault tolerance, scalability, heterogeneity, security,
debugging
35

More Related Content

What's hot

Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed systemSunita Sahu
 
Multiprocessor Architecture (Advanced computer architecture)
Multiprocessor Architecture  (Advanced computer architecture)Multiprocessor Architecture  (Advanced computer architecture)
Multiprocessor Architecture (Advanced computer architecture)vani261
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applicationsBurhan Ahmed
 
Optimistic concurrency control in Distributed Systems
Optimistic concurrency control in Distributed SystemsOptimistic concurrency control in Distributed Systems
Optimistic concurrency control in Distributed Systemsmridul mishra
 
Introduction to distributed system
Introduction to distributed systemIntroduction to distributed system
Introduction to distributed systemishapadhy
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel ComputingRoshan Karunarathna
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsAya Mahmoud
 
Mac protocols for ad hoc wireless networks
Mac protocols for ad hoc wireless networks Mac protocols for ad hoc wireless networks
Mac protocols for ad hoc wireless networks Divya Tiwari
 
Block Cipher and its Design Principles
Block Cipher and its Design PrinciplesBlock Cipher and its Design Principles
Block Cipher and its Design PrinciplesSHUBHA CHATURVEDI
 
Open Cloud Consortium Overview (01-10-10 V6)
Open Cloud Consortium Overview (01-10-10 V6)Open Cloud Consortium Overview (01-10-10 V6)
Open Cloud Consortium Overview (01-10-10 V6)Robert Grossman
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical ClocksDilum Bandara
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitivesStudent
 
Process synchronization in Operating Systems
Process synchronization in Operating SystemsProcess synchronization in Operating Systems
Process synchronization in Operating SystemsRitu Ranjan Shrivastwa
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed SystemsRupsee
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architectureYisal Khan
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel ProgrammingUday Sharma
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computingVajira Thambawita
 
Distributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock DetectionDistributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock DetectionSHIKHA GAUTAM
 

What's hot (20)

Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed system
 
Multiprocessor Architecture (Advanced computer architecture)
Multiprocessor Architecture  (Advanced computer architecture)Multiprocessor Architecture  (Advanced computer architecture)
Multiprocessor Architecture (Advanced computer architecture)
 
Parallel Computing
Parallel ComputingParallel Computing
Parallel Computing
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applications
 
Optimistic concurrency control in Distributed Systems
Optimistic concurrency control in Distributed SystemsOptimistic concurrency control in Distributed Systems
Optimistic concurrency control in Distributed Systems
 
Introduction to distributed system
Introduction to distributed systemIntroduction to distributed system
Introduction to distributed system
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel Computing
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systems
 
Mac protocols for ad hoc wireless networks
Mac protocols for ad hoc wireless networks Mac protocols for ad hoc wireless networks
Mac protocols for ad hoc wireless networks
 
Block Cipher and its Design Principles
Block Cipher and its Design PrinciplesBlock Cipher and its Design Principles
Block Cipher and its Design Principles
 
Open Cloud Consortium Overview (01-10-10 V6)
Open Cloud Consortium Overview (01-10-10 V6)Open Cloud Consortium Overview (01-10-10 V6)
Open Cloud Consortium Overview (01-10-10 V6)
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical Clocks
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Process synchronization in Operating Systems
Process synchronization in Operating SystemsProcess synchronization in Operating Systems
Process synchronization in Operating Systems
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computing
 
Distributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock DetectionDistributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock Detection
 
Ooad
OoadOoad
Ooad
 

Similar to 01 - Introduction to Distributed Systems

Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT JaipurDistributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT JaipurDrNilam Choudhary
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptbalewayalew
 
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.pptMattChristianAustria2
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxvinaypandey170
 
Presentation of ditributed system
Presentation of ditributed systemPresentation of ditributed system
Presentation of ditributed systemgoogle
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -ssuser7c150a
 
Distributed system
Distributed systemDistributed system
Distributed systemchirag patil
 
CSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating SystemCSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating Systemghayour abbas
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptsirajmohammed35
 
Chapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsChapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsFrancelyno Murela
 
Intro to distributed systems
Intro to distributed systemsIntro to distributed systems
Intro to distributed systemsblueside7
 
Lecture03.pptx
Lecture03.pptxLecture03.pptx
Lecture03.pptxSaunya2
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxmeharikiros2
 
Distributed & parallel system
Distributed & parallel systemDistributed & parallel system
Distributed & parallel systemManish Singh
 
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.pptunit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.pptvmuniraja
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introductionTamrat Amare
 

Similar to 01 - Introduction to Distributed Systems (20)

Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT JaipurDistributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
18CS3040 DISTRIBUTED SYSTEMS
18CS3040 DISTRIBUTED SYSTEMS18CS3040 DISTRIBUTED SYSTEMS
18CS3040 DISTRIBUTED SYSTEMS
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
 
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
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docx
 
Presentation of ditributed system
Presentation of ditributed systemPresentation of ditributed system
Presentation of ditributed system
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -
 
20CS2021 DISTRIBUTED COMPUTING
20CS2021 DISTRIBUTED COMPUTING20CS2021 DISTRIBUTED COMPUTING
20CS2021 DISTRIBUTED COMPUTING
 
Distributed system
Distributed systemDistributed system
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
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
Chapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsChapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systems
 
Intro to distributed systems
Intro to distributed systemsIntro to distributed systems
Intro to distributed systems
 
Lecture03.pptx
Lecture03.pptxLecture03.pptx
Lecture03.pptx
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
 
Distributed & parallel system
Distributed & parallel systemDistributed & parallel system
Distributed & parallel system
 
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.pptunit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
 
Chapter One.ppt
Chapter One.pptChapter One.ppt
Chapter One.ppt
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 

More from Dilum Bandara

Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine LearningDilum Bandara
 
Time Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in PracticeTime Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in PracticeDilum Bandara
 
Introduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCAIntroduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCADilum Bandara
 
Introduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive AnalyticsIntroduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive AnalyticsDilum Bandara
 
Introduction to Concurrent Data Structures
Introduction to Concurrent Data StructuresIntroduction to Concurrent Data Structures
Introduction to Concurrent Data StructuresDilum Bandara
 
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-MatrixHard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-MatrixDilum Bandara
 
Introduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with HadoopIntroduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with HadoopDilum Bandara
 
Embarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel ProblemsEmbarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel ProblemsDilum Bandara
 
Introduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale ComputersIntroduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale ComputersDilum Bandara
 
Introduction to Thread Level Parallelism
Introduction to Thread Level ParallelismIntroduction to Thread Level Parallelism
Introduction to Thread Level ParallelismDilum Bandara
 
CPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching TechniquesCPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching TechniquesDilum Bandara
 
Data-Level Parallelism in Microprocessors
Data-Level Parallelism in MicroprocessorsData-Level Parallelism in Microprocessors
Data-Level Parallelism in MicroprocessorsDilum Bandara
 
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware TechniquesInstruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware TechniquesDilum Bandara
 
Instruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler TechniquesInstruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler TechniquesDilum Bandara
 
CPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An IntroductionCPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An IntroductionDilum Bandara
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPDilum Bandara
 
Introduction to Content Delivery Networks
Introduction to Content Delivery NetworksIntroduction to Content Delivery Networks
Introduction to Content Delivery NetworksDilum Bandara
 
Peer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and StreamingPeer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and StreamingDilum Bandara
 

More from Dilum Bandara (20)

Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Time Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in PracticeTime Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in Practice
 
Introduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCAIntroduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCA
 
Introduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive AnalyticsIntroduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive Analytics
 
Introduction to Concurrent Data Structures
Introduction to Concurrent Data StructuresIntroduction to Concurrent Data Structures
Introduction to Concurrent Data Structures
 
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-MatrixHard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
 
Introduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with HadoopIntroduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with Hadoop
 
Embarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel ProblemsEmbarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel Problems
 
Introduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale ComputersIntroduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale Computers
 
Introduction to Thread Level Parallelism
Introduction to Thread Level ParallelismIntroduction to Thread Level Parallelism
Introduction to Thread Level Parallelism
 
CPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching TechniquesCPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching Techniques
 
Data-Level Parallelism in Microprocessors
Data-Level Parallelism in MicroprocessorsData-Level Parallelism in Microprocessors
Data-Level Parallelism in Microprocessors
 
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware TechniquesInstruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware Techniques
 
Instruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler TechniquesInstruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler Techniques
 
CPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An IntroductionCPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An Introduction
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
 
Introduction to Content Delivery Networks
Introduction to Content Delivery NetworksIntroduction to Content Delivery Networks
Introduction to Content Delivery Networks
 
Peer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and StreamingPeer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and Streaming
 
Mobile Services
Mobile ServicesMobile Services
Mobile Services
 

Recently uploaded

Circuit Breakers for Engineering Students
Circuit Breakers for Engineering StudentsCircuit Breakers for Engineering Students
Circuit Breakers for Engineering Studentskannan348865
 
Adsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptAdsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptjigup7320
 
Intro to Design (for Engineers) at Sydney Uni
Intro to Design (for Engineers) at Sydney UniIntro to Design (for Engineers) at Sydney Uni
Intro to Design (for Engineers) at Sydney UniR. Sosa
 
History of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationHistory of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationEmaan Sharma
 
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...drjose256
 
Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualBalamuruganV28
 
5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...archanaece3
 
Artificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdfArtificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdfKira Dess
 
15-Minute City: A Completely New Horizon
15-Minute City: A Completely New Horizon15-Minute City: A Completely New Horizon
15-Minute City: A Completely New HorizonMorshed Ahmed Rahath
 
CLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalCLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalSwarnaSLcse
 
Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...IJECEIAES
 
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...Amil baba
 
Interfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdfInterfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdfragupathi90
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdfKamal Acharya
 
21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological universityMohd Saifudeen
 
Worksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxWorksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxMustafa Ahmed
 
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdflitvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdfAlexander Litvinenko
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxMustafa Ahmed
 
21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docxrahulmanepalli02
 
Augmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxAugmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxMustafa Ahmed
 

Recently uploaded (20)

Circuit Breakers for Engineering Students
Circuit Breakers for Engineering StudentsCircuit Breakers for Engineering Students
Circuit Breakers for Engineering Students
 
Adsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptAdsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) ppt
 
Intro to Design (for Engineers) at Sydney Uni
Intro to Design (for Engineers) at Sydney UniIntro to Design (for Engineers) at Sydney Uni
Intro to Design (for Engineers) at Sydney Uni
 
History of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationHistory of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & Modernization
 
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
 
Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manual
 
5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...
 
Artificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdfArtificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdf
 
15-Minute City: A Completely New Horizon
15-Minute City: A Completely New Horizon15-Minute City: A Completely New Horizon
15-Minute City: A Completely New Horizon
 
CLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalCLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference Modal
 
Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...
 
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
 
Interfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdfInterfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdf
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdf
 
21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university
 
Worksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxWorksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptx
 
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdflitvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptx
 
21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx
 
Augmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxAugmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptx
 

01 - Introduction to Distributed Systems

  • 1. Distributed Systems – An Introduction CS4262 Distributed Systems Dilum Bandara Dilum.Bandara@uom.lk Some slides extracted from Dr. Srinath Perera & Dr. Rajkumar Buyya’s Presentation Deck
  • 2. What is a Distributed System? 2 Source: http://people.reed.edu/~jimfix/442ds/
  • 3. What is a Distributed System? 3 Source: www.cs.bham.ac.uk/~nagarajs/courses/DSS/
  • 4. What is a Distributed System? “A distributed system is one on which I cannot get any work done because some machine I have never heard of has crashed.” --Leslie Lamport 4
  • 5. What is a Distributed System? “A system in which hardware or software components located at networked computers communicate & coordinate their actions only by message passing.” - [Coulouris] “A distributed system is a collection of independent computers that appear to the users of the system as a single coherent system.” - [Tanenbaum] 5
  • 6. Key Characteristics  Many independent computers  Only communicate via message passing  Coordinate/communicate to fulfill a common goal 6
  • 8. Question  Which of the following is true? a) Horizontal scaling is used in enterprise applications b) Vertical scaling is used in cloud computing c) Elasticity is the ability to scale in & out d) Stateful servers/components are easier to scale 8
  • 9. Why Distributed Systems?  Some systems are inherently distributed  e.g., file sharing, mobile social networks, vehicles  Some problems are too big for a single system  For scalability  e.g., Google, Amazon, YouTube  For better QoS/QoE  e.g., YouTube, Google  For reliability  e.g., Google, Amazon  For specific demographics  e.g., Amazon, Yahoo, Google, CircInfo  Economic reasons  Resource sharing, Cloud  System evolution  Heterogeneous system with time 9
  • 10. Applications – Online Stores  Many items  List of all items, with their specs  Index items by many dimensions & support search  Many sellers  Many byers  Byers behaviour  Support checkout, tracks delivery, returns, ratings, & complains  Supported by partitioning sellers/ items across many nodes  Business analytics 10
  • 11. Applications – Desktop Grids  Many volunteering their computing power  Scientists submit computing jobs to system  Broker match resources with jobs  Resource run jobs & return results  Handle failures  Avoid free riding  Biggest computers on earth www.seti.cl/aprendiendo-mas-sobre-boinc-y-la-computacion-voluntaria/ 11
  • 12. Applications – IoT  Many sensors – Weather, travel, traffic, surveillance, stock exchange, smart grid, production lines  Monitor, understand, & react to events  Usually handled with Stream Processing, Complex Event Processing, or custom applications Source: www.flickr.com/photos/imuttoo/4257813689/ by Ian Muttoo, www.flickr.com/photos/eastcapital/4554220770/ , www.flickr.com/photos/patdavid/4619331472/ by Pat David copyright CC 12
  • 13. Applications – Mobile Crowdsourcing  Modern mobile phones are like a weather centre  GPS, Barometer, Temperature, Light Proximity, & Moisture sensors  Get volunteer phones to send sensor data (Crowd source)  Report on weather  Crop diseases (agriculture officials)  Epidemics (from hospitals, doctors)  Use that to do weather predictions, crop disease & epidemic spread Source: www.fotopedia.com/items/flickr-2548697541 , www.geograph.org.uk/photo/1534209, and www.yourbdnews.com/2011/10/17/samsung-files-to-halt-iphone-4s- in-japan-australia/iphone-4s, Licensed CC Mobile: Solving the Last Mile Problem 13
  • 14. Applications – Data Storages & Provenance (Sky Server)  Telescopes (Square Kilometer Array) keep collecting data from sky (TBs per day)  Sky Survey lets scientists to come & see the sky of a given location, as seen at a given time  Moving data take a long time 1TB takes  100 Mbps network - 30 hrs  1 Gbps network - 3 hrs  10 Gbps network - 20 minuteswww.geograph.org.uk/photo/103069, Licensed CC 14 http://cas.sdss.org
  • 15. Applications – Theoretical Computer Science  Concerns with  Coordination algorithms  Leader election, multicast, distributed locks, barriers, snapshot algorithms  Impossibility results, upper & lower bounds  Distributed versions of some centralized algorithms  e.g., shortest path  A lot of work done on 70s lay the ground work for Distributed Systems http://www.flickr.com/photos/lodz_na_nowo/5690492370/ http://xkcd.com/384/ http://www.flickr.com/photos/quinnanya/4990131194/sizes/z/in/photostream/, Licensed CC 15
  • 16. Parallel vs. Distributed Systems  Convergence of concepts of parallel & distributed systems  Differentiation with parallel systems is blurring  New middleware  Extensibility of clusters leads to heterogeneity  As new hardware is added 16 Parallel Systems Distributed Systems Tight coupling Loose coupling Physical proximity Server room to Global Homogeneous Heterogeneous Threads & MPI RPC, Web Services, REST
  • 17. Distributed Systems Timeline/History 17 Period Topics 1965-late 70s Parallel Programming, Self Stabilization, Fault Tolerance, ER Model/ Transactions, Time Clock 1980s Consensus & impossibility, SQL, Distributed Snapshots, Replications, Group Communication Early 90s Linearizability, Parallel DB, Transactional Memory, RAID, MPI Late 90s Volunteer Computing, P2P file sharing, Complex event processing Early 2000 Oceanostore, Web Services, Symantec Web, REST, DHT, Pub/Sub, Grid, Autonomic Computing, Google File System, Virtualization, SOA, Map reduce 2005-2010 Cloud, NoSQL, Mobile Apps, Data Provenance
  • 18. Design Goals  Transparency  Differences between computers & the way they communicate are hidden from users  Single System View (SSV/SSI)  Users & applications interact with a distributed system in a consistent & uniform way regardless of where or when the interaction takes place  Scalability  Relatively easy to expand or scale  Availability  Continuously available even though certain parts may be temporarily out of order 18
  • 19. Basic Design Issues  Naming  Flat, hierarchical  Communication  Dynamic, random, deterministic, unicast, anycast, multicast, broadcast, RPC, HTTP  System architecture  Client-server, hierarchical, random, structured, hybrid  Software structure  API, SOA, ROA (Resource Oriented Architecture), Micro-services  Workload allocation  Static, dynamic  Consistency maintenance  Soft vs. hard 19
  • 20. Fallacies of Distributed Systems  Network is reliable  Latency is zero  Bandwidth is infinite  Transport cost is zero  Network is secure  Topology doesn't change  There is one administrator  Infrastructure is homogeneous 20 By Arnon Rotem-Gal-Oz
  • 21. Distributed System Challenges  Concurrency  No global state  Failures in different elements  Transparency  Fault tolerance  Scalability  Heterogeneity  Security  Openness 21
  • 22. 1. Concurrency Challenges  Every software or hardware component  Autonomous, enable resource sharing, & synchronize & coordinate via message passing  A & B are concurrent, if either A can happen before B, or B can happen before A  Typical problems  Deadlocks  Unreliable communication  Provide & manage concurrent access to shared resources  Preserve dependencies, e.g., distributed transactions  Fair scheduling 22
  • 23. 2. Lack of Global State  Absence of a global state  Typically no single process would have a knowledge of current global state of the system  Due to concurrency & message passing communication  Absence of a global clock  Hard to say who’s first  There are limits on precision with which processes in a can synchronize their clocks  However, problem can now be addressed in some application with GPS time stamps 23
  • 24. 3. Failures in Different Elements  Failures are more common than in centralized systems  Processes run autonomously, in isolation  Failures of individual processes may remain undetected  Individual processes may be unaware of failures in the system context  Network failures isolate processes & partition system 24
  • 25. 4. Transparency  Present system to users & applications as a single computer system  Hides the fact that resources are physically distributed across multiple computers  There’s a trade-off between high degree of transparency & system performance  Attempting to blindly hide all distribution aspects from users is not always a good idea  Transparency can be applied to several aspects 25
  • 26. Forms of Transparency  Access transparency  Access to local or remote resources is identical  e.g., Network File System  Location transparency  Access without knowledge of location  e.g., URLs, e-mail addresses  Failure transparency  Tasks can be completed despite failures  e.g., retransmission of e-mails, failure of a Web server node should not bring down the website  Replication transparency  Access to replicated resources as if there was just one  Provide enhanced reliability & performance 26
  • 27. Forms of Transparency (Cont.)  Migration (mobility/relocation) transparency  Movement of resources & clients within a system without affection operation of users or applications  e.g., switching from one name server to another, migration of a VM from physical server to another  Concurrency transparency  A process shouldn’t notice that there are others sharing same resources  Performance transparency  Allows system to be dynamically reconfigured to improve performance as loads vary  Scaling transparency  Allows system & applications to expand in scale without change to system structure or application algorithms 27
  • 28. Question(s)  Migration transparency a) Allows access without knowledge of location b) Enables multiple instances of resources c) Enables the movement of resources d) Enables the concealment of faults  Higher degree of transparency is always desirable True / False 28
  • 29. 5. Fault Tolerance  Failure  When an offered service no longer complies with its specification  Fault  Cause of a failure  Fault tolerance  No failure despite faults  Failures in distributed systems are partial  Some components fail while others continue to function  Therefore, handling failure is particularly difficult 29
  • 30. Fault Tolerance Mechanisms  Detecting failures  Checksums, heartbeat  Masking failures  Retransmission of corrupt messages, redundancy  Tolerating failures  Exception handling, timeouts, redundancy  Recovering from failures  Snapshots, rollback mechanisms 30
  • 31. 6. Scalability  At many different scales  No of applications, users, transactions, products to be sold, attributes of products  Goal is to remain effective when there is a significant increase in no of resources & users  3 different dimensions:  Size scalability  Limitations due to centralized services, centralized data, centralized algorithms  Geographic scalability  Unreliable communication, lack of performance guarantees  Administrative scalability  Conflicting policies for resource usage, security, etc. 31
  • 32. Scaling Techniques  Scalability problems typically appear as performance problems  3 basic scaling techniques  Hiding communication latencies  Distribution  Replication 32
  • 33. Scalability Concerns  Cost of physical resources  Cost should linearly increase with system size  Performance loss  Finding things in large & distributed systems are hard  Looking for algorithms with O(log n), n is size of data  Preventing software resources from running out  Nos used to represent resources, users, services, etc.  e.g., IP v4 to V6, Y2K problem, Year 2038 problem  Avoiding performance bottlenecks  Maintaining global state  Difficulty of maintaining up to date state 33
  • 34. 7-9. Other Challenges  Heterogeneity  Heterogeneous components must be able to interoperate  Applies to hardware, software, middleware, & protocols  Security  System should only be used in the way intended  Distributed resources, networks, & users  Distributed authentication, authorization, enforcing integrity, non-repudiation, & accounting is hard  Openness  Interfaces should be publicly available to ease adding new components 34
  • 35. Summary  We use them without realizing they are distributed  Goals  Transparency, single system view, scalability, availability  Challenges  Concurrency, no global state, failures, transparency, fault tolerance, scalability, heterogeneity, security, debugging 35

Editor's Notes

  1. Sky Server – 200 GB a night Chilbolton Radio Telescope - 7 PB of raw data will be produced each year ~19 TB a day
  2. According to the Fundamentals of Software Engineering book by Ghezzi et. al., software engineering principles include (1) Rigor and Formality (2) Separation of Concerns (3) Modularity (4) Abstraction (5) Anticipation of Change (6) Generality and (7) Incrementality. Specific issues need to be resolved for the design of software for distributed systems.
  3. Fallacies – misconceptions
  4. 22