SlideShare a Scribd company logo
Distributed Systems
Principles and Paradigms
Chapter 01: Introduction
Introduction 1.1 Definition
Distributed System: Definition
A distributed system is
a collection of autonomous computing elements that appears
to its users as a single coherent system
Two aspects: (1) independent computing elements and
(2) single system ⇒ middleware.
Local OS 1 Local OS 2 Local OS 3 Local OS 4
Appl. A Application B Appl. C
Distributed-system layer (middleware)
Computer 1 Computer 2 Computer 3 Computer 4
Same interface everywhere
Network
2 / 28
Introduction 1.2 Goals
Goals of Distributed Systems
Making resources available
Distribution transparency
Openness
Scalability
3 / 28
Introduction 1.2 Goals
Distribution transparency
Transp. Description
Access Hide differences in data representation and how an
object is accessed
Location Hide where an object is located
Relocation Hide that an object may be moved to another location
while in use
Migration Hide that an object may move to another location
Replication Hide that an object is replicated
Concurrency Hide that an object may be shared by several
independent users
Failure Hide the failure and recovery of an object
Note
Distribution transparency is a nice a goal, but achieving it is a different story.
4 / 28
Introduction 1.2 Goals
Degree of transparency
Observation
Aiming at full distribution transparency may be too much:
Users may be located in different continents
Completely hiding failures of networks and nodes is (theoretically and
practically) impossible
You cannot distinguish a slow computer from a failing one
You can never be sure that a server actually performed an
operation before a crash
Full transparency will cost performance, exposing distribution of the
system
Keeping Web caches exactly up-to-date with the master
Immediately flushing write operations to disk for fault tolerance
5 / 28
Introduction 1.2 Goals
Openness of distributed systems
Open distributed system
Be able to interact with services from other open systems, irrespective
of the underlying environment:
Systems should conform to well-defined interfaces
Systems should support portability of applications
Systems should easily interoperate
Achieving openness
At least make the distributed system independent from heterogeneity
of the underlying environment:
Hardware
Platforms
Languages
6 / 28
Introduction 1.2 Goals
Policies versus mechanisms
Implementing openness
Requires support for different policies:
What level of consistency do we require for client-cached data?
Which operations do we allow downloaded code to perform?
Which QoS requirements do we adjust in the face of varying bandwidth?
What level of secrecy do we require for communication?
Implementing openness
Ideally, a distributed system provides only mechanisms:
Allow (dynamic) setting of caching policies
Support different levels of trust for mobile code
Provide adjustable QoS parameters per data stream
Offer different encryption algorithms
7 / 28
Introduction 1.2 Goals
Scale in distributed systems
Observation
Many developers of modern distributed system easily use the adjective
“scalable” without making clear why their system actually scales.
Scalability
At least three components:
Number of users and/or processes (size scalability)
Maximum distance between nodes (geographical scalability)
Number of administrative domains (administrative scalability)
Observation
Most systems account only, to a certain extent, for size scalability. The
(non)solution: powerful servers. Today, the challenge lies in geographical and
administrative scalability.
8 / 28
Introduction 1.2 Goals
Techniques for scaling
Hide communication latencies
Avoid waiting for responses; do something else:
Make use of asynchronous communication
Have separate handler for incoming response
Problem: not every application fits this model
9 / 28
Introduction 1.2 Goals
Techniques for scaling
Distribution
Partition data and computations across multiple machines:
Move computations to clients (Java applets)
Decentralized naming services (DNS)
Decentralized information systems (WWW)
10 / 28
Introduction 1.2 Goals
Techniques for scaling
Replication/caching
Make copies of data available at different machines:
Replicated file servers and databases
Mirrored Web sites
Web caches (in browsers and proxies)
File caching (at server and client)
11 / 28
Introduction 1.2 Goals
Scaling – The problem
Observation
Applying scaling techniques is easy, except for one thing:
Having multiple copies (cached or replicated), leads to
inconsistencies: modifying one copy makes that copy different
from the rest.
Always keeping copies consistent and in a general way requires
global synchronization on each modification.
Global synchronization precludes large-scale solutions.
Observation
If we can tolerate inconsistencies, we may reduce the need for global
synchronization, but tolerating inconsistencies is application
dependent.
12 / 28
Introduction 1.2 Goals
Developing distributed systems: Pitfalls
Observation
Many distributed systems are needlessly complex caused by mistakes
that required patching later on. There are many false assumptions:
The network is reliable
The network is secure
The network is homogeneous
The topology does not change
Latency is zero
Bandwidth is infinite
Transport cost is zero
There is one administrator
13 / 28
Introduction 1.3 Types of distributed systems
Types of distributed systems
Distributed computing systems
Distributed information systems
Distributed pervasive systems
14 / 28
Introduction 1.3 Types of distributed systems
Distributed computing systems
Observation
Many distributed systems are configured for High-Performance
Computing
Cluster Computing
Essentially a group of high-end systems connected through a LAN:
Homogeneous: same OS, near-identical hardware
Single managing node
15 / 28
Introduction 1.3 Types of distributed systems
Distributed computing systems
Local OS
Local OS Local OS Local OS
Standard network
Component
of
parallel
application
Component
of
parallel
application
Component
of
parallel
application
Parallel libs
Management
application
High-speed network
Remote access
network
Master node Compute node Compute node Compute node
16 / 28
Introduction 1.3 Types of distributed systems
Distributed computing systems
Grid Computing
The next step: lots of nodes from everywhere:
Heterogeneous
Dispersed across several organizations
Can easily span a wide-area network
Note
To allow for collaborations, grids generally use virtual organizations. In
essence, this is a grouping of users (or better: their IDs) that will allow
for authorization on resource allocation.
17 / 28
Introduction 1.3 Types of distributed systems
Distributed computing systems: Clouds
Application
Infrastructure
Computation (VM), storage (block)
Hardware
Platforms
Software framework (Java/Python/.Net)
Storage (DB, File)
Infrastructure
aa
Svc
Platform
aa
Svc
Software
aa
Svc
Google Apps
YouT ube
Flickr
MS Azure
Amazon S3
Amazon EC2
Datacenters
CPU, memory, disk, bandwidth
Web services, multimedia, business apps
18 / 28
Introduction 1.3 Types of distributed systems
Distributed computing systems: Clouds
Cloud computing
Make a distinction between four layers:
Hardware: Processors, routers, power and cooling systems.
Customers normally never get to see these.
Infrastructure: Deploys virtualization techniques. Evolves around
allocating and managing virtual storage devices and virtual
servers.
Platform: Provides higher-level abstractions for storage and such.
Example: Amazon S3 storage system offers an API for (locally
created) files to be organized and stored in so-called buckets.
Application: Actual applications, such as office suites (text
processors, spreadsheet applications, presentation applications).
Comparable to the suite of apps shipped with OSes.
19 / 28
Introduction 1.3 Types of distributed systems
Distributed Information Systems
Observation
The vast amount of distributed systems in use today are forms of
traditional information systems, that now integrate legacy systems.
Example: Transaction processing systems.
BEGIN TRANSACTION(server, transaction)
READ(transaction, file-1, data)
WRITE(transaction, file-2, data)
newData := MODIFIED(data)
IF WRONG(newData) THEN
ABORT TRANSACTION(transaction)
ELSE
WRITE(transaction, file-2, newData)
END TRANSACTION(transaction)
END IF
Note
Transactions form an atomic operation.
20 / 28
Introduction 1.3 Types of distributed systems
Distributed information systems: Transactions
Model
A transaction is a collection of operations on the state of an object (database,
object composition, etc.) that satisfies the following properties (ACID)
Atomicity: All operations either succeed, or all of them fail. When the
transaction fails, the state of the object will remain unaffected by the
transaction.
Consistency: A transaction establishes a valid state transition. This does not
exclude the possibility of invalid, intermediate states during the
transaction’s execution.
Isolation: Concurrent transactions do not interfere with each other. It appears
to each transaction T that other transactions occur either before T, or
after T, but never both.
Durability: After the execution of a transaction, its effects are made
permanent: changes to the state survive failures.
21 / 28
Introduction 1.3 Types of distributed systems
Transaction processing monitor
Observation
In many cases, the data involved in a transaction is distributed across
several servers. A TP Monitor is responsible for coordinating the
execution of a transaction
TP monitor
Server
Server
Server
Client
application
Requests
Reply
Request
Request
Request
Reply
Reply
Reply
Transaction
22 / 28
Introduction 1.3 Types of distributed systems
Distr. info. systems: Enterprise application integration
Problem
A TP monitor doesn’t separate apps from their databases. Also
needed are facilities for direct communication between apps.
Server-side
application
Server-side
application
Server-side
application
Client
application
Client
application
Communication middleware
Remote Procedure Call (RPC)
Message-Oriented Middleware (MOM)
23 / 28
Introduction 1.3 Types of distributed systems
Distributed pervasive systems
Observation
Emerging next-generation of distributed systems in which nodes are
small, mobile, and often embedded in a larger system, characterized
by the fact that the system naturally blends into the user’s environment.
Three (overlapping) subtypes
Ubiquitous computing systems: pervasive and continuously
present, i.e., there is a continous interaction between system and
user.
Mobile computing systems: pervasive, but emphasis is on the fact
that devices are inherently mobile.
Sensor (and actuator) networks: pervasive, with emphasis on the
actual (collaborative) sensing and actuation of the environment.
24 / 28
Introduction 1.3 Types of distributed systems
Ubiquitous computing systems
Basic characteristics
(Distribution) Devices are networked, distributed, and accessible
in a transparent manner
(Interaction) Interaction between users and devices is highly
unobtrusive
(Context awareness) The system is aware of a user’s context in
order to optimize interaction
(Autonomy) Devices operate autonomously without human
intervention, and are thus highly self-managed
(Intelligence) The system as a whole can handle a wide range of
dynamic actions and interactions
25 / 28
Introduction 1.3 Types of distributed systems
Mobile computing systems
Observation
Mobile computing systems are generally a subclass of ubiquitous
computing systems and meet all of the five requirements.
Typical characteristics
Many different types of mobile divices: smart phones, remote
controls, car equipment, and so on
Wireless communication
Devices may continuously change their location ⇒
setting up a route may be problematic, as routes can change
frequently
devices may easily be temporarily disconnected ⇒
disruption-tolerant networks
26 / 28
Introduction 1.3 Types of distributed systems
Sensor networks
Characteristics
The nodes to which sensors are attached are:
Many (10s-1000s)
Simple (small memory/compute/communication capacity)
Often battery-powered (or even battery-less)
27 / 28
Introduction 1.3 Types of distributed systems
Sensor networks as distributed systems
Operator's site
Sensor network
Sensor data
is sent directly
to operator
Operator's site
Sensor network
Query
Sensors
send only
answers
Each sensor
can process and
store data
(a)
(b)
28 / 28
Ad

