VIEWS: 3 PAGES: 26 POSTED ON: 10/4/2012
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi email@example.com OUTLINE Logical Model of Local and Remote Processes Application Scenarios Remote Service Remote Execution Process Migration Mobile Agents References Logical Model  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  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  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  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  • 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  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  Time Source Site Destination Site Process P1 : : : : Execution suspended Freezing Transfer of time control Execution Resumed : : : : Process P1 LINK REDIRECTION  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  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  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  • 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!!
Pages to are hidden for
"ch5 4 Fall 2007"Please download to view full document