DOC PREVIEW
UMass Amherst CS 677 - Code and Process Migration

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Code and Process MigrationMotivationSlide 3Migration modelsWho executes migrated entity?Models for Code MigrationDo Resources Migrate?Resource Migration ActionsMigration in Heterogeneous SystemsAgentsSoftware Agents in Distributed SystemsAgent TechnologyAgent Communication Languages (1)Agent Communication Languages (2)CS677: Distributed OSComputer ScienceLecture 8, page 1Code and Process Migration•Motivation•How does migration occur?•Resource migration•Agent-based system•Details of process migrationCS677: Distributed OSComputer ScienceLecture 8, page 2Motivation•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 searchesCS677: Distributed OSComputer ScienceLecture 8, page 3Motivation•Flexibility –Dynamic configuration of distributed system–Clients don’t need preinstalled software – download on demandCS677: Distributed OSComputer ScienceLecture 8, page 4Migration 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 anonymousCS677: Distributed OSComputer ScienceLecture 8, page 5Who executes migrated entity?•Code migration: –Execute in a separate process –[Applets] Execute in target process•Process migration–Remote cloning–Migrate the processCS677: Distributed OSComputer ScienceLecture 8, page 6Models for Code Migration•Alternatives for code migration.CS677: Distributed OSComputer ScienceLecture 8, page 7Do 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 pointsCS677: Distributed OSComputer ScienceLecture 8, page 8Resource 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 resourceUnattached Fastened FixedBy identifierBy valueBy typeMV (or GR)CP ( or MV, GR)RB (or GR, CP)GR (or MV)GR (or CP)RB (or GR, CP)GRGRRB (or GR)Resource-to machine bindingProcess-to-resource bindingCS677: Distributed OSComputer ScienceLecture 8, page 9Migration 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]CS677: Distributed OSComputer ScienceLecture 8, page 10Agents•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 languagesCS677: Distributed OSComputer ScienceLecture 8, page 11Software Agents in Distributed Systems•Some important properties by which different types of agents can be distinguished.PropertyCommon to all agents?DescriptionAutonomous Yes Can act on its ownReactive Yes Responds timely to changes in its environmentProactive Yes Initiates actions that affects its environmentCommunicative Yes Can exchange information with users and other agentsContinuous No Has a relatively long lifespanMobile No Can migrate from one site to anotherAdaptive No Capable of learningCS677: Distributed OSComputer ScienceLecture 8, page 12Agent Technology•The general model of an agent platform (adapted from [fipa98-mgt]).CS677: Distributed OSComputer ScienceLecture 8, page 13Agent 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 purpose Description Message ContentINFORM Inform that a given proposition is true PropositionQUERY-IF Query whether a given proposition is true PropositionQUERY-REF Query for a give object ExpressionCFP Ask for a proposal Proposal specificsPROPOSE Provide a proposal ProposalACCEPT-PROPOSAL Tell that a given proposal is accepted Proposal IDREJECT-PROPOSAL Tell that a given proposal is rejected Proposal IDREQUEST Request that an action be performed Action specificationSUBSCRIBE Subscribe to an information source Reference to sourceCS677: Distributed OSComputer ScienceLecture 8, page 14Agent Communication Languages (2)•A simple example of a FIPA ACL message sent between two agents using Prolog to express genealogy information.Field ValuePurpose INFORMSender max@http://fanclub-beatrix.royalty-spotters.nl:7239Receiver elke@iiop://royalty-watcher.uk:5623Language PrologOntology genealogyContent


View Full Document

UMass Amherst CS 677 - Code and Process Migration

Download Code and Process Migration
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Code and Process Migration and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Code and Process Migration 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?