Recommended

DS ( distributions Systems )chap-01.ppt
DS ( distributions Systems )chap-01.ppt
DostMohammadFahimi
 
Chapter One.ppt
Chapter One.ppt
abdigeremew
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
sirajmohammed35
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
balewayalew
 
Chap 01 lecture 1distributed computer lecture
Chap 01 lecture 1distributed computer lecture
Muhammad Arslan
 
Intro to distributed systems
Intro to distributed systems
blueside7
 
Chapter 1-Introduction to distributed system.pptx
Chapter 1-Introduction to distributed system.pptx
gadisaAdamu
 
Lecture 2 - Definition and Goals of a Distributed System.ppt
Lecture 2 - Definition and Goals of a Distributed System.ppt
KostadinKostadin
 
intro_to_dis.pdf
intro_to_dis.pdf
ssuser097ea8
 
Introduction to Distributed Systems
Introduction to Distributed Systems
ssuser097ea8
 
Distributed Systems.pptx
Distributed Systems.pptx
salutiontechnology
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
AschalewAyele2
 
- Introduction - Distributed - System -
- Introduction - Distributed - System -
ssuser7c150a
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes
SAhammedShakil
 
Distributed Systems for Data Sciene and Analytics
Distributed Systems for Data Sciene and Analytics
smartguykrish11
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
meharikiros2
 
