Nothing Special   »   [go: up one dir, main page]

DCS Intro

Download as pdf or txt
Download as pdf or txt
You are on page 1of 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