Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 22

CSC 406: Net-Centric Computing

Lect 1:
Introduction to Distributed System

2nd Semester (2022/2023 session) 1442h


FEDERAL UNIVERSITY BIRNIN KEBBI
DEPARTMENT OF COMPUTER SCIENCE

Dr. F. U. Ambursa
What is a Distributed System?
• “A system in which H/W or S/W components
located at networked computers communicate
and coordinate their actions only by message
passing.” [Coulouris]
• “A distributed system is a collection of
autonomous computing elements that
• appears to its users as a single coherent
system.” [Tanenbaum]
Middleware
• A software layer between the application and the operating system. This layer
supports heterogeneous computers and networks while providing a single
system view.
• Distributed applications consist of a set of processes that are distributed across
a network of machines and work together as an ensemble to solve a common
problem.
– In the past, mostly “client-server” but now “Peer to Peer” computing represents a
movement towards more “truly” distributed applications
Goals of Distributed Systems (1)
• For a distributed system to be worth the
building efforts, the following important goals
must be met:
1. Support sharing of resources:
– Economic reasons.
– Collaboration & exchange info.
– Security & privacy problems.
Goals of Distributed Systems (2)
2. Distribution Transparency:
– Hide the fact that its processes and resources are physically distributed across multiple
computers.

– Degree of transparency vs. performance


Goals of Distributed Systems (3)
3. Openness
– It offers services according to standard rules that
describe the syntax and semantics of those services.
(IDL)
– Interoperability:
• The extent by which two implementations of systems can co-
exist and work together by merely relying on each other’s
services as specified by the standard.
– Portability:
• The extent of an application developed for a DS “A” can be
executed, without modification, on a different DS “B” that
implement the same interface.
Goals of Distributed Systems (4)
4. Scalability
– Scalable with respect to size
• Easy add more users and resources without significant
performance degradation.
– Scalable with respect to geographical span
• Performance is not much sensitive to users and
resources being far apart.
– Scalable with respect to administration
• Still easy to mange even if it spans many independent
administrative organization.
Characteristics of Distributed Systems
Computers in DS may be on separate continents, in the same building, or the same room.
However they share the following:
• Heterogeneity
– Usually different platforms
• Independent Failures
– Each computer can fail independently of the others and independent from the communication
channel.
• 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
Types of distributed systems
• Three types of distributed systems
– High performance distributed computing systems
– Distributed information systems
– Distributed systems for pervasive computing
High performance distributed computing

• High-performance distributed computing


started with parallel computing
Cluster computing
• Essentially a group of high-end systems
connected through a LAN
– Homogeneous: same OS, near-identical hardware
– Single managing node
Grid Computing
• In Grid Computing resources from different organisations are
brought together to allow the collaboration of a group of
people from different institutions, indeed forming a federation
of systems.
– Such a collaboration is realized in the form of a virtual organisation.
• Characteristics:
– Heterogeneous
– Dispersed across several organizations
– Can easily span a wide-area network
• Issues:
– difficult to implement and maintain
– Organisations face problem opening up resources to customers
Cloud Computing
• Cloud computing is based on utility computing,
where a customer could upload tasks to a data
center and be charged on a per-resources basis.
• It is characterized by an easily usable and accessible
pool of virtualized resources.
• The link to utility computing is formed by the fact
that cloud computing is generally based on a pay-
per-use model in which guarantees are offered by
means of customized service level agreements
(SLAs)
Cloud Computing
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.
Distributed information systems
• Integrating applications
– Situation: Organizations confronted with many networked
applications, but achieving interoperability was painful.
– Basic approach: A networked application is one that runs
on a server making its servicesavailable to remote clients.
• Simple integration: clients combine requests for (different)
applications; send that off; collect responses, and present a
coherent result to the user.
– Next Step: Allow direct application-to-application
communication, leading to Enterprise Application
Integration.
Distributed pervasive systems
• 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 continuous 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.
Ubiquitous systems
• Core elements
– (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
Mobile computing
• Distinctive features
– A myriad of different mobile devices
(smartphones, tablets, GPS devices, remote
controls, active badges.
– Mobile implies that a device’s location is expected
to change over time → change of local services,
reachability, etc. Keyword: discovery.
– Communication may become more difficult: no
stable route, but also perhaps no guaranteed
connectivity → disruption-tolerant networking.
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)
Sensor networks as distributed databases
Questions

You might also like