introduction to distributed systems n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Introduction to Distributed Systems PowerPoint Presentation
Download Presentation
Introduction to Distributed Systems

Loading in 2 Seconds...

play fullscreen
1 / 74

Introduction to Distributed Systems - PowerPoint PPT Presentation


  • 107 Views
  • Uploaded on

Introduction to Distributed Systems. Chapter two Architectures . Introduction . Distributed systems are often complex pieces of software of which the components are by definition dispersed across multiple machines .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Introduction to Distributed Systems' - faris


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
introduction to distributed systems

Introduction to Distributed Systems

Compiled by: Miraf Belyu

Chapter two

Architectures

introduction
Introduction
  • Distributed systems are often complex pieces of software of which the components are by definition dispersed across multiple machines.
  • Organization of distributed systems is mostly about the software components that constitute the system.

Compiled by: Miraf Belyu

introduction cont
Introduction cont…
  • Organization
      • Logical organization
      • Physical organization

Compiled by: Miraf Belyu

introduction cont1
Introduction cont…
  • Software architecture
    • how the various software components are to be organized and how they should interact.
  • system architecture
    • instantiate and place software components on real machines.

Compiled by: Miraf Belyu

introduction cont2
Introduction cont…
  • Centralized architecture
      • Single server implements software components
      • Remote clients access the server with any communication means

Compiled by: Miraf Belyu

sample centralized architecture
Sample centralized architecture

Compiled by: Miraf Belyu

centralized architecture cont
Centralized architecture cont…
  • Drawback
    • Not easily scalable
    • Limitation in the number of CPUs.
    • Entire system needs to be upgraded or replaced

Compiled by: Miraf Belyu

introduction cont3
Introduction cont…
  • Decentralized architecture
    • Two or more machines
    • Plays more or less equal role

Compiled by: Miraf Belyu

architectural styles
Architectural styles
  • Formulated in terms of components
  • The way that components are connected to each other
  • The data exchanged between components
  • How these elements are jointly configured into a system

Compiled by: Miraf Belyu

architectural styles cont
Architectural styles cont…
  • Layered architecture
  • Object – based architecture
  • Data – centered architecture
  • Event – based architecture

Compiled by: Miraf Belyu

layered architecture
Layered architecture
  • Components are organized in a layered fashion
  • Component at layer L; is allowed to call components at the underlying layer Li
  • But not vise versa

Compiled by: Miraf Belyu

layered architecture cont
Layered architecture cont…

Compiled by: Miraf Belyu

layered architecture cont1
Layered architecture cont…
  • Key observation is that control generally flows from layer to layer
  • Requests go down the hierarchy whereas the results flow upward

Compiled by: Miraf Belyu

object based architecture
Object – based architecture
  • Each object corresponds to what is called a component
  • Components are connected through a (remote) procedure call mechanism
  • Matchesthe client-server system architecture.

Compiled by: Miraf Belyu

sample object based arch
Sample object – based arch

Compiled by: Miraf Belyu

data centric architecture
Data – centric architecture
  • Processes communicate through a common repository.
  • Processes communicate through shared data

Compiled by: Miraf Belyu

data centric architecture cont
Data – centric architecture cont…
  • Shared distributed file system in which virtually all communication takes place through files
  • Web-based distributed systems, are largely data-centric

Compiled by: Miraf Belyu

event based architectures
Event – based architectures
  • Processes essentially communicate through the propagation of events, which optionally also carry data.
  • Associated with what are known as publish/subscribe systems.

Compiled by: Miraf Belyu

event based architectures cont
Event – based architectures cont…
  • Processes publish events after middleware ensures that only those processes that subscribed to those events will receive them
  • Advantage :
    • Processes are Decoupled in space, or referentially decoupled.

Compiled by: Miraf Belyu

advantage cont
Advantage cont…
  • Referentially decoupled implies processes need not explicitly refer to each other

Compiled by: Miraf Belyu

system architectures

System architectures

Compiled by: Miraf Belyu

what is system architecture

What is System Architecture?

Compiled by: Miraf Belyu

system architecture
System Architecture
  • Centralized
  • Decentralized
  • Hybrid

Compiled by: Miraf Belyu

centralized architecture
Centralized Architecture
  • Basic client-servermodel
  • A server is a process (machine) implementing a specific service

for example, a file system service or a database service.

Compiled by: Miraf Belyu

centralized architecture cont1
Centralized Architecture cont…
  • A client is a process that requests a service from a server by sending it a request and subsequently waiting for the server's reply.
  • client-server interaction is also known as request-reply.

Compiled by: Miraf Belyu

centralized architecture cont2
Centralized Architecture cont…

Compiled by: Miraf Belyu

