Introduction To Distributed Systems

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

Introduction to

Distributed Systems

Lecture1
Course Syllabus
 Introduction to distributed systems
 Timing in distributed systems
 Lamport and Vector clocks
 Clock synchronization
 Remote Procedure calls RPC and RMI
 Synchronization
 Coordination and agreement
 Cloud Computing
Definition of a Distributed System
A distributed system is:

a collection of independent computers that appears to its


users as a single coherent system.
Distributed System

The middleware layer extends over multiple machines, and offers


each application the same interface.
Transparency in a Distributed
System

Different forms of transparency in a distributed


system (ISO, 1995).
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.
Distributed Systems
Characteristics
Characteristics of decentralized algorithms:
• No machine has complete information about the system
state.
• Machines make decisions based only on local
information.
• There is no implicit assumption that a global clock exists.
Scalability Problems

Examples of scalability limitations.


Scaling Techniques (1)

The difference between letting (a) a server or (b) a


client check forms as they are being filled.
Scaling Techniques (2)

An example of dividing the DNS name space into zones.


False Assumptions when Developing
Distributed Systems
False assumptions made by first time developer:
× The network is reliable.
× The network is secure.
× The network is homogeneous.
× The topology does not change.
× Latency is zero.
× Bandwidth is infinite.
× Transport cost is zero.
× There is one administrator.
Examples of Distributed Systems
Cloud Computing
 Cloud computing
provides a variety of
computing resources,
from servers and storage
to enterprise applications
such as email, security,
backup, voice, all
delivered over the
Internet.
 The Cloud delivers a
hosting environment that
is immediate, flexible,
scalable, secure, and
available while saving
corporations money, time
and resources.
Cluster Computing Systems
Figure 1-6. An example of a cluster computing
system.
Grid Computing Systems
Focus on communication
among devices, grid
computing exploits unused
processing cycles of all
computers in a network for
solving problems too
intensive for any stand-alone
machine.
Transaction Processing Systems (1)

Example primitives for transactions.


Transaction Processing Systems (2)
Characteristic properties of transactions:
• Atomic: To the outside world, the transaction happens
indivisibly.
• Consistent: The transaction does not violate system
invariants.
• Isolated: Concurrent transactions do not interfere with
each other.
• Durable: Once a transaction commits, the changes are
permanent.
Transaction Processing Systems (3)

A nested transaction.
Transaction Processing Systems (4)

Figure 1-10. The role of a TP monitor in


distributed systems.
Distributed Pervasive Systems
Requirements for pervasive systems

• Embrace contextual changes.


• Encourage ad hoc composition.
• Recognize sharing as the default.
Electronic Health Care Systems (1)
Questions to be addressed for health care systems:
• Where and how should monitored data be stored?
• How can we prevent loss of crucial data?
• What infrastructure is needed to generate and propagate
alerts?
• How can physicians provide online feedback?
• How can extreme robustness of the monitoring system
be realized?
• What are the security issues and how can the proper
policies be enforced?
Electronic Health Care Systems (2)

Monitoring a person in a pervasive electronic health care system, Using:


(a) local hub or
(b) continuous wireless connection.
Wireless Sensor Networks (1)
Questions concerning sensor networks:
• How do we (dynamically) set up an efficient tree in
a sensor network?
• How does aggregation of results take place? Can it
be controlled?
• What happens when network links fail?
Wireless Sensor Networks (2)

Organizing a sensor network database, while storing and


processing data (a) only at the operator’s site or …
Wireless Sensor Networks (3)

Organizing a sensor network database, while storing and


processing data … or (b) only at the sensors.
Group of cooperative robots

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy