Presentation is loading. Please wait.

Presentation is loading. Please wait.

C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.

Similar presentations


Presentation on theme: "C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013."— Presentation transcript:

1 C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013

2 OUTLINE Logical Model Remote Processes (Service & Execution) Application Scenarios Remote Service Remote Execution Process Migration Mobile Agents Future Works References

3 L OGICAL MODEL [1] It assumes that there are front-end stub processes to facilitate the creation of and communication between processes on different machines. Stub Processes serve as a logical link making the physical boundary between the local and remote processes transparent.

4 A PPLICATION S CENARIOS [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.

5 REMOTE SERVICE [2] Primary application : RESOURCE SHARING in distributed systems. A request message for a 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 R EMOTE E XECUTION [2] Message is sent from the client to the server. A client program needs to be executed at the server side. Results in the spawning of a new process at the server side. Helps in reducing the load on the client side. Significant difference between Remote Service and Remote Execution is: Remote Service is a system with specific resources with resource sharing. Remote Execution is a system with the purpose of load-sharing.

7 R EMOTE E XECUTION [2] CONTD…

8 CONTD… Implementation Issues in Remote Execution are : Load-Sharing Algorithm. Location Independence. System Heterogeneity. Protection and Security.

9 L OAD S HARING A LGORITHM [3] A remote host is selected first. For practical implementation each process server maintains a list of registered hosts. Registering and deregistering services can be implemented by broadcasting. Selection process can also go through a centralized broker process. If the client’s resource requirements are met and is authenticated, server grants permission for remote execution. Finally client initializes the process forked at the remote site.

10 L OCATION INDEPENDENCE Coordination is required among processes created by remote execution to accomplish a common task. It is necessary to support a logical view for the processes. Each remote process is represented by an agent process at the originating host. The file system of originating process is used to provide a common logical computer view for the processes.

11 S YSTEM HETEROGENEITY If a remote execution is to be invoked on a heterogeneous host, it is necessary to recompile the program. Overhead may be too high to justify remote execution. As a solution canonical machine-independent intermediate language is used for program execution. To translate data, an External Data Representation (XDR) is integrated into remote execution facility

12 P ROTECTION AND S ECURITY It is safer to accept remote execution only in source or intermediate codes. The language could be restricted to exclude potential problems such as use of pointers and multiple inheritance. Run-time checking of parameters and stack overflow is also necessary. In distributed systems protection and security issues for remote execution are topics of ongoing research.

13 P ROCESS MIGRATION [4] The load-sharing model is further extended to allow a remote execution to be preempted and moved to another remote host. Since the target process for migration is preempted, its state information must also be transferred. State information consists of computation state and communication state. The computation state is the information necessary to save and restore a process at the remote site and communication state is the status of process communication links and messages in transit.

14 P ROCESS MIGRATION [4] Process P1 : Execution suspended Source Site Destination Site Execution Resumed : Process P1 Transfer of control Time Freezing time

15 LINK REDIRECTION [4] 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 Pre-transferring Merits: Easy implementation Demerits: Long delay time Merits: Freezing time reduce Demerits:Total time extended

16 MESSAGE FORWARDING [4] 3 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

17 MESSAGE FORWARDING [4] Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Resend Resend again Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Resending messagesAsk origin site Send Forward Messages of type 1 and 2 are either dropped or negatively acknowledged, 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

18 MESSAGE FORWARDING [4] Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Link traversal Link Send Forward Send  Messages are queued and sent to destination node as part of migration procedure  Link is left on source node to redirect messages, link contains the system-wide unique id of a process and its last known location

19 MESSAGE FORWARDING [4] 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 are forwarded by the source node  Messages are sent directly to the destination node

20 M OBILE AGENTS [5] A mobile agent is a process that can transport its state from one environment to another, with its data intact, and be capable of performing appropriately in the new environment. Mobile agents decide when and where to move. Common applications include: - Resource availability, discovery, monitoring - Information retrieval - Network management - Dynamic software deployment

21 M OBILE AGENTS [5] CONTD … Mobile agents are agents that can physically travel across a network, and perform tasks on machines that provide agent hosting capability. This allows processes to migrate from computer to computer, for processes to split into multiple instances that execute on different machines, and to return to their point of origin. Unlike remote procedure calls, where a process invokes procedures of a remote host, process migration allows executable code to travel and interact with databases, file systems, information services and other agents. 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.

22 P ROCESS M IGRATION VS. M OBILE A GENTS Process migration Mobile 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 Migration Execution 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 F UTURE WORKS A system with transparent migration facility in distributed processing. Protection and security issues for remote execution in distributed systems. Improvement of Performance and scalability in mobile agents.

24 R EFERENCES [1] Distributed operating system and algorithms Randy chow, Theodore Johnson [2] “Presentation on parallel and distributed computing” http://student.fiit.stuba.sk/~seidmann/dos/lecture6.pdf [3] http://www.informscs.org/wsc02papers/061.pdfhttp://www.informscs.org/wsc02papers/061.pdf [4] A Framework for Process Migration in Software DSM Environments ieeexplore.ieee.org/iel5/6662/17807/00823407.pdf [5] http://en.wikipedia.org/wiki/Mobile_agent

25 THANK YOU !


Download ppt "C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013."

Similar presentations


Ads by Google