DOC PREVIEW
USC CSCI 599 - Week10_2

This preview shows page 1-2-3-26-27-28 out of 28 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Dynamic Layout of Distributed Applications in FarGoOverviewMotivationWhat do we need?FarGoProgramming ModelProgramming Model (2)…Semantics of intra and inter complet referencesComplet reference typesSlide 10Slide 11Slide 12Slide 13TODO ApplicationMonitoring facility in FarGoLayout Programming in FarGoLayout API (1)Layout API (2)High-level Scripting languageHigh-level Scripting Language (2)FarGo Graphical MonitorImplementationHow does FarGo differ from Aglets, Voyager?People and RolesRelated linksExample ApplicationsPowerPoint PresentationSlide 28Dynamic Layout of Distributed Applications in FarGoOphir HolderIsrael Ben-ShaulHovav Gazit1999OverviewMotivationFarGoProgramming modelTODO ApplicationLayout Programming in FarGoImplementationStrengths, weaknesses and relevance to embedded systemsReferencesMotivationGrowing adoption of large scale networking infrastructureLarge deployment spaceConstantly changing environmentsNeed for scalabilityWhat 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.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 serviceProgramming 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 supportProgramming Model (2)…AnchorObject whose interface is the interface of the completComplet ClosureDefined by the reachability graph of objects and references starting from the anchor except complet referencesSemantics 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 valueAnchor objects -> by complet referenceComplet 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 usedComplet 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 completComplet 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 reliabilityComplet reference typesStamp()Ensures co-location between complet by using a local instance of target complet typeCo-location: and some instance of ’s typeare co-locatedRe-location: If  relocates, an instance of ’s typeis 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 completComplet 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 sourcesTODO ApplicationA multi-user tool for management of a project’s to do listMonitoring 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 languageLayout Programming in FarGoThe three layers : Layout API High-level Scripting languageGraphical tool for Layout ManagementLayout API (1)Application can ask monitor to perform measurementsProvides means to register for eventsSimple distributed extension of standard Java event modelLayout 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 serviceHigh-level Scripting languageFor (dynamically) embedding relocation scripts to the applicationScripts are written in event-action styleOn event [at core] do actionsE.g. completArrival(complet, sourceCore)High-level Scripting Language(2)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.ImplementationHow 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 servicePeople 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 helpRelated 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


View Full Document

USC CSCI 599 - Week10_2

Documents in this Course
Week8_1

Week8_1

22 pages

Week2_b

Week2_b

10 pages

LECT6BW

LECT6BW

20 pages

LECT6BW

LECT6BW

20 pages

5

5

44 pages

12

12

15 pages

16

16

20 pages

Nima

Nima

8 pages

Week1

Week1

38 pages

Week11_c

Week11_c

30 pages

afsin

afsin

5 pages

October5b

October5b

43 pages

Week11_2

Week11_2

20 pages

final

final

2 pages

c-4

c-4

12 pages

0420

0420

3 pages

Week9_b

Week9_b

20 pages

S7Kriegel

S7Kriegel

21 pages

Week4_2

Week4_2

16 pages

sandpres

sandpres

21 pages

Week6_1

Week6_1

20 pages

4

4

33 pages

Week10_c

Week10_c

13 pages

fft

fft

18 pages

LECT7BW

LECT7BW

19 pages

24

24

15 pages

14

14

35 pages

Week9_c

Week9_c

24 pages

Week11_67

Week11_67

22 pages

Week1

Week1

37 pages

LECT3BW

LECT3BW

28 pages

Week8_c2

Week8_c2

19 pages

Week5_1

Week5_1

19 pages

LECT5BW

LECT5BW

24 pages

Week10_b

Week10_b

16 pages

Week11_1

Week11_1

43 pages

Week7_2

Week7_2

15 pages

Week5_b

Week5_b

19 pages

Week11_a

Week11_a

29 pages

LECT14BW

LECT14BW

24 pages

T7kriegel

T7kriegel

21 pages

0413

0413

2 pages

3

3

23 pages

C2-TSE

C2-TSE

16 pages

10_19_99

10_19_99

12 pages

s1and2-v2

s1and2-v2

37 pages

Week10_3

Week10_3

23 pages

jalal

jalal

6 pages

1

1

25 pages

T3Querys

T3Querys

47 pages

CS17

CS17

15 pages

porkaew

porkaew

20 pages

LECT4BW

LECT4BW

21 pages

Week10_1

Week10_1

25 pages

wavelet

wavelet

17 pages

October5a

October5a

22 pages

p289-korn

p289-korn

12 pages

2

2

33 pages

rose

rose

36 pages

9_7_99

9_7_99

18 pages

Week7_3

Week7_3

37 pages

Load more
Download Week10_2
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Week10_2 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Week10_2 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?