Top Banner
Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999
28

Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Dec 21, 2015

Download

Documents

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: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Dynamic Layout of Distributed Applications in FarGo

Ophir HolderIsrael Ben-ShaulHovav Gazit1999

Page 2: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Overview Motivation FarGo Programming model TODO Application Layout Programming in FarGo Implementation Strengths, weaknesses and relevance to

embedded systems References

Page 3: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Motivation

Growing adoption of large scale networking infrastructure

Large deployment space Constantly changing environments Need for scalability

Page 4: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

What do we need?

Distributed programming model that provides a dynamic layout capability without compromising on explicit programmability of the layout and yet retains as much as the local programming language.

Page 5: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

FarGo Extension of Java Separation between programming application

logic and programming application layout. Provides extensive dynamic layout capability Programming model to specify co-location

relationships Monitoring service

Page 6: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Programming Model Complets

Basic building block Collection of local objects Minimal unit of relocation

Complet references Connection between complets Set of complet references define relationships between

complets Controls layout of applications

Core objects Make up the light runtime infrastructure Provide system support

Page 7: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Programming Model (2)… Anchor

Object whose interface is the interface of the complet

Complet ClosureDefined by the reachability graph of objects

and references starting from the anchor except complet references

Page 8: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Semantics of intra and inter complet references Deals with relocatability and cross

address-space operation Within a complet

All objects -> by local reference Across complets

Regular objects -> by valueAnchor objects -> by complet reference

Page 9: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Complet reference types

Link()Basic complet reference from to with

no constraints on co/re-location semantics Co-location: and may or may not be co-located Re-location: relocation of does not affect the location

of and vice versa

Used when no layout programming is used

Page 10: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Complet reference types

Pull() Ensures co and re-location between complet

Co-location: and are co-located Re-location: If relocates, moves to the locality of

can be referenced by at most one Pull reference It is transitive Useful when the two complets need to interact

frequently and/or require heavy data-transfer on each interaction yet they cannot be programmed inside a single complet

Page 11: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Complet reference types

Duplicate() Ensures co and re-location between complet with a

copy of Co-location: and are co-located Re-location: If relocates, a copy of moves to the locality

of Useful when target complet can be easily replicated

without violating logical semantics of the application Replication can speed up performance and increase

reliability

Page 12: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Complet reference types

Stamp() Ensures co-location between complet by using a

local instance of target complet type Co-location: and some instance of ’s typeare co-

located Re-location: If relocates, an instance of ’s typeis

located in ’s new locality and gets attached to it Instance of ’s type is free to move regardless of Used for facilitating a constant connection from a

mobile complet to a non-mobile complet

Page 13: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Complet reference types

Bi-directional Pull() Ensures co-location between complet

Co-location: and are co-located Re-location: If relocates, moves to the locality of

and vice versa Most powerful but expensive relocation reference Effectively defines group re-location semantics Requires a hidden back-reference from target to

each of its sources

Page 14: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

TODO Application A multi-user tool for management of a

project’s to do list

Page 15: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Monitoring facility in FarGo

Monitor measures performance and resource consumption

Notifies application upon occurrence of events This service (provided by core) can be used

through – Layout (Monitoring) API High-level scripting language

Page 16: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Layout Programming in FarGo

The three layers :

Layout API

High-level Scripting language

Graphical tool for Layout Management

Page 17: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Layout API (1)

Application can ask monitor to perform measurements

Provides means to register for events

Simple distributed extension of standard Java event model

Page 18: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Layout API (2)

Provides for means to interact with core and its services.

Movement of Complets Manipulation of Relocators Interaction with Naming service Interaction with Monitor service

Page 19: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

High-level Scripting language

For (dynamically) embedding relocation scripts to the application

Scripts are written in event-action style

On event [at core] do actions

E.g. completArrival(complet, sourceCore)

Page 20: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

High-level Scripting Language(2)

Page 21: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

FarGo Graphical Monitor

Visualizes state of FarGo application

used by an administrator to view and manipulate the layout of applications using easy point-and-click operations.

Page 22: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Implementation

Page 23: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

How does FarGo differ from Aglets, Voyager?

Aglets do not support tracking Aglets do not communicate using simple

Java invocations Relocation policy tightly integrated with

application logic Fargo has internal monitoring and profiling

service

Page 24: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

People and Roles

Dr. Issy Ben-Shaul - Head of research Ophir Holder (Ph.D. Candidate) - Chief architect and project leader

- Runtime environment- FarGo Shell- Examples and documentation

Hovav Gazit (M.Sc. Student) - Monitoring and profiling service

- FarGo Compiler v0.1- Significant contribution to the overall design.

Boris Lavva (Research Staff) - FarGo demonstration for ICSE'99

- FarGo's website design and maintenance- Extensive technical help

Page 25: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Related links

The FarGo Toolkit is available from this website:

http://www.dsg.technion.ac.il/fargo/

Also includes FarGo toolkit documentation and FarGo programming guide

General mobility bibliography

http://www.cnri.reston.va.us/home/koe/

bib/index.html

Page 26: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Example Applications

PingPong Boomerang Reporter Informer TODO

Page 27: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Strengths

Weaknesses

Relevance to Embedded systems

Page 28: Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Questions ???