Client/Server and Distributed Computing



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

Chapter 16 Distributed Processing, Client/Server, and Clusters

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

Principles and characteristics of distributed systems and environments

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

How To Understand The Concept Of A Distributed System

Symmetric Multiprocessing

Chapter 18: Database System Architectures. Centralized Systems

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

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

Chapter 11 I/O Management and Disk Scheduling

Tier Architectures. Kathleen Durant CS 3200

A Comparison of Distributed Systems: ChorusOS and Amoeba

Big Data Management and NoSQL Databases

CS 5523 Operating Systems: Intro to Distributed Systems

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

Distribution transparency. Degree of transparency. Openness of distributed systems

Network Attached Storage. Jinfeng Yang Oct/19/2015

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

GROUPWARE. Ifeoluwa Idowu

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

OPERATING SYSTEMS Internais and Design Principles

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

Virtual machine interface. Operating system. Physical machine interface

Distributed Operating Systems

A distributed system is defined as

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

Lecture 2 Parallel Programming Platforms

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems

Network File System (NFS) Pradipta De

Mobile and Heterogeneous databases Database System Architecture. A.R. Hurson Computer Science Missouri Science & Technology

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

Scalability and Classifications

Storage Virtualization from clusters to grid

Distributed Databases

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

E) Modeling Insights: Patterns and Anti-patterns

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Chapter 11 Distributed File Systems. Distributed File Systems

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

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

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

Big data management with IBM General Parallel File System

NZQA Expiring unit standard 6857 version 4 Page 1 of 5. Demonstrate an understanding of local and wide area computer networks

SERVER CLUSTERING TECHNOLOGY & CONCEPT

CSE 3461 / 5461: Computer Networking & Internet Technologies

Advanced Core Operating System (ACOS): Experience the Performance

1 Organization of Operating Systems

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

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

Introduction to Network Management

BBM467 Data Intensive ApplicaAons

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

1.5 Distributed Systems

Middleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. technische universität dortmund. fakultät für informatik informatik 12

June Blade.org 2009 ALL RIGHTS RESERVED

Introduction to Parallel and Distributed Databases

ICS 153 Introduction to Computer Networks. Inst: Chris Davison

IOS110. Virtualization 5/27/2014 1

Final Report. Cluster Scheduling. Submitted by: Priti Lohani

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

Virtual Machine in Data Center Switches Huawei Virtual System

Principles of Operating Systems CS 446/646

Scaling Networking Applications to Multiple Cores

High Availability Databases based on Oracle 10g RAC on Linux

Massive Data Storage

G Porcupine. Robert Grimm New York University

CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level. -ORACLE TIMESTEN 11gR1

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

Contents. Chapter 1. Introduction

Exploiting Remote Memory Operations to Design Efficient Reconfiguration for Shared Data-Centers over InfiniBand

LinuxWorld Conference & Expo Server Farms and XML Web Services

Desktop Virtualization Technologies and Implementation

Berkeley Ninja Architecture

Network Station - Thin Client Computing - Overview

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

- An Essential Building Block for Stable and Reliable Compute Clusters

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

JoramMQ, a distributed MQTT broker for the Internet of Things

Interconnection Networks

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

Data Management in an International Data Grid Project. Timur Chabuk 04/09/2007

RAMCloud and the Low- Latency Datacenter. John Ousterhout Stanford University

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Server Virtualization with VMWare

CMSC 611: Advanced Computer Architecture

Computer Systems Structure Input/Output

This paper defines as "Classical"

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis. Freitag, 14. Oktober 11

Distributed Systems [Fall 2012]

Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju

Developing Scalable Java Applications with Cacheonix

Computer Science 4302 Operating Systems. Student Learning Outcomes

Integrated Application and Data Protection. NEC ExpressCluster White Paper

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems

Transcription:

Adapted from:operating Systems: Internals and Design Principles, 6/E William Stallings CS571 Fall 2010 Client/Server and Distributed Computing Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall

Traditional Data Processing Traditionally, data processing was centralised (much still is!) Typically involving centralised Computers Processing and management Data When did this change? and change again? and again?

Distributed Data Processing Distributed Data Processing (DDP) departs from the centralised model in multiple ways. Usually smaller computers, dispersed throughout an organization is this better? why or why not? May involve many central node(s) with satellites, or be a dispersed peer to peer architecture Interconnection(s) required Private and public Dedicated, intranet, internet

Advantages of DDP (?) Responsiveness Availability Resource Sharing Incremental growth Increased user involvement and control End-user productivity Any disadvantages?

Client/Server Computing Client machines are generally single-user workstations providing a user-friendly (?) interface to the end user Each server provides a set of shared services to the clients enables many clients to share access to the same database enables the use of a high-performance computer system to manage a database

