Process/Code Migration and Cloning

Slides:



Advertisements
Similar presentations
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
Advertisements

Chap 2 System Structures.
Department of Computer Science Southern Illinois University Edwardsville Spring, 2010 Dr. Hiroshi Fujinoki CS 547/490 Network.
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.
Multiprocessors ELEC 6200: Computer Architecture and Design Instructor : Agrawal Name: Nam.
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.
CS 603 Threads, Processes, and Agents March 18, 2002.
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.
Give an example to show the advantages to using multithreaded Clients See page 142 of the core book (Tanebaum 2002).
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Threads Many software packages are multi-threaded Web browser: one thread display images, another thread retrieves data from the network Word processor:
MIPS R3000 Subroutine Calls and Stack Department of Computer Science Southern Illinois University Edwardsville Fall, 2015 Dr. Hiroshi Fujinoki
CS 447 Networks and Data Communication
Chapter 2 (PART 1) Light-Weight Process (Threads) Department of Computer Science Southern Illinois University Edwardsville Summer, 2004 Dr. Hiroshi Fujinoki.
Computer Science Lecture 8, page 1 CS677: Distributed OS Last Class Threads –User-level, kernel-level, LWPs Multiprocessor Scheduling –Cache affinity –Preemption.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
Parallel Computers Organizations and Architecture Department of Computer Science Southern Illinois University Edwardsville Summer, 2015 Dr. Hiroshi Fujinoki.
CS 447 Networks and Data Communication ARP (Address Resolution Protocol) for the Internet Department of Computer Science Southern Illinois University Edwardsville.
1 Process migration n why migrate processes n main concepts n PM design objectives n design issues n freezing and restarting a process n address space.
Department of Computer Science Southern Illinois University Edwardsville Spring, 2010 Dr. Hiroshi Fujinoki IPC1.PPT/001 Inter-Process.
Code Migration Russell T. Potee, III. Overview Why Code Migration? Code Migration Models Migration and Handling Resources Heterogeneous Systems Migration.
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
Chapter 1 (PART 1) Introduction to OS (concept, evolution, some keywords) Department of Computer Science Southern Illinois University Edwardsville Summer,
Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Uniprocessor Process Management & Process Scheduling Department of Computer Science Southern Illinois University Edwardsville Spring, 2016 Dr. Hiroshi.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
OPERATING SYSTEMS CS 3502 Fall 2017
OPERATING SYSTEMS CS 3502 Fall 2017
Processes and threads.
Operating Systems (CS 340 D)
CS 286 Computer Organization and Architecture
Operating Systems (CS 340 D)
CS 447 Networks and Data Communication
CS 286 Computer Organization and Architecture
CS 286: Memory Paging and Virtual Memory
Operating Systems (CS 340 D)
CS 286 Computer Organization and Architecture
Distributed System Structures 16: Distributed Structures
ICS 143 Principles of Operating Systems
Prof. Leonardo Mostarda University of Camerino
CS 286 Computer Organization and Architecture
CS 286 Computer Organization and Architecture
CS 286 Computer Architecture & Organization
CS 286 Computer Organization and Architecture
Instruction Rescheduling and Loop-Unroll
Reducing pipeline hazards – three techniques
Uniprocessor Process Management & Process Scheduling
CS 286 Computer Organization and Architecture
Introduction to OS (concept, evolution, some keywords)
Process Synchronization
Real-Time Process Scheduling Concepts, Design and Implementations
Middleware and ORB CS 314 Operating Systems
Introduction to OS (concept, evolution, some keywords)
Department of Computer Science
Implementation of page-replacement algorithms and Belady’s anomaly
OS Boot Sequence and File System
Department of Computer Science
Operating System Concepts
Threads: Light-Weight Processes
Operating System Concepts
Real-Time Process Scheduling Concepts, Design and Implementations
Process Synchronization
OS Boot Sequence and File System
Light-Weight Process (Threads)
Middleware and ORB CS 314 Operating Systems
Uniprocessor Process Management & Process Scheduling
MIPS R3000 Subroutine Calls and Stack
Presentation transcript:

Process/Code Migration and Cloning CS 314 Operating Systems Process/Code Migration and Cloning Department of Computer Science Southern Illinois University Edwardsville Fall, 2018 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu Migration/001

CS 314 Operating Systems Migration & Cloning Migration Only one active copy can exist at a time Process/Code Segment Transferred Migration/002

