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



Similar documents
Client/Server and Distributed Computing

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

Chapter 16 Distributed Processing, Client/Server, and Clusters

Virtual machine interface. Operating system. Physical machine interface

Symmetric Multiprocessing

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

OPERATING SYSTEMS Internais and Design Principles

Chapter 18: Database System Architectures. Centralized Systems

Chapter 1: Introduction. What is an Operating System?

Integrated Application and Data Protection. NEC ExpressCluster White Paper

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

DISTRIBUTED AND PARALLELL DATABASE

Distributed Systems LEEC (2005/06 2º Sem.)

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Tier Architectures. Kathleen Durant CS 3200

Distributed Operating Systems

Network Attached Storage. Jinfeng Yang Oct/19/2015

How To Understand The Concept Of A Distributed System

ICS 434 Advanced Database Systems

Operating system Dr. Shroouq J.

Middleware Lou Somers

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Introduction to Cloud Computing

- An Essential Building Block for Stable and Reliable Compute Clusters

Vorlesung Rechnerarchitektur 2 Seite 178 DASH

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Principles and characteristics of distributed systems and environments

BBM467 Data Intensive ApplicaAons

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

A Comparison of Distributed Systems: ChorusOS and Amoeba

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Information Systems Analysis and Design CSC John Mylopoulos. Software Architectures Information Systems Analysis and Design CSC340

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

PARALLEL & CLUSTER COMPUTING CS 6260 PROFESSOR: ELISE DE DONCKER BY: LINA HUSSEIN

BLM 413E - Parallel Programming Lecture 3

Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur


1 Organization of Operating Systems

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Server Virtualization with VMWare

Client/server is a network architecture that divides functions into client and server

Violin: A Framework for Extensible Block-level Storage

COS 318: Operating Systems. Virtual Machine Monitors

RevoScaleR Speed and Scalability

Bigdata High Availability (HA) Architecture

LinuxWorld Conference & Expo Server Farms and XML Web Services

PARALLELS CLOUD STORAGE

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Configuration Management of Massively Scalable Systems

Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building Blocks. An Oracle White Paper April 2003

Distributed Objects and Components

Distributed Operating Systems. Cluster Systems

Chapter 2: Remote Procedure Call (RPC)

I N T E R S Y S T E M S W H I T E P A P E R INTERSYSTEMS CACHÉ AS AN ALTERNATIVE TO IN-MEMORY DATABASES. David Kaaret InterSystems Corporation

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling

Software Concepts. Uniprocessor Operating Systems. System software structures. CIS 505: Software Systems Architectures of Distributed Systems

On Cloud Computing Technology in the Construction of Digital Campus

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago

Protocols and Architecture. Protocol Architecture.

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

Scalability and Classifications

Lecture 2 Parallel Programming Platforms

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

Lecture 23: Multiprocessors

How To Virtualize A Storage Area Network (San) With Virtualization

Applications of Passive Message Logging and TCP Stream Reconstruction to Provide Application-Level Fault Tolerance. Sunny Gleason COM S 717

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

IT Components of Interest to Accountants. Importance of IT and Computer Networks to Accountants

How To Write A Network Operating System For A Network (Networking) System (Netware)

PIVOTAL CRM ARCHITECTURE

Middleware: Past and Present a Comparison

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Distributed Computing

Client/server and peer-to-peer models: basic concepts

Distributed Databases

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998

Operating Systems 4 th Class

<Insert Picture Here> Oracle In-Memory Database Cache Overview

Huawei OceanStor Backup Software Technical White Paper for NetBackup

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

OpenMosix Presented by Dr. Moshe Bar and MAASK [01]

Fault Tolerant Solutions Overview

How To Manage Technology

Computer-System Architecture

1.5 Distributed Systems

EMC Virtual Infrastructure for Microsoft SQL Server

Enterprise Desktop Virtualization

Distributed RAID Architectures for Cluster I/O Computing. Kai Hwang

Client Server Architecture

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

Chapter 11 Distributed File Systems. Distributed File Systems

Transcription:

Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the end user Each server provides a set of shared user 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 1 2 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 4 Client/Server Applications Actual functions performed by the application can be split up between client and server Optimize platform and network resources Optimize the ability of users to perform various tasks Optimize the ability to cooperate with one another using shared resources 6 1

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 7 Classes of Client/Server Applications Classes of Client/Server Applications Host-based processing not true client/server computing traditional mainframe environment Server-based processing server does all the processing user workstation provides a graphical user interface 11 12 2

Classes of Client/Server Applications Classes of Client/Server Applications Client-based processing all application processing done at the client data validation routines and other database logic function are done at the server Cooperative processing application processing is performed in an optimized fashion complex to set up and maintain 13 14 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 15 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 17 3

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 19 Distributed Message Passing Basic Message-Passing Primitives Message passed used to communicate among processes Send and receive messages as used in a single system OR Remote procedure calls 23 24 4

Reliability Versus Unreliability Blocking Versus Nonblocking 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 25 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 26 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 27 Client/Server Binding Synchronous versus Asynchronous 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 Synchronous RPC Behaves must like a subroutine call Asynchronous RPC Does not block the caller Enable a client to invoke a server repeatedly so that it has a number of requests in the pipeline at one time 29 30 5

Object-Oriented Mechanisms 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 31 32 Benefits of Clusters Clusters Absolute scalability Can have dozens of machines each of which is a multiprocessor Incremental scalability Add new systems in small increments High availability Failure of one node does not mean loss of service Superior price/performance Cluster can be equal or greater computing power than a single large machine at a much lower cost 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 33 34 Clusters Clusters Shared nothing Reduces communication overhead Several servers connected to common disks Disks partitioned into volumes Each volume owned by a computer If computer fails another computer gets ownership of the volume 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 35 36 6

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 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 37 38 Cluster Computer Architecture 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 Cluster middleware services and functions Single user interface Single I/O space Single process space Checkpointing Process migration 39 40 Clusters Compared to SMP Windows 2000 Cluster Service SMP is easier to manage and configure SMP takes up less space and draws less power Clusters are better for incremental and absolute scalability Clusters are superior in terms of availability 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 41 42 7

Sun Cluster Major components Object and communication support Process management Networking Global distributed file system 44 Beowulf and Linux Clusters 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 Key features Scalable I/O A freely available software base Using freely available distribution computing tools with minimal changes Returning the design and improvements to the community 47 48 8

9