0% found this document useful (0 votes)
100 views

Distributed System Intro

This document provides an introduction to distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. The document outlines goals of distributed systems like resource sharing, distribution transparency, openness, scalability and fault tolerance. It also discusses implications like concurrency, lack of global clock, and unreliable communication. Finally, it describes common pitfalls for developers and types of distributed systems.

Uploaded by

Shivam Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
100 views

Distributed System Intro

This document provides an introduction to distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. The document outlines goals of distributed systems like resource sharing, distribution transparency, openness, scalability and fault tolerance. It also discusses implications like concurrency, lack of global clock, and unreliable communication. Finally, it describes common pitfalls for developers and types of distributed systems.

Uploaded by

Shivam Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Introduction to

Distributed Systems

INF5040/9040 Autumn 2018


Lecturer: Eli Gjørven (ifi/UiO)

August 28, 2018


Outline

▪ Definition of a distributed system


▪ Goals of a distributed system
▪ Implications of distributed systems
▪ Pitfalls in developing distributed systems
▪ Types of distributed systems

INF5040, ifi/UiO 2
From a Single Computer to DS

1945-1985: Computers
 Large and expensive
 Operated independently
1985-now: two advances in technology
 Powerful microprocessors
 High-speed computer networks
Result: Distributed Systems

Putting together computing systems composed of a large


number of computers connected by a high-speed network

INF5040, ifi/UiO 3
What Is a Distributed System?

Definition
Operational perspective:
A distributed system is one in which hardware or software
components, located at networked computers, communicate
and coordinate their actions only by passing messages.
[Coulouris]

User perspective:
A distributed system is a collection of independent computers that
appears to its users as a single coherent system.
[Tanenbaum]

INF5040, ifi/UiO 4
What Is a Distributed System?

A DS organized as middleware
 extending over multiple machines
 offering each application the same interface

INF5040, ifi/UiO 5
Examples of Distributed Systems

Web search
 Indexing the entire contents of the Web
Massively multiplayer online games
 Very large number of users sharing a virtual world.
Financial trading
 Real time access and processing of a wide rage of
information sources.
 Delivery of items of interest in a timely manner

INF5040, ifi/UiO 6
Outline

▪ Definition of a distributed system


▪ Goals of a distributed system
▪ Implications of distributed systems
▪ Pitfalls in developing distributed systems
▪ Types of distributed systems

INF5040, ifi/UiO 7
Goals of Distributed Systems

Resource sharing
Distribution transparency
Openness
Scalability
Fault tolerance
Allowing heterogeneity

INF5040, ifi/UiO 8
Resource Sharing

Making resources accessible:


 accessing remote resources
 sharing them in a controlled and efficient way
Examples: printers, storages, files, etc.
One reason to share: economics
 e.g., 1-to-many printer access, rather than 1-to-1
Resource managers control access, offer a
scheme for naming, and control concurrency
A resource sharing model describes how
 resources are made available
 resources can be used
 service provider and user interact with each other

INF5040, ifi/UiO 9
Models for Resource Sharing

 Client-server resource model


 Server processes act as resource managers, and offer services
(collection of procedures)
 Client processes send requests to servers
 HTTP implements a client-server resource model
 Object-based resource model
 Any entity in a process is modeled as an object with a message
based interface that provides access to its operations
 Any shared resource is modeled as an object
 Object-based middleware (CORBA, Java RMI) defines object-based
resource models

INF5040, ifi/UiO 10
Distribution Transparency

An important goal of a DS:


 hiding the fact that its processes and resources are
physically distributed across multiple computers
Definition:

A distributed system that is able to present itself to


its users and applications as if it were only a single
computer system is said to be transparent.

What kind of transparency?

INF5040, ifi/UiO 11
Forms of Transparency

 Degree of transparency
 Situations in which full transparency is not good – better to
expose than to mask effects of distribution?
 Trade-off between a high degree of transparency and
performance

INF5040, ifi/UiO 12
Openness

 Definition:

An open distributed system is a system that offers


services according to standard rules that describe
syntax and semantics of those services.
 E.g., in computer networks: format, content, and meaning of
messages
 In DS: services specified through interfaces
 Interface Definition Language (IDL): syntax
 Web Service Definition Language (WSDL): syntax
 Semantics? the hard part to specify
 Extensibility: an open DS can be extended and improved
incrementally
 add or replace components

INF5040, ifi/UiO 13
Scalability

 Scalability in three dimensions:


 Scalable in size: Users and resources can easily be added
 Geographically scalable: Users and resources may lie far apart
 Administratively scalable: The system spans many administrative
organizations

 Scaling up along these dimensions often come with a


performance cost
 Scalability denotes the ability of a system to handle
future scaling up
 Examples:
 Internet: Size, geography and number of administrative organizations has
grown enormously
 Google: scaled over the years to handle O(100) billion queries a month,
expected query time 0.2 secs.