CS 314 Operating Systems Migration & Cloning Cloning Multiple active copies can exist at a time Process/Code Segment  Transferred   The same portions of a process can be executed in parallel Migration/003

CS 314 Operating Systems Why Code/Process Migration and Cloning To distribute processor usage (jobs at a processor (or a “computer host”) can be moved to another processor) To reduce data transmission delay (Example: networked graphic-based applications) Data Process Migration/004

CS 314 Operating Systems Why Code/Process Migration or Cloning To distribute processor usage (jobs at a processor (or a “computer host”) can be moved to another processor) To reduce data transmission delay (Example: networked graphic-based applications) Process Process Data Migration/005

Metrics for Code/Process Migration and Cloning CS 314 Operating Systems Decision-making Factors  When to transfer code?  Which code to transfer?  Where to transfer code? “Transfer Policy” deal with this “Selection Policy” deals with this “Location Policy” deals with this Metrics for Code/Process Migration and Cloning Short-Term Scheduler Queue Processor Processor Processor Process/Code (a) Processor Utilization (b) Degree of Multitasking (c) Scheduler Queue Length Migration/006

CS 314 Operating Systems Code and Process Migration Remote Host Local Host Remote Host Process Migration Transmission (Migration) Delay () Local Execution Time () Remote Process () Transferring results Transmission (Migration) Delay () Migrated Execution Time =  +  + Migration/007

Each process consists of: CS 314 Operating Systems Code and Process Migration What can be migrated ()? What can not be migrated ()? Each process consists of:   Program codes (machine instruction codes)   Program data and data structures (heap and stack memory areas)   Local resources reserved and being used by this process  - Depends on types of process/code migration Migration/008

Total Time using Process Migration () CS 314 Operating Systems Code and Process Migration Process Code Migration: Only a portion of a process is migrated Code Migration Local Host Remote Host Code Code Migration Total Time using Process Migration () Remote Process () Transferring results Local Execution Time () Transferring results Advantages (1) Migration delay can be improved (2) Less processor resource needed in a remote host (3) Execution time using migration () takes less time Migration/009

CS 314 Operating Systems Models for Process/Code Migration Weak Internal Execution (as Target Process) Models for Process/Code Migration Sender-Initiated (PUSH Model) External Execute (as Separate Process) Weak Mobility Strong Receiver-Initiated (PULL Model) Internal Execute (as Target Process) External Execution (as Separate Process) Code Migration Migrate Process Sender-Initiated (PUSH Model) Clone Process Migrate Process Clone Process Receiver-Initiated (PULL Model) Migration/010

CS 314 Operating Systems Weak Mobility Process/code migration where only the program codes are transferred Code Migration: Process Migration: Segments of code must be started from its initial state (from the state it has not been started) Whole processes must be started from its initial state (e.g., only a function in a program is remotely executed) Process/Code Segment Transferred Any pre-generated parameter value can not be migrated (must start with initialization) It’s not necessary where to start Any migrated code or process must start with its initial state Migration/011

CS 314 Operating Systems Strong Mobility Process/code migration where both program codes and data structures are transferred Process/Code Migration: A migrated segment of code can be: Started at any point Stopped at any point Resumed at any point Process/Code Segment Migrated Migrated Migration/012

CS 314 Operating Systems Summary: Code/Process Mobility Weak Mobility Strong Mobility  Only program codes  Program codes What are migrated?  Data to be processed When to migrate?  Before execution only  Any time (after a program starts running, it can be migrated any time) Migration/012

CS 314 Operating Systems Internal & External Execution Migrated code/process are executed w/in the remote-host software’s address space Internal Execution Example: Java-Script Remote Host Software Local Host Remote Host Process/Code Segment Transferred Migration/013

CS 314 Operating Systems Internal & External Execution The new process/code is executed as a new independent process Example: various “plug-ins” (e.g., Adobe Flash Player) External Execution Remote Host Software Request Transferred (the name of the program) Data to be processed transferred Process/Code Segment Local Host Remote Host  A local (origin) host requests a program to start at a remote host.  A local (origin) host sends data to be processed at a remote host after the program starts at a remote host. New process is created Migration/014

CS 314 Operating Systems Push and Pull Models Push Model When the current processor’s utilization or waiting queue length exceeds some threshold, the current busy processor requests another processor to adopt some code or processes Push Pull When a processor’s utilization or waiting queue length goes below some threshold, the idle processor requests other processors to migrate some code or processes Migration/015