01 - Introduction to Distributed Systems
01 - Introduction to Distributed Systems
Dilum Bandara
 
Distributed Network, Computing, and System
Distributed Network, Computing, and System
mycharles1
 
chap-0 .ppt
chap-0 .ppt
Lookly Sam
 
Lecture 9.pptx
Lecture 9.pptx
JiyaMalik33
 
Distributed systems principles and paradigms 2nd ed., New international ed Ed...
Distributed systems principles and paradigms 2nd ed., New international ed Ed...
emtiajalmash
 
Lecture_1.pptx Introduction Introduction
Lecture_1.pptx Introduction Introduction
HaiderAli84963
 
distributed_systems_introduction_chapter_1.pptx
distributed_systems_introduction_chapter_1.pptx
ShadyAmgad4
 
Unit 1
Unit 1
Baskarkncet
 
Unit 1
Unit 1
Karthi Vel
 
Introduction to Distributed System
Introduction to Distributed System
RKGhosh3
 
chapter 1 Introduction Distributed System
chapter 1 Introduction Distributed System
sppunhan
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docx
vinaypandey170
 
This is why students from these 44 institutions have not received National Se...
This is why students from these 44 institutions have not received National Se...
Kweku Zurek
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 

More Related Content

Similar to Introduction to paralle and distributed computing (20)

