Distributed Processing Distributed Processing, Client/Server, and - - PowerPoint PPT Presentation

distributed processing distributed processing client
SMART_READER_LITE
LIVE PREVIEW

Distributed Processing Distributed Processing, Client/Server, and - - PowerPoint PPT Presentation

Distributed Processing Distributed Processing, Client/Server, and Clusters , Chapter 13 Chapter 13 1 Client/Server Computing Client/Server Computing Client machines are generally single-user PCs Cli t hi ll i l PC or


slide-1
SLIDE 1

Distributed Processing Distributed Processing, Client/Server, and Clusters ,

Chapter 13 Chapter 13

1

slide-2
SLIDE 2

Client/Server Computing Client/Server Computing

Cli t hi ll i l PC

  • Client machines are generally single-user PCs
  • r workstations that provide a highly user-

f i dl i t f t th d friendly interface to the end user

  • Each server provides a set of shared services to

the clients

  • The server enables many clients to share

y access to the same database and enables the use of a high-performance computer system to g p p y manage the database

2

slide-3
SLIDE 3

Client/Server Terminology Client/Server Terminology

  • Applications Programming Interface (API)

Applications Programming Interface (API)

– A set of function and call programs that allow clients and servers to intercommunicate

  • Client

A k d i f i ll PC k i h – 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 , , p y 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 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

3

slide-4
SLIDE 4

4

slide-5
SLIDE 5

Client/Server Applications Client/Server Applications

B i ft i ti t

  • 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 irrelevant as long as a client and server share the same communications protocols and support the same protocols and support the same applications

5

slide-6
SLIDE 6

6

slide-7
SLIDE 7

Client/Server Applications Client/Server Applications

B lk f li i f

  • Bulk of applications software executes
  • n the server
  • Application logic is located at the client

P t ti i i th li t

  • Presentation services in the client

7

slide-8
SLIDE 8

Database Applications Database Applications

Th i d b

  • The server is a database server
  • Interaction between client and server is

in the form of transactions

the client makes a database request and – the client makes a database request and receives a database response

S i ibl f i i i h

  • Server is responsible for maintaining the

database

8

slide-9
SLIDE 9

9

slide-10
SLIDE 10

Client/Server Database Usage Client/Server Database Usage

10

slide-11
SLIDE 11

Client/Server Database Usage Client/Server Database Usage

11

slide-12
SLIDE 12

Classes of Client/Server Applications

H b d i

  • Host-based processing

– Not true client/server computing – Traditional mainframe environment

12

slide-13
SLIDE 13

Classes of Client/Server Applications

S b d i

  • Server-based processing

– Server does all the processing – Client provides a graphical user interface

13

slide-14
SLIDE 14

Classes of Client/Server Applications

Cli b d i

  • Client-based processing

– All application processing done at the client – Data validation routines and other database logic functions are done at the server

  • g c u c o s

e do e e se ve

14

slide-15
SLIDE 15

Classes of Client/Server Applications

C i i

  • Cooperative processing

– Application processing is performed in an

  • ptimized fashion

– Complex to set up and maintain Co p e

  • se up

d

15

slide-16
SLIDE 16

Three-Tier Client/Server Architecture

A li ti ft di t ib t d

  • Application software distributed among

three types of machines

– User machine

  • Thin client

– Middle-tier server

  • Gateway
  • Convert protocols
  • Merge/integrate results from different data

sources sources

– Backend server

16

slide-17
SLIDE 17

17

slide-18
SLIDE 18

File Cache Consistency File Cache Consistency

Fil h h ld l d fil

  • File caches hold recently accessed file

records

  • Caches are consistent when they contain

exact copies for remote data exact copies for remote data

  • File-locking prevents simultaneous

access to a file

18

slide-19
SLIDE 19

19

slide-20
SLIDE 20

Middleware Middleware

S f l h id if

  • Set of tools that provide a uniform

means and style of access to system resources across all platforms

  • Enable programmers to build
  • Enable programmers to build

applications that look and feel the same

  • Enable programmers to use the same

method to access data

20

slide-21
SLIDE 21

21

