Distributed Process Implementation

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Agents & Mobile Agents.
Mobile Agents Mouse House Creative Technologies Mike OBrien.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Remote Procedure Call Design issues Implementation RPC programming
Processes: Code Migration Chapter 3 Will Cameron CSC 8530 Dr. Schragger.
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
Developers: Alexey Rastvortsev, Ilya Kolchinsky Supervisors: Roy Friedman, Alex Kogan.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Winter, 2004CSS490 Process Migration1 Textbook Ch8 Instructor: Munehiro Fukuda These slides were compiled from the course textbook, the reference books,
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
CS 603 Threads, Processes, and Agents March 18, 2002.
CSS434 Process Migration1 Textbook and Non-Textbook Contents Professor: Munehiro Fukuda.
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
PRASHANTHI NARAYAN NETTEM.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
1 Distributed Systems: Distributed Process Management – Process Migration.
1 DNS,NFS & RPC Rizwan Rehman, CCS, DU. Netprog: DNS and name lookups 2 Hostnames IP Addresses are great for computers –IP address includes information.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Summary for Chapter 5 --Distributed Process Scheduling
Summary :- Distributed Process Scheduling Prepared BY:- JAYA KALIDINDI.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Chapter Nine The Session Layer. Objectives We’ll see how a new session is created, maintained, and dismantled. The process of logon authentication will.
Communication Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
X one. Mobile development platform We mobilize your process IP. ALARMS AUTOMOTION.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Transparent Process Migration: Design Alternatives and the Sprite Implementation Fred Douglis and John Ousterhout.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Implementing Remote Procedure Calls Authored by Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presented by Lars Larsson.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
MOBILE AGENTS What is a software agent ? Definition of an Agent (End-User point of view): An agent is a program that assists people and acts on their behalf.
Remote Objects. The Situation Is there a better (in terms of programmer time) way to do network communications? What is it we’re trying to accomplish?
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
Transport Layer COM211 Communications and Networks CDA College Theodoros Christophides
1 Process migration n why migrate processes n main concepts n PM design objectives n design issues n freezing and restarting a process n address space.
Code Migration Russell T. Potee, III. Overview Why Code Migration? Code Migration Models Migration and Handling Resources Heterogeneous Systems Migration.
Summary :-Distributed Process Scheduling Prepared By:- Monika Patel.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi.
Shuman Guo CSc 8320 Advanced Operating Systems
Distributed System Services Fall 2008 Siva Josyula
DISTRIBUTED COMPUTING
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Manish Kumar,MSRITSoftware Architecture1 Remote procedure call Client/server architecture.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
#01 Client/Server Computing
Ch > 28.4.
Mobile Agents.
Processes Chapter 3.
Mobile Agents M. L. Liu.
CSE 451: Operating Systems Spring 2005 Module 20 Distributed Systems
Process Migration Troy Cogburn and Gilbert Podell-Blume
AbbottLink™ - IP Address Overview
Processes Chapter 3.
Processes Chapter 3.
CSE 451: Operating Systems Winter 2007 Module 21 Distributed Systems
#01 Client/Server Computing
Presentation transcript:

Distributed Process Implementation Prepared By:- Siva Josyula.

Overview: Logical Model of Local and Remote Processes Application Scenarios -Remote Service -Remote Execution -Process Migration Mobile Agents References

This is similar to the RPC model. Logical Model of Local and Remote Systems.[3] Stub Processes serve as a logical link making the physical boundary between the local and remote processes transparent. Stub Processes at the server site have the capability of -interpreting the messages from the client stub. -invoking the respective operations. This is similar to the RPC model.

Application Scenarios[1,3] Depending on how the request messages are interpreted, there are three main application scenarios: Remote Service - The message is interpreted as a request for a known service at the 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 a remote site for continuing the execution.

Remote Services[3] The primary application of remote services is RESOURCE SHARING in distributed systems. A request message for a remote service can be generated at three different software levels. --Remote procedure calls at the language level. --Remote commands at the operating system level, like rcp in UNIX. --Interpretive messages at the application level, like FTP or get and put methods. Constrained only to services supported at the remote host. Primary implementation issues: I/O redirection and security

Remote Execution[3] 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.

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

Load-Sharing Algorithm Each process server can maintain a list of registered hosts that are willing to honor remote execution. The list of hosts participating are broadcasted. The selection procedure is by a centralized broker process. Once a remote host is selected- The client process server indicates the resource requirements to the process server at the remote site. If the client is authenticated and its resource requirements can be met, the server grants permission for remote execution. The transfer of code image follows, and the server creates the remote process and the stub. The client initializes the process forked at the remote site.

Location Independence Process created by remote execution requires coordination to accomplish common task. So it is necessary to support logical views for the processes. Each remote process is represented by an agent process at the originating host. It appears as though the process is running on a single machine.

System heterogeneity If remote execution is invoked on the host , then it is necessary to re-compile the program. Overhead Issue. Solution: Use canonical machine-independent intermediate language for program execution.

Protection and Security It is safer to accept only remote execution in the 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 overflows is necessary to protect the integrity. If intermediate code is used, then they must be verified that the code is a real source code.

Process Migration[1,3] Source Site Destination Site Time Freezing time Process P1 : Execution suspended Source Site Destination Site Resumed Transfer of control Time Freezing time

Example for process migration[4] Locus is a UNIX-compatible operating system that provides transparent access to remote resources, and enhanced reliability and availability. It supports Process Migration. Locus migration has a high level of functionality and transparency.

Example for process migration[4] The Sprite network operating system was developed from 1984–1994. Its process migration facility was transparent both to users and to applications, by making processes appear to execute on one host throughout their execution. Processes could access remote resources, including files, devices, and network connections, from different locations over time. When a user returned to a workstation onto which processes had been offloaded, the processes were immediately migrated back to their home machines and could execute there, migrate else-where, or suspend execution.

Process Migration[3] Computation State. Communication State. A remote execution is to be preempted and moved to another host. Remote execution remains at the same remote host until completion of the execution. The target process for migration is preempted and its state information must be transferred. State information has two parts: Computation State. Communication State.

Link Redirection Pre-transferring Total Freezing Source node Destination node Source node Destination node Migration decision Migration decision Suspended Transfer of address space Transfer of address space Freezing time Suspended Freezing time resumed resumed Merits: easy implementation Demerits: long delay time Merits: freezing time reduce 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 Dest 1 Dest 2 Receiver Migrate Migrate again Resend Resend again Sender Receiver Send Send Migrate Forward Dest 1 Migrate again Dest 2 Ask origin site Resending messages 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 Messages of type 1 and 2 are either dropped or negatively acknowledged, the sender is notified 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 procedure Forward Send Link Migrate Link is left on source node to redirect messages, link contains the system-wide unique id of a process and its last known location Dest 1 Forward Link Migrate again Dest 2 Link Traversal

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

MOBILE AGENTS[2] Mobile Agent is a composition of computer software and data which is able to move from one computer to another computer 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

Process migration vs. 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.

References “Distributed operating system and algorithms” Randy Chow, Theodore Johnson Mobile Agent- Wikipedia http://en.wikipedia.org/wiki/Mobile_agent “Presentation on parallel and distributed computing” http://student.fiit.stuba.sk/~seidmann/dos/lecture6.pdf Dejan S. Milojicic Fred Douglis Yves Paindaveine Richard Wheeler Songnian Zhou, “Process Migration” , ACM Computing Surveys (CSUR) Volume 32 ,  Issue 3  (September 2000)

Any Questions???

Thank You.