advanced operating systems l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Advanced Operating Systems PowerPoint Presentation
Download Presentation
Advanced Operating Systems

Loading in 2 Seconds...

play fullscreen
1 / 55

Advanced Operating Systems - PowerPoint PPT Presentation


  • 347 Views
  • Uploaded on

Advanced Operating Systems Lecture 10: Distributed Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Covered topic Distributed Systems, Why? And how. References Chapter 1 of the text book Outline Why Distributed systems Challenges.

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 'Advanced Operating Systems' - Sophia


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
advanced operating systems

Advanced Operating Systems

Lecture 10: Distributed Systems

University of Tehran

Dept. of EE and Computer Engineering

By:

Dr. Nasser Yazdani

Distributed Operating Systems

covered topic
Covered topic
  • Distributed Systems, Why? And how.
  • References
    • Chapter 1 of the text book

Distributed Operating Systems

outline
Outline
  • Why Distributed systems
  • Challenges.
  • Communication
  • Distributed Operating systems
  • Architectural models

Distributed Operating Systems

problems
Problems?
  • Bigger Problems like weather forecast, Economic modeling, Scientific problems, etc.
    • Faster machines? It is getting harder to extract the performance modern applications require out of a single processor machine
  • Some application are inherently distributed, sensor networks, etc.
  • A lot of Data to store in one place
  • More efficient use of resources, sharing resources
  • Solution: Distributed computing

Distributed Operating Systems

distributed systems
Distributed systems
  • Definitions
    • A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility
    • A distributed system is a collection of independent computers that appear to users as a single computer
    • A system in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages
  • Examples
    • World Wide Web
    • Automatic Teller Machines
    • Cell Phones

Distributed Operating Systems

working definition
Working Definition
  • A distributed system is several computers doing something together
  • Three primary features of a distributed system
    • Multiple computers
    • Communications
    • “Virtual” Computer

Distributed Operating Systems

advantages
Advantages

Distributed Operating Systems

disadvantages
Disadvantages

Distributed Operating Systems

consequences
Consequences
  • Concurrency
    • Concurrency is the norm instead of the exception
    • Synchronization is critical
  • No Global Clock
    • There is a limit as to how accurate a global clock can be.
    • Contrary to parallel systems.
  • Independent Failures
    • The more stuff you add the more likely something will break
    • Single system view says independent failures should not affect users

Distributed Operating Systems

communication issues
Communication Issues
  • Building a system out of interconnected computers requires that some major issues be addressed
    • Independent failure
    • Unreliable communication
    • Insecure Communication
    • Costly Communication

Distributed Operating Systems

distributed operating systems
Distributed Operating Systems
  • A distributed operating system supports the encapsulation and protection of resources inside servers; and it supports mechanisms required to access these resources, including naming, communication and scheduling
  • The software for multiple CPU systems can be divided into three rough classes
    • Network operating systems (file servers)
    • Distributed Operating Systems
    • Shared Memory Multiprocessors

Distributed Operating Systems

parallel computing
Parallel Computing
  • A large collection of processing elements that can communicate and cooperate to solve large problems quickly
  • A form of information processing which uses concurrent events during execution
    • In other words, both the language and the hardware support concurrency

Distributed Operating Systems

parallel architectures
Parallel Architectures
  • Unlike traditional von Neumann machines, there is no single standard architecture used on parallel machines
    • In fact dozens of different parallel architectures have been built and are being used
  • Several people have tried to classify the different types of parallel machines
    • The taxonomy proposed by Flynn is the most commonly used

Distributed Operating Systems

ex building a mail server
Ex. Building a mail server

mail arrives from outside world

store it until...

user reads/deletes/saves it

  • Solution:
    • One server w/ disk to store mail-boxes
  • Problems:
    • Performance: Stable performance under high load
    • consistent w.r.t. client-side copies
    • concurrent mail arrival, deletion
    • crash recovery (crash while updating mail-box)
    • availability

Distributed Operating Systems

other problems
Other problems?
  • Not necessarily plenty of bandwidth
  • Not necessarily low latency
  • Significant variance in latency and bandwidth
  • Frequent and unpredictable partial failure of channel
  • Lost messages, &c

What else has changed?

  • We don't have hardware support for synchronization/atomicity among hosts
  • We don't have a global timer or clock
  • Frequent and unpredictable failure of some CPUs, I/O devices, &c
  • Snoopy caches are not practical, because broadcasting is too expensive.

Distributed Operating Systems

challenges
Challenges
  • There are a number of challenges found in building distributed systems
    • Heterogeneity
    • Openness
    • Security
    • Scalability
    • Failure Handling
    • Concurrency
    • Transparency

Distributed Operating Systems

heterogeneity
Heterogeneity
  • Applies to
    • Networks
    • Computer Hardware
    • Operating Systems
    • Programming Languages
    • Implementations
  • Middleware applies to a software layer that helps to handle heterogeneity

Distributed Operating Systems

openness
Openness
  • The characteristic that a system can be extended in various ways
    • Hardware extensions
    • Software extensions
  • Historically, computer systems were largely closed
    • UNIX broke the mold for OS
    • IBM PC broke the mold for hardware

Distributed Operating Systems

security
Security
  • Security is a huge issue in computing in general, but even more so in distributed computing
    • Communication
    • Distributed Resources
    • Infrastructure Attacks

