DISTRIBUTED SYSTEMS
Principles and Paradigms
Chapter 1
Introduction
1
Lecturer: Assis.Pro Iqbal Ali Sultani Email: iqbal@kpu.edu.af
Definition of a Distributed System
A distributed system is:
A collection of independent computers that appears to
its users as a single coherent system.
2
Definition of a Distributed System
A distributed system organized as middleware. The middleware layer
extends over multiple machines, and offers each application the
same interface.
3
Goals of Distributed Systems
•Making Resources Available
•Distribution Transparency
•Openness
•Scalability
4
Making Resources Accessible
The main goal of a distributed system is to make it easy for the
users and applications to access remote resources. And to
share them in a controlled and efficient way.
Resources examples:
◦ Printers
◦ Computers
◦ Storages
◦ Data and files
◦ Web pages
◦ Networks
5
Scalability
Observation
-Many developers of modern distributed system easily use the adjective “scalable”
without making clear why their system actually scales.
Scalability
- At least three components:
◦ Number of users and / or processes(size scalability)
◦ Maximum distance between nodes(geographical scalability)
◦ Number of administrative domains(administrative scalability)
Observation
-Most system account only, to a certain extent, for size scalability. The (non) solution:
powerful servers. Today, the challenge lies in geographical and administrative
scalability.
6
Transparency in a Distributed System
Different forms of transparency in a distributed system (ISO, 1995).
7
Degree of Transparency
Observation
Aiming at full distribution transparency may be too much
-Users may be located in different continents
- Completely hiding failures networks and nodes is(Theoretically and
practically) impossible
• You cannot distinguish a slow computer from a failing one
• You can never be sure that a server actually performed a operation before a
crash
• Full transparency will cost performance, exposing distribution of the
system
• Keeping web caches exactly up-to-date with the master
• Immediately flushing write operation to disk for fault tolerance
8
Scalability Problems
Examples of scalability limitations.
9
Scalability Problems
Characteristics of decentralized algorithms:
• No machine has complete information about the system state.
• Machines make decisions based only on local information.
• Failure of one machine does not ruin the algorithm.
• There is no implicit assumption that a global clock exists.
10
Techniques for Scaling
Hide communication latencies
◦ Avoid waiting for responses; do something else:
◦ Make use of asynchronous communication
◦ Have separate handler for incoming response
◦ Problem: note every application fits this model
Distribution
-Partition data and computations across multiple machines
◦ Move computations to clients(Java applets and JavaScript)
◦ Decentralized naming services(DNS)
◦ Decentralized information system(www)
11
Scaling Techniques
The difference between letting (a) a server or (b) a
client check forms as they are being filled.
12
Scaling Techniques
An example of dividing the DNS
name space into zones.
13
Techniques For Scaling
Replication/caching
-Make copies of data available at different
machines:
•Replicated files servers and databases
•Mirrored web sites
•Web caches(in browsers and proxies)
•File caching (at server and client)
14
Openness of Distributed Systems
Open distributed system
-Be able to interact with services from other open systems ,irrespective of the underlying
environment
◦ Systems should conform to well-defined interfaces
◦ Systems should support portability of applications
◦ Systems should easily interoperate
Achieving
-At least make the distributed system independent from heterogeneity of the underlying
environment
◦ Hardware
◦ Platforms
◦ Languages
15
Pitfalls when Developing Distributed Systems
False assumptions made by first time developer:
•The network is reliable.
•The network is secure.
•The network is homogeneous.
•The topology does not change.
•Latency is zero.
•Bandwidth is infinite.
•Transport cost is zero.
•There is one administrator.
16
Types of Distributed Systems
•Distributed Computing Systems
•Distributed Information Systems
•Distributed Pervasive Systems
17
Distributed Computing Systems
Observation
-Many distributed systems are configured for
high- performance computing
Cluster computing
•Essentially a group of high-end systems connected
through a LAN:
•Homogeneous : same OS , near-identical hardware
•Single managing node
18
Cluster Computing Systems
An example of a cluster computing system.
19
Distributed Computing Systems
Grid Computing
◦ The next step: lots of nodes from everywhere:
◦ Heterogeneous
◦ Dispersed across several organizations
◦ Can easily span a wide- area network
Node
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.
20
Grid Computing Systems
A layered architecture for grid computing systems.
21
Distributed Information systems:
Transaction Processing Systems
Characteristic properties of transactions: ACID
•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.
22
Transaction Processing Systems
A nested transaction.
23
Transaction Processing Systems
The role of a TP monitor in distributed systems.
24
Enterprise Application Integration
A TP monitor does not separate apps from their databases. Also needed are facilities for direct
communication between apps
• Remote Procedure call(RPC)
• Remote method invocation(RMI)
• massage-oriented Middleware(MOM)
Middleware as a communication facilitator in enterprise application integration.
25
Distributed Pervasive Systems
Emerging next generation of distributed systems in which nodes are small,
mobile, and often embedded in a larger system. Requirements for pervasive
systems
Embrace contextual changes: the system is of an environment in which
changes should be immediately accounted for
•Encourage ad hoc composition: each node may be used in a very different
ways by different users. Required ease of configuration
•Recognize sharing as the default: nodes come and go , providing sharable
services and information. Calls again for simplicity
26
Distributed Pervasive Systems
•Home Systems
•e.g. computer, TV, Smartphone, PDA
•Should be self configuring and self managing
•Electronic Health Systems
•Sensor Networks
27
Electronic Health Care Systems
Monitoring a person in a pervasive electronic health care system, using (a) a local hub or
(b) a continuous wireless connection.
28
Sensor Networks
Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …
29
30

