Introduction Distributed Systems Processes & Threads

Similar documents
Chapter 11 Distributed File Systems. Distributed File Systems

1 Organization of Operating Systems

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

Network Configuration Settings

Network Technologies

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

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

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju

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

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

1 Introduction: Network Applications

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

Network Programming TDC 561

A distributed system is defined as

Chapter 6, The Operating System Machine Level

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

Resource Containers: A new facility for resource management in server systems

Star System Deitel & Associates, Inc. All rights reserved.


Virtual machine interface. Operating system. Physical machine interface

Network File System (NFS) Pradipta De

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

Design Issues in a Bare PC Web Server

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

Objectives of Lecture. Network Architecture. Protocols. Contents

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

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

Remote login (Telnet):

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

Linux MPS Firewall Supplement

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

4D Deployment Options for Wide Area Networks

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

Chapter 5: System Software: Operating Systems and Utility Programs

Chapter 18: Database System Architectures. Centralized Systems

Code and Process Migration! Motivation!

CSC 2405: Computer Systems II

Symmetric Multiprocessing

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server:

How To Understand The Concept Of A Distributed System

A Layered Architecture based on Java for Internet and Intranet Information Systems

24x7 Scheduler Multi-platform Edition 5.2

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

E) Modeling Insights: Patterns and Anti-patterns

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

Proxy Server, Network Address Translator, Firewall. Proxy Server

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Proxies. Chapter 4. Network & Security Gildas Avoine

iseries TCP/IP routing and workload balancing

Stateful Inspection Technology

PRODUCTIVITY ESTIMATION OF UNIX OPERATING SYSTEM

I/O Device and Drivers

OBSERVEIT DEPLOYMENT SIZING GUIDE

DISTRIBUTED AND PARALLELL DATABASE

A Comparison on Current Distributed File Systems for Beowulf Clusters

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

1.1.1 Introduction to Cloud Computing

A host-based firewall can be used in addition to a network-based firewall to provide multiple layers of protection.

independent systems in constant communication what they are, why we care, how they work

Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6

Operating system Dr. Shroouq J.

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

The Key Technology Research of Virtual Laboratory based On Cloud Computing Ling Zhang

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

vnas Series All-in-one NAS with virtualization platform

Operating System Software

BASIC ANALYSIS OF TCP/IP NETWORKS

Virtual Server in SP883

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

Desktop Virtualization Technologies and Implementation

Figure 41-1 IP Filter Rules

Distributed Systems Lecture 1 1

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology

DATA COMMUNICATOIN NETWORKING

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

U S E R M A N U A L. Alcatel-Lucent. Click to call plugin for OmniPCX Enterprise. User manual. Alcatel-Lucent Enterprise Services Page 1/12

theguard! ApplicationManager System Windows Data Collector

- An Essential Building Block for Stable and Reliable Compute Clusters

Port Scanning and Vulnerability Assessment. ECE4893 Internetwork Security Georgia Institute of Technology

Integrating the Internet into Your Measurement System. DataSocket Technical Overview

Internet Control Protocols Reading: Chapter 3

File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi

Virtual computers and virtual data storage

ΕΠΛ 674: Εργαστήριο 5 Firewalls

Network performance in virtual infrastructures

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Firewall

Chapter 14 Virtual Machines

An Implementation Of Multiprocessor Linux

Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, Socket Programming

Introduction to Computer Security Benoit Donnet Academic Year

Chapter 3 Operating-System Structures

Configuration Guide BES12. Version 12.3

Virtuoso and Database Scalability

Configuration Guide BES12. Version 12.2

Transcription:

Introduction Distributed Systems Processes & Threads Today Processes and Threads Clients and servers Thin-client computing Code migration

Processes and threads Distributed system A collection of independent, interconnected processors Processes virtual processors, offer concurrency transparency, at a relatively high price on performance Threads offer concurrency w/ much less transparency Applications with better performance that are harder to code/debug Advantages of multithreading No need to block with every system call Easy to exploit available parallelism in multiprocessors Cheaper communication between components than with IPC Better fit for most complex applications Alternative ways to provide threads User-, kernel-level threads, LWP and scheduler activations 2