Generic Client/Server Environment

Client/Server Applications The key feature of a client/server architecture is the allocation of applicationlevel tasks between clients and servers. Hardware 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

Generic Client/Server Architecture

Client/Server Applications Bulk of applications software executes on the server Application logic may be located at the client and/or the server Presentation services almost always in the client Recall the MVC design pattern This is the Web model

Database Applications The server(s) can be database server(s) Most common family of client/server applications Interaction is in the form of transactions the client makes a database request and receives a database response from server(s) Server(s) responsible for maintaining the database state (NOT THE CLIENT!!)

Architecture for Database Applications

Three-tier (Web) Client/Server Architecture Application software distributed among three types of machines User machine (VIEW) Thin client, browser Middle-tier server (CONTROLLER) Gateway Convert protocols Merge/integrate results from different data sources Data server (MODEL)

Three-tier Client/Server Architecture

File Cache Consistency! File caches hold recently accessed file records Caches are consistent when they contain exact copies of remote data File-locking prevents simultaneous access to a file However remember cache consistency problem! and its performance impact

Is Caching Scalable? As # of systems, users, processes grows, file & cache locking become bottlenecks Brewer s CAP Theorem: Consistency, Availability, Partitionability choose any TWO, can t do the third!! leads to idea of eventual consistency Given a sufficiently long period of time, over which no updates are sent, we expect that during this period, all updates will, eventually, propagate through the system and all the replicas will be consistent In database terminology, this is known as BASE (Basically Available, Soft state, Eventual consistency), as opposed to the database concept of ACID (Atomicity, Consistency, Isolation, Durability)

Interprocess Communication (IPC) Usually computers involved in DDP do not share a main memory They are isolated computers But some database and other applications do use shared memory services IPC relies on message passing

Distributed Message Passing

Basic Message-Passing Primitives

Reliability vs.. Unreliability Reliable message-passing guarantees delivery if possible But acknowledgement is a performance issue Unreliable : Send the message out into the communication network without reporting success or failure Reduces complexity and overhead Like the UDP protocol

Nonblocking Blocking vs.. Nonblocking Process is not suspended as a result of issuing a Send or Receive Efficient and flexible Difficult to debug!

Blocking Blocking vs.. Nonblocking 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 Blocking and NonBlocking protocols used many places in computer architectures

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

RPC Architecture

Remote Procedure Call Mechanism

Synchronous versus Synchronous RPC Asynchronous 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

Clusters Alternative to symmetric multiprocessing (SMP) Group of interconnected, whole computers working together as a unified computing resource Illusion of one machine Each system can run on its own Digital s early VAX/VMS Cluster is archetype took many years for UNIX/Linux to catch up

Benefits of Clusters Absolute Scalability (?) Larger than any single device is possible Incremental scalability System can grow by adding new nodes High availability Failure of one node is not critical to system Superior price/performance Using commodity equipment

Cluster Classification Numerous approaches to classification. Simplest is based on shared disk access

Clustering Methods: Benefits and Limitations

Clustering Methods: Benefits and Limitations

Beowulf and Linux Clusters Initiated in 1994 by NASA s High Performance Computing and Communications project To investigate the potential for clustered PC s to perform computational tasks beyond the capacity of typical workstations at minimal cost The project was a success!

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

Beowulf Features Dedicated processors and network Scalable I/O (Lustre file system) A freely available software base Beowulf, Sun Grid Engine, IBM Globus, Use freely available distribution computing tools with minimal changes Open Source (Community Developed): Return of the design and improvements to the community

Generic Beowulf Configuration

The Fallacies of Distributed Computing (In other words, don t make these mistaken assumptions!) The Network is Reliable Latency is Zero Bandwidth is Infinite The Network is Secure Topology doesn t change There is One administrator Transport cost is Zero The Network is Homogeneous (Gosling) Location is Irrelevant (Foxwell) All system clocks are synchronized (Unknown)

The Fallacies of Distributed Computing (In other words, don t make these mistaken assumptions!) The Network is Reliable: things break (HW &SW); design for failure Latency is Zero: Speed of Light limit! 30+ ms RT US to Europe Bandwidth is Infinite: No, due to packet loss (Shannon 1948!) The Network is Secure: 50% enterprises secure only their perimeter Topology doesn t change: changes constantly! new devices, routes There is One administrator: multiservice apps (mashups) Transport cost is Zero: someone is paying for all this! The Network is Homogeneous (Gosling): multiple OS, apps, browsers.. Location is Irrelevant (Foxwell): Jurisdiction is important! All system clocks are synchronized (Unknown): what time is it really?