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

SSWT ZG526

Distributed Computing
Anil Kumar Ghadiyaram
BITS Pilani
Pilani | Dubai | Goa | Hyderabad
ganilkumar@wilp.bits-pilani.ac.in
IMP Note to Self

START RECORDING
SSWT ZG526 - Distributed Computing Dt: 16th April 2023 2 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
IMP Note to Students

● It is important to know that just login to the session does not guarantee the
attendance.
● Once you join the session, continue till the end to consider you as present in
the class.
● IMPORTANTLY, you need to make the class more interactive by responding
to Professors queries in the session.
● Whenever Professor calls your number / name ,you need to respond,
otherwise it will be considered as ABSENT

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 3 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani
Pilani | Dubai | Goa | Hyderabad

Contact Session – 1
M1 - Introduction to Distributed Computing
References : T1 (Chap.1)
Text and References

T1 Ajay D. Kshemkalyani, and Mukesh Singhal “Distributed Computing: Principles,


Algorithms, and Systems”, Cambridge University Press, 2008 (Reprint 2013).

R1 Kai Hwang, Geoffrey C. Fox, and Jack J. Dongarra, “Distributed and Cloud
Computing: From Parallel processing to the Internet of Things”, Morgan Kaufmann,
2012 Elsevier Inc.

R2 John F. Buford, Heather Yu, and Eng K. Lua, “P2P Networking and Applications”,
Morgan Kaufmann, 2009 Elsevier Inc.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 5 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Course Outline

• Introduction to Distribution
• Introduction to Distribution Computing/ Procesing
• Introduction to Distribution of Data
• Briefing of Course Handout
• Real life examples

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 6 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Massively Multiplayer Online Games

• Player's login from different parts of the world into a single virtual world
• Different physical times
– Logical clocks (S2)
• Consistent view of the virtual world
– Global state (S3 & S4)
• Player communication
– Causal ordering in group communication (S5)
• Send broadcasts on the network, placement of game servers
– Distributed graph algos (S6)

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 7 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Massively Multiplayer Online Games

• Completion of a stage or set of steps


– Termination detection (S5)
• Fight for resources
– Distributed Mutual Exclusion and Deadlocks (S7 & S9)
• A team of players making a decision
– Consensus protocols (S10)
• Game servers' architecture
– Client/Server, Peer-to-Peer, Clusters, Grid (S11 - S14)
• Large scale networks - millions of users, devices
– IoT (S15)

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 8 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Module Details

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 9 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Module Details

M1 - Introduction to Distributed Computing

• Introduction to Distributed computing


• Motivation, Multiprocessor Vs Multicomputer Systems
• Distributed Communication Model; RPC
• Design issues and challenge

References : T1 (Chap.1)

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 10 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Topics for today

• Introduction to Distributed Computing


• Motivation
• Classification and introduction to Parallel Systems
• Distributed Communication Models
• Design issues and challenges
• Summary

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 11 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Topics for today

• Introduction to Distributed Computing


• Motivation
• Classification and introduction to Parallel Systems
• Distributed Communication Models
• Design issues and challenges
• Summary

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 12 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
DISTRIBUTED COMPUTING

• Distributed computing is a field of computer science that studies


distributed systems.
• A distributed system is a software system in which components located on
networked computers communicate and coordinate their actions by passing
messages.
• A distributed system is a collection of independent entities that cooperate to solve a
problem that cannot be individually solved.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 13 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
DISTRIBUTED COMPUTING

• Multiple independent machines with no physical


common clock
• No shared memory but somehow a global state
needs to get created when required
• May be physically distant machines and needs
good network infrastructure and protocols /
control algorithms to communicate
• Machines communicate via messages and
somehow the system figures out the message
order
• The machines doing pieces of the work can jointly
figure out when a task terminates
SSWT ZG526 - Distributed Computing Dt: 16th April 2023 14 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
DISTRIBUTED SYSTEM CHARACTERISTICS

A distributed system can be characterized as a collection of mostly autonomous


processors communicating over a communication network and having the following
features:

– No common physical clock


– No shared memory
– Geographical separation
– Autonomy and heterogeneity
(Different processors with different speed and OS)

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 15 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
RELATION TO COMPUTER SYSTEM COMPONENTS

• The distributed software is also termed as middleware.


• A distributed execution is the execution of processes across the distributed system
to collaboratively achieve a common goal.
• An execution is also sometimes termed a computation or a run.
• The machines can access and use shared resources without conflicts, e.g. writing a
file on a network storage
• If the program is stuck with deadlock, it can be detected and resolved.
• Independent machines can have joint decisions made via agreement protocol - e.g.
majority voting by just passing messages
• All this logic can then be built into the distributed system using various architectural
patterns - client/server, peer to peer etc.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 16 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
RELATION TO COMPUTER SYSTEM COMPONENTS

