ebook img

NASA Technical Reports Server (NTRS) 20050186730: Computational Mobility: An Overview PDF

16.8 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview NASA Technical Reports Server (NTRS) 20050186730: Computational Mobility: An Overview

Niranjan Suri S0 h m c Institute for Human & Machine Cognition http://www.i hrnc.us, Definition Movement of Data, Code, Computation, and Execution State from one System to Another Over a Network Link 1 Types of Mobility w Physical Mobility - Movement of Physical Objects in the Environment w “Logical” Mobility - Movement of Bits Over a Communications Link from One Computer to Another e Types: Data, Code, Computation, Execution State nMode: Push, Pull Mobile Data w Movement of Data From One Host to Another The Most Common Form of Mobility Encompasses everything except code, computation, state c At some level - everything is data w Not Important For Our Purposes 2 Mobility - Another Perspective RPC, Servlets, Stored Procedures A Mobile Remote Code Installation + J Checkpointing Mobile Code w Allows executable code to be moved to a new host May use the push or pull model o Pull: Applets E Push: Remote Installation Code may be binary (intermediate or native) or source 3 Mobile Code Advantages: c Dynamically change capabilities rn Download new code to add / change / update capabilities of platform Remove code when no longer needed H Problems: nSecurity concerns due to untrusted I unchecked code Code could be malicious, buggy, and/or tampered Mobile Computation Evolution of Remote Computation RPC, RSH, RMI, Servlets, Stored Procedures, CORBA Allows one system to run a computation on another system Utilize resources on remote system oCPU, memory Access resources on remote system H e Files, databases, etc. Mobile State Evolution of State Capture o Checkpointing Allows execution state of a process to be captured and moved State may be machine specific or machine independent May contain ci State of single or multiple threads Code Mobility Matrix Data Code Computation Execution t State Applets, While You’re While You’re Browsing, JavaScript, Away (WYA) Away (WYA) SETI@home Jini Push FTP Upload Remote RPC, RMI, Installation, Grid Migration Mobile Agents Computing 5 Weak -vs- Strong -vs- Forced Weak Mobility u Computing entity requests movement c1 Entity “restarts” execution after move operation o Combines Mobile Code and Mobile Computation Strong Mobility Computing entity requests movement u Execution continues after movement ci Combines Mobile Code, Mobile Computation, and Mobile State Forced Mobility ii External, asynchronous request for movement Execution continues after movement Computing entity may not be aware of movement u Combines Mobile Code, Mobile Computation, and Mobile State I Weak -vs- Strong -vs- Forced RPC, Servlets, Weak Stored Procedures Mobility c Process 9i SFtororcnegd I j Migration Mobility 0 I Remote Installation Checkpointing 6 Weak Mobility Example One public class Visitor { public Visitor0 I System.sut .println (“Starting”); move (“hostl”, this, “a”); I public void a 0 ( System.out .println (“On host one”) ; move (“host2”, this, ”b”); 1 public void b o t System.out.println (“On host two”); move (‘host3“. this, ”c”); I public void c 0 { System.out.println (”On host three”) ; move (“hostl”, this, “a”) ; I I Weak Mobility Example Two public class Visitor I public Visitor() ! System.out.println (“Starting”); go (“hostl”, this) ; 1 public void run0 { if !~ where == 0) ! Systern.out.println (“On host one”); ~ where = 1; go (‘host2”, this); I else if (-where == 1) ( Systern.out.println (‘On host two”) ; -w here = 2; go (“hoat3”, this): I else if ( where == 2) ( Syst&.out.println (“on host three”); where = 0; go (‘hostl”, this); 1 I private int _where = 0; 1 7 Strong Mobility Example public class Visitor { public Visitor0 { Systern.out .print111 (“Starting”); while (1) { go (“hostl”) ; System.out .println ‘On host one”); go (“host2”); Systern.out.println “On host two”); go (“host3”) ; Systern.out.print1n “On host three”) ; ) 1 ) Forced Mobility Example Visitor Not Appropriate Mobility is dictated by external entity Examples: u Survivability u Load-balancing Concrete Example - While You’re Away (WYA) ci System for utilizing idle workstations cA bstraction - roaming computations 8 VVYA Design WYA Server Job Queue 4- 6- \ Free Workstation I I I W A P rogramming Abstraction public class Mycomputation extends RoamingComputation ( public void init (String args [I ) ( // Perform any initiallzation required :?ere ) public void compute0 ( // Actual computations go here I public void reportResults0 ( // Report results bacc to the user here I I Forced Mobility Example Two public class Jumper I public Jumper0 ( System.out.println ("Starting"); new MoverO.start0; uhila (1) { Synten.out.println ("hello, world"); 1 public class Mover extends Thread i public void run0 ! for (int i = 0; i < hosts.iength; I++) ( go (hosts[i]); Thread.sleep (100); I 1 1 Process Cvcle prepare to capture I R"""l"g caplure Wrlle O"1 state Slate To T, 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.