intro_to_dis.pdf
intro_to_dis.pdf
ssuser097ea8
 
Introduction to Distributed Systems
Introduction to Distributed Systems
ssuser097ea8
 
Distributed Systems.pptx
Distributed Systems.pptx
salutiontechnology
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
AschalewAyele2
 
- Introduction - Distributed - System -
- Introduction - Distributed - System -
ssuser7c150a
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes
SAhammedShakil
 
Distributed Systems for Data Sciene and Analytics
Distributed Systems for Data Sciene and Analytics
smartguykrish11
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
meharikiros2
 
01 - Introduction to Distributed Systems
01 - Introduction to Distributed Systems
Dilum Bandara
 
Distributed Network, Computing, and System
Distributed Network, Computing, and System
mycharles1
 
chap-0 .ppt
chap-0 .ppt
Lookly Sam
 
Lecture 9.pptx
Lecture 9.pptx
JiyaMalik33
 
Distributed systems principles and paradigms 2nd ed., New international ed Ed...
Distributed systems principles and paradigms 2nd ed., New international ed Ed...
emtiajalmash
 
Lecture_1.pptx Introduction Introduction
Lecture_1.pptx Introduction Introduction
HaiderAli84963
 
distributed_systems_introduction_chapter_1.pptx
distributed_systems_introduction_chapter_1.pptx
ShadyAmgad4
 
Unit 1
Unit 1
Baskarkncet
 
Unit 1
Unit 1
Karthi Vel
 
Introduction to Distributed System
Introduction to Distributed System
RKGhosh3
 
chapter 1 Introduction Distributed System
chapter 1 Introduction Distributed System
sppunhan
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docx
vinaypandey170
 
Introduction to Distributed Systems
Introduction to Distributed Systems
ssuser097ea8
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
AschalewAyele2
 
- Introduction - Distributed - System -
- Introduction - Distributed - System -
ssuser7c150a
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes
SAhammedShakil
 
Distributed Systems for Data Sciene and Analytics
Distributed Systems for Data Sciene and Analytics
smartguykrish11
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
meharikiros2
 
