1 Distributed Processing, Client/Server, and Clusters Chapter 13.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Distributed Processing, Client/Server and Clusters
Database Architectures and the Web
Remote Procedure Call (RPC)
Chapter 7 LAN Operating Systems LAN Software Software Compatibility Network Operating System (NOP) Architecture NOP Functions NOP Trends.
Distributed Processing, Client/Server, and Clusters
Chapter 6: Client/Server and Intranet Computing
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Technical Architectures
Chapter 17: Client/Server Computing Business Data Communications, 4e.
1 Pertemuan 26 Parallel Processing 2 Matakuliah: H0344/Organisasi dan Arsitektur Komputer Tahun: 2005 Versi: 1/1.
Distributed Processing, Client/Server and Clusters
Middleware Technologies compiled by: Thomas M. Cosley.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 Client-Server Processing, Parallel Database Processing,
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
Distributed Systems: Message Passing, Clusters, and Implementation of Clusters in Representative Operating Systems.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Distributed Systems: Client/Server Computing
Client/Server Architecture
1 © Prentice Hall, 2002 The Client/Server Database Environment.
© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture.
Lecture The Client/Server Database Environment
Client-Server Processing and Distributed Databases
The Client/Server Database Environment
Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.
Distributed Processing, Client/Server, and Clusters Source: Prentice-Hall Web Site.
Shilpa Seth.  Centralized System Centralized System  Client Server System Client Server System  Parallel System Parallel System.
1 Chapter 3 Database Architecture and the Web Pearson Education © 2009.
MBA 664 Database Management Systems Dave Salisbury ( )
Database Architectures and the Web Session 5
1 Operating System Overview Chapter 2 Advanced Operating System.
INFO 320 Server Technology I
CH2 System models.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Distributed Processing and Client/Server
1 Distributed Processing, Messages, RPC, RMI, CORBA Chapter 14 ”Operating Systems” W. Stallings.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Clusters. zAlternative to symmetric multiprocessing (SMP) zGroup of interconnected, whole computers working together as a unified computing resource yillusion.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
Distributed database system
PARALLEL PROCESSOR- TAXONOMY. CH18 Parallel Processing {Multi-processor, Multi-computer} Multiple Processor Organizations Symmetric Multiprocessors Cache.
VMware vSphere Configuration and Management v6
Client/Server Computing
Chapter 131 Distributed Processing, Client/Server, and Clusters Chapter 13.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
Background Computer System Architectures Computer System Software.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Distributed Processing, Client/Server and Clusters
Business System Development
Chapter 9: The Client/Server Database Environment
Database Architectures and the Web
The Client/Server Database Environment
The Client/Server Database Environment
Database Architectures and the Web
#01 Client/Server Computing
Ch > 28.4.
Distributed Processing, Client/Server and Clusters
Chapter 17: Database System Architectures
Chapter 17: Client/Server Computing
Database System Architectures
#01 Client/Server Computing
Presentation transcript:

1 Distributed Processing, Client/Server, and Clusters Chapter 13

2 Client/Server Computing 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 computer system to manage the database

3 Client/Server Terminology Applications Programming Interface (API) –A set of function 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

4

5 Client/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

6

7 Client/Server Applications Bulk of applications software executes on the server Application logic is located at the client Presentation services in the client

8 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

9

10 Client/Server Database Usage

11 Client/Server Database Usage

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

13 Classes of Client/Server Applications Server-based processing –Server does all the processing –Client provides a graphical user interface

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

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

16 Three-Tier Client/Server Architecture 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 –Backend server

17

18 File Cache Consistency File caches hold recently accessed file records Caches are consistent when they contain exact copies for remote data File-locking prevents simultaneous access to a file

19

20 Middleware 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

21

22

23 Middleware Mechanisms

24 Middleware Mechanisms

25 Middleware Mechanisms

26 Distributed Message Passing Message passed used to communicate among processes Send and receive messages as used in a single system OR Remote procedure calls

