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

Introduction To Distributed Systems and Characterisation: Valerie G. Silverio

Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

Introduction To Distributed Systems and Characterisation: Valerie G. Silverio

Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 37

Introduction to Distributed Systems

and Characterisation

Valerie G. Silverio
College of Computer Studies

Most concepts are


drawn from Chapter 1
© Pearson Education
Presentation Outline

 Introduction
 Defining Distributed Systems
 Characteristics of Distributed Systems
 Example Distributed Systems
 Challenges of Distributed Systems
 Summary

2
Introduction

 Networks of computers are everywhere!


 Mobile phone networks

 Corporate networks

 Factory networks

 Campus networks

 Home networks

 In-car networks

 On board networks in aero planes and trains

 This subject aims:


 to cover characteristics of networked computers that impact

system designers and implementers, and


 to present the main concepts and techniques that have been

developed to help in the tasks of designing and implementing


systems and applications that are based on them (networks).

3
Defining Distributed Systems

 “A system in which hardware or software components located at


networked computers communicate and 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 computer.” [Tanenbaum]
 Example Distributed Systems:
 Cluster:
 “A type of parallel or distributed processing system, which consists of a
collection of interconnected stand-alone computers cooperatively working
together as a single, integrated computing resource” [Buyya].
 Grid:
 “A type of parallel and distributed system that enables the sharing,
selection, and aggregation of geographically distributed autonomous
resources dynamically at runtime depending on their availability, capability,
performance, cost, and users' quality-of-service requirements” [Buyya].

4
Leslie Lamport’s Definition

 "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 – a famous researcher on timing,
message ordering, and clock synchronization in
distributed systems.

5
Networks vs. Distributed Systems

 Networks: A media for interconnecting local


and wide area computers and exchange
messages based on protocols. Network
entities are visible and they are explicitly
addressed (IP address).
 Distributed System: existence of multiple
autonomous computers is transparent
 However,
 many problems (e.g., openness,

reliability) in common, but at different


levels. Distributed Systems
 Networks focuses on packets, routing,
etc., whereas distributed systems focus on
applications.
 Every distributed system relies on services Computer Networks
provided by a computer network.

6
Reasons for Distributed Systems

 Functional Separation:
 Existence of computers with different capability and purpose:
 Clients and Servers
 Data collection and data processing
 Inherent distribution:
 Information:
 Different information is created and maintained by different persons (e.g., Web pages)
 People
 Computer supported collaborative work (virtual teams, engineering, virtual surgery)
 Retail store and inventory systems for supermarket chain (e.g., Coles, Safeway)
 Power imbalance and load variation:
 Distribute computational load among different computers.
 Reliability:
 Long term preservation and data backup (replication) at different location.
 Economies:
 Sharing a printer by many users and reduce the cost of ownership.
 Building a supercomputer out of a network of computers.

7
Consequences of Distributed Systems

 Computers in distributed systems may be on


separate continents, in the same building, or the
same room. DS have the following consequences:
 Concurrency – each system is autonomous.
 Carry out tasks independently
 Tasks coordinate their actions by exchanges messages.
 Heterogeneity
 No global clock
 Independent Failures

8
Characteristics of distributed systems

 Parallel activities
 Autonomous components executing concurrent tasks
 Communication via message passing
 No shared memory
 Resource sharing
 Printer, database, other services
 No global state
 No single process can have knowledge of the current global
state of the system
 No global clock
 Only limited precision for processes to synchronize their clocks

9
Goals of Distributed Systems

 Connecting Users and Resources


 Transparency
 Openness
 Scalability
 Enhanced Availability

10
Differentiation with parallel systems [1]

 Multiprocessor systems
 Shared memory
 Bus-based interconnection network
 E.g. SMPs (symmetric multiprocessors) with two or more CPUs
 Multicomputer systems
 No shared memory
 Homogeneous in hard- and software
 Massively Parallel Processors (MPP)
 Tightly coupled high-speed network
 PC/Workstation clusters
 High-speed networks/switches based connection.

