0% found this document useful (0 votes)
9 views

DCS Intro

A distributed system is a collection of independent computers that appears as a single coherent system to users. Distributed systems are used to access distributed data and resources, enable resource sharing, and provide continuous availability and scalability. They aim to hide heterogeneity and internal workings through transparency while addressing security, performance, and management challenges through techniques like replication and load balancing.

Uploaded by

Rohan Desai
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)
9 views

DCS Intro

A distributed system is a collection of independent computers that appears as a single coherent system to users. Distributed systems are used to access distributed data and resources, enable resource sharing, and provide continuous availability and scalability. They aim to hide heterogeneity and internal workings through transparency while addressing security, performance, and management challenges through techniques like replication and load balancing.

Uploaded by

Rohan Desai
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
You are on page 1/ 28

Distributed Computing Systems

Distributed System

A distributed system is:

A collection of independent
computers that appears to its
users as a single coherent
system.
Why Distributed Systems?
• Distributed (and mobile) users
– Desire to access data/resources
• Distributed data/information
– World Wide Web
• Distributed organizations
– Multi-location & multinational corporations
• Distributed resources
– Distributed file systems, grids, web farms
• Enabling technology:
– Advances in communications and networks
Characteristics of Distributed Systems
• Hides heterogeneity and internal workings
• Easy to expand or scale
• Continuous availability
• Layered design
• Examples
– Networked workstations
– Distributed databases
– WWW
– Cloud and edge systems
– Internet of Things, Sensor networks, etc.
Distributed System Organization

1.1

A distributed system organized as middleware.


Note that the middleware layer extends over multiple machines.
Design Goals
• Make resources available to users
– Enable resource sharing in a controlled manner
• Transparency
– Hide distributed nature
• Openness
– Complies to standards with regard to syntax and
semantics
– Interoperability
• Security & privacy
• Scalability & performance
Transparency in a Distributed System
Transparency Description
Hide differences in data representation and how a
Access
resource is accessed
Location Hide where a resource is located
Migration Hide that a resource may move to another location
Hide that a resource may be moved to another
Relocation
location while in use
Replication Hide that a resource may have multiple copies
Hide that a resource may be shared by several
Concurrency
competitive users
Failure Hide the failure and recovery of a resource
Hide whether a (software) resource is in memory or
Persistence
on disk

• How much transparency is needed?


• How much can we achieve?
Openness Security & Privacy
• Openness – Follows rules that describe syntax and
semantics
– Interface definition language
– Interoperability, portability
– Mechanism-policy separation
• Security
– Access control
– Data integrity
– Data/service availability
– Copyright protection
Scalability
• Scalability with respect to size
• Scalability with respect to geographical location
• Scalability with respect to management

Concept Example

Centralized services A single server for all users

Centralized data A single on-line telephone book

Centralized algorithms Doing routing based on complete information

Scalability Problems
Characteristics of Distributed Algorithms
• Single machine does not have complete
information
• Decisions are made based on local information
• Failure of a node does not cause the algorithm to
fail
• No global clock
• Distributed algorithms are much harder than
centralized algorithms
Geographical Scalability Challenges
• Synchronous communication
– Waiting for a reply does not scale well!!
• Unreliable networks
– Broadcasting does not work
• Centralized components
– Will eventually become bottlenecks
• Multiple administrative domains
– Security mechanisms do not come for free
Scalability Techniques
• Hiding communication latencies
– Asynchronous communication
– Reduce amount of data transmitted
• Distribution
– Spreading work across system
• Caching and replication
– Make copies of data and services
• Balance load
– Avoid hot spots
Scaling Techniques

1.4

The difference between letting:


a) a server or
b) a client check forms as they are being filled
Scaling Techniques (2)

1.5

An example of dividing the DNS name space into zones.


Types of Distributed Systems
• High-Performance Computing Systems
• Cluster computing
• Grid computing
• Distributed Information Systems
• Transaction processing systems
• Enterprise application integration
• P2P systems
• Distributed Pervasive Systems
• Mobile networks
• Sensor networks
Cluster Computing
• Super computing using PCs/workstations
• Used for parallel programming
• Homogeneity among nodes
• Master allocates nodes to tasks
• Compute nodes run standard operating systems
(and may be a very thin middleware)
• Middleware consists of parallel programming
libraries
Cluster Computing Systems

An example of a cluster computing system.


Grid Computing
• Formed from heterogeneous set of machines
• May belong to different organizations
• Virtual organization
• Resource access and management
• 4-layered organization
• Fabric layer – Interfacing to local resources
• Connectivity layer – Connection handling and security
• Resource layer – Managing a single resource
• Collective layer – Simultaneous management of multiple
resources
• Application layer – Hosts applications
Grid Computing Systems

A layered architecture for grid computing systems.


Distributed Information Systems
• Lots of networked applications
• Sometimes belonging to different organizations
• Little interoperability
• Simplest integration
• Bundling operations together at client end
• Enterprise application integration
• Applications talking to each other
Transaction Processing Systems
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.
Examples

• Banking example

• Airline ticket booking example


Nested Transactions

• Transactions constructed from multiple sub-


transactions
• Example: Travel Agent
• Problem with nested transactions
• What if one of the sub-transactions fail?
• TP monitor architecture
Nested Transactions
Transaction Processing Architecture

The role of a TP monitor in distributed systems.


Enterprise Application Integration

Middleware as a communication facilitator in


enterprise application integration.
Distributed Pervasive Systems
• Ad hoc composition
• Extreme heterogeneity
• Wired network/wireless network
• High churn rate
• Resource constraints
• Contextual changes
• Possible mobility

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