Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Processes Threads & OS Threads in distributed systems Object servers Code migration Software.
Processes: Code Migration Chapter 3 Will Cameron CSC 8530 Dr. Schragger.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Describe the concept of lightweight process (LWP) and the advantages to using LWPs Lightweight process (LWP) lies in a hybrid form of user-level & kernel-level.
Computer Science Lecture 6, page 1 CS677: Distributed OS Processes and Threads Processes and their scheduling Multiprocessor scheduling Threads Distributed.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Threads Clients Servers Code Migration Software Agents Summary
EECS122 - UCB 1 CS 194: Distributed Systems Processes, Threads, Code Migration Computer Science Division Department of Electrical Engineering and Computer.
Computer Science Lecture 8, page 1 CS677: Distributed OS Code and Process Migration Motivation How does migration occur? Resource migration Agent-based.
Processes After today’s lecture, you are asked to know The basic concept of thread and process. What are the advantages of using multi-threaded client.
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
Processes After today’s lecture, you are asked to know
CS 603 Threads, Processes, and Agents March 18, 2002.
Processes. Communication takes place between processes. But, what’s a process? “A program in execution” Traditional operating systems: concerned with.
Processes After today’s lecture, you are asked to know The basic concept of thread and process. What are the advantages of using multi-threaded client.
Processes After today’s lecture, you are asked to know The basic concept of thread and process. What are the advantages of using multi-threaded client.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
Threads CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Give an example to show the advantages to using multithreaded Clients See page 142 of the core book (Tanebaum 2002).
1 Distributed Systems: Distributed Process Management – Process Migration.
Processes.
CS510 Concurrent Systems Jonathan Walpole. Lightweight Remote Procedure Call (LRPC)
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Computer System Architectures Computer System Software
Computer Engineering Department Distributed Systems Course
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
Processes, Threads and Virtualization
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Kyung Hee University 1/57 Communication Chapter 3.
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
Computer Science Lecture 8, page 1 CS677: Distributed OS Last Class Threads –User-level, kernel-level, LWPs Multiprocessor Scheduling –Cache affinity –Preemption.
Processes Chapter 3. Table of Contents Multithreading Clients and Servers Code Migration Software Agents (special topic)
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Processes. Processes and threads Process forms a building block in distributed systems Processes granularity is not sufficient for distributed systems.
Code Migration Russell T. Potee, III. Overview Why Code Migration? Code Migration Models Migration and Handling Resources Heterogeneous Systems Migration.
Distributed Systems Principles and Paradigms Chapter 03 Processes 00 – 1.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
1 Reasons for Migrating Code The principle of dynamically configuring a client to communicate to a server. The client first fetches the necessary software,
Operating Systems CSE 411 CPU Management Sept Lecture 10 Instructor: Bhuvan Urgaonkar.
Distributed (Operating) Systems -Virtualization- -Server Design Issues- -Process and Code Migration- Computer Engineering Department Distributed Systems.
1 Chapter 3 Processes Dowon Cho (RTMM Lab) & Jongwon Lee (SE Lab)
Acknowledgement: These slides are adapted from slides provided in Thißen & Spaniol's course Distributed Systems and Middleware, RWTH Aachen Processes Distributed.
Processes, Threads and Virtualization Chapter The role of processes in distributed systems.
Background Computer System Architectures Computer System Software.
Processes Chapter 3. Processes in Distributed Systems Processes and threads –Introduction to threads –Distinction between threads and processes Threads.
1 Chapter 5: Threads Overview Multithreading Models & Issues Read Chapter 5 pages
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Processes Chapter 3.
Processes and Threads Processes and their scheduling
CS533 Concepts of Operating Systems
Operating System Concepts
Introduction to Operating Systems
Processes Chapter 3.
Fast Communication and User Level Parallelism
Multithreaded Programming
Processes Chapter 3.
Processes Chapter 3.
Database System Architectures
Process/Code Migration and Cloning
CS703 – Advanced Operating Systems
Presentation transcript:

Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One or more caches: cache affinity is important –Semaphores/locks typically implemented as spin-locks: preemption during critical sections

Computer Science Lecture 7, page 2 CS677: Distributed OS Multiprocessor Scheduling Central queue – queue can be a bottleneck Distributed queue – load balancing between queue

Computer Science Lecture 7, page 3 CS677: Distributed OS Scheduling Common mechanisms combine central queue with per processor queue (SGI IRIX) Exploit cache affinity – try to schedule on the same processor that a process/thread executed last Context switch overhead –Quantum sizes larger on multiprocessors than uniprocessors

Computer Science Lecture 7, page 4 CS677: Distributed OS Parallel Applications on SMPs Effect of spin-locks: what happens if preemption occurs in the middle of a critical section? –Preempt entire application (co-scheduling) –Raise priority so preemption does not occur (smart scheduling) –Both of the above Provide applications with more control over its scheduling –Users should not have to check if it is safe to make certain system calls –If one thread blocks, others must be able to run

Computer Science Lecture 7, page 5 CS677: Distributed OS Code and Process Migration Motivation How does migration occur? Resource migration Agent-based system Details of process migration

Computer Science Lecture 7, page 6 CS677: Distributed OS Motivation Key reasons: performance and flexibility Process migration (aka strong mobility) –Improved system-wide performance – better utilization of system-wide resources –Examples: Condor, DQS Code migration (aka weak mobility) –Shipment of server code to client – filling forms (reduce communication, no need to pre-link stubs with client) –Ship parts of client application to server instead of data from server to client (e.g., databases) –Improve parallelism – agent-based web searches

Computer Science Lecture 7, page 7 CS677: Distributed OS Motivation Flexibility –Dynamic configuration of distributed system –Clients don’t need preinstalled software – download on demand

Computer Science Lecture 7, page 8 CS677: Distributed OS Migration models Process = code seg + resource seg + execution seg Weak versus strong mobility –Weak => transferred program starts from initial state Sender-initiated versus receiver-initiated Sender-initiated (code is with sender) –Client sending a query to database server –Client should be pre-registered Receiver-initiated –Java applets –Receiver can be anonymous

Computer Science Lecture 7, page 9 CS677: Distributed OS Who executed migrated entity? Code migration: –Execute in a separate process –[Applets] Execute in target process Process migration –Remote cloning –Migrate the process

Computer Science Lecture 7, page 10 CS677: Distributed OS Models for Code Migration Alternatives for code migration.

Computer Science Lecture 7, page 11 CS677: Distributed OS Do Resources Migrate? Depends on resource to process binding –By identifier: specific web site, ftp server –By value: Java libraries –By type: printers, local devices Depends on type of “attachments” –Unattached to any node: data files –Fastened resources (can be moved only at high cost) Database, web sites –Fixed resources Local devices, communication end points

Computer Science Lecture 7, page 12 CS677: Distributed OS Resource Migration Actions Actions to be taken with respect to the references to local resources when migrating code to another machine. GR: establish global system-wide reference MV: move the resources CP: copy the resource RB: rebind process to locally available resource UnattachedFastenedFixed By identifier By value By type MV (or GR) CP ( or MV, GR) RB (or GR, CP) GR (or MV) GR (or CP) RB (or GR, CP) GR RB (or GR) Resource-to machine binding Process-to- resource binding

Computer Science Lecture 7, page 13 CS677: Distributed OS Migration in Heterogeneous Systems Systems can be heterogeneous (different architecture, OS) –Support only weak mobility: recompile code, no run time information –Strong mobility: recompile code segment, transfer execution segment [migration stack] –Virtual machines - interpret source (scripts) or intermediate code [Java]