11
Differentiation with parallel systems is blurring

 Extensibility of clusters leads to heterogeneity


 Adding additional nodes as requirements grow
 Extending clusters to include user desktops
by harnessing their idle resources.
 E.g., SETI@Home, Folding@Home
 Leading to the rapid convergence of various
concepts of parallel and distributed systems.

12
Examples of Distributed Systems

 They are based on familiar and widely used


computer networks:
 Internet
 Intranets, and
 wireless networks

13
A typical portion of the Internet and its services:
Multimedia services providing access to music, radio, TV
channels, video conferencing and supporting several users.

intranet 

 ISP

backbone

satellite link

desktop computer:
server:
network link:

 The Internet is a vast collection of computer networks of many


different types and hosts various types of services.
14
A typical intranet:
A portion of Internet that is separately administered & supports internal
sharing of resources (file/storage systems and printers)

email server Desktop


computers
print and other servers

Local area
Web server network

email server
print
File server
other servers
the rest of
the Internet
router/firewall

15
Mobile and ubiquitous computing: portable and
handheld devices in a distributed system

Internet

Host intranet WAP


Wireless LAN Home intranet
gateway

Mobile
phone
Printer Laptop
Camera Host site

 Support continued access to Home intranet resources via


wireless and provision to utilize resources (e.g., printers) that are
conveniently located (location-aware computing).
16
Resource sharing and the Web: open protocols,
scalable servers, and pluggable browsers

http://www.google.com/search?q=Buyya
www.google.com

Web servers Browsers

www.cdk3.net Internet
http://www.cdk3.net/

www.w3c.org

File system of http://www.w3c.org/Protocols/Activity.html


www.w3c.org Protocols

Activity.html

17
Business Example and Challenges

 Online bookstore (e.g. in the World Wide


Web)
 Customers can connect their computer to your
computer (web server):
 Browse your inventory
 Place orders
 …

This example Adopted from Torbin Weis, Berlin University of Technology


18
Business example – challenges I

 What if
 Your customer uses a completely different hardware? (PC,
MAC,…)
 … a different operating system? (Windows, Unix,…)
 … a different way of representing data? (ASCII, EBCDIC,…)
 Heterogeneity
 Or
 You want to move your business and computers to the
Caribbean (because of the weather)?
 Your client moves to the Caribbean (more likely)?
 Distribution transparency

19
Business example – challenges II

 What if
 Two customers want to order the same item at the
same time?
 Concurrency
 Or
 The database with your inventory information
crashes?
 Your customers computer crashes in the middle of
an order?
 Fault tolerance

20
Business example – challenges III

 What if
 Someone tries to break into your system to steal data?
 … sniffs for information?
 … your customer orders something and doesn’t accept
the delivery saying he didn’t?
 Security
 Or
 You are so successful that millions of people are
visiting your online store at the same time?
 Scalability

21
Business example – challenges IV

 When building the system…


 Do you want to write the whole software on your
own (network, database,…)?
 What about updates, new technologies?
 Reuse and Openness (Standards)

22
Overview challenges I

 Heterogeneity
 Heterogeneous components must be able to interoperate
 Distribution transparency
 Distribution should be hidden from the user as much as possible
 Fault tolerance
 Failure of a component (partial failure) should not result in failure
of the whole system
 Scalability
 System should work efficiently with an increasing number of users
 System performance should increase with inclusion of additional
resources.

23
Overview challenges II

 Concurrency
 Shared access to resources must be possible
 Openness
 Interfaces should be publicly available to ease
adding new components
 Security
 The system should only be used in the way
intended

24
Heterogeneity

 Heterogeneous components must be able to


interoperate
 Operating systems
 Hardware architectures
 Communication architectures
 Programming languages
 Software interfaces
 Security measures
 Information representation

25
Distribution Transparency I

 To hide from the user and the application programmer of the


separation/distribution of components, so that the system is
perceived as a whole rather than a collection of independent
components.
 ISO Reference Model for Open Distributed Processing (ODP)
identifies the following forms of transparencies:
 Access transparency
 Access to local or remote resources is identical
 E.g. Network File System
 Location transparency
 Access without knowledge of location
 E.g. separation of domain name from machine address.
 Failure transparency
 Tasks can be completed despite failures
 E.g. message retransmission, failure of a Web server node should not
