Distributed Information Processing

Similar documents
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 3 Processes

殷亚凤. Processes. Distributed Systems [3]

Dr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes

Distributed Systems Principles and Paradigms

Verteilte Systeme (Distributed Systems)

Distributed Information Processing

Distributed Information Processing

Distributed Systems. Edited by. Ghada Ahmed, PhD. Fall (3rd Edition) Maarten van Steen and Tanenbaum

Distributed Information Processing

엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University COPYRIGHTS 2017 EOM, HYEONSANG ALL RIGHTS RESERVED

Process Characteristics. Threads Chapter 4. Process Characteristics. Multithreading vs. Single threading

Threads Chapter 4. Reading: 4.1,4.4, 4.5

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

Threads Chapter 5 1 Chapter 5

Discussion CSE 224. Week 4

Module 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication

Module 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication

Chapter 4: Threads. Operating System Concepts 9 th Edit9on

Applications, services. Middleware. OS2 Processes, threads, Processes, threads, communication,... communication,... Platform

Chapter 4: Processes. Process Concept

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues

Chapter 4: Processes

Distributed System: Definition

Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors

DISTRIBUTED COMPUTER SYSTEMS

MultiThreading. Object Orientated Programming in Java. Benjamin Kenwright

Process Characteristics

CS533 Concepts of Operating Systems. Jonathan Walpole

CS533 Concepts of Operating Systems. Jonathan Walpole

یس تاروتسد (تاروتسد زا

Threads, SMP, and Microkernels

Distributed Systems COMP 212. Lecture 18 Othon Michail

Process Description and Control

Distributed Information Processing

Distributed Systems Operation System Support

Operating System. Chapter 4. Threads. Lynn Choi School of Electrical Engineering

CC755: Distributed and Parallel Systems

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Processes & Threads. Recap of the Last Class. Microkernel System Architecture. Layered Structure

Multithreaded Programming

OPERATING SYSTEM. Chapter 4: Threads

Figure 6.1 System layers

Delft-Java Link Translation Buffer

Semantics of fork() and exec()

Threads. studykorner.org

CSE 120 Principles of Operating Systems

Chapter 3 Parallel Software

Outline. Interprocess Communication. Interprocess Communication. Communication Models: Message Passing and shared Memory.

CSE 120 Principles of Operating Systems

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

CSE398: Network Systems Design

I.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed CHAPTER 4: MULTITHREADED PROGRAMMING

Operating Systems 2 nd semester 2016/2017. Chapter 4: Threads

DISTRIBUTED SYSTEMS PRINCIPLES AND PARADIGMS

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Software Architecture

Lecture 2 Process Management

May Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group

ICS Principles of Operating Systems

FlexSC. Flexible System Call Scheduling with Exception-Less System Calls. Livio Soares and Michael Stumm. University of Toronto

SMD149 - Operating Systems - Memory

Threads. Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows. 2/13/11 CSE325 - Threads 1

Operating Systems, Fall

ABOUT CORE JAVA COURSE SCOPE:

Operating Systems, Fall

4. Concurrency via Threads

Concepts of Distributed Systems 2006/2007

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

Last class: Today: Thread Background. Thread Systems

EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture)

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

CS5460: Operating Systems

Last Class: RPCs. Today:

Processes and Threads. Processes: Review

ECE519 Advanced Operating Systems

Chapter 4 Threads, SMP, and

Chapter 4: Threads. Chapter 4: Threads

Chapter 5: Processes & Process Concept. Objectives. Process Concept Process Scheduling Operations on Processes. Communication in Client-Server Systems

Architectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University

Last Class: RPCs. Today:

Operating Systems. VI. Threads. Eurecom. Processes and Threads Multithreading Models

Types of Virtualization. Types of virtualization

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

CS Lecture 3! Threads! George Mason University! Spring 2010!

SHARED ADDRESS TRANSLATION REVISITED

02 - Distributed Systems

Kernel Level Speculative DSM

02 - Distributed Systems

Element: Relations: Topology: no constraints.

OS Extensibility: SPIN and Exokernels. Robert Grimm New York University

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Lecture 7: February 10

Chapter 3 Process Description and Control

PROCESSES AND THREADS THREADING MODELS. CS124 Operating Systems Winter , Lecture 8

CS399 New Beginnings. Jonathan Walpole

CS3600 SYSTEMS AND NETWORKS

Cloud Computing Virtualization

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Transcription:

Distributed Information Processing 7 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2017 Eom, Hyeonsang All Rights Reserved

Outline Processes Multithreading Virtualization Clients Servers Q&A

Thread Usage in Nondistributed Systems Context switching as the result of IPC Context switch requires changing the memory map in the MMU (Memory Management Unit) and flushing the TLB (Translation Lookaside Buffer)

Thread Implementation User-Level Threads Being Executed Entirely in User Space It is cheap to create and destroy threads Switching can often be done efficiently Invocation of a blocking system call blocks all Having the Kernel Aware of Threads and Schedule Them Switching may become expensive Lightweight Process (LWP) Hybrid Form of User and Kernel-Level Threads Each LWP can run its own (user-level) thread Synchronization does not require kernel support

Thread Implementation (Cont d) Combining kernel-level lightweight processes and user-level threads Tread doing a blocking system call still continues in the context of the current LWP. In switching, the selected LWP will simply continue where it had previously left off

Multithreaded Servers A multithreaded server organized in a dispatcher/worker model

Multithreaded Servers (Cont d) The process is being operated as a finite state machine that gets an event and then react to it, depending on what is in it; this approach performs well, but is hard to program Three ways to construct a server

The Role of Virtualization in Distributed Systems General organization between a program, interface, and system. (b) General organization of virtualizing system A on top of system B

Architectures of Virtual Machines Interfaces at Different Levels An interface between the hardware and software consisting of machine instructions that can be invoked by any program An interface between the hardware and software, consisting of machine instructions that can be invoked only by privileged programs, such as an operating system

Architectures of Virtual Machines (Cont d)) Interfaces at Different Levels (Cont d) An interface consisting of system calls as offered by an operating system An interface consisting of library calls generally forming what is known as an application programming interface (API) In many cases, the aforementioned system calls are hidden by an API

Architectures of Virtual Machines (Cont d) Various interfaces offered by computer systems

Architectures of Virtual Machines (Cont d) Instructions can be interpreted (as is the case for the Java executing applications), but could also be emulated mimicking the behavior of system calls (a) A process virtual machine, with multiple instances of (application, runtime) combinations

Architectures of Virtual Machines (Cont d) (b) A virtual machine monitor, with multiple instances of (applications, operating system) combinations

Networked User Interfaces (a) A networked application with its own protocol

Networked User Interfaces (Cont d) Thin-Client Approach (b) A general solution to allow access to remote applications

Example: The X Window System The basic organization of the X Window System

Client-Side Software for Distribution Transparency Transparent replication of a server using a client-side solution

General Design Issues (a) Client-to-server binding using a daemon

General Design Issues (Cont d) (b) Client-to-server binding using a superserver

Server Clusters The general organization of a three-tiered server cluster

Server Clusters (Cont d) The principle of TCP handoff

Distributed Servers Route optimization in a distributed server