Top Banner
Marco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester, U.K. Towards a Formal Semantics for Autonomic Components CoreGRID Symposium August 25-26, 2008, Las Palmas de Gran Canaria, Canary Island, Spain
22

Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Feb 15, 2019

Download

Documents

phamhanh
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: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Marco AldinucciUniversity of Pisa, Italy

Emilio TuostoUniv. of Leicester, U.K.

Towards a Formal Semantics for Autonomic Components

CoreGRID SymposiumAugust 25-26, 2008, Las Palmas de Gran Canaria, Canary Island, Spain

Page 2: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Outline

❖ A motivating demo✴ brand new, not in the paper

❖ A SHR-based semantics for GCM app adaptation✴ just the graphical representation, here

❖ Management✴ JBoss-based first-order logic contracts

✴ hierarchical management

❖ Evolutions✴ already ongoing ...

2

Page 3: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

❖ GCM - Grid Component Model✴ Defined in developed in

❖ Features✴ hierarchical components (Fractal-derived)

✴ collective communications and component interaction patterns

✴ autonomic management of notable (parallel) composite components

✴ advanced programming models๏ e.g. behavioural skeletons

✴ recently ETSI standardised๏ deployment & others

Terminology - GCM3

Page 4: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

clientn on Ln

clientb on Lb

clienta on La

W1 on L1

W2 on L2

AM on L3

transientStorageComp

DP

datasetCompon L

a

fingerprint DB

A motivating example

4

RPC or dataflow bindings management bindings data sharing port bindings

1) references to DB slices are scattered2) clients broadcast requests to all workers

3) each worker matches the fingerprint against its DB partition

4) clients get the answer OR(W1,W2,...)

6) AM may sense a changed answer time(e.g. increased), due to a dataset

size/kind and/or platform status change

clientn on Ln

clientb on Lb

clienta on La

W1 on L1

W2 on L2

AM on L3

transientStorageComp

DP

datasetCompon L

a

fingerprint DB

W3 on L3

7) AM reacts (e.g. increasing // degree): copying W1;bindings (external, AM, StorageComp)should be preserved;DB partitions (Wx state) should be redistributed via StorageComp

5) repeat 2-3-4 ... 2-3-4 ...

IBM fingerprint recognition app (mockup, GridComp)

Page 5: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

demo

5

Page 6: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Global vs local view

❖ This is a global view of the application✴ somehow adaptation are seen by way of the sky-cam

components are created, bindings are drawn ... but who do it ?

❖ This global behaviour should be achieved as the coordination of local operations✴ local operations (independently specified)

✴ user-defined (local) policies๏ determining a global behaviour (e.g. which adaptation should be

preferred, among all possible)

6

Page 7: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Semantics rationale

7

❖ Formal specification is important for autonomic app ✴ ADL in not enough; it describes a static view

✴ adaptation operation should be automatically managed

✴ correctness (and other) should be enforced beyond across adaptation

❖ We consider dynamically evolving component assemblies✴ suitable representation for adaptive and autonomic applications

✴ by using SHR as specification methodology

Page 8: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Terminology - SHR❖ SHR - Synchronised Hyperedge Replacement

✴ One of the theoretical tools of (IP - 6FP)

❖ Features✴ hyperedges, i.e. edges connecting many nodes

๏ from now on exchange edges (boxes) with nodes (circles)๏ send/recv, unicast, multicast, broadcast, scatter, gather, ...

✴ rewrite by way of synchronised context-free productions

✴ productions impose conditions on adjacent nodes

✴ components’ behaviour independently specified by productions

✴ global transitions as application of compatible productions

✴ i.e. enables local adaptations

8

node3HE

node1

node2

Page 9: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Some adaptation operations

9

Migrationgo keep the external state (if any)

start start from a fresh external state

Replicationshare

component replica share external state with source component

copycomponent replica is created with a fresh external state

Kill killkill the component(detach bindings, garbage collect, ...)

Page 10: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

•l

•g fgo!g!,l!"

s

•g! •l • l!

•g f • s

•l

•g fstart!!g!,l!,s!"

!

!

!

!

!

s

•g! •l • l! !

•g f

!!!!!!!

""""•

s•

s!

•l

•g frep!g!,l!"

!

!

!

!

!

• s

•g! •l •l! f

•g f

!

!

!

!

• s

•l

•g • s

•l

•g fkill!" • s

•l

•g frep!!s!,l!"

!!!!!• s

f •l • l! • s!

•g f

!!!!

• s

Adaptation ops as SHR axioms

10

e.g. g=g’move component

f from l to l’(keep state)

➟move component

f from l to l’(fresh state)

replicate component (keep state,

change location)➟

replicate component (fresh state,

change location)e.g. s ≠ s’

kill component

s, s’ = external states; g, g’ = managers; l, l’ = locations

e.g. g=g’, s ≠ s’

e.g. g=g’

Page 11: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

!, x ! G1!"# !, x ! G2 "(x) = ! $ "(x) = "

! ! #x G1!\{x}""""# ! ! #x G2

