synchronization strategies for global computing models

44
1 Ivan Lanese Computer Science Department University of Bologna Synchronization strategies for global computing models

Upload: yvette-hyde

Post on 04-Jan-2016

14 views

Category:

Documents


0 download

DESCRIPTION

Synchronization strategies for global computing models. Ivan Lanese Computer Science Department Univers ity of Bologna. Roadmap. Global computing Synchronized Hyperedge Replacement SHR vs Fusion Calculus Synchronization Algebras with Mobility Congruence results Future work. Roadmap. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Synchronization strategies for global computing models

1

Ivan LaneseComputer Science Department

University of Bologna

Synchronization strategiesfor global computing models

Page 2: Synchronization strategies for global computing models

2

Roadmap

Global computing

Synchronized Hyperedge Replacement

SHR vs Fusion Calculus

Synchronization Algebras with Mobility

Congruence results

Future work

Page 3: Synchronization strategies for global computing models

3

Roadmap

Global computing

Synchronized Hyperedge Replacement

SHR vs Fusion Calculus

Synchronization Algebras with Mobility

Congruence results

Future work

Page 4: Synchronization strategies for global computing models

4

What is global computing?

Essentially networks

deployed on huge areas

Global computing

systems quite common

nowadays

– Internet, wireless

communication networks,

overlay networks …

Page 5: Synchronization strategies for global computing models

5

Features of global computing systems

Distribution

– Huge areas: localities can not always be hidden

Mobility

– Both physical and code mobility

Heterogeneity

– Interoperability, coordination

Openness

Reconfigurability

Non-functional requirements

Page 6: Synchronization strategies for global computing models

6

Formal methods for GC

Building models of the system

– To concentrate on a particular aspect

– To abstract from details

– To analyze the properties of the system before building it

Traditional formal methods are not enough for GC

– Mobility must be modeled explicitly

– Need for compositionality

– Need for more abstraction

Page 7: Synchronization strategies for global computing models

7

High level models

We look for models at the high level of abstraction

– Models of coordination among subsystems

We need powerful primitives

– Multiple synchronizations

– Abstractions of full protocols

Declarative specification of constraints

– Possible evolutions derived as solution of system of

constraints

Page 8: Synchronization strategies for global computing models

8

Roadmap

Global computing

Synchronized Hyperedge Replacement

SHR vs Fusion Calculus

Synchronization Algebras with Mobility

Congruence results

Future work

Page 9: Synchronization strategies for global computing models

9

Synchronized Hyperedge Replacement

A graph transformation approach

– Suitable to deal with distribution, mobility, compositionality

(Hyper)edges are systems connected through common nodes

Productions describe the evolution of single edges

– Local effect, easy to implement

Synchronization via constraints on nodes

– Determines which productions can be applied concurrently

– Productions applied indipendently

– Allows to define complex transformations

– Multiple synchronization is allowed

Declarative approach

Page 10: Synchronization strategies for global computing models

10

Hyperedge Replacement Systems

A production describes how the hyperedge L is rewritten into the graph R

R

1

2 3 4

L

1

2 3 4 H

Page 11: Synchronization strategies for global computing models

11

Hyperedge Replacement Systems

A production describes how the hyperedge L is transformed into the graph R

R

R’

1

2 3 4

1

2

3

Many concurrent rewritings are allowed

L

L’

1

2 3 4

1

2

3

H

Page 12: Synchronization strategies for global computing models

12

Synchronizing productions

Synchronization: productions execute actions

on nodes. A transition is allowed iff the

synchronization constraints imposed on actions are

satisfied

Many synchronization models are possible

(Hoare, Milner, ...)

Page 13: Synchronization strategies for global computing models

13

An example: Milner SHR

Milner synchronization: pair of edges can synchronize by performing complementary actions

a

A1

aA1 B1

a

A2

a

B1 B2

A2 B2

Page 14: Synchronization strategies for global computing models

14

SHR with mobility

– Actions carry tuples of references to nodes (new or already

existent)

– References associated to synchronized actions are matched and

corresponding nodes are merged

We use name mobility

a<x>

A1

a<x>A1 B1

a<y>

A2

a<y>

B1 B2

A2 B2

x y

x=y

Page 15: Synchronization strategies for global computing models

15

Example

x

Initial Graph

C

Brother:

C

C

C

C S

Star Reconfiguration:

w

r<w>

r<w>

x CBrother

C

C

C

C

C

C

CC CBrother Brother

(4)(3)(2)(1)

Star Rec.S

S

SS

(5)

Page 16: Synchronization strategies for global computing models

16

Algebraic presentation of SHR

