0% found this document useful (0 votes)
19 views13 pages

Lecture1-Distributed Systems - Part 1

The document introduces distributed computing, defining it as a collection of independent computers that function as a single system. It discusses key properties of distributed algorithms, the importance of transparency in distributed systems, and scalability options such as vertical and horizontal scalability. Additionally, it highlights concepts like distributed hash tables and the Chord distributed hash table for efficient data management.

Uploaded by

SHREYAN MAJUMDAR
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)
19 views13 pages

Lecture1-Distributed Systems - Part 1

The document introduces distributed computing, defining it as a collection of independent computers that function as a single system. It discusses key properties of distributed algorithms, the importance of transparency in distributed systems, and scalability options such as vertical and horizontal scalability. Additionally, it highlights concepts like distributed hash tables and the Chord distributed hash table for efficient data management.

Uploaded by

SHREYAN MAJUMDAR
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

Introduction to Distributed Computing

(Part 1)

By

Dr. Sunirmal Khatua


Visvesvaraya Young Faculty Fellow, Govt. of India
Assistant Professor, University of Calcutta
“Cloud Computing is stupidity. It's worse than “Computation may someday be organized as
stupidity: it's a marketing hype campaign.” public utility.”

-- Richard Stallman, GNU Founder, 2008 -- John McCarthy, Cognitive Scientist, 1961

Crowd Computing
Google’s Recapcha digitizes thousands of hand written manuscripts within few seconds
What is a Distributed Computing Platform?
❑ A Distributed System is a Collection of SMALL independent computers that appears to its users as a single
BIG coherent system.
❑ Properties of Distributed Algorithm:
Multiple Processes
Interprocess Communication
Disjoint Address Spaces
Collective Goal

The Gulliver’s Travel


What is a Distributed Computing Platform?
❑ A Distributed System is a Collection of SMALL independent computers that appears to its users as a single
BIG coherent system.
Multiple Processes
Interprocess Communication
Routing Algorithm : An Example
Disjoint Address Spaces
Collective Goal
Transparency in Distributed Computing
Location
Transparency

MyName
obref = lookup(“MyName”) Naming Service OtherName
ret = obref.method(“param”)
---

Lookup for Register with


MyName MyName

Client Server

Create

Remote Object
Transparency in Distributed Computing
Failure
Transparency

MyName
obref = lookup(“MyName”) Naming Service OtherName
ret = obref.method(“param”)
---

Lookup for Register with


MyName MyName

Client Server

Create

Remote Object
Transparency in Distributed Systems
Failure
Transparency
success = false
while(!success) {
try { MyName
obref = lookup(“MyName”) Naming Service OtherName
ret = obref.method(“param”)
---
success = true
} catch(Exception e) {
delay(2000) Lookup for Register with
MyName MyName
}
}

Client Server

Create

Remote Object
Transparency in Distributed Systems
Relocation Transparency

success = false
while(!success) {
try { MyName
obref = lookup(“MyName”) Naming Service OtherName
ret = obref.method(“param”)
---
success = true
} catch(Exception e) {
Register with MyName
delay(2000) Lookup for
MyName Register with MyName
}
}

Client Server 2 Server 1

Create

Remote Object
Scalability in Distributed Systems
A scalable distributed system can adapt to changes in demand by expanding its resources
or redistributing tasks effectively.

1. Vertical Scalability (Scale-Up):


Increasing the capacity of existing nodes by adding more resources

2. Horizontal Scalability (Scale-Out):


Adding more nodes to the system to handle increased demand.
Scalability in Distributed Systems
(K1,V1) K V
K V

K V
K V

K V

K V K V

K V

K V
K V
K V
Distributed Hash Table insert(K1,V1)
lookup(K1)
insert(key, value)
value = lookup(key)
Scalable Hash Table : No. of hops to insert and lookup is independent of no. of nodes
Scalability in Distributed Systems
Chord Distributed Hash Table
Finger table: finger[i] = successor (n + 2i )

h(IP) 🡪 m-bit id
h(file name) 🡪 m-bit id
000
111 001

110 010

101 011
100
Scalability in Distributed Systems

Finger table: finger[i] = successor (n + 2i )


Questions?

Thank
You

You might also like