0% found this document useful (0 votes)
5 views30 pages

Distributive Systems Design

Uploaded by

aceofsource
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views30 pages

Distributive Systems Design

Uploaded by

aceofsource
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

CSCD604: Distributed Systems

Session 2 – Distributed Systems: Characteristics &


Design Challenges

By
Solomon Mensah (PhD)

College of Education
School of Continuing and Distance Education
2014/2015 – 2016/2017
Objectives
• To understand the three important characteristics of distributed
systems
• To appreciate the trends contributing to the rapid advancement
of distributed systems
• To appreciate the challenges associated with the design and
development of distributedsystems.
Agenda
• Characteristics of distributed systems
• Examples
• Trends
• Resource sharing (main motivating factor)
• Challenges
What is a Distributed System?
Think about the following day-to-day applications that you use…
• The messaging (chat) applications: Whatsapp, Snapchat
• Email application: Gmail, Yahoo mail, Outlook
• Photo and video sharing applications: Instagram, Google photos, Flickr
• Popular VoIP (Voice over IP) applications: zoom, Google voice, Viber
• Office applications: Office 365, Google’s suite (formerly Google Apps)
• Video conferencing applications: Teams, Zoom
• Gaming software (Game engine): Unity, Unreal Engine
• MMORPGs (Massively Multiplayer Online Role-playing Games)

What is the most common thing in all these


applications?
What is a Distributed system?

Apart from such application software, the underlying systems like


WWW (World Wide Web) and the Internet over which they are
deployed, are also distributed systems.
Characteristics
• The definition of distributed system implies three major
characteristics:
1) Concurrency
2) Absence of global clock
3) Independent failures
Characteristics
Concurrency:
• Concurrency of processes (running programs) is a normal
phenomenon in networked computers.
• Since distributed systems are built over networked computers,
concurrent processes need coordination in sharing the
resources
• Additional resources may be required to be added in order to
increase the capacity of the system to handle shared resources.
Characteristics
Absence of Global Clock:
• Due to the limitations in accurately synchronizing the clocks of
the computers in a network, there is no concept of global clock

• Processes coordinate their actions by exchangingmessages


Characteristics
Independent Failure:
• Failures in distributed systems may occur in two ways :
1) Network failure: Leads to isolation of computers
2) Individual computer failure: Effect is limited tothat computer

In either case, the other computers in the system may function in


a normal way
Examples
(As per application domain)
Examples
(As per the extent/size or purpose)

Distributed systems encompass a wide range of applications like,


• small localized systems (e.g. car, aircraft)
• large global scale systems (e.g. www, Internet)
• data-centric services (e.g. Distributed databases, Websearch))
• processor intensive tasks (e.g. Clusters)
• sensor network based systems ( e.g. environment monitoring)
• systems based on powerful computational elements (e.g. Grids)
• embedded systems based (e.g. home networks)
• systems that support sophisticated interactive userexperience
(e.g. Online gaming)
Examples:
Complexities associated

• Web Search:
– Indexing the entire contents of the WWW having wide range of
information styles
• e.g. e-books, audio, video, webpages, …
– Sophisticated processing of huge amount of data
• e.g. Google’s Search Engine, Microsoft’s Bing
• Massively Multiplayer Online Games (MMOGs):
– Fast response times to preserve user experience
– Real-time propagation of events to many players and maintaining
a consistent view of the sharedworld
– Architecture – several options: client-server, peer-to-peer
• e.g. Sony’s EverQuest II
Examples:
Complexities associated
• Financial Trading:
– Monitoring and processing of information from a wide
rangeof sources
• e.g. current share prices and trends, economic and
political developments
– Communication and processing of items of interest (called
events)
• e.g. drop in a share price, release of latest unemployment figures
– Architecture: distributed event-based systems
Trends in Distributed Systems
• Distributed Multimedia Systems:
– Distributed Systems are required to offer multimedia support, i.e.,
the storage, transmission and presentation of both discrete media
types (pictures, messages) as well as continuous media types
(audio, video)
– Offering Quality of Service is a challenging issue
• e.g. preserving throughput of a video presentation (frames /second)
– Distributed multimedia computing is a revolutionary technology
– Applications:
• Live or pre-recorded television broadcasts
• Accessto film and music libraries
• Audio and video conferencing, IPtelephony (e.g. Skype)
• Webcasting
Trends in Distributed Systems
• Distributed computing asautility:
– Distributed resources can be provided as utility services by
appropriate service suppliers
– Types of services :
• Virtualized physical resources such asprocessing , storage
• Software services such asemail, calendar, office apps
ü Cloud computing is the emerging computing paradigm, which is
realization of the idea of providing computing as a utility
ü Cloud computing involves delivery of the required computing
resources via the Internet as metered services in a pay -as-you-go
model
ü Underlying cloud infrastructure consists of Clusters andGrids
Trends in Distributed Systems

