DC Module1
DC Module1
Semester - 7
BTech - 2022-23
11/12/2024
Distributed Computing
Introduction to Distributed
Computing,Distributed Systems
Communication in Distributed Systems
Synchronization in distributed systems
Distributed file systems
Introduction to cloud computing
11/12/2024
Syllabus
Module 1
Introduction to Distributed Systems
Definition, Characterization of distributed
systems - Trends in distributed systems, Focus
on resource sharing, Challenges.
Types of distributed systems.
A Model of Distributed Computations
System Models - Introduction, Physical models ,
Architectural models , Fundamental models
11/12/2024
Distributed Computing - Where is it placed in subjects studied
DBMS
OS
Networking, DC
Data Communication, NIS
11/12/2024
Distributed Computing
Arriving here :----
11/12/2024
The TERMS
• Distributed Systems
• Distributed Computing Systems
• Distributed Computing
• Distributed Operating systems
11/12/2024
Distributed Computing
Distributed system: a collection of independent computers that are connected
with an interconnection network.
11/12/2024
Distributed Computing
• Distributed computing refers to the use of
distributed systems to complete computing
tasks.
11/12/2024
Distributed Computing
• Distributed computing and distributed systems share the same basic
properties of scalability, fault tolerance, resource sharing, and
transparency.
11/12/2024
Distributed Operating System
• What is a Distributed Operating System ?
• How is it different ?
• Why Distributed Operating Systems ?
• Problems with Distributed Operating
Systems
• Distributed Operating System Models
11/12/2024
What is a Distributed Operating
System ?
• A Distributed Operating System is the one
that runs on multiple autonomous CPUs
which provides its users an illusion of an
ordinary
• Centralized Operating System that runs on
a Virtual Uni-processor.
• Distributed Operating Systems provide
resource transparency to the user
11/12/2024
How is it different ?
• The Distributed Operating System is unique and
resides on different CPUs.
• User processes can run on any of the CPUs as
allocated by the Distributed Operating System.
• Data can be resident on any machine that is the
part of the Distributed System.
• All multi-machine systems are not Distributed
Systems.
• It is the software not the hardware that determines
whether a system is distributed or not.
11/12/2024
Distributed OS vs. Network
OS.
DOS NOS
11/12/2024
Distributed OS
• User is not aware of the multiple CPUs.
11/12/2024
Network OS
• User is aware of the existence of multiple
CPUs.
11/12/2024
Why Distributed Operating Systems
?
• Price/Performance advantage (Availability
of cheap and powerful Microprocessors).
• Incremental growth.
• Reliability and Availability.
• Simplicity of Software (Theoretically).
• Provides Transparency.
• Creates another level of abstraction (e.g.
Process creation).
11/12/2024
Problems with Distributed
Operating System
• Communication Protocol Overhead.
• Lack of Simplicity.
• High requirement of the degree of fault
tolerance.
• Lack of global state information (e.g. No
global Process Tables).
• Atomic Transactions.
• Process and Data Migration (e.g. During
Load
11/12/2024
Balancing and Paging respectively).
Back to distributed
Computing
11/12/2024
Definition of a Distributed System
11/12/2024
Definition of Distributed
Computing
• Distributed computing is a computing concept that, in its
most general sense, refers to multiple computer systems
working on a single problem.
11/12/2024
A Distributed System
11/12/2024
Characteristics of a DS/DC
• Resource sharing
• Heterogeneity
• Openness
• Concurrency
• Scalability
• Fault tolerance
• Transparency
(access, location,replication,failure,
migration)
11/12/2024
Transparency Issues
11/12/2024
Transparency
• Access transparency enables local and remote resources to be accessed
using identical operations.
• Location transparency enables resources to be accessed without
knowledge of their physical or network location (for example, which
building or IP address).
• Concurrency transparency enables several processes to operate
concurrently using shared resources without interference between them.
• Replication transparency enables multiple instances of resources to
be used to increase reliability and performance without knowledge of
the replicas by users or application programmers.
• Failure transparency enables the concealment of faults, allowing
users and application programs to complete their tasks despite the
failure of hardware or software components.
• Mobility transparency allows the movement of resources and clients
within a system without affecting the operation of users or programs.
• Performance transparency allows the system to be reconfigured to
improve performance as loads vary.
• Scaling transparency allows the system and applications to expand
in scale without change to the system structure or the application
algorithms
Concurrent Computing / Parallel Computing/Distributed
computing
11/12/2024
Examples of Distributed Systems/Distributed Computing
Systems
• The Internet
• The Intranet
• Mobile devices
(telecommunication networks,network applications,real-time process control,parallel
computation,peer-to-peer)
11/12/2024
Goals of a Distributed System
• Performance
• Reliability
• Scalability
• Consistency
• Security
11/12/2024
Challengesof a Distributed System
• Heterogeneity
• Openness
• Security
• Scalability
• Transparency
• Concurrency
• Data distribution
• task distribution [ HPC ]
11/12/2024
Trends in Distributed Computing
11/12/2024
Systems models
Architectural Models (describing components ,and their
relationship)
• Client server models
• Peer process models
Fundamental Models
• Interaction Model
• Failure Model
• Security Model
(formal description of properties common in all architectural
models)
11/12/2024
Architectural elements
• What are the entities
• How do they communicate, or, more specifically, what
communication paradigm is used?
• What (potentially changing) roles and responsibilities
do they have in the overall architecture?
• How are they mapped on to the physical distributed
infrastructure (what is their placement)?
Communicating entities
• From a system perspective, entities are
typically processes.
• Components:
• Web services:
• Communication paradigms
– Inter-process communication - low-level support
for communication between processes in
distributed systems by message passing.
– Remote invocation - the most common
communication paradigm in distributed systems.
– Request-reply protocols - Messages from client
to server and then from server back to client,
containing encoding operation and holding
associated arguments.
11/12/2024
Service Layers
• Software architecture
– Structuring software as
layers or modules Applications, services
11/12/2024
Service Layers
• Middleware::
11/12/2024
Service Layers: Middleware
11/12/2024
Mobile code & Mobile agents
• Mobile code
• eg applets
• Only the code can be accessed
• Mobile agents
• It’s a running program that includes
Both code + data
11/12/2024
Web applets
Client Web
server
Applet
code
b) client interacts with the
applet
Web
Client Applet server
11/12/2024
Mobile Devices and Spontaneous networking
Music
service Alarm
gateway service
Internet
Hotel wireless
network
Discovery
service
Camera
TV/PC Guests
Laptop PDA
devices
11/12/2024
Mobile Devices and Spontaneous networking
• Key features
– Easy connection to local network
• Transparently reconfigured devices
– Easy integration with local services
• Autonomous service discoveries
• Issues
– Internet addressing, and routing assumption
• computers are at fixed locations
– Limited connectivity
– Security and privacy
• Discovery services
– Registration service
– Lookup service
11/12/2024
Fundamental Models
• Interaction model
• Failure model
• Security model
11/12/2024
Interaction model
• Performance of communication channels
• Event ordering
11/12/2024
Performance of communication channels
11/12/2024
Computer Clock and Timing event
11/12/2024
Two variants of the interaction model
• Synchronous distributed system
– The time to execute each step f a process has known lower
and uper bounds.
– Each message transmitted over a channel is received within
a known bounded time
– Each process has a local clock whose drift rate from real
time has a known bound.
• Asynchronous distributed system
– No bound on process executiong speeds
– No bound on message transmisson delays
– No bound on clock drift rates.
11/12/2024
Event ordering
11/12/2024
Failure Model
• Omission failures
• Arbitrary failures
• Failure detection
• Impossibility of reaching agreement in the
presence of failure
• Masking failure
• Reliability of one to one communication
11/12/2024
• Arbitrary failures
– a process may set wrong values in its data items, or it may return a
wrong value in response to an invocation.
• Timing failures •
– Timing failures are applicable in synchronous distributed systems
where time limits are set on process execution time, message
delivery time and clock drift rate.
• Masking failure
– Each component in a distributed system is generally constructed
from a collection of other components. It is possible to construct
reliable services from components that exhibit failures. For
example, multiple servers that hold replicas of data can continue to
provide a service when one of them crashes
• Reliability of one to one communication
– Validity: Any message in the outgoing message
buffer is eventually delivered to the incoming
message buffer.
– Integrity: The message received is identical to one
sent, and no messages are delivered twice.
Byzantine or malicious failure
Byzantine or malicious failure, with authentication.
In this model,a process may exhibit any arbitrary behavior. However, if a
faulty process claims to have received a specific message from a correct
process, then that
claim can be verified using authentication, based on unforgeable signatures.
11/12/2024
Security Model
• Protecting objects
• Securing processes and their interactions
• The enemy
• Defeating security threats
• Other possible threats from the enemy
11/12/2024