Chapter 16: Distributed Processing, Client Server, and Clusters - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Chapter 16: Distributed Processing, Client Server, and Clusters

Description:

Client/Server Terminology. Applications Programming Interface (API) ... A computer, usually a high-powered workstation, a minicomputer, or a mainframe, ... – PowerPoint PPT presentation

Number of Views:188
Avg rating:3.0/5.0
Slides: 34
Provided by: markt2
Category:

less

Transcript and Presenter's Notes

Title: Chapter 16: Distributed Processing, Client Server, and Clusters


1
Chapter 16 Distributed Processing, Client /
Server, and Clusters
  • CS 472 Operating Systems
  • Indiana University Purdue University Fort Wayne

2
Brief review of Chapter 17 Networking
  • Note Chapter 17 is an online chapter and does
    not appear in the textbook
  • Available under Online Chapters at
  • WilliamStallings.com/OS/OSe6.html
  • Be aware that the URL is case sensitive
  • A .pdf of this chapter should also be available
    on the class web site under Resources

3
Distributed System Architectures
  • There is a spectrum of distributed system
    architectures
  • Communications architecture
  • Network OS
  • Distributed OS

4
Communications system architecture
  • TCP/IP is the most widely used example
  • Software supports a group of networked computers
  • Appropriate for email and file transfer
  • Separate OS on each computer

5
TCP/IP review
  • TCP/IP is a protocol suite
  • Vendor independent
  • DoD standardization (originally for ARPANET)
  • Five relatively independent layers
  • Physical
  • Network access
  • Internet
  • Transport (host-to-host)
  • Application

6
TCP/IP review
  • Transport layer ensures all data arrives at the
    destination and in the order sent
  • Protocols
  • IP (Internet Protocol) internet layer
  • TCP (Transmission Protocol) transport layer
  • SMTP (Simple Mail Transfer Protocol)
    application layer
  • FTP (File Transfer Protocol) application layer
  • TELNET (remote login, scroll-mode) application
    layer

7
Network OS system architecture
  • One or more servers
  • These provide network services such as file
    storage
  • Separate OS on each computer
  • Network OS simply allows interaction with the
    servers
  • Example
  • Can map a foreign disk drive Z on a server to
    local PC
  • Foreign drive appears under My Computer as a
    local drive ( like C )

8
Distributed OS system architecture
  • Common shared OS on all computers on the network
  • Permits a process to migrate to another host
    computer
  • Now
    on to Chapter 16 . . .

9
Client / server computing
  • Client machines are usually single-user PCs or
    workstations that provide a user-friendly
    interface to the end user
  • Each server provides a set of shared services to
    the clients
  • The server enables many clients to share access
    to the same database and enables the use of a
    high-performance computer system to manage the
    database

10
Client/Server Terminology
  • Applications Programming Interface (API)
  • A set of functions and call programs that allow
    clients and servers to intercommunicate
  • Client
  • A networked information requester, usually a PC
    or workstation, that can query database and/or
    other information from a server
  • Middleware
  • A set of drivers, APIs, or other software that
    improves connectivity between a client
    application and a server
  • Relational Database
  • A database in which information access is limited
    to the selection of rows that satisfy all search
    criteria
  • Server
  • A computer, usually a high-powered workstation, a
    minicomputer, or a mainframe, that houses
    information for manipulation by networked clients
  • Structured Query Language (SQL)
  • A language developed by IBM and standardized by
    ANSI for addressing, creating, updating, or
    querying relational databases

11
(No Transcript)
12
Server types
  • Disk server
  • Provides shared drive like Z
  • File server
  • Provides logical structure, protection,
    concurrent access, etc.
  • Print server
  • Provides SPOOLing
  • Simultaneous Peripheral Operation On-Line

13
Server types
  • Database server
  • Searches for and returns a small number of
    records
  • Server software is typically SQL
  • Client does data analysis with application
    software
  • Server can do more work if analysis involves a
    large number of records
  • It is not efficient to send 1,000,000 records
    over a network
  • This requires some application-specific software
    to reside on the server

14
Classes of Client/Server Applications
  • Host-based processing
  • Not true client/server computing
  • Traditional mainframe environment

dumb terminal
15
Classes of Client/Server Applications
  • Server-based processing
  • Server does all the processing
  • Client provides a graphical user interface

16
Classes of Client/Server Applications
  • Cooperative processing
  • Application processing is performed in an
    optimized fashion
  • Complex to set up and maintain