Graphs represented as terms

– Edges (applied to nodes) are basic constants

– Operators for parallel composition and hiding of

nodes

Transitions described by a LTS

Inference rules to derive transitions from

productions

Allows proofs by induction

Page 17: Synchronization strategies for global computing models

17

Roadmap

Global computing

Synchronized Hyperedge Replacement

SHR vs Fusion Calculus

Synchronization Algebras with Mobility

Congruence results

Future work

Page 18: Synchronization strategies for global computing models

18

Fusion Calculus

Calculus for mobility inspired by π-calculus

Input prefix is not a binder

– Symmetric input/output

– Names are merged

– Input of π-calculus obtained as input+restriction on

the objects of the input

Page 19: Synchronization strategies for global computing models

19

SHR vs Fusion Calculus

Many common features

– LTS semantics

– Synchronization in Milner style

– Mobility using fusions

Straightforward mapping of Fusion into SHR

SHR adds:

– Graphical presentation

– Multiple synchronizations

– Concurrent semantics

Page 20: Synchronization strategies for global computing models

20

Fusion Calculus vs SHR

Fusion Milner SHR

Processes Graphs

Sequential processes Hyperedges

Names Nodes

Parallel comp. Parallel comp.

Scope Restriction

Prefixes Productions

Transitions Interleaving tr.

Page 21: Synchronization strategies for global computing models

21