! ! G1!"# " ! G2 !! ! G!

1!!"# "! ! G!

2

(! $ ") % (!! $ "!) = &

!,!! ! G1|G!1

!"!!"""# ", "! ! G2|G!

2

!, x, y ! G1!"# " ! G2

![x/y] ! G1[x/y]!,{x,!,}"""""# "[x/y] ! !U G2[x/y]"

SHR Inference rules...in one slide

11

Parallel

Restrict

Merge

The system can do whatever disjoint subsystems do

The system can do any transition not requiring any synchronisations on

restricted node

x and y can be fused provided that they perform compatible

synchronisation actions

Page 12: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Example

AM asks component f to change location and attach to a new external state (application of start rule)

Observe that hyperedges can be used to represent very different concepts/attributes (e.g. location, store, manager hooks)

12

AMstart!!g,l1,s1"

• l •l1

•g fstart!!g!,l!,s!" •s

!

AM • l •l1

•g f •s

! •

s1!

Page 13: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Driving adaptations❖ Managers drive the adaptation process

✴ choose among all possible adaptations

✴ in a distributed way

❖ Implementing concepts in GCM✴ when-event-if-cond-then-act list of rules

✴ where act either an adaptation or a message to a set of companion managers

✴ as JBoss Drools ๏ first order logic

• maybe not fuzzy enough

13

Page 14: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

A simple contractrule "CheckInterArrivalRate" salience 5 when $arrivalBean : ArrivalRateBean( value < ManagersConstants.LOW_PERF_LEVEL) then $arrivalBean.setData(ManagersConstants.notEnoughTasks_VIOL); $arrivalBean.fireOperation(ManagerOperation.RAISE_VIOLATION); System.out.println( "InterArrivalTime not enough - Raising a violation");endrule "CheckRateLow" when $departureBean : DepartureRateBean( value < ManagersConstants.LOW_PERF_LEVEL ) $parDegree: NumWorkerBean(value <= ManagersConstants.MAX_NUM_WORKERS) then $departureBean.fireOperation(ManagerOperation. REPLICATE_SHARE); $departureBean.fireOperation(ManagerOperation.BALANCE_LOAD); System.out.println( "Adding "+ManagersConstants.ADD_WORKERS+ "workers");endrule "CheckRateHigh" when $departureBean : DepartureRateBean( value > ManagersConstants.HIGH_PERF_LEVEL ) $parDegree: NumWorkerBean(value > ManagersConstants.MIN_NUM_WORKERS) then $departureBean.fireOperation(ManagerOperation.KILL); $departureBean.fireOperation(ManagerOperation.BALANCE_LOAD); System.out.println( "Rate "+$departureBean.getValue()+" (Removing 1 workers)");end

14

Page 15: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

C1

M(C1)

C3

C4C2

M(C3)

C5'

M(C5')

C5''

M(C5'')

Cx = Component x

M(Cx) = Manager of Cx

Cx', Cx'' = Instances of Cx

Qos contract

(from users)

C5'

C6' C7' C8'

C6' C7' C8'

C6'' C7'' C8''

C1

C2 C4C3

C5''

C6'' C7'' C8''

Management

overlay network

Structural

relationships

Functional

network

Orchestration of managers (overlay)

15

Page 16: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Conclusion❖ We introduced few component adaptation operations

✴ existing in GCM

✴ able to capture typical adaptation patterns of many grid apps

❖ We detail a semantics for these operations ✴ based on SHR

✴ suitable for the description of component concurrent semantics and the run-time evolution of assemblies

❖ We discuss the appropriateness of the level of abstraction chosen to describe adaptation operations ✴ to support the design of component-based applications and

their autonomic management

16

Page 17: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Future works

❖ Present work represent just a starting point✴ establishing a common background with other communities

✴ understanding the feasibility of the approach

❖ Currently working at exploiting the formalisation for✴ proving interesting properties ...

✴ setting up a framework to derive optimised adaptation protocols๏ for example let us consider adaptation overhead ...

17

Page 18: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

new workers are mappedon empty nodes

new workers are mapped on nodes alreadyrunning other instances of the same component

0

1,500

3,000

4,500

6,000

5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90

Analysis: Overheads (GCM/Proactive)

18

New Stop

Ove

rhea

d (m

s)

N. of workers

Page 19: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Analysis: Overhead (Alternative Impl)

19 19

!"# $"#

%&#

#'#

!"!#!$%&'("!)*+$#!("&+*",&-.&/0,1

!"# $"#

#'#

%&#

!"# $"#

%&#

#'#

%&#

2+('3,,

("&/04

!"$%&'("!)*+$#!("&+*",&-.56&/0,1

$"$%7832%$" 9:9

;:9&-<!==%3>$+31!"#$%&'()*#'(&"$'

"33=&6&/0 /04

+,-.'/0-12$3*#'(&"$'

343'*#3

2$+<(=&+3$'?3,&$+3'("@A,$@3&2(!"#

+3'("@B&%$#3"'7

+3'("@B&#!<3

<("!#(+

#!<3

C$*"'?-D/9E/041 $'.

4("5*6%2",%(*#'(&"$'

D/,&$+3+3=!,#+!F*#3=

G?3&"3>&2+('3,,'("#$'#,&#?3&9:9

Fig. 2. Reconfiguration dynamics and metrics.

TCP/IP or Globus provided communication channels. The two applications arecomposed by one parmod and two sequential modules. The first is a data-parallelapplication receiving a stream of integer arrays and computing a forall of sim-ple function for each stream item; the matrix is stored in the parmod sharedstate. The second is a farm application computing a simple function on di!erentstream items. Since Rt also depends on sequential function cost, in both caseswe choose sequential functions with a close to zero computational cost in orderto evaluate mechanism on the finest possible grain.

The reconfiguration overhead (Ro) measured during our experiments, with-out any reconfiguration change actually performed, is practically negligible, re-maining under the limit of 0,004%, the measurement of the other two metricsare reported in Table 1.

Notice that in the case of a data-parallel parmod, Rl grows linearly with(x + y) for the reconfiguration x ! y for both kinds of reconf-safe points, anddepends on shared state size and mapping. Farm parmod cannot be reconfiguredon-barrier since it has no barrier, and achieves a negligible Rl (below 10!3 ms).This is due to the fact that no processes are stopped in the transition from oneconfiguration to the next. Rt, which includes both the protocol cost and time toreach next reconf-safe point, grows linearly with (x + y) for the former cost andheavily depends on user-function cost for the latter.

parmod kind Data-parallel (with shared state) Farm (without shared state)

reconf. kind add PEs remove PEs add PEs remove PEs

# of PEs involved 1"2 2"4 4"8 2"1 4"2 8"4 1"2 2"4 4"8 2"1 4"2 8"4

Rl on-barrier 1.2 1.6 2.3 0.8 1.4 3.7 – – – – – –Rl on-stream-item 4.7 12.0 33.9 3.9 6.5 19.1 # 0 # 0 # 0 # 0 # 0 # 0

Rt 24.4 30.5 36.6 21.2 35.3 43.5 24.0 32.7 48.6 17.1 21.6 31.9

Table 1. Evaluation of reconfiguration overheads (ms). On this cluster, 50 ms areneeded to ping 200KB between two PEs, or to compute a 1M integer additions.

ASSIST/C++ overheads (ms)

M. Aldinucci, A. Petrocelli, E. Pistoletti, M. Torquati, M. Vanneschi, L. Veraldi, and C. Zoccolo. Dynamic reconfiguration of grid-aware applications in ASSIST.

Euro-Par 2005, vol. 3648 of LNCS, Lisboa, Portugal. Springer Verlag, August 2005.

Page 20: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

It is just C++ against Java?❖ No, unfortunately it is not so simple ...

✴ dynamic class loading (red vs blue zone of the previous chart), dynamic introspection, dynamic binding

✴ generic data serialisation, shared data alignment

✴ JIT, code factories, etc.

✴ non optimised protocols๏ look-ahead resource recruiting, pre-deployment, atomic multicast

(replica management), consensus (reconf-safe-points)๏ sequence of reconfiguration operations

• add + rebalance + move means:stop-add-start-stop-rebalance-start-stop-move-startfor each involved component - 4 of them can be avoided

❖ I.e. we should find the right static-dynamic trade-off20

Page 21: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

Dynamically compiling adaptations

21

D1 D2 D3source

designer specify adaptation operation semantics at the

highest possible level

adapta adaptb

binaryoperations are really adaptation protocols

lifecycle, resource recruiting, creation, binding, ... )

C1

D4adaptc

C4

C e.g.JIT

C e.g.JIT

opt_adapt = C[ adapta ; adaptb ; adaptc ]

JITC e.g.JIT

C[ adapta] C2

C e.g.JIT

C[ adaptb] C3C[ adaptc]

we need it for the “env loop - outer AC loop” (see invited talk)i.e. for dynamically introducing new contracts or adaptations

Page 22: Towards a Formal Semantics for Autonomic Componentsalpha.di.unito.it/storage/talks/2008_CGSymph_compsem.pdfMarco Aldinucci University of Pisa, Italy Emilio Tuosto Univ. of Leicester,

22

Thank you !