Lect 2
Lect 2
Lect 2
Distributed Systems
Types and Architectures
2
Types of Distributed Systems
High performance
distributed Distributed
computing Information
systems Systems
Distributed
Pervasive
Systems
3
High performance distributed
computing systems
• Parallel Computing
• Cluster Computing
• Grid Computing
4
Parallel computing
• High-performance distributed computing started with
parallel computing
5
Distributed shared memory systems
Observation: Example: Distributed Shared Memory (DSM)
1. Map all main-memory pages (from
Multiprocessors different processors) into one single
easier to program virtual address space.
than multicomputers, 2. If process at processor A addresses
page P located at processor B, the OS at
but have problems A traps and fetches P from B, just as it
when increasing the would if P had been located on local
disk.
number of processors
(or cores). Problem:
• Performance of DSM could never
Solution: Implement a compete with that of multiprocessors
shared-memory • Failed to meet the expectations of
model on top of a programmers.
multicomputer • Has been widely abandoned by now.
6
Cluster Computing
Essentially a group of high-end systems connected through a LAN
• Homogeneous: same OS, near-identical hardware
• Single managing node
7
Grid Computing
The next step: lots of nodes from everywhere:
• Heterogeneous
• Dispersed across several organizations
• Can easily span a wide-area network
Note
To allow for collaborations, grids generally use virtual
organizations. In essence, this is a grouping of users (or
better: their IDs) that will allow for authorization on
resource allocation.
8
Architecture for Grid Computing
Application: Contains actual grid
applications in a single organization.
9
Grid’s History
• Was a hit about 10 years ago → Past its prime
• Divided into
– Cloud computing
– Edge/Fog Computing
10
Cloud Computing
11
Clouds: Four Layers
1. Hardware: Processors, routers, power and cooling systems.
Customers normally never get to see these.
12
Distributed
Information Systems
13
Integrating applications
Situation: Organizations have many networked applications,
but achieving interoperability is painful.
Basic approach:
• A networked application is one
that runs on a server making its
services available to remote Next step
clients. Allow direct application-
• Simple integration to- application
– Clients combine requests communication, leading
for (different) applications to Enterprise Application
– Send them Integration (EAI)
– Collect responses
– Present a coherent result to the user.
14
Example EAI: (Nested) Transactions
• Issue: All or nothing
Atomic Happens indivisibly (seemingly)
Consistent Does not violate system invariants
Isolated No mutual interference
Durable Commit means changes are
permanent
Primitive Description
BEGIN TRANSACTION Mark the start of a transaction
END TRANSACTION Terminate the transaction and try to commit
ABORT TRANSACTION Kill the transaction and restore the old values
READ Read data from a file, a table, or otherwise
WRITE Write data to a file, a table, or otherwise
15
Transaction Processing Monitor
Observation
In many cases, the data involved in a transaction is distributed across
several servers. A TP Monitor is responsible for coordinating the
execution of a transaction
16
Middleware and EAI
Problem
A TP monitor doesn’t separate apps from their databases.
Also needed are facilities for direct communication
between apps.
19
Distributed Pervasive Systems
Observation
Emerging next-generation of distributed systems in which nodes are
small, mobile, and often embedded in a larger system characterized
by the fact that the system naturally blends into the user’s
environment.
20
Ubiquitous Computing Systems
Basic Characteristics:
• Distribution: Devices are networked, distributed, and accessible
in a transparent manner
Communication may
become more difficult: no
stable route, also no
guaranteed connectivity
→ disruption-tolerant
networking
Keyword: Offline support
22
Mobility patterns
Issue Successful strategy
What is the relationship • Alice’s world consists of friends
and strangers.
between information
• Alice wants to get a message to
dissemination and Bob: Hand it out to all her friends
human mobility? • Friend passes message to Bob at
first encounter
Basic idea: When you
encounter someone, Observation:
exchange of information • This strategy works because
(pocket-switched (apparently) there are relatively
networks). closed communities of friends.
23
Sensor Networks
Characteristics
The nodes to which sensors are attached are:
• Many (10s-1000s)
• Simple (small memory/compute/communication
capacity)
• Often battery-powered (or even battery-less)
24
Sensor networks as distributed databases
25
So Far
• Types of Distributed Systems
– Distributed Computing Systems
– Distributed Information Systems
– Pervasive Systems
• Architectural Styles
• System Architectures
26
Architectural Styles
Basic Idea
Organize into logically different components and distribute
those components over the various machines
29
Centralized Architectures
Basic Client-Server Model
Characteristics:
• There are processes offering services (servers)
• There are processes that use services (clients)
• Clients and servers can be on different machines
• Clients follow request/reply model with respect to using services
30
Application Layering
Traditional three-layered view
• User-interface layer contains units for an application’s
user interface
• Processing layer contains the functions of an application,
i.e. without specific data
• Data layer contains the data that a client wants to
manipulate through the application components
Observation
This layering is found in many distributed information
systems, using traditional database technology and
accompanying applications
31
Application Layering
32
Multi-Tiered Architectures
Single-tiered: dumb terminal/mainframe configuration
Two-tiered: client/single server configuration
Three-tiered: each layer on a separate machine
33
Decentralized Architectures
Observation
In the last couple of years we have been seeing a
tremendous growth in peer-to-peer systems
• Structured P2P: nodes are organized following a specific
distributed data structure
• Unstructured P2P: nodes have randomly selected
neighbors
• Hybrid P2P: some nodes are appointed special functions
in a well-organized fashion
Note
In virtually all cases, we are dealing with overlay networks:
data is routed over connections setup between the nodes
(via application level multicasting)
34
Conclusion
• Types of Distributed Systems
– Distributed Computing Systems
– Distributed Information Systems
– Pervasive Systems
• Architectural Styles
• System Architectures
35