A Middleware Service for Distributed Applications

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 17 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
RELATION TO COMPUTER SYSTEM COMPONENTS

Relation between software components on a machine

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 18 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
RELATION TO COMPUTER SYSTEM COMPONENTS

Complex application directly on network stack has Easier programming where complexity is handled in
to solve distributed computing problems distributed middleware / os services

Networking OS Distributed OS

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 19 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Examples of Distributed Systems

• Cluster computing systems


• Banking applications
• Internet caching systems, e.g. Akamai
• Distributed Databases
• Peer-to-peer systems for content sharing
• Media streaming systems
• Real-time process control, e.g. aircraft control systems
• IoT or sensor networks

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 20 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Topics for today

• Introduction to Distributed Computing


• Motivation
• Classification and introduction to Parallel Systems
• Distributed Communication Models
• Design issues and challenges
• Summary

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 21 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MOTIVATION

The motivation for using a distributed system is some or all of the following
requirements:

1. Inherently distributed computations


• In many applications such as money transfer in banking, or reaching consensus
among parties that are geographically distant, the computation is inherently
distributed.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 22 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MOTIVATION

2. Resource sharing
• Resources such as peripherals, complete data sets in databases, special libraries, as
well as data (variable/files) cannot be fully replicated at all the sites because it is
often neither practical nor cost-effective.
• Further, they cannot be placed at a single site because access to that site might
prove to be a bottleneck. Therefore, such resources are typically distributed across
the system.
• For example, distributed databases such as DB2 partition the data sets across
several servers, in addition to replicating them at a few sites for rapid access as well
as reliability.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 23 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MOTIVATION

3. Access to geographically remote data and resources


• In many scenarios, the data cannot be replicated at every site participating in the
distributed execution because it may be too large or too sensitive to be replicated.
• For example, payroll data within a multinational corporation is both too large and
too sensitive to be replicated at every branch office/site. It is therefore stored at a
central server which can be queried by branch offices.
• Similarly, special resources such as supercomputers exist only in certain locations.
• Advances in the design of resource-constrained mobile devices as well as in the
wireless technology with which these devices communicate have given further
impetus to the importance of distributed protocols and middleware.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 24 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MOTIVATION

4. Enhanced reliability
• A distributed system has the inherent potential to provide increased reliability
because of the possibility of replicating resources and executions, as well as the
reality that geographically distributed resources are not likely to crash or
malfunction at the same time under normal circumstances.

Reliability entails several aspects:


1. Availability, i.e., the resource should be accessible at all times
2. Integrity, i.e., the value/state of the resource should be correct
3. Fault-tolerance, i.e., the ability to recover from system failures

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 25 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MOTIVATION

5. Increased performance/cost ratio


• By resource sharing and accessing geographically remote data and resources, the
performance/cost ratio is increased. Although higher throughput has not necessarily
been the main objective behind using a distributed system, nevertheless, any task
can be partitioned across the various computers in the distributed system.
• Such a configuration provides a better performance/cost ratio than using special
parallel machines. This is particularly true of the NOW configuration.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 26 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MOTIVATION

6. Scalability
• As the processors are usually connected by a wide-area network, adding more
processors does not pose a direct bottleneck for the communication network.

7. Modularity and incremental expandability


• Heterogeneous processors may be easily added into the system without affecting
the performance, as long as those processors are running the same middleware
algorithms. Similarly, existing processors may be easily replaced by other processors.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 27 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example Distributed System : Netflix

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 28 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example Distributed System : Netflix

Widely distributed network of content caching servers

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 29 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Topics for today

• Introduction to Distributed Computing


• Motivation
• Classification and introduction to Parallel Systems
• Distributed Communication Models
• Design issues and challenges
• Summary

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 30 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
PARALLEL SYSTEMS

A parallel system may be broadly classified as belonging to one of three types:

1. A multiprocessor system
2. A multicomputer parallel system
3. Array processors

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 31 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTIPROCESSOR SYSTEMS

• A multiprocessor system is a parallel system in which the multiple processors have


direct access to shared memory which forms a common address space.
• Such processors usually do not have a common clock.
• A multiprocessor system usually corresponds to a uniform memory access (UMA)
architecture in which the access latency, i.e., waiting time, to complete an access to
any memory location from any processor is the same.
• The processors are in very close physical proximity and are connected by an
interconnection network.
• All the processors usually run the same operating system, and both the hardware
and software are very tightly coupled.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 32 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTIPROCESSOR SYSTEMS

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 33 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTIPROCESSOR SYSTEMS

• All the processors usually run the same operating system, and both the hardware
and software are very tightly coupled.
• The processors are usually of the same type, and are housed within the same
box/container with a shared memory.
• The interconnection network to access the memory may be a bus, although for
greater efficiency, it is usually a multistage switch with a symmetric and regular
design.
• There are two popular interconnection networks
1. The Omega network and
2. The Butterfly network

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 34 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTIPROCESSOR SYSTEMS