01 - Introduction to Distributed Systems
01 - Introduction to Distributed Systems
Dilum Bandara
 
Distributed Network, Computing, and System
Distributed Network, Computing, and System
mycharles1
 
Distributed systems principles and paradigms 2nd ed., New international ed Ed...
Distributed systems principles and paradigms 2nd ed., New international ed Ed...
emtiajalmash
 
Lecture_1.pptx Introduction Introduction
Lecture_1.pptx Introduction Introduction
HaiderAli84963
 
distributed_systems_introduction_chapter_1.pptx
distributed_systems_introduction_chapter_1.pptx
ShadyAmgad4
 
Introduction to Distributed System
Introduction to Distributed System
RKGhosh3
 
chapter 1 Introduction Distributed System
chapter 1 Introduction Distributed System
sppunhan
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docx
vinaypandey170
 

Recently uploaded (20)

This is why students from these 44 institutions have not received National Se...
This is why students from these 44 institutions have not received National Se...
Kweku Zurek
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
Hurricane Helene Application Documents Checklists
Hurricane Helene Application Documents Checklists
Mebane Rash
 
Wage and Salary Computation.ppt.......,x
Wage and Salary Computation.ppt.......,x
JosalitoPalacio
 
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
SHERAZ AHMAD LONE
 
Birnagar High School Platinum Jubilee Quiz.pptx
Birnagar High School Platinum Jubilee Quiz.pptx
Sourav Kr Podder
 
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
IIT Kharagpur Quiz Club
 
INDUCTIVE EFFECT slide for first prof pharamacy students
INDUCTIVE EFFECT slide for first prof pharamacy students
SHABNAM FAIZ
 
How payment terms are configured in Odoo 18
How payment terms are configured in Odoo 18
Celine George
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
NSUMD_M1 Library Orientation_June 11, 2025.pptx
NSUMD_M1 Library Orientation_June 11, 2025.pptx
Julie Sarpy
 
LDMMIA Yoga S10 Free Workshop Grad Level
LDMMIA Yoga S10 Free Workshop Grad Level
LDM & Mia eStudios
 
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
Kweku Zurek
 
Values Education 10 Quarter 1 Module .pptx
Values Education 10 Quarter 1 Module .pptx
JBPafin
 
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
mprpgcwa2024
 
2025 Completing the Pre-SET Plan Form.pptx
2025 Completing the Pre-SET Plan Form.pptx
mansk2
 
List View Components in Odoo 18 - Odoo Slides
List View Components in Odoo 18 - Odoo Slides
Celine George
 
English 3 Quarter 1_LEwithLAS_Week 1.pdf
English 3 Quarter 1_LEwithLAS_Week 1.pdf
DeAsisAlyanajaneH
 
How to Customize Quotation Layouts in Odoo 18
How to Customize Quotation Layouts in Odoo 18
Celine George
 
Q1_TLE 8_Week 1- Day 1 tools and equipment
Q1_TLE 8_Week 1- Day 1 tools and equipment
clairenotado3
 
This is why students from these 44 institutions have not received National Se...
This is why students from these 44 institutions have not received National Se...
Kweku Zurek
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
Hurricane Helene Application Documents Checklists
Hurricane Helene Application Documents Checklists
Mebane Rash
 
Wage and Salary Computation.ppt.......,x
Wage and Salary Computation.ppt.......,x
JosalitoPalacio
 
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
SHERAZ AHMAD LONE
 
Birnagar High School Platinum Jubilee Quiz.pptx
Birnagar High School Platinum Jubilee Quiz.pptx
Sourav Kr Podder
 
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
IIT Kharagpur Quiz Club
 
INDUCTIVE EFFECT slide for first prof pharamacy students
INDUCTIVE EFFECT slide for first prof pharamacy students
SHABNAM FAIZ
 
