Computer Science Lecture 8, page 1 CS677: Distributed OS Code and Process Migration Motivation How does migration occur? Resource migration Agent-based.

Slides:



Advertisements
Similar presentations
CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Processes Threads & OS Threads in distributed systems Object servers Code migration Software.
Advertisements

Processes: Code Migration Chapter 3 Will Cameron CSC 8530 Dr. Schragger.
SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
DT228/3 Web Development WWW and Client server model.
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.
1 DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 3 Processes Skip
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.
Processes Chapter 3. Thread Usage in Nondistributed Systems Context switching as the result of IPC –Process: a running program (mgmt. unit of OS) –Thread:
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.
Processes Chapter 3.
Chapter 3  Processes 1 Processes Chapter 3 Chapter 3  Processes 2 Introduction  A process is a program in execution  For OS important issues are.
1 Processes and Distributed Computing Issues: moving processes around design of server and client processes migration of processes/programs agent programs.
Give an example to show the advantages to using multithreaded Clients See page 142 of the core book (Tanebaum 2002).
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Processes.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
MADE Mobile Agents based system for Distance Evaluation Vikram Jamwal KReSIT, IIT Bombay Guide : Prof. Sridhar Iyer.
Computer Engineering Department Distributed Systems Course
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Processes, Threads and Virtualization
Chapter Intranet Agents. Chapter Background Intranet: an internal corporate network based on Internet technology. Typically, an intranet can.
1 Processes Chapter 3. 2 Processes  Communication takes place between processes. But, what ’ s a process?  “ A program in execution ”  Traditional.
Kyung Hee University 1/57 Communication Chapter 3.
1 Distributed Systems Processes Chapter 3. 2 Course/Slides Credits Note: all course presentations are based on those developed by Andrew S. Tanenbaum.
EEL 5937 What makes an agent? EEL 5937 Multi Agent Systems Lotzi Bölöni.
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 Chapter 3. Thread Usage in Nondistributed Systems Context switching as the result of IPC.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Processes Chapter 3. Processes  OS provides concurrency transparency of multiple processes (sharing CPU, memory)  High price  Process creation  Context.
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
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.
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Processes Chapter 3. Processes Process: Program in execution. In DSs, more concepts come into consideration, eg. Multi-treading, process migration, code.
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
1 Reasons for Migrating Code The principle of dynamically configuring a client to communicate to a server. The client first fetches the necessary software,
Processes Chapter 3. Processes Topics discussed in this chapter: –Threads improve performance. In distributed systems threads allow clients can servers.
Distributed (Operating) Systems -Virtualization- -Server Design Issues- -Process and Code Migration- Computer Engineering Department Distributed Systems.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
1 Chapter 3 Processes Dowon Cho (RTMM Lab) & Jongwon Lee (SE Lab)
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
EEL 5937 Mobile agents EEL 5937 Multi Agent Systems Lotzi Bölöni.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
Processes, Threads and Virtualization Chapter The role of processes in distributed systems.
Processes Chapter 3. Processes  Process is a program in running state  PROCESSES ARE THE BUILDING BLOCKS OF DISTRIBUTED SYSTEMS, ESPECIALLY IN unix.
Processes Chapter 3.
PHP / MySQL Introduction
Database Driven Websites
Processes Chapter 3.
Internet Protocols IP: Internet Protocol
Processes Chapter 3.
Lecture 4 – Bond Agents What is a software agent? Mobility
Processes Chapter 3.
Process/Code Migration and Cloning
Presentation transcript:

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

Computer Science Lecture 8, page 2 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 8, page 3 CS677: Distributed OS Motivation Flexibility –Dynamic configuration of distributed system –Clients don’t need preinstalled software – download on demand

Computer Science Lecture 8, page 4 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 8, page 5 CS677: Distributed OS Who executes migrated entity? Code migration: –Execute in a separate process –[Applets] Execute in target process Process migration –Remote cloning –Migrate the process

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

Computer Science Lecture 8, page 7 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 8, page 8 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 8, page 9 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]

Computer Science Lecture 8, page 10 CS677: Distributed OS Agents Software agents –Autonomous process capable of reacting to, and initiating changes in its environment, possibly in collaboration –More than a “process” – can act on its own Mobile agent –Capability to move between machines –Needs support for strong mobility –Example: D’Agents (aka Agent TCL) Support for heterogeneous systems, uses interpreted languages

Computer Science Lecture 8, page 11 CS677: Distributed OS Software Agents in Distributed Systems Some important properties by which different types of agents can be distinguished. Property Common to all agents? Description AutonomousYesCan act on its own ReactiveYesResponds timely to changes in its environment ProactiveYesInitiates actions that affects its environment CommunicativeYesCan exchange information with users and other agents ContinuousNoHas a relatively long lifespan MobileNoCan migrate from one site to another AdaptiveNoCapable of learning

Computer Science Lecture 8, page 12 CS677: Distributed OS Agent Technology The general model of an agent platform (adapted from [fipa98-mgt]).

Computer Science Lecture 8, page 13 CS677: Distributed OS Agent Communication Languages (1) Examples of different message types in the FIPA ACL [fipa98-acl], giving the purpose of a message, along with the description of the actual message content. Message purposeDescriptionMessage Content INFORMInform that a given proposition is trueProposition QUERY-IFQuery whether a given proposition is trueProposition QUERY-REFQuery for a give objectExpression CFPAsk for a proposalProposal specifics PROPOSEProvide a proposalProposal ACCEPT-PROPOSALTell that a given proposal is acceptedProposal ID REJECT-PROPOSALTell that a given proposal is rejectedProposal ID REQUESTRequest that an action be performedAction specification SUBSCRIBESubscribe to an information sourceReference to source

Computer Science Lecture 8, page 14 CS677: Distributed OS Agent Communication Languages (2) A simple example of a FIPA ACL message sent between two agents using Prolog to express genealogy information. FieldValue PurposeINFORM LanguageProlog Ontologygenealogy Contentfemale(beatrix),parent(beatrix,juliana,bernhard)