70
A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO A Theory of Distributed Objects Components Perspectives University of Westminster

A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO

  • Upload
    braima

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO. University of Westminster. A Theory of Distributed Objects Components Perspectives. A Theory of Distributed Objects: Contents. Review ASP Calculus Semantics and Properties - PowerPoint PPT Presentation

Citation preview

Page 1: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

A Theory of Distributed ObjectsToward a Foundation for Component Grid Platforms

Ludovic HENRIO

A Theory of Distributed Objects

Components

Perspectives

University of Westminster

Page 2: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

A Theory of Distributed Objects: Contents

I. ReviewII. ASP CalculusIII. Semantics and PropertiesIV. A Few More FeaturesV. Implementation StrategiesVI. Final Words

Page 3: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Contents

A Theory of Distributed Objects (I)

1 – ASP (II, III)

2 - Confluence and Determinacy (III)

3 - More Features: Groups (IV)

4 – Implementation Strategies: Future Updates (V, VI)

Components (IV)

Perspectives (VI and beyond)

Page 4: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Review (informal classification of calculi)

Part I

Page 5: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Contents

A Theory of Distributed Objects

1 - ASP

2 - Confluence and Determinacy

3 - More Features: Groups

4 – Implementation Strategies: Future Updates

Components Perspectives

Page 6: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Asynchronous and Deterministic Objects

ASP: Asynchronous Sequential Processes Distributed objects Asynchronous method calls Futures and Wait-by-necessity

Determinism properties

A Theory of Distributed ObjectsPart II

Page 7: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

f3

f1

Structure

1- ASP

foo

foo

f2

Active(a)

Part II

Page 8: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

foo

beta.foo(b)

result=beta.foo(b)

Sending Requests ( REQUEST )

1- ASPPart II, III

Page 9: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

foo

beta.foo(b)result

Sending Requests ( REQUEST )

1- ASP

result=beta.foo(b)

Part II, III

Page 10: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

foo

beta.foo(b)

Serve(foo);...

result

Serving Requests ( SERVE )

Serve(foo);...

bar

1- ASPPart II, III

Page 11: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

beta.foo(b)result

Serving Requests ( SERVE )

Serve(foo)

barfoo ...foo

1- ASP

Serve(foo);...

Part II, III

Page 12: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

foo

Sending Results ( REPLY )

1- ASPPart II, III

Page 13: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Sending Results ( REPLY )

foo

1- ASPPart II, III

Page 14: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

ASP Syntax : Source Terms Imperative-calculus

ASP parallelism primitives

1- ASPPart II

Page 15: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Local

Creating anActivity

Sending aRequest

Sending aReply

Service

1- ASPPart III

Page 16: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

delta.send(result)

Wait-by-necessity

1- ASPPart II, III

Page 17: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

delta.send(result)result.bar()result.bar()

Wait-by-necessity

1- ASPPart II, III

Page 18: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

delta.send(result)result.bar()result.bar()

Wait-by-necessity

1- ASPPart II, III

Page 19: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Wait-by-necessity

result.bar()Futures updates can

occur at any time

1- ASPPart II, III

Page 20: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Contents

A Theory of Distributed Objects

1 - ASP

2 - Confluence and Determinacy

3 - More Features: Groups

4 – Implementation Strategies: Future Updates

Components Perspectives

Page 21: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Equivalence Modulo Futures Updates

f1

f2

f3

f1

f2

2 - Confluence and DeterminacyPart III

Page 22: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Equivalence Modulo Future Updates

f2

f3

f1

f1

f2

f1

2 - Confluence and DeterminacyPart III

Page 23: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Compatibility

delta.foo()

foo

….Serve(foo,bar)

…Serve(foo,gee)

bar

gee

2 - Confluence and Determinacy

Serves the oldest request on foo OR bar

Part III

Page 24: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Confluence

Potential services:

2 - Confluence and Determinacy

P0

P Q

R

….Serve(foo,bar)

…Serve(foo,gee)

{foo,bar}, {foo,gee}

Part III

Page 25: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Confluence

Potential services:

2 - Confluence and Determinacy

RSL definition:foo, bar, bar, gee

P0

P Q

R

{foo,bar}, {foo,gee}

Part III

Page 26: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Confluence

Potential services:

2 - Confluence and Determinacy

RSL definition:

Configuration Compatibility:

P0

P Q

R

{foo,bar}, {foo,gee}

foo, bar, bar, gee