• Two popular interconnection networks – the Omega network and the Butterfly
network , each of which is a multi-stage network formed of 2×2 switching elements.
• Each 2×2 switch allows data on either of the two input wires to be switched to the
upper or the lower output wire.
• In a single step, however, only one data unit can be sent on an output wire. So if the
data from both the input wires is to be routed to the same output wire in a single
step, there is a collision.
• Various techniques such as buffering or more elaborate interconnection designs can
address collisions.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 35 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTIPROCESSOR SYSTEMS

INTERCONNECTION NETWORKS FOR SHARED MEMORY MULTIPROCESSOR SYSTEMS

Omega network and Butterfly network


for n = 8 processors P0–P7 and memory banks M0–M7

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 36 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTIPROCESSOR SYSTEMS

Interconnection Networks

a) A crossbar switch - faster


b) An omega switching network - cheaper

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 37 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTICOMPUTER PARALLEL SYSTEM

• A multicomputer parallel system is a parallel system in which the multiple


processors do not have direct access to shared memory.
• The memory of the multiple processors may or may not form a common address
space. Such computers usually do not have a common clock.
• The processors are in close physical proximity and are usually very tightly coupled
(homogenous hardware and software), and connected by an interconnection
network.
• The processors communicate either via a common address space or via message-
passing usually corresponds to a non-uniform memory access (NUMA) architecture
in which the latency to access various shared memory locations from the different
processors varies.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 38 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTICOMPUTER PARALLEL SYSTEM

Non-uniform memory access (NUMA) multiprocessor

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 39 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTICOMPUTER PARALLEL SYSTEM

A wrap-around 4×4 mesh.


For a k×k mesh which will contain k2
processors, the maximum path length
between any two processors is
2(k/2−1).

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 40 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MULTICOMPUTER PARALLEL SYSTEM

• A k-dimensional hypercube has 2k processor-and-memory units. Each such unit is a


node in the hypercube, and has a unique k-bit label. Each of the k dimensions is
associated with a bit position in the label

Four-dimensional hypercube.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 41 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
ARRAY PROCESSORS

• Array processors belong to a class of parallel computers that are physically co-
located, are very tightly coupled, and have a common system clock (but may not
share memory and communicate by passing data using messages).
• Array processors and systolic arrays that perform tightly synchronized processing
and data exchange in lock-step for applications such as DSP and image processing
belong to this category.
• These applications usually involve a large number of iterations on the data.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 42 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
ARRAY PROCESSORS

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 43 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Flynn’s Taxonomy

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 44 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Some basic concepts

• Coupling
– Tight - SIMD, MISD shared memory systems
– Loose - NOW, distributed systems, no shared memory
• Speedup
– how much faster can a program run when given N processors as opposed to 1 processor — T(N) / T(1)
– Optional reading: Amdahl’s Law, Gustafson’s Law
• Parallelism / Concurrency of program
– Compare time spent in computations to time spent for communication via shared memory or message
passing
• Granularity
– Average number of compute instructions before communication is needed across processors
• Note:
– Coarse granularity —> Distributed systems else use tightly coupled multi-processors/computers
– High concurrency doesn’t lead to high speedup if granularity is too small leading to high overheads

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 45 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Topics for today

• Introduction to Distributed Computing


• Motivation
• Classification and introduction to Parallel Systems
• Distributed Communication Models
• Design issues and challenges
• Summary

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 46 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
REMOTE PROCEDURE CALL (RPC)

• Remote Procedure Call (RPC) is a powerful technique for constructing distributed,


client-server based applications.
• It is based on extending the conventional local procedure calling, so that the called
procedure need not exist in the same address space as the calling procedure.
• The two processes may be on the same system, or they may be on different systems
with a network connecting them.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 47 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
REMOTE PROCEDURE CALL (RPC)

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 48 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
REMOTE PROCEDURE CALL (RPC)

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 49 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
MESSAGE QUEUEING

• Message queueing is a method by which process (or program instances) can


exchange or pass data using an interface to a system-managed queue of messages.
• Messages can vary in length and be assigned different types or usages.
• A message queue can be created by one process and used by multiple processes
that read and/or write messages to the queue.
• For example, a server process can read and write messages from and to a message
queue created for client processes.
• The message type can be used to associate a message with a particular client
process even though all messages are on the same queue.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 50 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
PUBLISH–SUBSCRIBE PATTERN

• Publish–subscribe is a messaging pattern where senders of messages, called