Example

).|.|.)(( RzyQyxPuxxy

)||)((

).|.|)(().|.|.)(( )(

RQPy

RzyQyxPyRzyQyxPuxxyzx

uxx

We can also execute both the steps at the same time

Page 22: Synchronization strategies for global computing models

22

Roadmap

Global computing

Synchronized Hyperedge Replacement

SHR vs Fusion Calculus

Synchronization Algebras with Mobility

Congruence results

Future work

Page 23: Synchronization strategies for global computing models

23

Synchronization Algebras with Mobility (1)

Extend Winskel’s synchronization algebras to deal with name

mobility and local resources

Allow to have synchronization models as first-class citizens– Can be used to have models with parametric synchronization policies

– Many synchronization policies in the same model

– Different policies can be compared and combined

Common policies can be expressed as SAMs– Simple ones: Milner, Hoare, broadcast

– More complex ones: with priority, treshold synchronization

Page 24: Synchronization strategies for global computing models

24

Synchronization Algebras with Mobility (2)

Page 25: Synchronization strategies for global computing models

25

Synchronization Algebras with Mobility (2)

SAs specify composition of actions

– (a,a,τ) a synchronizes with a producing τ

SAMs also provide:

– Mapping from parameters of synchronizing actions

to parameters of the result

– Fusions among parameters

– Final actions (performed on local channels)

– Some more technical stuff

Page 26: Synchronization strategies for global computing models

26

Milner synchronization as a SAM

Actions: normal actions, coactions, τ, ε

ε stands for “not taking part to the synchronization”

Normal actions synchronize with corresponding

coactions giving τ, corresponding parameters are

fused, no parameters are propagated

Anything can synchronize with ε, action and

parameters are propagated, no fusions

No other synchronization is allowed

Only τ and ε can be performed on local channels

Page 27: Synchronization strategies for global computing models

27

Sample synchronization

a b c

Page 28: Synchronization strategies for global computing models

28

Parametric SHR

The SAM is a parameter of the model

Different models obtained via instantiation

– Allows to recover Hoare and Milner SHR…

– …and to easily define new models

Properties can be proved in general

– Allows to highlight relations between properties of

SAMs and properties of the model

Page 29: Synchronization strategies for global computing models

29

Heterogeneous SHR

Allows to model heterogeneous systems

– Different primitives in different parts of the system

– Example: wireless connections with broadcast and

wired connections with Milner

Each node is labeled by a SAM

SAMs must be managed dynamically

– SAMs are required to form a commutative monoid

– Node fusions cause SAMs composition

Page 30: Synchronization strategies for global computing models

30

PRISMA Calculus

Generalization of Fusion based on SAMs

– Prefixes of the form x a y . P

– Synchronization ruled by the SAM

Standard Fusion is (more or less) Milner

PRISMA Calculus

The same approach can be applied to other

calculi (with some more technical difficulties)

Page 31: Synchronization strategies for global computing models

31

Roadmap

Global computing

Synchronized Hyperedge Replacement

SHR vs Fusion Calculus

Synchronization Algebras with Mobility

Congruence results

Future work

Page 32: Synchronization strategies for global computing models

32

Abstract semantics for parametric SHR

Bisimulation can be defined in a standard

way for SHR

Under reasonable conditions on the SAM

bisimilarity is a congruence for parametric

SHR

– Milner, Hoare and many others satisfy the

conditions

Page 33: Synchronization strategies for global computing models

33

Congruence results for Fusion Calculus

Bisimilarity is not a congruence for Fusion

Calculus (not closed under substitutions)

The mapping from Fusion into SHR allows to

derive a semantics whose bisimilarity is a

congruence

The result can be extended also to π-calculus

Page 34: Synchronization strategies for global computing models

34

The idea of the semantics

Page 35: Synchronization strategies for global computing models

35

The idea of the semantics

Allowing many actions in the same transition but on

different channels

– Process a|b can execute a and b concurrently going to 0

(but can also execute either a or b)

– Process a|a is bisimilar to a.a

– Process a|a|b can perform τ and b concurrently going to 0

Allows to observe the degree of parallelism of a

process

Page 36: Synchronization strategies for global computing models

36

Congruence properties

Page 37: Synchronization strategies for global computing models

37

Congruence properties

no more a counterexample since the

two terms are not bisimilar

b|a.abba.

Page 38: Synchronization strategies for global computing models

38

Congruence properties

no more a counterexample since the

two terms are not bisimilar

Observing where a synchronization is performed

becomes important

– Otherwise congruence non preserved by context a|[-]

– Actions aτ in addition to normal τ

The resulting bisimilarity is a congruence

b|a.abba.

Page 39: Synchronization strategies for global computing models

39

Roadmap

Global computing

Synchronized Hyperedge Replacement

SHR vs Fusion Calculus

Synchronization Algebras with Mobility

Congruence results

Future work

Page 40: Synchronization strategies for global computing models

40

Future work

I have moved, so my work has changed a bit

– Core calculus for service oriented computing

– Techniques for proving bisimilarity properties of mobile calculi

Some follow-up of the previous work that I would like

to analyze

– Congruence results for concurrent semantics of π-calculus

– Applying SAMs to π-calculus

– Exploiting SAMs for quality of service (see Tuosto & Hirsch

work)

Page 41: Synchronization strategies for global computing models

41

General bibliography

“A Model of Distributed Systems based on Graph Rewriting”, P.

Degano and U. Montanari, Journal of the ACM, 34

““Synchronized Hyperedge Replacement with Name Mobility”, D. Synchronized Hyperedge Replacement with Name Mobility”, D.

Hirsch and U. Montanari, Proceedings of CONCUR 2001, LNCS Hirsch and U. Montanari, Proceedings of CONCUR 2001, LNCS

21542154

“The Fusion Calculus: Expressiveness and Symmetry in Mobile

Processes”, B. Victor, Ph.D. Thesis, Department of Computer

Systems, Uppsala University, Uppsala, Sweden

“Synchronization trees”, G. Winskel, TCS, 34

“SHReQ: Coordinating Application Level QoS”, D. Hirsch and E.

Tuosto, Proceedings of SEFM 2005, IEEE

Page 42: Synchronization strategies for global computing models

42

My bibliography

“Software Architecture, Global Computing and Graph Transformation via

Horn Clauses”, I. Lanese and U. Montanari, Proceedings of SBES 2002 –

16th Brazilian Symposium on Software Engineering

“A Graphical Fusion Calculus”, I. Lanese and U. Montanari, Proceedings of

CoMeta: Computational Metamodels Final Workshop, ENTCS 104

“Mapping Fusion and Synchronized Hyperedge Replacement into Logic

Programming”, I. Lanese and U. Montanari, to appear in a special issue of

TPLP

“Synchronization Algebras with Mobility for Graph Transformations”, I.

Lanese and U. Montanari, Proceedings of FGUC 2004 – Workshop on

Foundations of Global Ubiquitous Computing, ENTCS 138

Page 43: Synchronization strategies for global computing models

43

My bibliography

“Synchronized Hyperedge Replacement for Heterogeneus Systems”, I.

Lanese and E. Tuosto, Proceedings of COORDINATION 2005, LNCS 3454

"Hoare vs Milner: Comparing Synchronizations in a Graphical Framework

with Mobility", I. Lanese and U. Montanari, Proceedings of GT-VC‘05,

ENTCS, to appear

"Exploiting User-Definable Synchronizations in Graph Transformation",

I. Lanese, Proceedings of GT-VMT'06, ENTCS, to appear

"Synchronization Strategies for Global Computing Models",

Ivan Lanese, Ph.D. Thesis, Computer Science Department, University of

Pisa, to appear

Page 44: Synchronization strategies for global computing models

44

End of talk