foo, bar, bar, gee foo, bar, gee, barfoo, bar, bar, gee foo, bar, gee, barfoo, bar, bar, gee foo, bar, gee, bar

Part III

Page 27: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Confluence

Potential services:

2 - Confluence and Determinacy

RSL definition:

Compatibility Confluence

Configuration Compatibility:Execution characterized

by the order of request senders

P0

P Q

R

Part III

Page 28: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Deterministic Object Networks

{foo,bar} , {foo,gee}

delta.gee(a)

gee

delta.bar(a)bar

{bar,gee} , {foo}

gee barbar gee

2 - Confluence and Determinacy

DON(P):

Part III

Page 29: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Static DON

{foo,bar} , {gee}

{foo,bar} , {gee}

{gee}, {f,g}

{bar} , {gee}

{foo,bar} , {gee}

foo

bar

f{foo}, {bar}

{gee}, {f,g}

{f,g}{gee}, {f,g}f

g

gee

f

g

{gee}, {f,g}

2 - Confluence and Determinacy

g

Part III

Page 30: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

ASP: Summary and Results

An Asynchronous Object Calculus: Structured asynchronous activities Structured communications with futures Data-driven synchronization

ASP Confluence and Determinacy Future updates can occur at any time

Execution characterized by the order of request sendersDeterminacy of programs communicating over trees, …

2 - Confluence and DeterminacyPart III

Page 31: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Contents

A Theory of Distributed Objects

1 - ASP

2 - Confluence and Determinacy

3 - More Features: Groups

4 – Implementation Strategies: Future Updates

Components Perspectives

Page 32: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

ASP Extensions

Group communications Formalization, Atomicity and relations to determinacy.

Migration Optimization and confluence issues

Components

Others: non-blocking services, join patterns, delegation ...

3 – More FeaturesPart IV

Page 33: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Group.foo()

Groups of Active Objects

3 – More FeaturesPart IV

Page 34: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Group.foo()

Groups of Active Objects

foo

foo

foo

result

3 – More FeaturesPart IV

Page 35: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Group.foo()

Groups of Active Objects

foo

foo

foo

Group.bar()

bar

bar

bar

3 – More FeaturesPart IV

Page 36: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Group.foo()

Groups of Active Objects: Atomic Communications

foo

foo

foo

Group.bar()

bar

bar

bar

Some programs become deterministic with

atomic group communications

3 – More FeaturesPart IV

Page 37: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Contents

A Theory of Distributed Objects

1 - ASP

2 - Confluence and Determinacy

3 - More Features: Groups

4 – Implementation Strategies: Future Updates Components Perspectives

Page 38: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Implementation Strategies

ProActive

Future Update Strategies Futures are first class and can be returned at any time Lazy / Forward-based / Message-based.

Loosing Rendez-Vous Ensuring causal ordering with one-to-all FIFO ordering Comparison with other strategies, e.g. point-to-point

FIFO

Controlling Pipelining

4 – Implementation StrategiesPart V

Page 39: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Model: Remote Mobile Objects Asynchronous Communications with automatic Futures Group Communications, Migration, NF ExceptionsEnvironment: XML Deployment, dynamic class-loading Various protocols: rsh,ssh,LSF,Globus, BPS, ... Graphical Visualization and monitoring: IC2D

ProActive: A Java API + Tools for the GRID

Parallel, Distributed, Mobile, Activities, across the world !SMP ClustersLANDesktop

4 – Implementation StrategiesPart V

Page 40: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

delta.send(result)

Future Update Strategies: No partial replies and request

4 – Implementation StrategiesPart V

Page 41: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

delta.send(result)result.bar()result.bar()

Future Update Strategies

4 – Implementation StrategiesPart V

Page 42: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

delta.send(result)result.bar()result.bar()

Future Update Strategies: Message-based

4 – Implementation Strategies

Futu

re F

orw

arde

dM

essa

ges

Part V

Page 43: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

delta.send(result)result.bar()result.bar()

Future Update Strategies: Forward-based

4 – Implementation StrategiesPart V

Page 44: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

delta.send(result)result.bar()result.bar()

Future Update Strategies: Lazy Future Updates

4 – Implementation StrategiesPart V

Page 45: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Future Updates Summary

Mixed strategies are possible

All strategies are equivalent(modulo dead-locks)

Part V, VI 4 – Implementation Strategies

Page 46: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Overview of Implementation Strategies: Queues, Buffering, Pipelining, and Strategies

