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

Lecture 3 Distributed Systems and Their Challenges

A distributed system consists of networked computers that communicate and coordinate actions by passing messages, appearing to users as a single entity. Key features include resource sharing, scalability, fault tolerance, and challenges such as security and managing heterogeneity. Examples include the Internet, mobile computing, and ubiquitous computing, which integrate technology into everyday life.

Uploaded by

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

Lecture 3 Distributed Systems and Their Challenges

A distributed system consists of networked computers that communicate and coordinate actions by passing messages, appearing to users as a single entity. Key features include resource sharing, scalability, fault tolerance, and challenges such as security and managing heterogeneity. Examples include the Internet, mobile computing, and ubiquitous computing, which integrate technology into everyday life.

Uploaded by

zaeemrana69
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

CSC334 Parallel & Distributed Computing

Lecture # 03
Distributed Systems
What is a distributed
system

A distributed system is one in which components
located at networked computers communicate and
coordinate their actions only by passing messages
• A distributed system is a collection of
autonomous computers linked by a computer
network that appear to the users of the system as a
single computer.

4
What is a distributed
system (cont’d)
- Personal workstations +
processors not assigned to
specific users.

- For a certain command the


system can look for the
best place (workstation) to
execute it.

Examples of Distributed Systems


5
The internet and intranets

The Internet is a very large distributed system
consisting of many interconnected computer
networks.

The implementation of the internet and the
services that it supports, has entailed the
development of practical solutions to many
distributed system issues.

An intranet is a “mini-internet” which uses the
same technologies as the internet, but is controlled
by an organization. 6
Mobile computing

Today's computing power makes can benefit from
network information

Examples:

Laptops

PDA

Mobile phone

These devices can either surf the internet, or it is
possible to exchange business information at a
meeting
7
Mobile Computing
• Mobile computing refers to the ability to
use computing devices wirelessly while
being mobile. It enables users to access
data, applications, and communication
services from anywhere without being
restricted to a fixed location.
• Portability – Devices can be carried easily (e.g.,
smartphones, tablets, laptops).
• Wireless Connectivity – Uses Wi-Fi, cellular
networks (4G, 5G), and Bluetooth for
communication.
• Ubiquitous Access – Users can access data and
applications anytime, anywhere.
• Cloud Integration – Many services rely on cloud
storage and processing.
• Energy Efficiency – Battery-powered devices
ensure mobility.
Ubiquitous computing

Ubiquitous computing, also known as pervasive
computing, is a computing concept where
technology is seamlessly integrated into everyday
life, making computing services available anytime
and anywhere without requiring explicit user
interaction.

8
Key Features
• Embedded Computing – Devices and
sensors are embedded in everyday objects
(e.g., smart appliances, wearable devices).
• Seamless Connectivity – Uses IoT, Wi-Fi,
Bluetooth, and cloud computing to ensure
continuous communication.
• Context Awareness – Systems can adapt
based on the user's environment (e.g., smart
thermostats adjusting temperature).
• Automation & Intelligence – Uses AI and
machine learning to automate tasks and
enhance decision-making.
• User-Friendly & Invisible Computing –
Works in the background without requiring
active user input.
Resources and
Components

The terms “resources” and “components” are used
to describe how a distributed system is built up.

These terms are very abstract, but the range of
things that can be connected and shared is very
large.

11
Important terms

Service
– A distinct part of a computer system that manages a collection of
related resources and presents their functionality to users and
applications
– Internet services: http, telnet, pop3...

Server
– A running program (a process) on a networked computer that
accepts requests from programs running on other computers to
perform a service, and responds appropriately
– Internet servers: Apache, Sendmail, WU-ftpd, OpenSSH

Client
– The requesting process
12
• Scalability: The ability of a system to
handle increasing workloads by adding
more resources (e.g., nodes, storage).
• Concurrency – Multiple processes
executing simultaneously in a distributed
environment.
• Fault Tolerance – The system's ability to
continue functioning even when some
components fail.
• Replication – Storing copies of data across
multiple nodes to improve reliability and
availability.
• Latency – The time delay in
communication between distributed
components.
• Load Balancing – Distributing workloads
across multiple servers or resources to
prevent bottlenecks.
• Challenges in Distributed Systems
Heterogeneity

Different networks, hardware, operating systems,
programming languages, developers

We set up protocols to solve these heterogeneities

Middleware: a software layer that provides a
programming abstraction as well as masking the
heterogeneity

Mobile code: code that can be sent from one
computer to another and run at the destination

17
Security

Security for information resources has three
components:

Confidentiality: protection against disclosure to
unauthorized individuals

Integrity: protection against alteration or corruption

Availability: protection against interference with the
means to access the resources

19
Scalability

A system is described as scalable if it remains
effective when there is a significant increase in the
number of resources and the number of users

Challenges:

Controlling the cost of resources

Controlling loss of performance

Preventing software resources from running out

Avoiding performance bottlenecks

20
Fault Tolerance & Reliability

• Systems must continue operating even


when components fail.
• Implementing redundancy and replication
mechanisms.
• Handling network failures, hardware
crashes, and process failures.
Concurrency & Synchronization

• Managing multiple processes running


simultaneously.
• Ensuring consistent access to shared
resources (e.g., databases).
• Avoiding deadlocks and race conditions.
Consistency & Data
Synchronization
• Ensuring data is updated correctly across all
nodes.
• Managing trade-offs between strong
consistency (strict updates) and eventual
consistency (delayed updates).
Network Latency &
Communication Overhead
• Delays in data transmission due to network
congestion.
• High overhead in synchronizing and
communicating between distributed nodes.
• Handling partial failures where only some
parts of the system fail.
Cost Management
• Running distributed systems across cloud
providers incurs significant costs.
• Optimizing storage, computing, and
network costs while maintaining
performance.
Summary

Distributed systems are everywhere

Resource sharing is the main motivating factor for
constructing distribute systems

The construction of a distributed system produces
many challenges

24

You might also like