How payment terms are configured in Odoo 18
How payment terms are configured in Odoo 18
Celine George
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
NSUMD_M1 Library Orientation_June 11, 2025.pptx
NSUMD_M1 Library Orientation_June 11, 2025.pptx
Julie Sarpy
 
LDMMIA Yoga S10 Free Workshop Grad Level
LDMMIA Yoga S10 Free Workshop Grad Level
LDM & Mia eStudios
 
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
Kweku Zurek
 
Values Education 10 Quarter 1 Module .pptx
Values Education 10 Quarter 1 Module .pptx
JBPafin
 
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
mprpgcwa2024
 
2025 Completing the Pre-SET Plan Form.pptx
2025 Completing the Pre-SET Plan Form.pptx
mansk2
 
List View Components in Odoo 18 - Odoo Slides
List View Components in Odoo 18 - Odoo Slides
Celine George
 
English 3 Quarter 1_LEwithLAS_Week 1.pdf
English 3 Quarter 1_LEwithLAS_Week 1.pdf
DeAsisAlyanajaneH
 
How to Customize Quotation Layouts in Odoo 18
How to Customize Quotation Layouts in Odoo 18
Celine George
 
Q1_TLE 8_Week 1- Day 1 tools and equipment
Q1_TLE 8_Week 1- Day 1 tools and equipment
clairenotado3
 
Ad

