Chapter 16 - Client/server computing. In this chapter, we begin with an examination of some of the key concepts in distributed software, including client/server architecture, message passing, and remote procedure calls. Then we examine the increasingly important cluster architecture.
Trang 1Operating Systems:
Internals and Design Principles,
6/E William Stallings
Chapter 16 Client/Server Computing
Patricia Roy
R4¬^n ^¬†aan Cnmmiinity
Trang 2a
- Client machines are generally single-user
PCs or workstations that provide a highly 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 NHI
system to manage the database
Trang 3Applications Programming Interface (API)
A set of function and call programs that allow clients and servers to intercommunicate
Structured Query Language (SQL)
A language developed by IBM and standardized by ANSI for addressing creating
updating or querying relational databases
Trang 4
Figure 16.1 Generic Client/Server Environment
Trang 5Client/Server Applications
- Basic software is an operating system
running on the hardware platform
‘ Platforms and the operating systems of
client and server may differ
- These lower-level differences are
irrelevant as long as a client and server Share the same communications protocols and support the same applications
Trang 6
Application logic 1 ȓ Application logic
response
software interaction _ Protoco software
Trang 7* Application logic is located at the client
- Presentation services in the client
_#
Trang 8HS
-
\ Database Applications
- The server is a database server
- Interaction between client and server Is In
the form of transactions
— the client makes a database request and receives a database response
- Server is responsible for maintaining the
database
Trang 9Database logic -®—— Database logic
response Communications ` oe software I} protocol | Communications [Database management
interaction software system
Trang 10_ WGlient/Server Database Usage
Trang 11_ ÑGlient/Server Database Usage >>
(b) Misused client/server
_#
Trang 12“= Classes of Client/Server
_ Host- based processing
— Not true client/server computing
— Traditlonal mainframe environment
Trang 13-Š Classes of Client/Server
_Server- based processing
— Server does all the processing
— Client provides a graphical user interface
Trang 14-$ 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
Trang 16- Application software distributed among
three types of machines
Trang 17By Figure 16.6 Three-tier Client/Server Architecture
Trang 18- Caches are consistent when they contain
exact copies for remote data
* File-locking prevents simultaneous access
to a file
_#
Trang 19Istributed File Cacheing tn
Traffic Client Traffic Server Traffic Client Traffic
Trang 20Middleware
- Set of tools that provide a uniform means
and style of access to system resources across all platforms
* Enable programmers to build applications
that look and feel the same
- Enable programmers to use the same
method to access data
Trang 21interaction software services
Client Server operating system
Trang 23_ \bistributed Message Passing re
Application Message-Oriented
Middleware
Application Message-Oriented Middleware
(with message queue) Application-specific (with message queue)
(a) Message-Oriented Middleware
Trang 24
_ )Bistributed Message Passing
program Application-specific program
Trang 25
_ \bistributed Message Passing
and responses and responses
(c) Object request broker
_#
Object requests Object requests
Trang 27
@liability versus Unrellability
- Send the message out into the
communication network without reporting success or failure
—- Reduces complexity and overhead
Trang 29locking versus Nonblocking
Trang 30Remote Procedure Calls
- Allow programs on different machines to
Interact using simple procedure call/return semantics
Trang 31, ‘Remote Procedure Call
Remote server
application
Client application
response response
Local Local response procedure
Local application Salata
operating system RPC [Re - 2 2 ee ee ee eee RPC
Mets mm ee ee eee ee ee ee ee mechanism
Remote procedure call
Figure 16.12 Remote Procedure Call Mechanism
Trang 32_.®
N -_ Client/Server Binding
- Binding specifies the relationship between
remote procedure and calling program
Trang 33—- Does not block the caller
—- Enable a client execution to proceed locally in parallel with server invocation
_#
Trang 34bject-Oriented Mechanisms
- Clients and servers ship messages back
and forth between objects
- Aclient sends a request to an object
broker
- The broker calls the appropriate object
and passes along any relevant data
Trang 36— |llusion is one machine
— System can run on Its own
Trang 37
— Need management or scheduling software
- Data must be constantly copied among systems so each Is current
Trang 39Clusters
- Shared nothing
- Reduces communication overhead
—- Disks partitioned into volumes
- Each volume owned by a computer
— If computer fails, another computer has ownership of the volume
Trang 42takes over in case of
primary server failure
Clustering Method Description Benefits Limitations
Passive Standby A secondary server Easy to implement High cost because the
secondary server is unavailable for other processing tasks
The secondary server
is also used for processing tasks Reduced cost because
secondary servers can
be used for processing Increased complexity
Trang 43
and Limitations
_ \€lustering Methods: Benefits
Separate Servers Separate servers have | High availability High network and
their own disks Data server overhead due
is continuously copied to copying operations from primary to
secondary server
Servers Connected | Servers are cabledto | Reducednetworkand | Usually requires disk
to Disks the same disks but server overhead due muroring or RAID
each server owns its to elimination of technology to
disks If one server fails its disks are copying operations compensate for risk of
access to disks Reduced risk of Usually used with
downtime caused by disk mirroring or disk failure RAID technology
Trang 44
ej Operating System Design
— Fault-tolerant cluster ensures that all
resources are always available
_#
Trang 47Uster Computer Architecture
Ỉ =a
SS
> *,*
- Cluster middleware services and functions
— Single entry point
— Single file hierarchy
— Single control point
— Single virtual networking
Trang 48
Uster Computer Architecture
Ỉ =a
SS
> *,*
- Cluster middleware services and functions
— Single memory space
— Single job-management system
— Single user interface
— Single I/O space
Trang 49
- \luster Computer Architecture
- Cluster middleware services and functions
- Single process space
- Checkpointing
- Process migration
Trang 50
High Speed Network/Switch
Figure 16.14 Cluster Computer Architecture [BUY Y99a]
Trang 51Clusters Compared to SMP
- SMP Is easier to manage and configure
- SMP takes up less space and draws less
power
- SMP products are well established and
Stable
Trang 53~~ Windows Cluster Server
- Cluster Service
-— Collection of software on each node that
manages all cluster-specific activity
Trang 55App ¢ Failover Mgr - ‘ Other
Resource Resource Mgr “MẸ 7.“ Nodes
Resource Monitors) > > Resource
Management Interface App
Resource
luster-aware App
Figure 16.15 Windows Cluster Server Block Diagram [SHOR97]
Trang 57Nê ` Sun Cluster Structure ;
Existing Solaris Kernel
Trang 585un Cluster File System
system system system system
Figure 16.17 Sun Cluster File System Extensions
Trang 59
—- Mass market commodity components
—- Dedicated processors (rather than scavenging cycles from idle workstations)
— Adedicated, private network (LAN or WAN or internetted combination)
Trang 60- ÀBeowulf and Linux Clusters
- Key features
- Scalable l/O
- ATreely avallable software base
— Use freely available distribution computing tools with minimal changes
- Return of the design and improvements to the community
_ ——_— 8
#
4 4.4 : vi
+ a
“
*
Trang 61eric Beowulf Configuration
Distributed shared storage