Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
4 views47 pages

Lecture 2 - Distributed Systems

The document provides an overview of distributed systems, defining them as collections of independent computers that function as a single coherent system. It outlines the goals of distributed systems, including resource accessibility, distribution transparency, openness, and scalability, while also discussing various types such as cluster, grid, and cloud computing. Additionally, it highlights the role of middleware in facilitating communication and interoperability among different systems.
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)
4 views47 pages

Lecture 2 - Distributed Systems

The document provides an overview of distributed systems, defining them as collections of independent computers that function as a single coherent system. It outlines the goals of distributed systems, including resource accessibility, distribution transparency, openness, and scalability, while also discussing various types such as cluster, grid, and cloud computing. Additionally, it highlights the role of middleware in facilitating communication and interoperability among different systems.
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/ 47

Distributed Systems

Lecture 2
Outline

• Definition of a Distributed System


• Goals of a Distributed System
• Types of Distributed Systems
Outline

• Goals of a Distributed System


• Types of Distributed Systems
What Is A Distributed System?
• A collection of independent computers that appears to its
users as a single coherent system.
• Features:
• No shared memory – message-based communication
• Each runs its own local OS
• Heterogeneity
• Ideal: to present a single-system image:
• The distributed system “looks like” a single computer rather
than a collection of separate computers.
Distributed System Characteristics
• To present a single-system image:
• Hide internal organization, communication details Provide
uniform interface
• Easily expandable
• Adding new computers is hidden from users
• Continuous availability
• Failures in one component can be covered by other
components
• Supported by middleware
Definition of a Distributed
System

Figure 1-1. A distributed system organized as middleware. The middleware


layer runs on all machines, and offers a uniform interface to the system
Role of Middleware (MW)

• In some early research systems: MW tried to provide the


illusion that a collection of separate machines was a single
computer.
• E.g. NOW project: GLUNIX middleware

• Today:
• clustering software allows independent computers to work
together closely
• MW also supports seamless access to remote services, doesn’t
try to look like a general-purpose OS
Middleware Examples Web base communication

• CORBA (Common Object Request Broker Architecture)


• DCOM (Distributed Component Object Management) – being
replaced by .net
• Sun’s ONC RPC (Remote Procedure Call)
• RMI (Remote Method Invocation)
• SOAP (Simple Object Access Protocol)
Middleware Examples
• All of the previous examples support communication across a
network:
• They provide protocols that allow a program running on one kind
of computer, using one kind of operating system, to call a program
running on another computer with a different operating system

• The communicating programs must be running the same


middleware.
Distributed System Goals

• Resource Accessibility
• Distribution Transparency
• Openness
• Scalability
Goal 1 – Resource Availability

• Support user access to remote resources (printers, data


files, web pages, CPU cycles) and the fair sharing of
the resources
• Economics of sharing expensive resources
• Performance enhancement – due to multiple
processors; also due to ease of collaboration and info
exchange – access to remote services
• Groupware: tools to support collaboration
• Resource sharing introduces security problems.
Goal 2 – Distribution Transparency

• Software hides some of the details of the distribution of


system resources.
• Makes the system more user friendly.
• A distributed system that appears to its users &
applications to be a single computer system is said to
be transparent.
• Users & apps should be able to access remote resources in the same way they access
local resources.
• Transparency has several dimensions.
Types of Transparency
Transparency Description
Access Hide differences in data representation &
resource access (enables interoperability)
Location Hide location of resource (can use resource
without knowing its location)
Migration Hide possibility that a system may change
location of resource (no effect on access)
Replication Hide the possibility that multiple copies of the
resource exist (for reliability and/or availability)
Concurrency Hide the possibility that the resource may be
shared concurrently (parallely)
Failure Hide failure and recovery of the resource. How
does one differentiate betw. slow and failed?
Relocation Hide that resource may be moved during use

Figure 1-2. Different forms of transparency in a distributed system (ISO, 1995)


Goal 3 - Openness
• An open distributed system “…offers services according to
standard rules that describe the syntax and semantics of
those services.” In other words, the interfaces to the system
are clearly specified and freely available.
• Compare to network protocols
• Not proprietary
• Interface Definition/Description Languages (IDL): used to
describe the interfaces between software components,
usually in a distributed system
• Definitions are language & machine independent
• Support communication between systems using different OS/programming
languages; e.g. a C++ program running on Windows communicates with a
Java program running on UNIX
• Communication is usually RPC-based.
Examples of IDLs
Goal 3-Openness
• IDL: Interface Description Language
• The original
• WSDL: Web Services Description Language
• Provides machine-readable descriptions of the services
• OMG IDL: used for RPC in CORBA
• OMG – Object Management Group
• …
Goal 4 - Scalability
• Dimensions that may scale:
• With respect to size
• With respect to geographical distribution
• With respect to the number of administrative organizations
spanned
• A scalable system still performs well as it scales up along any of
the three dimensions.
Summary
Goals foraccessibility
• Resource Distribution
• For sharing and enhanced performance
• Distribution transparency
• For easier use
• Openness
• To support interoperability, portability, extensibility
• Scalability
• With respect to size (number of users), geographic
distribution, administrative domains
Issues/Pitfalls of Distribution

• Requirement for advanced software to realize the potential


benefits.
• Security and privacy concerns regarding network communication
• Replication of data and services provides fault tolerance and
availability, but at a cost.
• Network reliability, security, heterogeneity, topology
Example Distributed System

• Distributed systems run distributed applications, from file sharing to large scale
projects like SETI (Search for Extraterrestrial Intelligence)

• http://setiathome.ssl.berkeley.edu/
Types of Distributed Systems

• Distributed Computing Systems


• Clusters
• Grids
• Clouds
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)
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
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).
Cluster Computing Systems
Figure 1-6. An example of a cluster computing system.

Figure 1-6. An example of a (Beowolf) cluster


computing system
Cluster Computing
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.
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 between parts than in
clusters.
Grid Computing
Cloud Computing

Cloud computing is the delivery of computing services over the internet.


Difference b/w Cloud, Grid and Cluster
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)
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: ommitted operations
can’t be undone
Transaction Processing Systems

Figure 1-8. Example primitives for transactions.

Figure 1-8. Example primitives for transactions


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.
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
Transaction Processing Systems

Figure 1-9. A nested transaction.


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.
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)
Enterprise Application Integration

Figure 1-11. Middleware as a communication facilitator in


enterprise application integration.
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
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.
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.
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.
Sensor Networks

Figure 1-13. Organizing a sensor network database, while storing


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

Figure 1-13. Organizing a sensor network database, while storing


and processing data … or (b) only at the sensors.
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
****
Thank You

You might also like