Introduction to paralle and distributed computing

  • 1. Distributed Systems Principles and Paradigms Chapter 01: Introduction
  • 2. Introduction 1.1 Definition Distributed System: Definition A distributed system is a collection of autonomous computing elements that appears to its users as a single coherent system Two aspects: (1) independent computing elements and (2) single system ⇒ middleware. Local OS 1 Local OS 2 Local OS 3 Local OS 4 Appl. A Application B Appl. C Distributed-system layer (middleware) Computer 1 Computer 2 Computer 3 Computer 4 Same interface everywhere Network 2 / 28
  • 3. Introduction 1.2 Goals Goals of Distributed Systems Making resources available Distribution transparency Openness Scalability 3 / 28
  • 4. Introduction 1.2 Goals Distribution transparency Transp. Description Access Hide differences in data representation and how an object is accessed Location Hide where an object is located Relocation Hide that an object may be moved to another location while in use Migration Hide that an object may move to another location Replication Hide that an object is replicated Concurrency Hide that an object may be shared by several independent users Failure Hide the failure and recovery of an object Note Distribution transparency is a nice a goal, but achieving it is a different story. 4 / 28
  • 5. Introduction 1.2 Goals Degree of transparency Observation Aiming at full distribution transparency may be too much: Users may be located in different continents Completely hiding failures of networks and nodes is (theoretically and practically) impossible You cannot distinguish a slow computer from a failing one You can never be sure that a server actually performed an operation before a crash Full transparency will cost performance, exposing distribution of the system Keeping Web caches exactly up-to-date with the master Immediately flushing write operations to disk for fault tolerance 5 / 28
  • 6. Introduction 1.2 Goals Openness of distributed systems Open distributed system Be able to interact with services from other open systems, irrespective of the underlying environment: Systems should conform to well-defined interfaces Systems should support portability of applications Systems should easily interoperate Achieving openness At least make the distributed system independent from heterogeneity of the underlying environment: Hardware Platforms Languages 6 / 28
  • 7. Introduction 1.2 Goals Policies versus mechanisms Implementing openness Requires support for different policies: What level of consistency do we require for client-cached data? Which operations do we allow downloaded code to perform? Which QoS requirements do we adjust in the face of varying bandwidth? What level of secrecy do we require for communication? Implementing openness Ideally, a distributed system provides only mechanisms: Allow (dynamic) setting of caching policies Support different levels of trust for mobile code Provide adjustable QoS parameters per data stream Offer different encryption algorithms 7 / 28
  • 8. Introduction 1.2 Goals Scale in distributed systems Observation Many developers of modern distributed system easily use the adjective “scalable” without making clear why their system actually scales. Scalability At least three components: Number of users and/or processes (size scalability) Maximum distance between nodes (geographical scalability) Number of administrative domains (administrative scalability) Observation Most systems account only, to a certain extent, for size scalability. The (non)solution: powerful servers. Today, the challenge lies in geographical and administrative scalability. 8 / 28
  • 9. Introduction 1.2 Goals Techniques for scaling Hide communication latencies Avoid waiting for responses; do something else: Make use of asynchronous communication Have separate handler for incoming response Problem: not every application fits this model 9 / 28
  • 10. Introduction 1.2 Goals Techniques for scaling Distribution Partition data and computations across multiple machines: Move computations to clients (Java applets) Decentralized naming services (DNS) Decentralized information systems (WWW) 10 / 28
  • 11. Introduction 1.2 Goals Techniques for scaling Replication/caching Make copies of data available at different machines: Replicated file servers and databases Mirrored Web sites Web caches (in browsers and proxies) File caching (at server and client) 11 / 28
  • 12. Introduction 1.2 Goals Scaling – The problem Observation Applying scaling techniques is easy, except for one thing: Having multiple copies (cached or replicated), leads to inconsistencies: modifying one copy makes that copy different from the rest. Always keeping copies consistent and in a general way requires global synchronization on each modification. Global synchronization precludes large-scale solutions. Observation If we can tolerate inconsistencies, we may reduce the need for global synchronization, but tolerating inconsistencies is application dependent. 12 / 28
  • 13. Introduction 1.2 Goals Developing distributed systems: Pitfalls Observation Many distributed systems are needlessly complex caused by mistakes that required patching later on. There are many false assumptions: The network is reliable The network is secure The network is homogeneous The topology does not change Latency is zero Bandwidth is infinite Transport cost is zero There is one administrator 13 / 28
  • 14. Introduction 1.3 Types of distributed systems Types of distributed systems Distributed computing systems Distributed information systems Distributed pervasive systems 14 / 28
  • 15. Introduction 1.3 Types of distributed systems Distributed computing systems Observation Many distributed systems are configured for High-Performance Computing Cluster Computing Essentially a group of high-end systems connected through a LAN: Homogeneous: same OS, near-identical hardware Single managing node 15 / 28
  • 16. Introduction 1.3 Types of distributed systems Distributed computing systems Local OS Local OS Local OS Local OS Standard network Component of parallel application Component of parallel application Component of parallel application Parallel libs Management application High-speed network Remote access network Master node Compute node Compute node Compute node 16 / 28
  • 17. Introduction 1.3 Types of distributed systems Distributed computing systems Grid Computing The next step: lots of nodes from everywhere: Heterogeneous Dispersed across several organizations Can easily span a wide-area network Note To allow for collaborations, grids generally use virtual organizations. In essence, this is a grouping of users (or better: their IDs) that will allow for authorization on resource allocation. 17 / 28
  • 18. Introduction 1.3 Types of distributed systems Distributed computing systems: Clouds Application Infrastructure Computation (VM), storage (block) Hardware Platforms Software framework (Java/Python/.Net) Storage (DB, File) Infrastructure aa Svc Platform aa Svc Software aa Svc Google Apps YouT ube Flickr MS Azure Amazon S3 Amazon EC2 Datacenters CPU, memory, disk, bandwidth Web services, multimedia, business apps 18 / 28
  • 19. Introduction 1.3 Types of distributed systems Distributed computing systems: Clouds Cloud computing Make a distinction between four layers: Hardware: Processors, routers, power and cooling systems. Customers normally never get to see these. Infrastructure: Deploys virtualization techniques. Evolves around allocating and managing virtual storage devices and virtual servers. Platform: Provides higher-level abstractions for storage and such. Example: Amazon S3 storage system offers an API for (locally created) files to be organized and stored in so-called buckets. Application: Actual applications, such as office suites (text processors, spreadsheet applications, presentation applications). Comparable to the suite of apps shipped with OSes. 19 / 28
  • 20. Introduction 1.3 Types of distributed systems Distributed Information Systems Observation The vast amount of distributed systems in use today are forms of traditional information systems, that now integrate legacy systems. Example: Transaction processing systems. BEGIN TRANSACTION(server, transaction) READ(transaction, file-1, data) WRITE(transaction, file-2, data) newData := MODIFIED(data) IF WRONG(newData) THEN ABORT TRANSACTION(transaction) ELSE WRITE(transaction, file-2, newData) END TRANSACTION(transaction) END IF Note Transactions form an atomic operation. 20 / 28
  • 21. Introduction 1.3 Types of distributed systems Distributed information systems: Transactions Model A transaction is a collection of operations on the state of an object (database, object composition, etc.) that satisfies the following properties (ACID) Atomicity: All operations either succeed, or all of them fail. When the transaction fails, the state of the object will remain unaffected by the transaction. Consistency: A transaction establishes a valid state transition. This does not exclude the possibility of invalid, intermediate states during the transaction’s execution. Isolation: Concurrent transactions do not interfere with each other. It appears to each transaction T that other transactions occur either before T, or after T, but never both. Durability: After the execution of a transaction, its effects are made permanent: changes to the state survive failures. 21 / 28
  • 22. Introduction 1.3 Types of distributed systems Transaction processing monitor Observation In many cases, the data involved in a transaction is distributed across several servers. A TP Monitor is responsible for coordinating the execution of a transaction TP monitor Server Server Server Client application Requests Reply Request Request Request Reply Reply Reply Transaction 22 / 28
  • 23. Introduction 1.3 Types of distributed systems Distr. info. systems: Enterprise application integration Problem A TP monitor doesn’t separate apps from their databases. Also needed are facilities for direct communication between apps. Server-side application Server-side application Server-side application Client application Client application Communication middleware Remote Procedure Call (RPC) Message-Oriented Middleware (MOM) 23 / 28
  • 24. Introduction 1.3 Types of distributed systems Distributed pervasive systems Observation Emerging next-generation of distributed systems in which nodes are small, mobile, and often embedded in a larger system, characterized by the fact that the system naturally blends into the user’s environment. Three (overlapping) subtypes Ubiquitous computing systems: pervasive and continuously present, i.e., there is a continous interaction between system and user. Mobile computing systems: pervasive, but emphasis is on the fact that devices are inherently mobile. Sensor (and actuator) networks: pervasive, with emphasis on the actual (collaborative) sensing and actuation of the environment. 24 / 28
  • 25. Introduction 1.3 Types of distributed systems Ubiquitous computing systems Basic characteristics (Distribution) Devices are networked, distributed, and accessible in a transparent manner (Interaction) Interaction between users and devices is highly unobtrusive (Context awareness) The system is aware of a user’s context in order to optimize interaction (Autonomy) Devices operate autonomously without human intervention, and are thus highly self-managed (Intelligence) The system as a whole can handle a wide range of dynamic actions and interactions 25 / 28
  • 26. Introduction 1.3 Types of distributed systems Mobile computing systems Observation Mobile computing systems are generally a subclass of ubiquitous computing systems and meet all of the five requirements. Typical characteristics Many different types of mobile divices: smart phones, remote controls, car equipment, and so on Wireless communication Devices may continuously change their location ⇒ setting up a route may be problematic, as routes can change frequently devices may easily be temporarily disconnected ⇒ disruption-tolerant networks 26 / 28
  • 27. Introduction 1.3 Types of distributed systems Sensor networks Characteristics The nodes to which sensors are attached are: Many (10s-1000s) Simple (small memory/compute/communication capacity) Often battery-powered (or even battery-less) 27 / 28
  • 28. Introduction 1.3 Types of distributed systems Sensor networks as distributed systems Operator's site Sensor network Sensor data is sent directly to operator Operator's site Sensor network Query Sensors send only answers Each sensor can process and store data (a) (b) 28 / 28