Download presentation
Presentation is loading. Please wait.
Published byClaude Gilmore Modified over 9 years ago
1
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA
2
OBJECTIVE Logical Model Of Local And Remote Processes Three application scenarios Remote Service Remote Execution Process Migration Mobile agent Process migration vs. mobile agents
3
Logical Model Of Local And Remote Processes
4
THREE APPLICATION SCENARIOS Depending on how request messages are interpreted, there are three significant application scenarios : Remote Service Remote Execution Process Migration
5
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
6
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 operating 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
7
Remote Commands At The Operating System Level Remote commands are limited only to shell commands. The concept can be generalized to process messages. user Want to send message Remote host Some user-defined operations at remote host invoke Stub process at Server site has capability of -- Interpreting messages sent from client stub -- invoking respective operations Rules application communication protocol Based on the content of message
8
Interpretive Messages At The Application Level Remote operations Initiated by Remote procedure calls remote commands interpretive messages Constrained to Services that are supported at the remote host Primary implementation issues I/O redirection security Client stub server stub copies Client process’ standard input to the remote command Standard output and error of the remote command to client process copies Access to remote resources required authorization
9
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 Means generating process at remote host Selected host System with specific resources for resource sharing Remote Service System with purpose of load sharing Remote Execution Implementation issue Load sharing algorithm location independence system heterogeneity protection and security
10
Load sharing algorithm Process server Responsible for Maintaining load information negotiating remote host invoking remote operation creating stub processes for linking client& server Remote execution Initiated Implicitly – local process server explicitly – process Relationship of process Parent/child or disjoint
11
Load sharing algorithm Practical implementation Each process server maintain 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
12
LOCATION INDEPENDANCE Process created by remote execution require Coordination to accomplish 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
13
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.
14
PROTECTION AND SECURITY Remote executionpowerful Foreign code image can be Trojan horse Solution 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
15
PROCESS MIGRATION Process P1 : Execution suspended Source Site Destination Site Execution Resumed : Process P1 Transfer of control Time Freezing time
16
LINK REDIRECTION Transfer of address space Source node Destination node Suspended Migration decision resumed Freezing time Transfer of address space Source node Destination node Suspended Migration decision resumed Freezing time Total Freezing Pretransferring Merits: easy implementation Demerits:long delay time Merits: freezing time reduce Demerits:total time extended
17
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
18
MESSAGE FORWARDING Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Resend Resend again Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Resending messages Ask origin site Send Forward messages of type 1 and 2 are either dropped or negatively ack-ed, the sender is notified and it needs to locate the migrant process origin node keeps the info on the current location of the process created there, all messages are sent to origin which forwards them to migrant process
19
MESSAGE FORWARDING Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Link traversal Link Send Forward Send messages of type 1 are queued and sent to destination node as part of migration procedure link is left on source node to redirect messages of type 2 and 3, link contains the system-wide unique id of a process and its last known location
20
MESSAGE FORWARDING Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Link Update Send New location Send New location Send Current location during the transfer the source node sends the notification (link update) of the transfer to all the nodes to which the process communicates: messages of type 1 and 2 are forwarded by the source node messages of type 3 are sent directly to the destination node
21
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
22
Process migration vs. mobile agents Process MigrationMobile Agents Navigational Autonomy Migration decision is made by system. Agents decide where and where to go Code ExecutionPrograms are fully compiled and executed in native mode. Most agents are coded in Java and are interpreted by their execution engine. Strong/Weak MigrationExecution is resumed where it has been suspended. Java-based agents resume their execution from the top of a given method. I/O StateLong-term I/Os are forwarded to processes migrated to the destination. Agents relinquish I/O connections every time they depart for their next destination.
23
REFERENCES Distributed operating system and algorithms Randy chow, Theodore johnson A Framework for Process Migration in Software DSM Environments ieeexplore.ieee.org/iel5/6662/17807/00823407.pdf …. ( 2000 ) Presentation on Parallel & Distributed Computing courses.washington.edu/css434/slides/Migration.ppt Mobile agent - Wikipedia, the free encyclopedia en.wikipedia.org/wiki/Mobile_agent
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.