Distributed Operating Systems

scalability
Scalability
  • Distributed systems operate at many different scales
    • Two workstations and a file server
    • The CS computers…
  • Often the more important question is not can you scale, but can you scale well
    • Consider the Internet

Distributed Operating Systems

failure handling
Failure Handling
  • What happens when a fault occurs?
    • Detect
    • Mask
    • Tolerate
  • Fault tolerant design is based on two approaches
    • Hardware redundancy
    • Software recovery

Distributed Operating Systems

hardware redundancy
Hardware Redundancy
  • Two computers are employed for a single application, one acting as a standby
    • Very costly, but often very effective, solution
  • Redundancy can be planned at a finer grain
    • Individual servers can be replicated
    • Redundant hardware can be used for non-critical activities when no faults are present

Distributed Operating Systems

software redundancy
Software Redundancy
  • Software must be designed so that the state of permanent data can be recovered or “rolled back” when a fault is detected
    • Transaction processing

Distributed Operating Systems

concurrency
Concurrency
  • Concurrency in a distributed system does not necessarily mean concurrency within a single program
    • Many users invoke similar commands
    • Many different server processes may be running
  • Synchronization, of course, is a problem

Distributed Operating Systems

transparency
Transparency

Distributed Operating Systems

scalability problems
Scalability Problems

Examples of scalability limitations.

Distributed Operating Systems

scaling techniques 1
Scaling Techniques (1)

1.4

  • The difference between letting:
  • a server or
  • a client check forms as they are being filled

Distributed Operating Systems

scaling techniques 2
Scaling Techniques (2)

1.5

An example of dividing the DNS name space into zones.

Distributed Operating Systems

hardware models
Hardware Models

1.6

Different basic organizations and memories in distributed computer systems

Distributed Operating Systems

multiprocessors 1
Multiprocessors (1)
  • A bus-based multiprocessor.

1.7

Distributed Operating Systems

multiprocessors 2
Multiprocessors (2)
  • A crossbar switch
  • An omega switching network

1.8

Distributed Operating Systems

homogeneous multicomputer systems
Homogeneous Multicomputer Systems
  • Grid
  • Hypercube

1-9

Distributed Operating Systems

software models
Software Models
  • An overview between
  • DOS (Distributed Operating Systems)
  • NOS (Network Operating Systems)
  • Middleware

Distributed Operating Systems

uniprocessor operating systems
Uniprocessor Operating Systems
  • Separating applications from operating system code through a microkernel.

1.11

Distributed Operating Systems

multicomputer operating systems 1
Multicomputer Operating Systems (1)

1.14

Distributed Operating Systems

multicomputer operating systems 2
Multicomputer Operating Systems (2)
  • Alternatives for blocking and buffering in message passing.

1.15

Distributed Operating Systems

distributed shared memory systems 1
Distributed Shared Memory Systems (1)
  • Pages of address space distributed among four machines
  • Situation after CPU 1 references page 10
  • Situation if page 10 is read only and replication is used

Distributed Operating Systems

distributed shared memory systems 2
Distributed Shared Memory Systems (2)
  • False sharing of a page between two independent processes.

1.18

Distributed Operating Systems

network operating system 1
Network Operating System (1)
  • General structure of a network operating system.

1-19

Distributed Operating Systems

positioning middleware
Positioning Middleware
  • General structure of a distributed system as middleware.

1-22

Distributed Operating Systems

software layers

Applications, services

Middleware

Operating system

Platform

Computer and network hardware

Software Layers

Distributed Operating Systems

middleware
Middleware
  • What does it do?
    • Provides an API for the application
    • Hides the underlying heterogeneity
  • Examples
    • Sun RPC, ISIS
    • CORBA
    • RMI
    • DCOM

Distributed Operating Systems

middleware and openness
Middleware and Openness
  • In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications.

1.23

Distributed Operating Systems

comparison between systems
Comparison between Systems

Distributed Operating Systems

architectural models
Architectural Models
  • Concerned with
    • The placement of the components across a network of computers
    • The interrelationships between the components
  • Common abstractions
    • Server processes
    • Client processes
    • Peer processes

Distributed Operating Systems

clients and servers
Clients and Servers
  • General interaction between a client and a server.

1.25

Distributed Operating Systems

processing level
Processing Level
  • The general organization of an Internet search engine into three different layers

1-28

Distributed Operating Systems

multitiered architectures 1
Multitiered Architectures (1)
  • Alternative client-server organizations (a) – (e).

1-29

Distributed Operating Systems

multitiered architectures 2
Multitiered Architectures (2)
  • An example of a server acting as a client.

1-30

Distributed Operating Systems

client server
Client-Server
  • Creating for example a hotmail? What are the options?
    • One server?
    • Several servers?

Distributed Operating Systems

multiple servers
Multiple Servers

Distributed Operating Systems

proxy server
Proxy Server

Distributed Operating Systems

peer processes
Peer Processes

Distributed Operating Systems

modern architectures
Modern Architectures
  • An example of horizontal distribution of a Web service.

1-31

Distributed Operating Systems

next lecture
Next Lecture
  • Communication among distributed systems.
  • Remote Procedure Call (RPC)
  • References
    • Chapter 2 of the book

Distributed Operating Systems