• Cloud computing
Resource Sharing

• The major factor generally focused in the design of a


distributed system is sharing of resources
• Examples of shared resources:
– Hardware such as printers, disks, processors
– Data resources such as files, databases, web pages
– Software resources such as search engines, currency converters

• The pattern of sharing (e.g. related users or non-related users)


and the geographic distribution of particular users determines
the mechanisms the system must supply to coordinate users’
actions.
Resource Sharing:
Coordination mechanism
• Resources in a distributed system are physically encapsulated
within computers and can only be accessed from other
computers by means of communication between programs,
which manage those resources.
• The communication between two such programs is generally
achieved by a client-server approach.
• Based on the context, the program that requests a resource by
invoking an operation is called client and the program that
manages the particular resource and provides the service is
called the server.
• The interaction from the point of request from the client to
receipt of response from the server is called remote invocation.
Challenges:
Constructing Distributed Systems
1) Heterogeneity:
– Variety and differences in the networks, hardware, operating
systems, programming languages, implementations by different
developers
– Middleware is a software layer that provides a programming
abstraction as well as masking to the heterogeneity of the
underlying networks, hardware, operating systems and
programming languages.
• e.g. JavaRMI (Supports only a single programming language)
Challenges:
Constructing Distributed Systems
Heterogeneity (Role of Middleware):

(Fig. Source: VanSteen and Tanenbaum, 3rd Ed)


Challenges:
Constructing Distributed Systems
2) Openness:
– It is the degree to which new resource-sharing services can be
added and the system can be extended
– The extension may be in terms of hardware or software
– Can be achieved by publishing the key interfaces (APIs
specification and documentation)
e.g. RFCs for Internet protocols
– Major challenge to designers is to tackle the complexity of
distributed systems consisting of many components engineered
by different people.
Challenges:
Constructing Distributed Systems
3) Security:
– Security of information resources is an important issue
– Achieving security involves protection in terms of three
components:
• Confidentiality: protection against disclosure to unauthorized
individuals
• Integrity: protection against alteration or corruption and
• Availability: protection against interference with the means to
accesstheresources
– Appropriate use of resources within an intranet must be ensured
– Encryption mechanisms are required to ensure privacy,
authentication, authorization and non-repudiation, during the
transfer of messages between two communicatingentities
Challenges:
Constructing Distributed Systems
4) Scalability:
– The ability to remain effective even when there is a
significant increase in the number of resources and the
number of users.
• e.g. Internet with increasing number of computers and web
servers
– Scalability is a dominant factor in distributed systemdesign
– Ideally, the system and application software should not need
to change when the scale of the system increases, but, it is
difficult to achieve
Challenges:
Constructing Distributed Systems
5) Failure Handling:
– Faults may occur in hardware or software due to which programs
may produce incorrect results
– Failures in distributed systems are partial, difficult to detect
and handle.
• e.g. detecting a remote crashed server
– Challenge lies in managing in the presence of failure with
focus on methods tosuspect them rather than detecting
– Mechanisms that tolerate failures can be used
• e.g. error report by a web browser
Challenges:
Constructing Distributed Systems
5) Failure Handling: (Continued…)
– Recovery from failures or roll back to a previous state in the
event of failure is quite helpful sometime
• e.g. distributed transactions
– Fault tolerance may also be achieved by means of redundancy
– Distributed systems provide high degree of availability in the
events of hardware failure
Challenges:
Constructing Distributed Systems
6) Concurrency:
– Concurrency is a characteristic of distributed system

– Several clients may request the same resource simultaneously


• e.g. Data structure that records bids for an auction may be
frequently accessed when the deadline approaches
Challenges:
Constructing Distributed Systems
7) Transparency:
– Transparency means concealing the separation of components
from the users and applications
– Distributed system design focuses on 8 forms of transparency
– Access transparency : local and remote resources are to
be accessed using identical operations
– Location transparency : resources are to be accessed
without knowledge of their physical or network location
– Concurrency transparency : several processes are to beoperated
concurrently using shared resources without interference
between them.

Also called network transparency, together


Challenges:
Constructing Distributed Systems
7) Transparency: (Continued…)
– Replication transparency : multiple instances of resourcesare
used without knowledge of the replicas
– Failure transparency : the concealment of faults, allowingusers
and application programs to complete their tasks
– Mobility transparency : allows the movement of resourcesand
clients within a system without affecting theoperation
– Performance transparency: allows the system to be reconfigured
to improve performance as loads vary.
– Scaling transparency allows the system and applications to
expand in scale without change to the system structure or the
application algorithms.
Challenges:
Constructing Distributed Systems
8) Quality of Service:
– The main non-functional properties of systems that affect the
quality of the service experienced by clients and users are
reliability, security and performance.
– Achieving QoS depends on availability of necessarycomputing
and communication resources
– 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
Thank you

You might also like