27 Basic Message-Passing Primitives

28 Reliability Versus Unreliability Reliable message-passing guarantees delivery if possible –Not necessary to let the sending process know that the message was delivered Send the message out into the communication network without reporting success or failure –Reduces complexity and overhead

29 Blocking Versus Nonblocking Nonblocking –Process is not suspended as a result of issuing a Send or Receive –Efficient and flexible –Difficult to debug Blocking –Send does not return control to the sending process until the message has been transmitted –OR does not return control until an acknowledgment is received –Receive does not return until a message has been placed in the allocated buffer

30 Remote Procedure Calls Allow programs on different machines to interact using simple procedure call/return semantics Widely accepted Standardized –Client and server modules can be moved among computers and operating systems easily

31

32 Client/Server Binding 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 returns

33 Synchronous versus Asynchronous Synchronous RPC –Behaves much like a subroutine call Asynchronous RPC –Does not block the caller –Enable a client execution to proceed locally in parallel with server invocation

34 Object-Oriented Mechanisms 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 passes along any relevant data Microsoft’s Component Object Model (COM) Common Object Request Broker Architecture (CORBA)

35 Clusters Alternative to symmetric multiprocessing (SMP) Group of interconnected, whole computers working together as a unified computing resource –Illusion is one machine –System can run on its own

36 Clustering MethodDescriptionBenefitsLimitations Passive StandbyA secondary server takes over in case of primary server failure. Easy to implement.High cost because the secondary server is unavailable for other processing tasks. Active SecondaryThe secondary server is also used for processing tasks. Reduced cost because secondary servers can be used for processing. Increased complexity. Separate ServersSeparate servers have their own disks. Data is continuously copied from primary to secondary server. High availability.High network and server overhead due to copying operations. Servers Connected to Disks Servers are cabled to the same disks, but each server owns its disks. If one server fails, its disks are taken over by the other server. Reduced network and server overhead due to elimination of copying operations. Usually requires disk mirroring or RAID technology to compensate for risk of disk failure. Servers Share DisksMultiple servers simultaneously share access to disks. Low network and server overhead. Reduced risk of downtime caused by disk failure. Requires lock manager software. Usually used with disk mirroring or RAID technology.

37 Clusters Separate server –Each computer is a separate server –No shared disks –Need management or scheduling software –Data must be constantly copied among systems so each is current

38 Cluster Configurations

39 Clusters Shared nothing –Reduces communication overhead –Disks partitioned into volumes –Each volume owned by a computer –If computer fails another computer gets ownership of the volume

40 Cluster Configurations

41 Clusters Shared disk –Multiple computers share the same disks at the same time –Each computer has access to all of the volumes on all of the disks

42 Operating System Design Issues 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

43 Operating System Design Issues Load balancing –When new computer added to the cluster, the load-balancing facility should automatically include this computer in scheduling applications Parallelizing Computation –Parallelizing compiler –Parallelized application –Parametric computing

44 Cluster Computer Architecture Cluster middleware services and functions –Single entry point –Single file hierarchy –Single control point –Single virtual networking –Single memory space –Single job-management system

45 Cluster Computer Architecture Cluster middleware services and functions –Single user interface –Single I/O space –Single process space –Checkpointing –Process migration

46 Cluster Computer Architecture

47 Clusters 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 Clusters are better for incremental and absolute scalability Clusters are superior in terms of availability

48 Windows Cluster Service Cluster Service –Collection of software on each node that manages 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

49

50 Sun Cluster Major components –Object and communication support –Process management –Networking –Global distributed file system

51

52

53 Beowulf and Linux Clusters Key features –Mass market commodity components –Dedicated processors (rather than scavenging cycles from idle workstations) –A dedicated, private network (LAN or WAN or internetted combination) –No custom components –Easy replication from multiple vendors

54 Beowulf and Linux Clusters Key features –Scalable I/O –A freely available software base –Use freely available distribution computing tools with minimal changes –Return the design and improvements to the community

55