Advanced Operating Systems - PowerPoint PPT Presentation

Loading...

PPT – Advanced Operating Systems PowerPoint presentation | free to download - id: 7599de-NGQ2M



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Advanced Operating Systems

Description:

Advanced Operating Systems Lecture 10: Distributed Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani – PowerPoint PPT presentation

Number of Views:487
Avg rating:3.0/5.0
Slides: 56
Provided by: Larry409
Learn more at: http://ece.ut.ac.ir
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Advanced Operating Systems


1
Advanced Operating Systems
Lecture 10 Distributed Systems
  • University of Tehran
  • Dept. of EE and Computer Engineering
  • By
  • Dr. Nasser Yazdani

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

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

4
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

5
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

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

7
Advantages
Item Description
Economics Microprocessors offer a better price/performance than mainframes
Speed A distributed system may have more total computing power than a mainframe
Inherent Distribution Some applications involve spatially separated machines.
Reliability If one machine crashes, the system as a whole can still survive
Incremental Growth Computing power can be added in small increments
8
Disadvantages
Item Description
Software Little software, OSs or PLS, exists at present for distributed systems
Networking The network can saturate or cause other problems.
Security Easy access also applies to secret data, privacy!
9
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

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

11
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

12
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

13
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

14
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

15
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.

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

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

18
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

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

20
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

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

22
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

23
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

24
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

25
Transparency
Transparency Description
Access Hide differences in data representation and how a resource is accessed
Location Hide where a resource is located
Migration Hide that a resource may move to another location
Relocation Hide that a resource may be moved to another location while in use
Replication Hide that a resource may be shared by several competitive users
Concurrency Hide that a resource may be shared by several competitive users
Failure Hide the failure and recovery of a resource
Persistence Hide whether a (software) resource is in memory or on disk
26
Scalability Problems
Concept Example
Centralized services A single server for all users
Centralized data A single on-line telephone book
Centralized algorithms Doing routing based on complete information
Examples of scalability limitations.
27
Scaling Techniques (1)
1.4
  • The difference between letting
  • a server or
  • a client check forms as they are being filled

28
Scaling Techniques (2)
1.5
An example of dividing the DNS name space into
zones.
29
Hardware Models
1.6
Different basic organizations and memories in
distributed computer systems
30
Multiprocessors (1)
  • A bus-based multiprocessor.

1.7
31
Multiprocessors (2)
  1. A crossbar switch
  2. An omega switching network

1.8
32
Homogeneous Multicomputer Systems
  1. Grid
  2. Hypercube

1-9
33
Software Models
System Description Main Goal
DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware resources
NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients
Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency
  • An overview between
  • DOS (Distributed Operating Systems)
  • NOS (Network Operating Systems)
  • Middleware

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

1.11
35
Multicomputer Operating Systems (1)
1.14
36
Multicomputer Operating Systems (2)
  • Alternatives for blocking and buffering in
    message passing.

1.15
37
Distributed Shared Memory Systems (1)
  1. Pages of address space distributed among four
    machines
  2. Situation after CPU 1 references page 10
  3. Situation if page 10 is read only and replication
    is used

38
Distributed Shared Memory Systems (2)
  • False sharing of a page between two independent
    processes.

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

1-19
40
Positioning Middleware
  • General structure of a distributed system as
    middleware.

1-22
41
Software Layers
42
Middleware
  • What does it do?
  • Provides an API for the application
  • Hides the underlying heterogeneity
  • Examples
  • Sun RPC, ISIS
  • CORBA
  • RMI
  • DCOM

43
Middleware and Openness
1.23
  • 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.

44
Comparison between Systems
Item Distributed OS Distributed OS Network OS Middleware-based OS
Item Multiproc. Multicomp. Network OS Middleware-based OS
Degree of transparency Very High High Low High
Same OS on all nodes Yes Yes No No
Number of copies of OS 1 N N N
Basis for communication Shared memory Messages Files Model specific
Resource management Global, central Global, distributed Per node Per node
Scalability No Moderately Yes Varies
Openness Closed Closed Open Open
45
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

46
Clients and Servers
  • General interaction between a client and a server.

1.25
47
Processing Level
  • The general organization of an Internet search
    engine into three different layers

1-28
48
Multitiered Architectures (1)
  • Alternative client-server organizations (a) (e).

1-29
49
Multitiered Architectures (2)
  • An example of a server acting as a client.

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

51
Multiple Servers
52
Proxy Server
53
Peer Processes
54
Modern Architectures
  • An example of horizontal distribution of a Web
    service.

1-31
55
Next Lecture
  • Communication among distributed systems.
  • Remote Procedure Call (RPC)
  • References
  • Chapter 2 of the book
About PowerShow.com