ch5 4 Fall 2007 by XM46j3gN

VIEWS: 3 PAGES: 26

									Chapter 5.4

 DISTRIBUTED PROCESS
IMPLEMENTAION



               Prepared by:
          Karthik V Puttaparthi
          kputtaparthi1@student.gsu.edu
OUTLINE
   Logical Model of Local and Remote Processes
   Application Scenarios
      Remote Service
      Remote Execution
      Process Migration
   Mobile Agents
   References
Logical Model [1]
   Front end Stub Processes facilitate the
    creation of and communication between
    processes.                  CLIENT             SERVER


 Stub Processes
  serve as a logical      Local Process     Remote Process

  link making the
  physical boundary
 between the local and
 remote processes          Stub Process      Stub Process


 transparent.
    Application Scenarios [1]
   There are three significant application
    scenarios depending on how request
    messages are interpreted.
   Remote Service – Interpreted as a request for
    known service at the remote site.
   Remote Execution – Contain a program to be
    executed at the remote site.
   Process Migration – Represent a process
    being migrated to the remote site for
    continuing execution.
        REMOTE SERVICE

    Its primary application : resource sharing in distributed
    systems.
    Request message for remote service can be generated
    at three different software levels.
    •   As remote procedure calls at the language level
    •   As remote commands at the operating system level
    •   As interpretive messages at the application level
   Remote Procedure Calls At the
   Language Level [3]

        At language level for remote service requests
        Most suitable model : RPC
          It is service oriented and provides both access and
                            location transparency

                         At the System Level,
  There are some frequently used commands that need to invoke
   remote objects. These commands can be built in as part of the
   command shell and recognized by the local operating system.
Example: rsh host –l user ls in Unix can list the home directory files of
           the user, user on a remote host machine, host.
      Remote Commands at the Operating
      System Level [3]

               Want to send message
   User                                Remote host                Based on
                                                                  the content
      invoke                                                      of message
                    Some user-defined operations at remote host


Remote commands are limited only to shell
commands. The concept can be generalized to
process messages.
Stub process at Server site has capability of
      -- Interpreting messages sent from client stub
      -- invoking respective operations
 Example is ftp. The stubs are the ftp daemon processes. They interpret messages
 such as get and put for downloading and uploading files.
              Interpretive Messages at the
              Application Level

                                                Remote procedure calls, remote
   Remote operations are initiated by
                                                commands and interpretive
                                                messages
       Constrained to Services that are supported at the
       remote host
                            Primary Implementation Issues

               I/O Redirection                                 Security

              copies
Client stub            Client process’ standard input to the      Access to remote
                       remote command                             resources required
              copies                                              authorization
                       Standard output and error of the remote
Server stub
                       command to client process
   REMOTE EXECUTION [1]
• Remote operation initiated by client is created by the client
• Message sent from client to server is client program to be executed at
the server
•Remote Execution or Processor Pool model – Selected host may be a
system with specific resources for load sharing.
                           Selected host
System with specific resources                System with purpose of
     for resource sharing                          load sharing

                                                 Remote Execution
       Remote Service
                                               Implementation issue
                                                   Load sharing algorithm
                                                   location independence
                                                   system heterogeneity
                                                   protection and security
Load Sharing Algorithm [4]
   Practical Implementation
   Each Process server maintains list of
    registered hosts.
   First step is to select remote host
   Client process server indicate Resource
    requirement to process server at remote site
   If authenticated and its resource request can
    be met, Server grants permission for remote
    execution
LOCATION INDEPENDENCE

Process created by               Coordination to accomplish
remote execution      require    common task


So, it is necessary to support logical view for the processes

Each remote process is represented by an agent process at the
originating host
 SYSTEM HETEROGENEITY
    If remote execution is invoked on heterogeneous host


         It is necessary to recompile the program



               Overhead may be too high

Solution
Use canonical machine-independent intermediate language for
program execution.
  PROTECTION AND SECURITY
Remote execution             powerful

              Foreign code image can be Trojan horse

  To Achieve Protection and Security,
 • Accept only remote execution in source or intermediate codes
 • Language used to describe a remote execution could be
 restricted to exclude potential problems
 • Run-time checking of parameters and stack overflow is also
 necessary to protect the integrity of the remote hosts
   PROCESS MIGRATION [2]
       Time
              Source Site                  Destination Site
                Process P1
                     :
                     :
                     :
                     :
                 Execution
                suspended

Freezing                     Transfer of
time                         control

                                                 Execution
                                                  Resumed
                                                      :
                                                      :
                                                      :
                                                      :
                                                 Process P1