Perspectives: • Organize and synchronize implementation strategies• Design a global adaptative evaluation strategy

Part VI 4 – Implementation Strategies

Page 47: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Contents

A Theory of Distributed Objects

1 - ASP

2 - Confluence and Determinacy

3 - More Features: Groups

4 – Implementation Strategies: Future Updates

Components Perspectives

Page 48: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Context

Fractal: a component model specification An implementation in ProActive

Hierarchical composition Asynchronous, distributed components Non-functional aspects and lifecycle

Formal aspects Kell calculus → component control (passivation) ASP components → Hierarchical aspects and

deterministic components

ComponentsPart IV

Page 49: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Components from ASP Terms: Primitive Components

Server Interface = potential service Client Interface = reference to an active object

ComponentsPart IV

Page 50: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Hierarchical Composition

Composite component

Primitive component

PC

PC PCCC

Inpu

t int

erfa

ces

Output interfaces

Asynchronousmethod calls

Exp

ort

Exp

ort

Binding

ComponentsPart IV

Page 51: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Invalid composition

Interface exported twice Output plugged twice

Components

Except with group communication …

Part IV

Page 52: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Valid Compositions

Non-confluent

Non-confluent

Components

Non-confluent

Inpu

t int

erfa

ces

Output interfaces

Part IV

Page 53: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

A Deterministic Component

Based on deterministic primitive components. One-to-one mapping from Server to client interface

ComponentsPart IV

Page 54: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Component Model: Summary and Results

Specification of deterministic components: Deterministic primitive components Deterministic composition of components

Semantics as a translation to ASP

Components

Components provide a convenient abstraction

for statically ensuring determinism

Part IV

Page 55: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Contents

A Theory of Distributed Objects

1 - ASP

2 - Confluence and Determinacy

3 - More Features: Groups

4 – Implementation Strategies: Future Updates

Components Perspectives

Page 56: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Perspectives: Asynchronous and Distributed Objects

Generalize confluence properties Scheduling of requests Functional servers Join patterns

Strong migration and coherence Ojeblik for Obliq

PerspectivesPart VI

Page 57: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Perspectives: Distributed Components

Non-functional aspects

Behavioural specification: LTS for ASP / ASP components Interaction between confluence and behavioural

verification Hierarchical verification

Verification of component composition and reconfiguration

PerspectivesPart VI

Page 58: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Application: a Component Platform for Grid Computing

Reconfigurability: Fault tolerance Adaptativity: Heterogeneous environments Performance: scalability, optimizations

Foundation, Principles : A component model 

adaptability, reconfiguration, hierarchical Separation of functional / non-functional aspects

transparency help programming, adaptation Semantics specify and prove behavior, and optimizations

Design of a generic component platformfor the Grid

adaptativity, reconfiguration, transparency

PerspectivesPart VI

Page 59: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO
Page 60: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

...foo

End of Service ( ENDSERVICE )

value

1- ASPPart II, III

Page 61: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

foo

End of Service ( ENDSERVICE )

...

1- ASPPart II, III

Page 62: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Active(a,s)

newact=Active(a,s)

Activity Creation ( NEWACT )

1- ASPPart II, III

Page 63: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Active(a,s)

newact=Active(a,s)

newact

Activity Creation ( NEWACT )

ao.s()

1- ASPPart II, III

Page 64: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Static DON versus Process Networks

{foo,bar} , {gee}

{foo,bar} , {gee}

{gee}, {f},{g}

{bar} , {gee}

{foo,bar} , {gee}

foo

bar

f{foo}, {bar}

{gee}, {f},{g}

{f},{g}{gee}, {f},{g}f

g

gee

f

gput

get

Part VI

Page 65: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Objects Topology

Part II

Page 66: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Related Work

Futures and Wait by Necessity: MultiLisp by Halstead Wait-By-Necessity by Caromel

Determinism: by JonesLinearized channels Process Networks by Kahn and MacQueen

Objects and concurrency: Obliq, Gordon-Hankin-Lassen Actors -calculus, blue calculus, join-calculus

Part I

Page 67: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Terms:

Configuration: Request queue: Futures list: Store:

Intermediate Structures

Part III

Page 68: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Store Partitioning

Part III

Page 69: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Equivalence Modulo Futures Updates

f1

f2

f3

Part III

Page 70: A Theory of Distributed Objects Toward a Foundation for  Component Grid Platforms Ludovic HENRIO

Appendices