slide-22
SLIDE 22

22

slide-23
SLIDE 23

Middleware Mechanisms Middleware Mechanisms

23

slide-24
SLIDE 24

Middleware Mechanisms Middleware Mechanisms

24

slide-25
SLIDE 25

Middleware Mechanisms Middleware Mechanisms

25

slide-26
SLIDE 26

Distributed Message Passing Distributed Message Passing

M d d i

  • Message passed used to communicate

among processes

  • Send and receive messages as used in a

single system OR single system OR

  • Remote procedure calls

26

slide-27
SLIDE 27

Basic Message-Passing Primitives

27

slide-28
SLIDE 28

Reliability Versus Unreliability

R li bl i

  • Reliable message-passing guarantees

delivery if possible

– Not necessary to let the sending process know that the message was delivered g

  • Send the message out into the

communication network without communication network without reporting success or failure

– Reduces complexity and overhead

28

slide-29
SLIDE 29

Blocking Versus Nonblocking Blocking Versus Nonblocking

  • Nonblocking
  • Nonblocking

– Process is not suspended as a result of issuing a Send or Receive Send or Receive – Efficient and flexible – Difficult to debug

  • Blocking

– Send does not return control to the sending process Send does not return control to the sending process until the message has been transmitted – OR does not return control until an k l d i i d acknowledgment is received – Receive does not return until a message has been placed in the allocated buffer

29

placed in the allocated buffer

slide-30
SLIDE 30

Remote Procedure Calls Remote Procedure Calls

All diff hi

  • Allow programs on different machines

to interact using simple procedure call/return semantics

  • Widely accepted
  • Widely accepted
  • Standardized

– Client and server modules can be moved among computers and operating systems easily

30

slide-31
SLIDE 31

31

slide-32
SLIDE 32

Client/Server Binding Client/Server Binding

Bi di ifi th l ti hi

  • Binding specifies the relationship

between remote procedure and calling program

  • Nonpersistent binding

– Logical connection established during remote procedure call

  • Persistent binding

– Connection is sustained after the procedure Connection is sustained after the procedure returns

32

slide-33
SLIDE 33

Synchronous versus Asynchronous

S h RPC

  • Synchronous RPC

– Behaves much like a subroutine call

  • Asynchronous RPC

Does not block the caller – Does not block the caller – Enable a client execution to proceed locally i ll l i h i i in parallel with server invocation

33

slide-34
SLIDE 34

Object Oriented Mechanisms Object-Oriented Mechanisms

Cli t d hi b k d

  • Clients and servers ship messages back and

forth between objects

  • A client sends a request to an object broker
  • The broker calls the appropriate object and

pp p j passes along any relevant data

  • Microsoft’s Component Object Model (COM)

Microsoft s Component Object Model (COM)

  • Common Object Request Broker Architecture

(CORBA) (CORBA)

34

slide-35
SLIDE 35

Clusters Clusters

Al i i

  • Alternative to symmetric

multiprocessing (SMP)

  • Group of interconnected, whole

computers working together as a unified computers working together as a unified computing resource

– Illusion is one machine – System can run on its own

35

slide-36
SLIDE 36

Clustering Method Description Benefits Limitations Passive Standby A secondary server Easy to implement High cost because the secondary Passive Standby A secondary server takes over in case

  • f primary server

failure. Easy to implement. High cost because the secondary server is unavailable for other processing tasks. Active Secondary The secondary server is also used for processing tasks. Reduced cost because secondary servers can be used for processing. Increased complexity. Separate Servers Separate servers have their own

  • disks. Data is

continuously copied High availability. High network and server overhead due to copying operations. continuously copied from primary to secondary server. Servers Connected to Di k Servers are cabled t th di k Reduced network and h d d Usually requires disk mirroring RAID t h l t t Disks to the same disks, but each server

  • wns its disks. If
  • ne server fails,

it di k t k server overhead due to elimination of copying operations.

  • r RAID technology to compensate

for risk of disk failure. its disks are taken

  • ver by the other

