Top Banner
Distributed Process Implementation Hima Mandava
28

Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Dec 24, 2015

Download

Documents

Garry Wilkerson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Distributed Process Implementation

Hima Mandava

Page 2: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

OUTLINE

Logical Model Of Local And Remote Processes

Application scenarios

Remote Service

Remote Execution

Process Migration Mobile agent Process migration vs. mobile agents

Page 3: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Logical model of local and remote processes

Client server model similar to RPC implementation.

It assumes that there are front-end stub processes to facilitate the creation of and communication between processes on different machines.

All subsequent communication between local and remote processes is supported indirectly through stub processes.

Page 4: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Logical model of local and remote processes

Stub Processes at the server site interprets the messages from the client stub and invokes respective operations.

Local Process Remote Process

Stub Process Stub Process

CLIENT SERVER

Page 5: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Significant Application Scenarios

Depending on how request messages are

Interpreted, there are 3 application scenarios: Remote service: The message is interpreted as a

request for a known service at remote site. Remote execution: The messages contain a program

to be executed at the remote site. Process migration: The messages represent a

process being migrated to the remote site for continuing execution.

Page 6: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Remote service

Its primary application is resource sharing in distributed

systems. A request message for service can be

generated at 3 different software levels.

As remote procedure calls at language level. As remote commands at the operating system level. As interpretive messages at application level.

Page 7: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Remote service

As remote procedure calls at language level.

It is service oriented and provides both access and location transparency.

As remote commands at the operating system level.

Some frequently used commands that are built in part of command shell like rcp in unix are used to invoke remote objects.

As interpretive messages at application level.

Messages are interpreted by user-defined daemon processes. A good example is file transfer protocol ftp.

Primary implementation issues are I/O redirection and security in

Remote service.

Page 8: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Remote execution

It is spawning of a process at a remote host. Assumes remote operation initiated by client is created

by client. The message sent from client to a server is a client

program to be executed at the server. It is a processor-pool model for distributed

computation. Implementation of remote execution is more complex.

Page 9: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Remote execution

Additional implementation issues are:

Load sharing algorithms Location independence System heterogeneity Protection and security

Page 10: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Load sharing algorithms

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.

Page 11: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Location 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.

Page 12: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

System 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.

Page 13: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Protection and Security

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.

Page 14: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Process migration

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.

Page 15: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Process migration

Process P1::::

Executionsuspended

Source Site Destination Site

ExecutionResumed

::::

Process P1

Transfer of control

Time

Freezingtime

Page 16: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Link redirecting

Transfer ofaddress space

Sourcenode

Destinationnode

SuspendedMigrationdecision

resumed

Freezingtime

Transfer ofaddress space

Sourcenode

Destinationnode

Suspended

Migrationdecision

resumed

Freezingtime

Total Freezing Pre transferring

Merits: easy implementationDemerits: long delay time

Merits: freezing time reduceDemerits: total time extended

Page 17: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

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.

Page 18: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Message forwarding

Sender

Origin

Dest 1

Dest 2

Receiver

Migrate

Migrate again

Resend

Resend again

Send

Resending messages

•Messages of type 1 and 2 are either dropped or negatively acknowledged.

•The sender is notified and it needs to locate the migrant process

Page 19: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Message forwarding

Sender

Dest 1

Dest 2

Receiver

Migrate

Migrate again

Send

Forward

Origin

•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.

Ask origin site

Page 20: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Message forwarding

Sender

Origin

Dest 1

Dest 2

Receiver

Migrate

Migrate again

Link traversal

Link

Link

Send

Forward

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.

Page 21: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

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

Page 22: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Mobile agents

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

Page 23: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Mobile agents

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.

Page 24: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Process Migration vs. Mobile Agents

Process migration Mobile agents

Navigational Autonomy

Migration decision is made by system.

Agents decide where and where to go

Code Execution Programs 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 State Long-term I/Os are forwarded to processes migrated to the destination.

Agents relinquish I/O connections every time they depart for their next destination.

Page 25: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Research work

Freeze Free algorithm for process migration to reduce process migration latency.

A dynamic scheduling mechanism that considers migration cost as well as other conventional influential factors for performance optimization in a shared, heterogeneous environment.

Extended elementary object system (EEOS), we developed a formal model for a generic secure mobile-agent system.

Redirection Algorithms for Load Sharing in Distributed Web-server Systems.

Page 26: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Future work

Protection and security issues for remote execution in distributed systems.

Improvement of Performance and scalability in mobile agents.

A system with transparent migration facility in distributed processing.

Page 27: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Resources

Distributed operating system and algorithms Randy chow, Theodore Johnson Fast Dynamic Process Migration

ieeexplore.ieee.org.ezproxy.gsu.edu/stamp/stamp.jsp?tp=&arnumber=508015. (1996) Dynamic Scheduling with Process Migration

ieeexplore.ieee.org.ezproxy.gsu.edu/stamp/stamp.jsp?tp=&arnumber=4215370 (2007)

Redirection Algorithms for Load Sharing in Distributed Web-server Systemsieeexplore.ieee.org.ezproxy.gsu.edu/stamp/stamp.jsp?tp=&arnumber=776555(1999)

Formal Modeling and Analysis of a Secure Mobile-Agent Systemieeexplore.ieee.org.ezproxy.gsu.edu/stamp/stamp.jsp?tp=&arnumber=4404055(2008)

Presentation on Parallel & Distributed Computing courses.washington.edu/css434/slides/Migration.ppt

Mobile agent - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Mobile_agent

Page 28: Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.

Thank You