17
Classes of Client/Server Applications
  • Client-based processing
  • All application processing done at the client
  • Data validation routines and other database logic
    functions are done at the server

18
Three-Tier Client/Server Architecture
  • Increasingly, this architecture is used
  • Application software distributed among three
    types of machines
  • User machine
  • Thin client
  • Middle-tier server
  • Gateway
  • Conversion protocols
  • Merge/integrate results from different data
    sources
  • Backend server

19
(No Transcript)
20
File Cache Consistency
  • File caches hold recently accessed file records
    on servers and each client
  • Various caches must be kept consistent
  • More complicated than readers/writers problem
  • Writer must write back to disk and server must
    notify all readers to not use cache copy

21
Distributed Message Passing
  • Message passing must be used for interprocess
    communication and synchronization
  • This is because no shared memory exists
  • Therefore, no semaphores
  • Two models
  • Client-server
  • Remote Procedure Call (RPC)

22
Client-server model
  • Involves sending and receiving messages using
    primitives as in a single system
  • Send( destination, message)
  • Receive( from, messageBuffer)
  • Note the from parameter may include all
  • The primitives rely on a communications
    distributed system architecture like TCP / IP

23
Reliable v. unreliable message passing
  • Reliable
  • Guarantees delivery if possible
  • Not necessary to let the sending process know
    that the message was delivered
  • High overhead
  • Unreliable
  • Sends the message out to the network without
    reporting success or failure
  • Reduces complexity and overhead
  • Destination may need/want to send acknowledgement

24
Blocking v. nonblocking
  • Nonblocking
  • Process is not suspended as a result of issuing a
    Send or Receive
  • Sender released after a copy of the message is
    made
  • Efficient and flexible
  • Difficult to debug
  • Blocking
  • Send does not return control to the sending
    process until the message has been transmitted
    (reliable case)
  • OR does not return control until an
    acknowledgment is received (unreliable case)
  • Receive does not return until a message has been
    placed in the allocated buffer

25
Remote procedure call
  • Allows programs on different machines to interact
    using simple procedure call and return semantics
  • Widely accepted
  • Standardized
  • Client and server modules can be moved among
    computers and operating systems easily

26
Remote procedure call
  • Sender has a dummy procedure that sends
    parameters to the target as a message
  • The target reacts to the message by calling the
    actual procedure
  • Results are then sent back as a message and
    returned by the dummy procedure

27
(No Transcript)
28
Two models of RPC
  • Synchronous RPC
  • Special case of reliable, blocking message
    passing
  • Behaves much like a subroutine call
  • Asynchronous RPC
  • Does not block the caller
  • Enables client execution to proceed locally in
    parallel with server invocation
  • Exploits possibility of parallelism
  • Example of client server synchronization
  • The client can send a sequence of asynchronous
    RPCs followed by a final synchronous RPC
  • The server responds to the synchronous RPC only
    after all preceding work has been completed

29
Object-oriented mechanisms
  • Clients and servers ship messages back and forth
    between objects
  • Common Object Request Broker Architecture (CORBA)
  • A client sends a request to an object broker
  • The broker calls the appropriate object and
    passes along any relevant data

30
Clusters
  • Alternative to symmetric multiprocessing (SMP)
  • Group of networked computers, called nodes
  • Computers work together as a unified computing
    resource
  • Illusion of being one computer
  • Provides load balancing among all nodes

31
Advantages of clusters over SMP
  • Scalability
  • Both incremental and absolute
  • Easy to add a new node
  • Very large clusters of multiprocessor systems
    possible
  • Availability
  • Failure of one node does bring system down
  • Easy to make components redundant
  • Failover is a switch to an alternate node in
    case of failure
  • Price / performance
  • Building blocks are commodity components

32
Cluster configurations
  • Separate server
  • Each node has private (non-shared) disk
  • Failover capability requires constant copying of
    data to disks on other nodes
  • Shared nothing
  • Reduces communication overhead
  • Common RAID disk, partitioned into volumes
  • Each volume is owned by a separate node
  • Failure of node only requires transfer of
    ownership of its volume
  • Shared disk
  • Each node may access all volumes
  • Mutual exclusion must be enforced

33
Advantages of SMP over clusters
  • SMP is easier to manage and configure
  • SMP takes up less space and draws less power
  • SMP products are well established and stable
Write a Comment
User Comments (0)
About PowerShow.com