server. Servers Share Disks Multiple servers Low network and Requires lock manager software. 36 simultaneously share access to disks. server overhead. Reduced risk of downtime caused by disk failure. Usually used with disk mirroring

  • r RAID technology.
slide-37
SLIDE 37

Clusters Clusters

S

  • Separate server

– Each computer is a separate server – No shared disks – Need management or scheduling software – Need management or scheduling software – Data must be constantly copied among s stems so each is c rrent systems so each is current

37

slide-38
SLIDE 38

Cluster Configurations Cluster Configurations

38

slide-39
SLIDE 39

Clusters Clusters

Sh d hi

  • Shared nothing

– Reduces communication overhead – Disks partitioned into volumes – Each volume owned by a computer – Each volume owned by a computer – If computer fails another computer gets

  • nership of the ol me
  • wnership of the volume

39

slide-40
SLIDE 40

Cluster Configurations Cluster Configurations

40

slide-41
SLIDE 41

Clusters Clusters

Sh d di k

  • Shared disk

– Multiple computers share the same disks at the same time – Each computer has access to all of the c co pu e s ccess o

  • e

volumes on all of the disks

41

slide-42
SLIDE 42

Operating System Design Issues

F il

  • Failure management

– Highly available cluster offers a high probability that al resources will be in service

  • No guarantee about the state of partially

executed transactions if failure occurs

– Fault-tolerant cluster ensures that all resources are always available y

42

slide-43
SLIDE 43

Operating System Design Issues

L d b l i

  • Load balancing

– When new computer added to the cluster, the load-balancing facility should automatically include this computer in scheduling applications

  • Parallelizing Computation

Parallelizing Computation

– Parallelizing compiler P ll li d li i – Parallelized application – Parametric computing

43

slide-44
SLIDE 44

Cluster Computer Architecture

Cl iddl i d

  • Cluster middleware services and

functions

– Single entry point – Single file hierarchy Single file hierarchy – Single control point Si l i l ki – Single virtual networking – Single memory space – Single job-management system

44

slide-45
SLIDE 45

Cluster Computer Architecture

Cl iddl i d

  • Cluster middleware services and

functions

– Single user interface – Single I/O space Single I/O space – Single process space Ch k i i – Checkpointing – Process migration

45

slide-46
SLIDE 46

Cluster Computer Architecture Cluster Computer Architecture

46

slide-47
SLIDE 47

Clusters Compared to SMP Clusters Compared to SMP

SMP i i t d fi

  • SMP is easier to manage and configure
  • SMP takes up less space and draws less

power

  • SMP products are well established and

S p oduc s e we es b s ed d stable

  • Clusters are better for incremental and
  • Clusters are better for incremental and

absolute scalability Cl t i i t f

  • Clusters are superior in terms of

availability

47

slide-48
SLIDE 48

Windows Cluster Service Windows Cluster Service

Cl t S i

  • Cluster Service

– Collection of software on each node that manages ll l t ifi ti it all cluster-specific activity

  • Resource

– Item managed by the cluster service

  • Online

– Online at node when it is providing service on that specific node

  • Group

– Collection of resources managed as a single unit

48

g g

slide-49
SLIDE 49

49

slide-50
SLIDE 50

Sun Cluster Sun Cluster

M j

  • Major components

– Object and communication support – Process management – Networking – Networking – Global distributed file system

50

slide-51
SLIDE 51

51

slide-52
SLIDE 52

52

slide-53
SLIDE 53

Beowulf and Linux Clusters Beowulf and Linux Clusters

K f

  • Key features

– Mass market commodity components – Dedicated processors (rather than scavenging cycles from idle workstations) sc ve g g cyc es

  • d e wo

s

  • s)

– A dedicated, private network (LAN or WAN or internetted combination) WAN or internetted combination) – No custom components li i f l i l d – Easy replication from multiple vendors

53

slide-54
SLIDE 54

Beowulf and Linux Clusters Beowulf and Linux Clusters

K f

  • Key features

– Scalable I/O – A freely available software base – Use freely available distribution computing – Use freely available distribution computing tools with minimal changes Ret rn the design and impro ements to the – Return the design and improvements to the community

54

slide-55
SLIDE 55

55