3. Types of Distributed Systems
• Distributed Computing Systems
– Clusters
– Grids
– Clouds
• Distributed Information Systems
– Transaction Processing Systems
– Enterprise Application Integration
• Distributed Embedded Systems
– Home systems
– Health care systems
– Sensor networks
4. Cluster Computing
• A collection of similar processors (PCs,
workstations) running the same operating
system, connected by a high-speed LAN.
• Parallel computing capabilities using
inexpensive PC hardware
• Replace big parallel computers (MPPs)
5. Cluster Types & Uses
• High Performance Clusters (HPC)
– run large parallel programs
– Scientific, military, engineering apps; e.g., weather
modeling
• Load Balancing Clusters
– Front end processor distributes incoming requests
– server farms (e.g., at banks or popular web site)
• High Availability Clusters (HA)
– Provide redundancy – back up systems
– May be more fault tolerant than large mainframes
6. Clusters – Beowulf model
• Linux-based
• Master-slave paradigm
– One processor is the master; allocates tasks to
other processors, maintains batch queue of
submitted jobs, handles interface to users
– Master has libraries to handle message-based
communication or other features (the
middleware).
7. Cluster Computing Systems
• Figure 1-6. An example of a cluster
computing system.
Figure 1-6. An example of a (Beowolf) cluster
computing system
8. Clusters – MOSIX model
• Provides a symmetric, rather than
hierarchical paradigm
– High degree of distribution transparency (single
system image)
– Processes can migrate between nodes
dynamically and preemptively (more about this
later.) Migration is automatic
• Used to manage Linux clusters
9. More About MOSIX
“
The MOSIX Management System for Linux Clusters, Multi-clusters, GP
U Clusters and Clouds”, A. Barak and A. Shiloh”
• “Operating-system-like”; looks & feels like
a single computer with multiple processors
• Supports interactive and batch processes
• Provides resource discovery and workload
distribution among clusters
• Clusters can be partitioned for use by an
individual or a group
• Best for compute-intensive jobs
10. Grid Computing Systems
• Modeled loosely on the electrical grid.
• Highly heterogeneous with respect to
hardware, software, networks, security
policies, etc.
• Grids support virtual organizations: a
collaboration of users who pool resources
(servers, storage, databases) and share them
• Grid software is concerned with managing
sharing across administrative domains.
11. Grids
• Similar to clusters but processors are more loosely
coupled, tend to be heterogeneous, and are not all
in a central location.
• Can handle workloads similar to those on
supercomputers, but grid computers connect over a
network (Internet?) and supercomputers’ CPUs
connect to a high-speed internal bus/network
• Problems are broken up into parts and distributed
across multiple computers in the grid – less
communication betw parts than in clusters.
12. A Proposed Architecture for Grid Systems*
• Fabric layer: interfaces to local
resources at a specific site
• Connectivity layer: protocols to
support usage of multiple resources
for a single application; e.g., access
a remote resource or transfer data
between resources; and protocols to
provide security
• Resource layer manages a single
resource, using functions supplied
by the connectivity layer
• Collective layer: resource
discovery, allocation, scheduling,
etc.
• Applications: use the grid
resources
• The collective, connectivity and
resource layers together form the
middleware layer for a grid
Figure 1-7. A layered architecture
for grid computing systems
13. OGSA – Another Grid Architecture*
• Open Grid Services Architecture (OGSA) is
a service-oriented architecture
– Sites that offer resources to share do so by
offering specific Web services.
• The architecture of the OGSA model is
more complex than the previous layered
model.
14. Globus Toolkit*
• An example of grid middleware
• Supports the combination of heterogeneous
platforms into virtual organizations.
• Implements the OSGA standards, among
others.
15. Cloud Computing
• Provides scalable services as a utility over
the Internet.
• Often built on a computer grid
• Users buy services from the cloud
– Grid users may develop and run their own
software
• Cluster/grid/cloud distinctions blur at the
edges!
16. Types of Distributed Systems
• Distributed Computing Systems
– Clusters
– Grids
– Clouds
• Distributed Information Systems
• Distributed Embedded Systems
17. Distributed Information Systems
• Business-oriented
• Systems to make a number of separate
network applications interoperable and
build “enterprise-wide information
systems”.
• Two types discussed here:
– Transaction processing systems
– Enterprise application integration (EAI)
18. Transaction Processing Systems
• Provide a highly structured client-server
approach for database applications
• Transactions are the communication model
• Obey the ACID properties:
– Atomic: all or nothing
– Consistent: invariants are preserved
– Isolated (serializable)
– Durable: committed operations can’t be undone
19. Transaction Processing Systems
• Figure 1-8. Example primitives for
transactions.
Figure 1-8. Example primitives for transactions
20. Transactions
• Transaction processing may be centralized
(traditional client/server system) or
distributed.
• A distributed database is one in which the
data storage is distributed – connected to
separate processors.
21. Nested Transactions
• A nested transaction is a transaction within
another transaction (a sub-transaction)
– Example: a transaction may ask for two things
(e.g., airline reservation info + hotel info)
which would spawn two nested transactions
• Primary transaction waits for the results.
– While children are active parent may only
abort, commit, or spawn other children
23. Implementing Transactions
• Conceptually, private copy of all data
• Actually, usually based on logs
• Multiple sub-transactions – commit, abort
– Durability is a characteristic of top-level
transactions only
• Nested transactions are suitable for
distributed systems
– Transaction processing monitor may interface
between client and multiple data bases.
24. Enterprise Application Integration
• Less structured than transaction-based systems
• EA components communicate directly
– Enterprise applications are things like HR data,
inventory programs, …
– May use different OSs, different DBs but need to
interoperate sometimes.
• Communication mechanisms to support this
include CORBA, Remote Procedure Call (RPC)
and Remote Method Invocation (RMI)
26. Distributed Pervasive Systems
• The first two types of systems are characterized by
their stability: nodes and network connections are
more or less fixed
• This type of system is likely to incorporate small,
battery-powered, mobile devices
– Home systems
– Electronic health care systems – patient monitoring
– Sensor networks – data collection, surveillance
27. Home System
• Built around one or more PCs, but can also
include other electronic devices:
– Automatic control of lighting, sprinkler
systems, alarm systems, etc.
– Network enabled appliances
– PDAs and smart phones, etc.
28. Electronic Health Care Systems
Figure 1-12. Monitoring a person in a pervasive electronic health care
system, using (a) a local hub or (b) a continuous wireless connection.
29. Sensor Networks
• A collection of geographically distributed nodes
consisting of a comm. device, a power source,
some kind of sensor, a small processor…
• Purpose: to collectively monitor sensory data
(temperature, sound, moisture etc.,) and
transmit the data to a base station
• “smart environment” – the nodes may do some
rudimentary processing of the data in addition
to their communication responsibilities.
30. Sensor Networks
Figure 1-13. Organizing a sensor network database, while storing and
processing data (a) only at the operator’s site or …
31. Sensor Networks
Figure 1-13. Organizing a sensor network database, while storing and
processing data … or (b) only at the sensors.
32. Summary – Types of Systems
• Distributed computing systems – our main
emphasis
• Distributed information systems – we will
talk about some aspects of them
• Distributed pervasive systems – not so
much
****
35. Historical Perspective - MPPs
• Compare clusters to the Massively Parallel
Processors of the 1990’s
• Many separate nodes, each with its own
private memory –hundreds or thousands of
nodes (e.g., Cray T3E, nCube)
– Manufactured as a single computer with a
proprietary OS, very fast communication
network.
– Designed to run large, compute-intensive
parallel applications
– Expensive, long time-to-market cycle
36. Historical Perspective - NOWs
• Networks of Workstations
• Designed to harvest idle workstation cycles
to support compute-intensive applications.
• Advocates contended that if done properly,
you could get the power of an MPP at
minimal additional cost.
• Supported general-purpose processing and
parallel applications
37. Other Grid Resources
• The Globus Alliance: “a community of organizations
and individuals developing fundamental technologies
behind the "Grid," which lets people share computing
power, databases, instruments, and other on-line tools
securely across corporate, institutional, and geographic
boundaries without sacrificing local autonomy”
• Grid Computing Info Center: “aims to promote the
development and advancement of technologies that
provide seamless and scalable access to wide-area
distributed resources”