Distributed_Systems_Ch1

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 32

CHAPTER 1

CHARACTERIZATION OF DISTRIBUTED SYSTEMS

From Coulouris, Dollimore and Kindberg


Distributed Systems: Concepts and Design
Edition 5, © Pearson Education 2005

Dr. Aref Hassan Kurdali

CS 462 - Distributed Systems 1


CHARACTERIZATION OF DISTRIBUTED SYSTEMS

 1.1 Introduction
 1.2 Examples of distributed systems
 1.3 Trends in distributed systems
 1.4 Focus on resource sharing
 1.5 Challenges
 1.6 Case study: The World Wide Web

Distributed Systems 2
1.1 Introduction

 Distributed system is a hardware or software components located at


networked computers communicate and coordinate their actions only by
passing messages.
 Distributed system characteristics:
 Concurrency: Is the concurrent program execution with sharing resources
such as web pages or files, The capacity of the system to handle shared
resources can be increased by adding more resources (for example.
computers) to the network.
 No global clock: When programs need to cooperate they coordinate their
actions by exchanging messages. Consequently, there is no single global
notion of the correct time.
 Independent failures:
 Faults in the network result in the isolation of the computers that are connected to it,
but that doesn’t mean that they stop running.
 the failure of a computer/ program somewhere in the system is not immediately
made known to the other components with which it communicates.
 Each component of the system can fail independently, leaving the others still
running.
Distributed Systems 3
1.1 Introduction

 The prime motivation for constructing and


using distributed systems is to share
resources.
 Shared recourses are
 Hardware
 Disks
 Printers
 Software:
 Files
 Databases
 Data objects of all kinds.
 Stream of video frames that emerges from a digital video camera
 Audio connection that a mobile phone call represents
Distributed Systems 4
1.2 Examples of distributed systems

Networks are everywhere and underpin many


everyday services that we now take for
granted:
Internet and the associated World Wide Web
Web search
Online gaming
Email
Social networks
eCommerce
etc.

Distributed Systems 5
1.2 Examples of distributed systems

1.2.1 Web search


The task of a web search engine is to index the entire contents of the
World Wide Web.
Given that most search engines analyze the entire web content and then
carry out sophisticated processing on this enormous database.
Google, the market leader in web search technology, has put significant
effort into the design of a sophisticated distributed system infrastructure to
support search (Google services such as Google Earth). This represents one
of the largest and most complex distributed systems installations in the
history of computing and hence demands close examination. Highlights of
this infrastructure include:
 an underlying physical infrastructure consisting of very large numbers of networked
computers located at data centers all around the world.
 a distributed file system designed to support very large files and heavily optimized for
the style of usage.
 an associated structured distributed storage system that offers fast access to very large
datasets.
Distributed Systems 6
1.2 Examples of distributed systems

1.2.2 Massively multiplayer online games (MMOGs)


 The Massively multiplayer online games offer an immersive experience
whereby very large numbers of users interact through the Internet with a
persistent virtual world.
 The major challenges of MMOGs for distributed systems:
 the need for fast response times to preserve the user experience of the
game.
 the real-time propagation of events to the many players and maintaining a
consistent view of the shared world.
 Solutions proposed are:
 A client-server architecture where a single copy of the state of the world is
maintained on a centralized server and accessed by client programs
running on players’ consoles.
 Distributed architectures where the universe is partitioned across a number
of servers that may also be geographically distributed. Users are then
dynamically allocated a particular server based on current usage patterns
Distributed Systems 7
1.2 Examples of distributed systems

1.2.3 Financial trading


It involves a communication and processing of items of
interest (known as events in distributed systems).
The need to deliver events reliably and in a timely manner to
potentially very large numbers of clients.
Such systems typically employ what are known as distributed
event-based systems.

Distributed Systems 8
1.3 Trends in distributed systems

1.3.1 Pervasive networking and the modern Internet


The modern Internet is a vast interconnected collection of
computer networks of many different types (WiFi, WiMAX,
Bluetooth, 6-generation mobile phone networks).
The net result is that networking has become a pervasive
resource and devices can be connected at any time and in any
place.
Figure 1.3 illustrates a typical portion of the Internet that
shows a collection of intranets.

Distributed Systems 9
Distributed Systems 10
1.3 Trends in distributed systems

1.3.1 Pervasive networking and the modern Internet


Intranets are a subnetworks operated by companies and other
organizations and typically protected by firewalls.
The role of a firewall is to protect an intranet by preventing
unauthorized messages from leaving or entering.
Internet Service Providers (ISPs) are companies that provide
broadband links and other types of connection to individual
users and small organizations, enabling them to access
services anywhere in the Internet as well as providing local
services such as email and web hosting.
A backbone is a network link with a high transmission
capacity like satellite connections, fibre optic cables.