centralized architecture cont3
Centralized Architecture cont…
  • The communication can be either of the following:
    • Connection less protocol
    • Connection - oriented protocol

Compiled by: Miraf Belyu

centralized architecture cont4
Centralized Architecture cont…

Connectionless protocol

  • If the underlying network is fairly reliable as in many local-area networks

Compiled by: Miraf Belyu

how connectionless protocol works
How Connectionless protocol works
  • How client requests a service:
    • Packagesa message for the server
    • Identifyingthe service it wants
    • Include necessary input data
    • The message is then sent to the server.

Compiled by: Miraf Belyu

slide30
Cont…
  • How servers works:
    • Always wait for an incoming request
    • Subsequently process requests
    • Package the results in a reply message
    • Send replies to the client

Compiled by: Miraf Belyu

centralized architecture cont5
Centralized Architecture cont…

Connection - oriented protocol

  • Is not entirely appropriate in a local-area network due to relatively low performance
  • Works perfectly fine in wide-area systems in which communication is inherently unreliable

Compiled by: Miraf Belyu

slide32
Cont…

For example,

  • All Internet application protocols are based on reliable TCP/IP connections.

Compiled by: Miraf Belyu

how connection oriented protocol works
How connection – oriented protocol works
  • When client requests a service:
    • Sets up a connection to the server before sending the request
    • Servergenerally uses that same connection to send the reply message

Compiled by: Miraf Belyu

cons of connection oriented protocol
Cons of connection – oriented protocol
  • Setting up and tearing down a connection is relatively costly, especially when the request and reply messages are small.

Compiled by: Miraf Belyu

centralized architecture cont6
Centralized Architecture cont…

Application Layering

  • The user-interface level
    • A part that handles interaction with a user
  • The processing level
    • A part that operates on a database or file system
  • The data level
    • A middle part that generally contains the core functionality of an application

Compiled by: Miraf Belyu

cont search engine example
Cont.… Search Engine Example

Compiled by: Miraf Belyu

decentralized architecture
Decentralized Architecture
  • Vertical distribution
    • Is achieved by placing different components on different machines
    • functions are logically and physically split across multiple machines
    • each machine is tailored to a specific group of functions

Compiled by: Miraf Belyu

decentralized architecture1
Decentralized Architecture
  • Horizontal distribution
    • Clientor server may be physically split up into logically equivalent parts, but
    • Each part is operating on its own share of the complete data set
    • Balance the load

Compiled by: Miraf Belyu

structured peer to peer arch
Structured peer – to – peer Arch
  • Network is constructed using a deterministic procedure like Distributed Hash Table (DHT)

Compiled by: Miraf Belyu

structured peer to peer cont
Structured peer to peer cont …

Distributed Hash Table (DHT)

  • Data items are assigned a random key (128-bit or 160-bit identifier)
  • Nodesassigned a random number from the same identifier space
  • DHT Maps the key of a data item to the identifier of a node based on some distance metric

Compiled by: Miraf Belyu

unstructured peer to peer arch
Unstructured peer –to – peer Arch
  • Rely on randomized algorithms for constructing an overlay network
  • Each node maintains a list of neighbors
  • Data items are randomly placed on nodes

Compiled by: Miraf Belyu

slide42
Cont..
  • When a node needs to locate a specific data item, it floods the network with a search query.
  • Alternative way:
    • Super-peers

Compiled by: Miraf Belyu

s uper peers
Super - peers
  • Make use of special nodes that maintain an index of data items

Compiled by: Miraf Belyu

super peer cont
Super – peer cont
  • Problem
    • select the nodes that are eligible to become super peer
    • Leader-election problem

Compiled by: Miraf Belyu

hybrid architecture

Hybrid Architecture

Compiled by: Miraf Belyu

hybrid architecture1
Hybrid Architecture
  • Client-serversolutions are combined with decentralized architectures
    • Edge-Server Systems
    • Collaborative Distributed Systems

Compiled by: Miraf Belyu

edge server systems
Edge – Server Systems
  • Deployed on the Internet
  • Servers are placed "at the edge" of the network
  • Boundary between enterprise networks and the actual Internet

Compiled by: Miraf Belyu

edge server systems1
Edge – Server Systems

Compiled by: Miraf Belyu

collaborative distributed systems
Collaborative Distributed Systems
  • Once a node has joined the system, it can use a fully decentralized scheme for collaboration.
  • BitTorrent

Compiled by: Miraf Belyu

bittorrent implementation
BitTorrent implementation

Compiled by: Miraf Belyu

system models

System Models

Compiled by: Miraf Belyu

system models1
System Models
  • Provide an abstract, simplified but consistent description of a relevant aspect of distributed system design.