publishers, do not program the messages to be sent directly to specific receivers,
called subscribers, but instead categorize published messages into classes without
knowledge of which subscribers, if any, there may be.
• Similarly, subscribers express interest in one or more classes and only receive
messages that are of interest, without knowledge of which publishers, if any, there
are.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 51 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
PUBLISH–SUBSCRIBE PATTERN

• Publish–subscribe is a sibling of the message queue paradigm, and is typically one


part of a larger message-oriented middleware system.
• Most messaging systems support both the pub/sub and message queue models in
their API, e.g. Java Message Service (JMS).
• This pattern provides greater network scalability and a more dynamic network
topology, with a resulting decreased flexibility to modify the publisher and the
structure of the published data.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 52 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
PUBLISH–SUBSCRIBE PATTERN

• The sender (also called a publisher) uses a topic-based approach to publish


messages to topic A and to topic B.
• Three receivers (also called subscribers) subscribe to these topics;
– one receiver subscribes to topic A,
– one receiver subscribes to topic B, and
– one receiver subscribes to both topic A and to topic B.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 53 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
PUBLISH–SUBSCRIBE PATTERN

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 54 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Topics for today

• Introduction to Distributed Computing


• Motivation
• Classification and introduction to Parallel Systems
• Distributed Communication Models
• Design issues and challenges
• Summary

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 55 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
DESIGN ISSUES AND CHALLENGES

The following functions must be addressed when designing and building a distributed system:

Communication
• This task involves designing appropriate mechanisms for communication among the processes in the
network. Some example mechanisms are: remote procedure call (RPC), remote object invocation
(ROI), message-oriented communication versus stream-oriented communication.

Processes
• Some of the issues involved are: management of processes and threads at clients/servers; code
migration; and the design of software and mobile agents.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 56 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
DESIGN ISSUES AND CHALLENGES

Naming
• Naming Devising easy to use and robust schemes for names, identifiers, and addresses is essential for
locating resources and processes in a transparent and scalable manner.

Synchronization
• Synchronization Mechanisms for synchronization or coordination among the processes are essential.

Data storage and access


• Data storage and access Schemes for data storage, and implicitly for accessing the data in a fast and
scalable manner across the network are important for efficiency.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 57 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
DESIGN ISSUES AND CHALLENGES

Consistency and replication


• To avoid bottlenecks, to provide fast access to data, and to provide scalability, replication of data
objects is highly desirable

Fault tolerance
• Fault tolerance requires maintaining correct and efficient operation in spite of any failures of links,
nodes, and processes

Security
• Distributed systems security involves various aspects of cryptography, secure channels, access
control, key management – generation and distribution, authorization, and secure group
management.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 58 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
DESIGN ISSUES AND CHALLENGES

Applications Programming Interface (API) and transparency


• The API for communication and other specialized services is important for the ease of use and wider
adoption of the distributed systems services by non-technical users.

Scalability and modularity


• The algorithms, data (objects), and services must be as distributed as possible. Various techniques
such as replication, caching and cache management, and asynchronous processing help to achieve
scalability.

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 59 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
NEW APPLICATIONS POSE NEW CHALLENGES

• Mobile networks
– distributed graph algorithms
• Sensor networks collecting and transmitting physical parameters
– large volume streaming, algorithms for location estimation
• Ubiquitous or Pervasive computing where processors are embedded everywhere to perform
application functions e.g. smart homes
– groups of wireless sensors/actuators connected to Cloud backend
• Peer-to-peer e.g. gaming, content distribution
– object storage/lookup/retrieval/replication, self-organising networks, privacy

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 60 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
NEW APPLICATIONS POSE NEW CHALLENGES

• Publish-subscribe e.g. movie streaming, online trading markets - receive only data of interest
– data streaming systems and filtering / matching algorithms
• Distributed agents or robots e.g. in mobile computing
– swarm algorithms, coordination among agents (like an ant colony)
• Distributed data mining
– e.g. user profiling - Data is spread in many repositories

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 61 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Topics for today

• Introduction to Distributed Computing


• Motivation
• Classification and introduction to Parallel Systems
• Distributed Communication Models
• Design issues and challenges
• Summary

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 62 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
SUMMARY AND ADDITIONAL READING

• Basic concepts and motivation of a Parallel and Distributed Systems


• Challenges in systems, algorithms, new applications
• Virtual Labs
– Complete the RPC exercise
• Study material: Chapter 1 of Text book 1 (T1)
• Optional reading:
– NFS and RPC: https://cseweb.ucsd.edu/classes/fa06/cse120/lectures/120-fa06-l15.pdf
– Netflix architecture : https://medium.com/swlh/a-design-analysis-of-cloud-based-microservices-
architecture-at-netflix-98836b2da45f

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 63 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Next Session

Logical Time :
– How do we logically correlate time across distributed machines with no common
clock

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 64 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
THANK YOU

SSWT ZG526 - Distributed Computing Dt: 16th April 2023 65 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956

You might also like