Distributed Systems 11
1.3 Trends in distributed systems

1.3.2 Mobile and ubiquitous computing


Technology introduces a small and portable computing
devices into distributed systems. These devices include:
 Laptop computers
 Handheld devices (mobile phones, smart phones, GPS-
enabled devices, pagers, personal digital assistants (PDAs),
video cameras, and digital cameras)
 Wearable devices (such as smart watches)
 Devices embedded in appliances (such as washing
machines, hi-fi systems, cars and refrigerators)
 Figure 1.4 shows a user who is visiting a host
organization.

Distributed Systems 12
Distributed Systems 13
1.3 Trends in distributed systems

1.3.2 Mobile and ubiquitous computing


Figure 1.4 shows a user who is visiting a host organization
 The user has access to three forms of wireless connection
 User laptop has a means of connecting to the host’s wireless LAN
 The user carries a digital camera, which can communicate over a
personal area wireless network (with range up to about 10m) with a
device such as a printer.
 This scenario demonstrates the need to support spontaneous
interoperation, whereby associations between devices are routinely
created and destroyed.
 The main challenge applying to such situations is to make
interoperation fast and convenient (that is, spontaneous) even though
the user is in an environment they may never have visited before

Distributed Systems 14
1.3 Trends in distributed systems

1.3.3 Distributed multimedia systems


Access to live television broadcasts
Access to film libraries offering video-on-demand services
Access to music libraries,
IP telephony (Skype)
Webcasting (Webcasting is the ability to broadcast continuous
media, typically audio or video, over the Internet)
Distributed multimedia applications challenges
 providing support for an (extensible) range of encoding and encryption
formats (MPEG, MP3, HDTV, …)
 providing a range of mechanisms to ensure that the desired quality of
service can be met.
…

Distributed Systems 15
1.3 Trends in distributed systems

1.3.4 Distributed computing as a utility (cloud computing)


In distributed computing, resources are provided by
appropriate service suppliers and effectively rented rather than
owned by the end user.
This model applies to both physical resources and more
logical services:
 Physical resources (such as storage and processing can be made
available to networked computers)
 Software services (such as email, Google Apps … )
cloud is defined as a set of Internet-based application, storage
and computing services sufficient to support most users’ needs
(see Figure 1.5).

Distributed Systems 16
Distributed Systems 17
1.3 Trends in distributed systems

1.3.4 Distributed computing as a utility (cloud computing)


Clouds are generally implemented on cluster computers to
provide the necessary scale and performance required by such
services.
A cluster computer is a set of interconnected computers that
cooperate closely to provide a single, integrated high
performance computing capability

Distributed Systems 18
1.4 Focus on resource sharing

 Resource Sharing: Users commonly share hardware, data,


and specific functionalities (e.g., printers, files, search
engines) without necessarily considering the underlying
infrastructure.
 Cost Efficiency vs. User Concern: While hardware sharing
(like printers and disks) reduces costs, users are more
interested in sharing higher-level resources like databases
and web pages rather than the physical hardware.
 Resource Sharing Scope: Resource sharing varies widely,
from global access to tools like search engines to close-knit,
cooperative groups sharing documents.

Distributed Systems 19
1.4 Focus on resource sharing

 Services and Operations: A service in a computer system


manages related resources and provides specific operations
(e.g., file service for accessing files) through a defined
interface.
 Physical Organization of Distributed Systems: In distributed
systems, resources are encapsulated within computers and
accessed via communication interfaces managed by services
to ensure consistent and reliable updates.
 Client-Server Model: The client-server model involves a
server (a program on a networked computer) responding to
requests from clients (other programs) through a process
known as remote invocation.

Distributed Systems 20
1.4 Focus on resource sharing

 Dynamic Roles: The same process can act as both a client


and a server, depending on the context, with clients initiating
requests and servers responding, although servers run
continuously while clients are application-dependent.

Distributed Systems 21
1.5 Challenges

1.5.1 Heterogeneity
Heterogeneity (that is, variety and difference) applies to all of the following:
 Networks
 For example, a computer attached to an Ethernet has an implementation of the Internet
protocols over the Ethernet, whereas a computer on a different sort of network will need an
implementation of the Internet protocols for that network
 Computer hardware
 Data types such as integers may be represented in different ways on different sorts of
hardware, for example, there are two alternatives for the byte ordering of integers. These
differences in representation must be dealt with if messages are to be exchanged between
programs running on different hardware
 Operating systems
 For example, the calls for exchanging messages in UNIX are different from the calls in Windows
 Programming languages
 Different programming languages use different representations for characters and data
structures such as arrays and records
 Implementations by different developers
 Programs written by different developers cannot communicate with one another unless they use
common standards

Distributed Systems 22
1.5 Challenges