bring down the website.

26
Distribution Transparency II

 Replication transparency
 Access to replicated resources as if there was just one.
And provide enhanced reliability and performance without
knowledge of the replicas by users or application
programmers.
 Migration (mobility/relocation) transparency
 Allow the movement of resources and clients within a
system without affection the operation of users or
applications.
 E.g. switching from one name server to another at runtime;
migration of an agent/process form one node to another.

27
Distribution Transparency III

 Concurrency transparency
 A process should not notice that there are other sharing the same
resources
 Performance transparency:
 Allows the system to be reconfigured to improve performance as loads
vary.
 E.g., dynamic addition/deletion of components. switching from linear
structures to hierarchical structures when the number of users increase.
 Scaling transparency:
 Allows the system and applications to expand in scale without change to
the system structure or the application algorithms.
 Application level transparencies:
 Persistence transparency
 Masks the deactivation and reactivation of an object
 Transaction transparency
 Hides the coordination required to satisfy the transactional properties of
operations

28
Fault tolerance

 Failure: an offered service no longer complies


with its specification
 Fault: cause of a failure (e.g. failure of a
component)
 Fault tolerance: no failure despite faults

29
Fault tolerance mechanisms

 Fault detection
 Checksums, heartbeat, …
 Fault masking
 Retransmission of corrupt messages, redundancy,

 Fault toleration
 Exception handling, timeouts,…
 Fault recovery
 Rollback mechanisms,…

30
Scalability

 System should work efficiently at many different scales, ranging


from a small Intranet to the Internet.
 Remain effective when there is a significant increase in the
number of resources and the number of users.
 Challenges of designing scalable distributed systems:
 Cost of physical resources
 Cost should linearly increase with system size
 Performance Loss
 For example, in hierarchically structure data, search performance loss
due to data growth should not be beyond O(log n), where n is the size
of data.
 Preventing software resources running out:
 Numbers used to represent Internet address (32 bit->64bit)
 Y2K like problem.
 Avoiding performance bottlenecks:
 Use decentralized algorithms (centralized DNS to decentralized).

31
Concurrency

 Provide and manage concurrent access


shared resources:
 Fair scheduling
 Preserve dependencies (e.g. distributed
transactions)
 Avoid deadlocks

32
Openness and Interoperability

 Open system:
"... a system that implements sufficient open specifications
for interfaces, services, and supporting formats to enable
properly engineered applications software to be ported
across a wide range of systems with minimal changes, to
interoperate with other applications on local and remote
systems, and to interact with users in a style which
facilitates user portability" (Guide to the POSIX Open
Systems Environment, IEEE POSIX 1003.0).
 Open spec/standard developers - communities:
 ANSI, IETF, W3C, ISO, IEEE, OMG, Trade associations,...

33
Security I

 The resources are accessible to authorized users


and used in the way they are intended.
 Confidentiality
 Protection against disclosure to unauthorized individual.
 E.g. ACLs (access control lists) to provide authorized
access to information.
 Integrity
 Protection against alternation or corruption.
 E.g. changing the account number or amount value in a
money order

34
Security II

 Availability
 Protection against interference targeting access to
the resources.
 E.g. denial of service (DoS, DDoS) attacks
 Non-repudiation
 Proof of sending / receiving an information
 E.g. digital signature

35
Security mechanisms

 Encryption
 E.g. Blowfish, RSA
 Authentication
 E.g. password, public key authentication
 Authorization
 E.g. access control lists

36
Summary

 Distributed Systems are everywhere.


 The Internet enables users throughout the world to
access its services wherever they are located.
 Resource sharing is the main motivating factors for
constructing distributed systems.
 Construction of DS produces many challenges:
 Heterogeneity, Openness, Security, Scalability, Failure
handling, Concurrency, and Transparency.
 Distributed systems enable globalization:
 Community (Virtual teams, organizations, social networks)
 Science (e-Science)
 Business (e-Bussiness)

37

You might also like