DS ( distributions Systems )chap-01.ppt

  • 1.
    DISTRIBUTED SYSTEMS Principles andParadigms Chapter 1 Introduction 1 Lecturer: Assis.Pro Iqbal Ali Sultani Email: iqbal@kpu.edu.af
  • 2.
    Definition of aDistributed System A distributed system is: A collection of independent computers that appears to its users as a single coherent system. 2
  • 3.
    Definition of aDistributed System A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface. 3
  • 4.
    Goals of DistributedSystems •Making Resources Available •Distribution Transparency •Openness •Scalability 4
  • 5.
    Making Resources Accessible Themain goal of a distributed system is to make it easy for the users and applications to access remote resources. And to share them in a controlled and efficient way. Resources examples: ◦ Printers ◦ Computers ◦ Storages ◦ Data and files ◦ Web pages ◦ Networks 5
  • 6.
    Scalability Observation -Many developers ofmodern distributed system easily use the adjective “scalable” without making clear why their system actually scales. Scalability - At least three components: ◦ Number of users and / or processes(size scalability) ◦ Maximum distance between nodes(geographical scalability) ◦ Number of administrative domains(administrative scalability) Observation -Most system account only, to a certain extent, for size scalability. The (non) solution: powerful servers. Today, the challenge lies in geographical and administrative scalability. 6
  • 7.
    Transparency in aDistributed System Different forms of transparency in a distributed system (ISO, 1995). 7
  • 8.
    Degree of Transparency Observation Aimingat full distribution transparency may be too much -Users may be located in different continents - Completely hiding failures networks and nodes is(Theoretically and practically) impossible • You cannot distinguish a slow computer from a failing one • You can never be sure that a server actually performed a operation before a crash • Full transparency will cost performance, exposing distribution of the system • Keeping web caches exactly up-to-date with the master • Immediately flushing write operation to disk for fault tolerance 8
  • 9.
    Scalability Problems Examples ofscalability limitations. 9
  • 10.
    Scalability Problems Characteristics ofdecentralized algorithms: • No machine has complete information about the system state. • Machines make decisions based only on local information. • Failure of one machine does not ruin the algorithm. • There is no implicit assumption that a global clock exists. 10
  • 11.
    Techniques for Scaling Hidecommunication latencies ◦ Avoid waiting for responses; do something else: ◦ Make use of asynchronous communication ◦ Have separate handler for incoming response ◦ Problem: note every application fits this model Distribution -Partition data and computations across multiple machines ◦ Move computations to clients(Java applets and JavaScript) ◦ Decentralized naming services(DNS) ◦ Decentralized information system(www) 11
  • 12.
    Scaling Techniques The differencebetween letting (a) a server or (b) a client check forms as they are being filled. 12
  • 13.
    Scaling Techniques An exampleof dividing the DNS name space into zones. 13
  • 14.
    Techniques For Scaling Replication/caching -Makecopies of data available at different machines: •Replicated files servers and databases •Mirrored web sites •Web caches(in browsers and proxies) •File caching (at server and client) 14
  • 15.
    Openness of DistributedSystems Open distributed system -Be able to interact with services from other open systems ,irrespective of the underlying environment ◦ Systems should conform to well-defined interfaces ◦ Systems should support portability of applications ◦ Systems should easily interoperate Achieving -At least make the distributed system independent from heterogeneity of the underlying environment ◦ Hardware ◦ Platforms ◦ Languages 15
  • 16.
    Pitfalls when DevelopingDistributed Systems False assumptions made by first time developer: •The network is reliable. •The network is secure. •The network is homogeneous. •The topology does not change. •Latency is zero. •Bandwidth is infinite. •Transport cost is zero. •There is one administrator. 16
  • 17.
    Types of DistributedSystems •Distributed Computing Systems •Distributed Information Systems •Distributed Pervasive Systems 17
  • 18.
    Distributed Computing Systems Observation -Manydistributed systems are configured for high- performance computing Cluster computing •Essentially a group of high-end systems connected through a LAN: •Homogeneous : same OS , near-identical hardware •Single managing node 18
  • 19.
    Cluster Computing Systems Anexample of a cluster computing system. 19
  • 20.
    Distributed Computing Systems GridComputing ◦ The next step: lots of nodes from everywhere: ◦ Heterogeneous ◦ Dispersed across several organizations ◦ Can easily span a wide- area network Node 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. 20
  • 21.
    Grid Computing Systems Alayered architecture for grid computing systems. 21
  • 22.
    Distributed Information systems: TransactionProcessing Systems Characteristic properties of transactions: ACID •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. 22
  • 23.
    Transaction Processing Systems Anested transaction. 23
  • 24.
    Transaction Processing Systems Therole of a TP monitor in distributed systems. 24
  • 25.
    Enterprise Application Integration ATP monitor does not separate apps from their databases. Also needed are facilities for direct communication between apps • Remote Procedure call(RPC) • Remote method invocation(RMI) • massage-oriented Middleware(MOM) Middleware as a communication facilitator in enterprise application integration. 25
  • 26.
    Distributed Pervasive Systems Emergingnext generation of distributed systems in which nodes are small, mobile, and often embedded in a larger system. Requirements for pervasive systems Embrace contextual changes: the system is of an environment in which changes should be immediately accounted for •Encourage ad hoc composition: each node may be used in a very different ways by different users. Required ease of configuration •Recognize sharing as the default: nodes come and go , providing sharable services and information. Calls again for simplicity 26
  • 27.
    Distributed Pervasive Systems •HomeSystems •e.g. computer, TV, Smartphone, PDA •Should be self configuring and self managing •Electronic Health Systems •Sensor Networks 27
  • 28.
    Electronic Health CareSystems Monitoring a person in a pervasive electronic health care system, using (a) a local hub or (b) a continuous wireless connection. 28
  • 29.
    Sensor Networks Organizing asensor network database, while storing and processing data (a) only at the operator’s site or … 29
  • 30.