1.5.1 Heterogeneity
To handle heterogeneity in distributed systems:
Middleware: is a software layer that provides a programming
abstraction as well as masking the heterogeneity of the
underlying networks, hardware, operating systems and
programming languages. (ex: Common Object Request Broker
(CORBA), and Java Remote Method Invocation (RMI))
Mobile code: is program code that can be transferred from
one computer to another and run at the destination (ex: Java
applets)

Distributed Systems 23
1.5 Challenges

1.5.2 Openness
The openness of distributed systems is determined primarily
by the degree to which new resource-sharing services can be
added and be made available for use by a variety of client
programs
Openness cannot be achieved unless the specification and
documentation of the key software interfaces of the components
of a system are made available to software developers.
The designers of the Internet protocols introduced a series of
documents called ‘Requests For Comments’, or RFCs.

Distributed Systems 24
1.5 Challenges

1.5.3 Security
The Security for information resources has three
components:
Integrity (protection against alteration or
corruption),
Confidentiality (protection against disclosure to
unauthorized individuals),
Availability (protection against interference with
the means to access the resources).

Distributed Systems 25
1.5 Challenges

1.5.4 Scalability
Distributed systems operate effectively and
efficiently at many different scales, ranging from a
small intranet to the Internet.
A system is described as scalable if it will remain
effective when there is a significant increase in the
number of resources and the number of users.

Distributed Systems 26
1.5 Challenges

1.5.4 Scalability
The design of scalable distributed systems
presents the following challenges:
1. Controlling the cost of physical resources
2. Controlling the performance loss
3. Preventing software resources running out (ex,
IP addressing immigrate from 32 to 128 bit)
4. Avoiding performance bottlenecks (ex, DNS
removed this bottleneck by partitioning the name
table between servers located throughout the
Internet and administered locally )
Distributed Systems 27
1.5 Challenges

1.5.5 Failure handling


Failures in a distributed system are partial – that is, some components fail
while others continue to function.
Techniques for dealing with failures are:
 Detecting failures (ex, checksums can be used to detect corrupted data. The
challenge is to manage in the presence of failures that cannot be detected but
may be suspected)
 Masking failures: Two examples of hiding failures:
 Messages can be retransmitted when they fail to arrive
 File data can be written to a pair of disks so that if one is corrupted, the other may still be correct.
 Tolerating failures (For example, when a web browser cannot contact a web
server, it does not make the user wait for ever while it keeps on trying – it
informs the user about the problem, leaving them free to try again later)
 Recovery from failures (ex, ‘rolled back’ after a server has crashed)
 Redundancy
 There should always be at least two different routes between any two routers
 In the DNS, every name table is replicated in at least two different servers
 A database may be replicated in several servers

Distributed Systems 28
1.5 Challenges

1.5.6 Concurrency
In DS, there is a possibility that several clients will attempt to
access a shared resource at the same time.
The process that manages a shared resource could take one
client request at a time. But that approach limits throughput.
Therefore services and applications generally allow multiple
client requests to be processed concurrently
For an object to be safe in a concurrent environment, its
operations must be synchronized in such a way that its data
remains consistent

Distributed Systems 29
1.5 Challenges

1.5.7 Transparency
Transparency is defined as the concealment, from
the user, the separation of components in the
distributed system, so that the system is perceived as
a whole rather than as a collection of independent
components.
The implications of transparency are a major
influence on the design of the system software.

Distributed Systems 30
1.5 Challenges

1.5.7 Transparency
There are eight forms of transparency
1.Access transparency enables local and remote resources to be accessed using identical
operations.
2.Location transparency enables resources to be accessed without knowledge of their physical
or network location
3.Concurrency transparency enables several processes to operate concurrently using shared
resources without interference between them.
4.Replication transparency enables multiple instances of resources to be used to increase
reliability and performance without knowledge of the replicas by users or application
programmers.
5.Failure transparency enables the concealment of faults, allowing users and application
programs to complete their tasks despite the failure of hardware or software components.
6.Mobility transparency allows the movement of resources and clients within a system without
affecting the operation of users or programs.
7.Performance transparency allows the system to be reconfigured to improve performance as
loads vary.
8.Scaling transparency allows the system and applications to expand in scale without change to
the system structure or the application algorithms.
Distributed Systems 31
1.5 Challenges

1.5.8 Quality of service (QoS)


Once users are provided with the functionality that they require of a
service, such as the file service in a distributed system, we can go on to ask
about the quality of the service provided
The main nonfunctional properties of systems that affect the quality of the
service experienced by clients and users are
 Reliability
 Security
 Performance (the ability to meet timeliness guarantees)
 Adaptability (to meet changing system configurations and resource
availability)
Each critical resource must be reserved by the applications that require
QoS, and there must be resource managers that provide guarantees.
Reservation requests that cannot be met are rejected

Distributed Systems 32

You might also like