INF5040, ifi/UiO 14
Scalability Problems

 Problems with size scalability:


 Often caused by centralized solutions

 Problems with geographical scalability:


 traditional synchronous communication in LAN
 unreliable communications in WAN
 Problems with administrative scalability:
 Conflicting policies, complex management, security problems

INF5040, ifi/UiO 15
Scaling Techniques

Distribution
 splitting a resource (such as data) into smaller parts, and
spreading the parts across the system (cf DNS)
Replication
 replicate resources (services, data) across the system
 increases availability, helps to balance load
 caching (special form of replication)
Hiding communication latencies
 avoid waiting for responses to remote service requests
(use asynchronous communication or design to reduce
the amount of remote requests)

INF5040, ifi/UiO 16
Fault Tolerance

 Hardware, software and network fail!!


 DS must maintain availability even in cases where
hardware/software/network have low reliability
 Failures in distributed systems are partial
 makes error handling particularly difficult
 Many techniques for handling failures
 Detecting failures (checksum)
 Masking failures (retransmission in protocols)
 Tolerating failures (as in web-browsers)
 Recovery from failures (roll back)
 Redundancy (replicate servers in failure-independent ways)

INF5040, ifi/UiO 17
Outline

▪ Definition of a distributed system


▪ Goals of a distributed system
▪ Implications of distributed systems
▪ Pitfalls in developing distributed systems
▪ Types of distributed systems

INF5040, ifi/UiO 19
Implications of Distributed Systems

 Concurrency
 components execute in concurrent processes that read and update
shared resources. Requires coordination
 No global clock
 makes coordination difficult (ordering of events)
 Independent failure of components
 “partial failure” & incomplete information
 Unreliable communication
 Loss of connection and messages. Message bit errors
 Unsecure communication
 Possibility of unauthorised recording and modification of messages
 Expensive communication
 Communication between computers usually has less bandwidth,
longer latency, and costs more, than between independent processes
on the same computer

INF5040, ifi/UiO 20
Pitfalls When Developing DS

False assumptions made by first time developer:


 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.

INF5040, ifi/UiO 21
Outline

▪ Definition of a distributed system


▪ Goals of a distributed system
▪ Implications of distributed systems
▪ Pitfalls in developing distributed systems
▪ Types of distributed systems

INF5040, ifi/UiO 22
Types of Distributed Systems

Type1: Distributed Computing Systems


 Used for high performance computing tasks
 Cluster and Cloud computing systems
 Grid computing
Type2: Distributed Information Systems
 Systems mainly for management and integration of
business functions
 Transaction processing systems
 Enterprise application integration

Type3: Distributed Pervasive (or Ubiquitous)


Systems
 Mobile and embedded systems
 Home systems
 Sensor networks
INF5040, ifi/UiO 23
Type1: Cluster Computing Systems

 Collection of similar PCs, closely connected, all run same


OS, e.g.:

 A collection of computing nodes + master node


 Master runs middleware: parallel execution and
management

INF5040, ifi/UiO 24
Type1: Grid Computing Systems

Federation of autonomous and heterogeneous


computer systems (HW,OS,...), several adm
domains

A layered architecture for grid computing systems

INF5040, ifi/UiO 25
Type1: Cloud Computing

 View: distributed resources as a commodity or utility


 Resources are provided by service suppliers and effectively
rented rather than owned by the end user.
 The term cloud computing capture the vision of
computing as a utility

SalesForce CRM
SaaS
Clients LotusLive

Google App
PaaS Engine
Internet

IaaS
26

INF5040, ifi/UiO 26
Type2: Enterprise Application Integration

Allowing existing applications to directly exchange


information using communication middleware

Middleware as a communication facilitator in


enterprise application integration

INF5040, ifi/UiO 27
Type2: Example Communication Middleware: CORBA

Clients may invoke methods of remote objects


without worrying about:
 object location, programming language, operating system
platform, communication protocols or hardware.

X Y Z
invoke Z’s Different
method foo() foo() programming languages
(or object models)
IDL IDL IDL
Common object model

Object Request Broker (ORB) RMI over IIOP

INF5040, ifi/UiO 28
Type3: Distributed Pervasive Systems

Pervasive systems:
exploiting the increasing integration of services and
(small/tiny) computing devices in our everyday
physical world

(Mobile) Devices: discover the environment (its


services) and establish themselves in this
environment as best as possible.
 Requirements for pervasive applications
 Embrace contextual changes
 Encourage ad hoc and dynamic composition
 Recognize sharing as the default
INF5040, ifi/UiO 29
Type3: Example: Smart Home System

INF5040, ifi/UiO 30
Summary

 Distributed systems:
 components located in a network that communicates and coordinates
their actions exclusively by sending messages.
 Goals like resource sharing, distribution transparency,
openness, scalability, fault tolerance and heterogeneity can
be satisfied by distributed systems
 Consequences of distributed systems
 Independent failure of components
 Unsecure communication
 No global clock
 Many pitfalls when developing distributed systems
 Novel applications in pervasive systems: e.g., smart homes

INF5040, ifi/UiO 31

You might also like