Compiled by: Miraf Belyu

system models cont
System models cont…
  • Physical models
  • Architectural models
  • Fundamental models

Compiled by: Miraf Belyu

physical models
Physical models
  • Hardwarecomposition of a system in terms of:
      • Computers
      • Mobiles
      • And their interconnecting network

Compiled by: Miraf Belyu

physical models cont
Physical models cont…

Three generations of distributed systems:

  • Early Distributed Systems
  • Internet – Scale Distributed Systems
  • Contemporary Distributed Systems

Compiled by: Miraf Belyu

generation of distributed sys
Generation of Distributed Sys.

Early Distributed Systems

  • late 1970s and early 1980s in response to the emergence of local area networking technology, usually Ethernet
  • 10 to 100 nodes interconnected by a LAN
  • Small rage of services like:
      • Local printer sharing and file servers

Compiled by: Miraf Belyu

early distributed systems cont
Early Distributed Systems cont…
  • Homogenous individual systems
  • Openness not implemented largely
  • QoS didn’t met
  • Nodes are typically Desktop PCs:
    • Static
    • Autonomous
    • Discrete

Compiled by: Miraf Belyu

generation cont
Generation cont…

Internet – scale distributed systems

  • 1990s in response to growth of the Internet
  • Large number of nodes
  • Nodes interconnected by network of networks (Internet)

Compiled by: Miraf Belyu

internet scale distributed systems cont
Internet – Scale Distributed Systems cont…
  • Highly heterogeneous:
      • Network, PC architecture, OS, implementation language and etc.
  • Nodes are typically Desktop PCs:
    • Static
    • Autonomous
    • Discrete
  • Google (1996)
      • About 16 or 17 years before

Compiled by: Miraf Belyu

generation cont1
Generation cont…

Contemporary Distributed Systems

  • Mobile computing (laptops and smartphones capabilities)
  • Ubiquitous computing (embedded computers in everyday life)
  • Cloud computing highly not autonomous

Compiled by: Miraf Belyu

fundamental models
Fundamentalmodels
  • Takes an abstract perspective in order to examine individual aspects of a distributed system
    • Interaction models
    • Failure models
    • Security models

Compiled by: Miraf Belyu

fundamental models cont
Fundamental models cont…

Interaction models

  • Consider the structure and sequencing of the communication between the elements of the system

Compiled by: Miraf Belyu

fundamental models cont1
Fundamental models cont…

Failure models

  • Consider the ways in which a system may fail to operate correctly

Compiled by: Miraf Belyu

fundamental models cont2
Fundamental models cont…

Security models

  • Consider how the system is protected against attempts to interfere with its correct operation or to steal its data

Compiled by: Miraf Belyu

architectural models
Architectural models
  • System structure in terms of separately specified components and their interrelationships

Architectural elements

    • Communicating entities
    • Communication paradigms

Compiled by: Miraf Belyu

communicating entities
Communicating entities
  • Are the entities that are communicating in the distributed system
    • Objects
    • Components
    • Web services

Compiled by: Miraf Belyu

communicating entities cont
Communicating entities cont…

Objects

  • Enable and encourage the use of object-oriented approaches in distributed systems (including both object-oriented design and OOP)

Compiled by: Miraf Belyu

communicating entities cont1
Communicating entities cont…

Components

  • Interconnected to form the system
  • Accessed through interfaces
  • Dependency between components

Compiled by: Miraf Belyu

communicating entities cont2
Communicating entities cont…

Web services

  • Closely related to objects and components
  • Are intrinsically integrated into the World Wide Web

Compiled by: Miraf Belyu

communication paradigms
Communication paradigms
  • How entities communicate in a distributed system
  • Three paradigms:
    • Inter process communication
    • Remote invocation
    • Indirect communication

Compiled by: Miraf Belyu

inter process communication
Inter process communication
  • Low-level support for communication between processes
  • Including message-passing primitives, direct access to the API offered by Internet protocols (socket programming) and support for multicast communication.

Compiled by: Miraf Belyu

remote invocation
Remote invocation
  • Based on a two-way exchange between communicating entities in a distributed system and resulting in the calling of a remote operation, procedure or method.
  • Request-reply protocol
    • Remote procedure call
    • Remote method invocation

Compiled by: Miraf Belyu

remote procedure call rpc
Remote procedure call (RPC)
  • Proceduresin processes on remote computers can be called as if they are procedures in the local address space

Compiled by: Miraf Belyu

remote method invocation rmi
Remote Method Invocation (RMI)
  • A calling object can invoke a method in a remote object
  • The underlying details are generally hidden from the user

Compiled by: Miraf Belyu