LINK REDIRECTION [2]
               Total Freezing                            Pretransferring
               Source           Destination              Source           Destination
               node             node                     node             node



                        Migration                                 Migration
    Suspended           decision                                  decision



    Freezing        Transfer of                               Transfer of
    time           address space                Suspended    address space

                                              Freezing
                           resumed            time                   resumed




Merits:   easy implementation                 Merits:   freezing time reduce
Demerits: long delay time                     Demerits: total time extended
   MESSAGE FORWARDING

Three types of messages:

1. Received when the process execution is stopped on the source
node and has not restarted on the destination node

2. Received on the source node after the execution started on
destination node

3. Sent to the migrant process after it started execution on
destination node
         MESSAGE FORWARDING [2]
                               Origin                                Origin

                 Sender     Receiver                Sender          Receiver
                                                             Send
                       Send


                      ResendMigrate                                 Migrate

                                  Dest 1                 Forward         Dest 1
                   Resend again

                              Migrate again
                                                                    Migrate again

                                  Dest 2
                                                                        Dest 2
                                               Ask origin site
  Resending messages
                                                Origin node keeps the info on the current
                                                location of the process created there, all
Messages of type 1 and 2 are either dropped     messages are sent to origin which
or negatively ack-ed, the sender is notified    forwards them to migrant process
and it needs to locate the migrant process
MESSAGE FORWARDING [2]
                   Origin
Sender           Receiver
          Send                     Messages are queued and sent to
                                   destination node as part of migration
         Forward
 Send        Link                  procedure
                Migrate
                                   Link is left on source node to redirect
                                   messages, link contains the system-
                       Dest 1
                                   wide unique id of a process and its
  Forward
            Link                   last known location
                   Migrate again

                       Dest 2




 Link traversal
MESSAGE FORWARDING
                      Origin
     Sender          Receiver        During the transfer the source node
              Send
                                     sends the notification (link update)
         New location                of the transfer to all the nodes to
                                     which the process communicates:
                     Migrate
              Send                   Messages are forwarded by the
                          Dest 1     source node
      New location
                                     Messages are sent directly to the
           Send      Migrate again   destination node
Current location
                         Dest 2




         Link Update
     MOBILE AGENTS [5]
• It is composition of computer software and data which is able to move
from one computer to another autonomously and continue its execution on
the destination computer.
• It refers to a process that can transport its state from one environment to
another, with its data intact
• Mobile agents can decide when and where to move next
• When a mobile agent decides to move, it saves its own state and transports
this saved state to next host and resume execution from the saved state.

 Common applications include:
 • Resource availability, discovery, monitoring
 • Information retrieval
 • Network management
 • Dynamic software deployment
Mobile Agents
   A mobile agent visits a collection of
    ORBs.
   In each ORB along its path, it can
       install new components on the disk,
       dynamically link new components,
       inspect the state and configuration of the
        ORB and the applications on top of it,
       reconfigure ORBs and applications.
        A Flexible Framework
   Different NetworkBrokers support
    different agent flavors. For example:
       simple, lightweight, script-based agents
        (carrying data and DCP commands only).
       powerful, heavyweight, Java-based agents
        (carrying data, bytecode, and dynamic state,
        taking autonomous decisions).

       Simple agents are suitable for PDAs,
        embedded systems.
            Reconfiguration with Mobile
            Agents
   SysAdmins use a GUI
    to build agents for
       reconfiguration
       inspection
   GUI is used to
    1. Build distribution graph
    2. Select reconfiguration
      and inspection
      commands
    3. Visualize results.
  Process Migration vs. Mobile
  Agents
                 Process Migration               Mobile Agents



Navigational     Migration decision is made by   Agents decide where and
Autonomy         system.                         where to go

Code Execution   Programs are fully compiled     Most agents are coded in Java
                 and executed in native mode.    and are interpreted by their
                                                 execution engine.
Strong/Weak      Execution is resumed where      Java-based agents resume
Migration        it has been suspended.          their execution from the top of
                                                 a given method.
I/O State        Long-term I/Os are              Agents relinquish I/O
                 forwarded to processes          connections every time they
                 migrated to the destination.    depart for their next
                                                 destination.
References
1.   Distributed operating system and algorithms
     Randy chow, Theodore Johnson
2.   A Framework for Process Migration in
     Software DSM Environments
     ieeexplore.ieee.org/iel5/6662/17807/00823407.pdf
     …. ( 2000 )
3.   http://birrell.org/andrew/papers/ImplementingRPC.
     pdf
4.   http://www.informs-cs.org/wsc02papers/061.pdf
5.   http://en.wikipedia.org/wiki/Mobile_agent
Thank You!!

								
To top