Threads in distributed systems clients Client usage is mainly to hide network latency E.g. multithreaded web client: Web browser scans an incoming HTML page, and finds that more files need to be fetched Each file is fetched by a separate thread, each doing a (blocking) HTTP request As files come in, the browser displays them Multiple request-response calls to other machines: A client does several RPC calls at the same time, each one by a different thread It then waits until all results have been returned Note: if calls are to different servers, we may have a linear speed-up compared to doing calls one after the other 3

Threads in distributed systems servers In servers, the main issue is improved performance and better structure Improve performance: Starting a thread to handle an incoming request is much cheaper than starting a new process Having a single-threaded server prohibits simply scaling the server to a multiprocessor system As with clients: hide network latency by reacting to next request while previous one is being replied Better structure: Most servers have high I/O demands. Using simple, wellunderstood blocking calls simplifies the overall structure. Multithreaded programs tend to be smaller and easier to understand due to simplified flow of control 4

Server design Server a process that waits for incoming service requests at a specific transport address Iterative vs. concurrent servers: Iterative servers can handle only one client at a time, in contrast to concurrent servers In practice, there is a 1-to-1 mapping between port and service, e.g. ftp: 21, smtp:25 Superservers: Servers that listen to several ports, i.e., provide several independent services; start a new process to handle new requests (UNIX inetd/xinetd) For services with more permanent traffic get a dedicated server 5

Out-of-band communication How to interrupt a server once it has accepted (or is in the process of accepting) a service request? Solution 1: Use a separate port for urgent data (possibly per service request): Server has a separate thread (or process) waiting for incoming urgent messages When urgent msg comes in, associated request is put on hold Require OS supports high-priority scheduling of specific threads or processes Solution 2: Use out-of-band communication facilities of the transport layer: E.g. TCP allows to send urgent msgs in the same connection Urgent msgs can be caught using OS signaling techniques 6

Servers and state Stateless servers: Never keep accurate information about the status of a client after having handled a request: Don t record whether a file has been opened (simply close it again after access) Don t promise to invalidate a client s cache Don t keep track of your clients Consequences: Clients and servers are completely independent State inconsistencies due to client or server crashes are reduced Possible loss of performance because, e.g., a server cannot anticipate client behavior (think of prefetching file blocks) 7

Servers and state Stateful servers: Keeps track of the status of its clients: Record that a file has been opened, so that pre-fetching can be done Knows which data a client has cached, and allows clients to keep local copies of shared data Observation: The performance of stateful servers can be extremely high, provided clients are allowed to keep local copies. As it turns out, reliability is not a major problem. 8

Thin-client computing Thin-client Client and server communicate over a network using a remote display control Client sends user input, server returns screen updates Graphical display can be virtualized and served to a client Application logic is executed on the server Technology enablers Improvements in network bandwidth, cost and ubiquity High total cost of ownership for desktop computing Big business opportunity Sun Microsystems, Google, Microsoft, AT&T Virtual Network Computing, 9

Code migration Instead of passing data around, why not moving code? What for? Improve load distribution in compute-intensive systems Save network resource and response time by moving processing data closer to where the data is Improve parallelism w/o code complexities Mobile agents for web searches Dynamic configuration of distributed systems Instantiation of distributed system on dynamically available resources; binding to service-specific, client-side code at invocation time 10

Models for code migration Process seen as composed of three segments Code segment set of instructions that make up the program Resource segment references to external resources needed Execution segment state of the process (e.g. stack, PC, ) Some alternatives Weak/strong mobility code or code and execution segments Sender or receiver initiated A new process for the migration code? Cloning instead of migration 11

Question 3 What drives the market for application service providers? What would be the main factor limiting wide-area thin-client performance? 12

13