Week 1 Introduction to Distributed Computing
Week 1 Introduction to Distributed Computing
▸First Author, An effective scholarly search by combining inverted indices and structured search
Some with citation networks analysis. IEEE Access 9 (2021)
recently ▸First Author, Summarization of Scholarly Articles Using BERT and BiGRU: Deep Learning-Based
Published Extractive Approach. Journal of King Saud University-Computer and Information
Sciences (2023).
Research
▸First Author , Sentiment and Context-Aware Hybrid DNN With Attention for Text Sentiment
Articles Classification. IEEE Access 11 (2023).
▸ "Human action recognition systems: A review of the trends and state-of-the-art." IEEE
Access (2024).
▸ "Depression Detection in Social Media: A Comprehensive Review of Machine Learning and
Deep Learning Techniques." IEEE Access (2025).
Students
Introduction
▸ Text Book:
❏ Distributed systems, principles and paradigms, by Andrew S.
Tanenbaum (Author), Maarten Van Steen (Author), recent Addition.
❏ https://www.distributed-systems.net/index.php/books/ds4/
Course ❏ Parallel and distributed simulation systems, Richard Fujimoto
Books ❏ Distributed system concepts and design, George Coulouris, Jean
Dollimore and Tim Kindberg.
❏ Distributed Systems, An algorithmic approach, Sukumar Ghosh,
Chapman & Hall/CRC Computer and Information Science Series, ISBN
10:1-58488-564-5
▸Reference Books:
▹Selected scientific papers.
▹ Web is the greenest reference book.
Book Reading is essential for understanding of
the lecture
▸ LMS:
▹ Course Outline (Will explain structure of the course,
assignments, and project details etc.)
▹ Lectures
▹ Assignments- task to do
Class
▹ Submission as per guidelines
Policy-
Lecture
Resources ▸ Qalam:
▹ Attendance (Strict rules: missing two
consecutive classes can result into warning—
provide justification with solid proofs for missing
out the session)
▹ Grading
Course outline [½]
❏ Synchronization Algorithms
❏ Chandy/Misra/Bryantt Algorithm
❏ Jafferson Algorithm
❏ Introduction to OMNeT++
❏ Introduction to Message Passing Interface - MPI
3
Collaborative lectures
10
Tentative Marks Distribution
Course: 75% (Theory) and Lab + Semester Project 25%
❏ 30% MSE
❏ 45 % ESE
12
Introduction & Motivation
Define: Distributed Systems- Not a Centralized System
● Centralized system: State stored on a single computer
○ Simpler
○ Easier to understand
○ Can be faster for a single user
● Distributed system: State divided over multiple computers
○ More robust (can tolerate failures)
○ More scalable (often supports many users)
○ More complex
How
How cancan a complex
a complex system
system bebe
more
more robust?
robust?
Example Scenario-Software to manage a shop
How Complex?
1. Partial Failure
2. Hard to code and test Network
3. Clock
Why Distributed Computing?
The world is expected to generate over 175 trillion gigabytes of data annually by
2025, equivalent to approximately 60 terabytes per person on Earth.
OR
“A distributed system is one in which the failure of a computer you didn’t even
know existed can render your own computer unusable” – Leslie Lamport
20
Today
o Unlimited computing power and storage space available to companies and users via
the cloud
o Everyone has mobile phones which are stronger than average PCs 15 years ago.
o Ubiquitously available internet. . . Actually: Nothing goes without internet anymore
o Everywhere are networked devices such as terminals at train
stations/airports/hospitals/banks, video surveillance
o Everything has computer chips in it as strong as computers 30 years ago
Questions about the Internet--www
Not current status
22
Last lecture
Cluster Computing
24
Distributed Systems!
25
Distributed OPERATING System
26
Multi-processor
Challenges of Distributed Systems
28
Goals of Distributed Systems
❏ Distribution transparency
❏ Openness
❏ Scalability
❏ Pitfalls
29
1. Make resources Available
30
2. Transparency
Definition of transparency is “Hide the fact that its processes and resources are
physically distributed”
31
2. Transparency- cont..
❏ Access Transparency: Client should be unaware of the distribution of the
files, and how these files can be accessed - differences in machine
architectures
❏ Location Transparency: Client should be unaware of the physical location of
resources
https://scholar.google.com.pk/citations?user=Sff9RyoAAAAJ&hl=en
32
2. Transparency- cont..
33
2. Transparency- cont..
34
2. Transparency- cont..
35
Transparency Description
How ?
37
Degree of Transparency- preferable, but it is not always the best option
39
4. Scalability
Measured along at least three different dimensions
❏ Size scalability
❏ Geographically scalability
❏ Administratively scalability
40
4. Scalability- Cont..
The server becomes a bottleneck as the number of users grows
❏ centralized services
❏ centralized data
❏ centralized algorithms
41
4. Scalability- Cont..
1. Size scalability
• whenever users and resources grow
• it should not be carried out at the cost of performance and efficiency of the
system.
• The system must respond to the user in the same manner as it was responding
before scaling the system.
4. Scalability- Cont..
2. Geographical scalability
• What happens when we increase the distance across
the system?
• Distance is defined as the physical spaces
between nodes or users and resources
• should not affect the communication time
between the nodes.
43
4. Scalability- Cont..
3. Administrative Scalability
44
Last Session
❑ Distributed / Parallel/ Computing
❑ Example Scenario
❑ Why distributed Computing?
❑ Challenges Involved
❏ Four important goals to meet to build a distributed system
❏ Make resource available
❏ Distribution transparency
❏ Openness
❏ Scalability
46
Today Lecture
• Pitfalls- false assumption
• Types of Distributed System
• Distributed Systems Architecture
• Different Architectural Styles
❏ Centralized Architecture
❏ Decentralized Architecture
❏ Hybrid Architecture
5. Pitfalls- Fallacies of distributed systems
❏ network is reliable
❏ network is secure
❏ network is homogenous
❏ latency is zero
❏ bandwidth is infinite
❏ transport cost is zero
❏ there is one administrator
48
1. Network is reliable
➢ You cannot assume the network is reliable and not worry about network
issues.
➢ The truth is that networks are more reliable than they used to be.
However…
➢ Noy 100% reliable.
When designing and writing your applications, don’t forget to account
for network failures.
2. Latency is zero
➢ Imagine two applications on the same computer talking to each other. The
latency, in this case, will be close to zero, but it won’t be zero.
➢ If we introduce a network between the applications, the latency will
always be greater than zero.
Latency is an important metric you should be aware of, and monitor for your
applications. Latency can have a big impact on user experience and
performance.
3. Infinite bandwidth
➢ At first, it might seem like there’s plenty of bandwidth.
➢ However, when a system has tens or hundreds of services, the amount of
communication and data sent back and forth increases significantly.
➢ For example, it’s predicted that self-driving cars will produce from 400 GB
to 5 TB of data an hour.
It’s not a question if your system will be attacked; it’s a question of when it
will be attacked.
5. Topology doesn’t change
➢ Indeed, topology doesn’t change when you’re running applications on your
computer. But…
➢ when you deploy the applications to the cloud, the network topology
is out of your control.
56
1. Distributed Computing System
• Used in performance computation which requires high computing
• Grid Computing
• Cluster Computing
1. Distributed Computing System - Grid System
It is an approach that spans not only location but also organizations, and machine
architectures.
58
1. Distributed Computing System - Grid System
❏ collection of computers running the same operating system OR as complex
as systems comprised of different OS
❏ server, which handles all the administrative duties for the system (control
node, dispatcher)
❏ Nodes running special grid computing network software - middleware
❏ Grid middleware: to run a process or application across the entire network of
machines.
❏ Middleware is the workhorse of the grid computing system
36
1. Distributed Computing System - Grid System
37
For Students
Applications of Grid Computing-
39
• ensure continuous and uninterrupted
operation of critical services and
applications.
63
Load Balancer
64
1. Distributed
Computing
System - Cluster
Computing
65
Why Cluster Computing?
68
TP Monitors are responsible for ensuring the
integrity and consistency of transactions across
multiple resources, providing features like
transaction scheduling, resource allocation,
and error recovery.
Cont..
73
3. Distributed Pervasive Computing
74