Behavioural skeletons for component autonomic management...

19
Behavioural skeletons for component autonomic management on grids Marco Aldinucci, M. Danelutto, S. Campa University of Pisa, Italy P. Kilpatrick Queen’s University Belfast, UK D. Laforenza, N. Tonellotto, P.Dazzi ISTI-CNR, Italy 12-13 June 2007 Ηράκλειο, Κρήτη Marco Aldinucci, UNIPI www.di.unipi.it/~aldinuc CyberInfrastructure

Transcript of Behavioural skeletons for component autonomic management...

Page 1: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Behavioural skeletons for component autonomic management

on grids

Marco Aldinucci, M. Danelutto, S. Campa University of Pisa, Italy

P. KilpatrickQueen’s University Belfast, UK

D. Laforenza, N. Tonellotto, P.DazziISTI-CNR, Italy

12-13 June 2007Ηράκλειο, Κρήτη Marco Aldinucci,

UNIPIwww.di.unipi.it/~aldinuc

CyberInfrastructure

Page 2: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Outline

MotivationWhy behavioural (and autonomic management)Why skeletons

Behavioural Skeletons parametric composite component with managementfunctional and non-functional descriptionfamilies of behavioural skeletons

GCM implementation some running applications

2

Page 3: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

CGM model key points

Hierarchic modelExpressivenessStructured composition

Interactions among componentsCollective/groupConfigurable/programmableNot only RPC, but also stream/event

NF aspects and QoS controlAutonomic computing paradigm

3

Page 4: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Why Autonomic Computing

// programming & the gridconcurrency exploitation, concurrent activities set up, mapping/scheduling, communication/synchronization handling and data allocation, ...

manage resources heterogeneity and unreliability, networks latency and bandwidth unsteadiness, resources topology and availability changes, firewalls, private networks, reservation and jobs schedulers, ...

4

... and a non trivial QoS for applicationsnot easy leveraging only on middleware

GrADS@Rice, ASSIST, ...

high-level methodologies + tools

Page 5: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Autonomic Computing paradigm

5

Monitor Plan

Execute

Analysebrokencontract

nextconfiguration

QoS data

monitor: collect execution stats: machine load, service time, input/output queues lengths, ...analyse: instantiate performance models with monitored data, detect broken contract, in and in the case try to detect the cause of the problemplan: select a (predefined or user defined) strategy to re-convey the contract to validity. The strategy is actually a “program” using execute APIexecute: leverage on mechanism to apply the plan

C1

C2

C3

C4

C5

C6

Managedcomponents

Manager

Page 6: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Why skeletons 1/2

Management is difficultApplication change along time (ADL not enough)How “describe” functional, non-functional features and their inter-relations?The low-level programming of component and its management is simply too complex

Component reuse is already a problemSpecialising component yet more with management strategy would just worsen the problemEspecially if the component should be reverse engineered to be used (its behaviour may change along the run)

6

Page 7: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Why skeletons 2/2

Skeletons represent patterns of parallel computations (expressed in GCM as graphs of components)Exploit the inherent skeleton semantics

thus, restrict the general case of skeleton assemblygraph of any component ➠ parametric networks of components exhibiting a given propertyenough general to enable reuseenough restricted to predetermine management strategies

Can be enforced with additional requirementsE.g.: Any adaptation does not change the functional semantics

7

Page 8: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Behavioural Skeletons idea

represent an evolution of the algorithmic skeleton concept for component management

abstract parametric paradigms of component assemblyspecialised to solve one or more management goals

self-configuration/optimisation/healing/protection.

are higher-order componentsare not exclusive

can be composed with non-skeletal assemblies via standard components connectors

overcome a classic limitation of skeletal systems

8

Page 9: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Behavioural Skeletons proprieties

expose a description of its functional behaviourestablish a parametric orchestration schema of inner componentsmay carry constraints that inner components are required to comply withmay carry a number of pre-defined plans aiming to cope with a given self-management goalcarry an implementation (they are factories)

9

Page 10: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Be-Skeletons families

Functional ReplicationFarm/parameter sweep (self-optimization)Simple Data-Parallel (self-configuring map-reduce)Active/Passive Replication (self-healing)

ProxyPipeline (coupled self-protecting proxies)

WrappersFacade (self-protection)

Many others can be borrowed from Design Patterns

10

Page 11: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Functional replication

FarmS = unicast, C = from_any, W = stateless inner component

Data PatallelS = scatter, C = gather, W = stateless inner component

Fault-tolerant Active ReplicationS = broadcast, C = get_one_in_a_set, W= stateless inner ...

11

skeletonbehaviour(e.g. Orc)

S

W

...

W

WC

AC

Functionalserver port

Functionalclient port

AM

Page 12: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Functional replication

Meant to parametrically expose all allowed adaptationAny AM policy that does not change this semantics is correctAs an example changing i in this schema is correct Functional semantics is invariant from i, non-functional one is not (and changing i means changing the number of Ws for self-* purpose

12

skeletonbehaviour(e.g. Orc)

S

W

...

W

WC

AC

Functionalserver port

Functionalclient port

AM

Wi(ini, outi) !ini.get > tk > process(tk) > r > (outi.put(r) | Wi(ini, outi))

Functional behaviourdescription

(orchestration)

system(data, S,G, W, in, out, N) !S(data, in) | (| i : 1 ! i ! N : Wi(ini, outi)) | C(out)

system(data, S,G, W, in, out, N) !S(data, in) | (| i : 1 ! i ! N : Wi(ini, outi)) | C(out)

Page 13: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

ABC

GCM implementation

13

W

W

W

W

W

W

1. Choose a schema (.e.g. functional replication)ABC API is chosenaccordingly

2. Choose an inner component(compliant to Be-Ske constraints)

3. Choose behaviour of ports(e.g. unicast/from_any, scatter/gather)

W

W

B/LC

S CS C

4. Wire it in your application.Run it, then trigger adaptations

AM

ABC = Autonomic Behaviour Controller (implements mechanisms)AM = Autonomic Manager (implements policies)

B/LC = Binding + Lifecycle Controller

5. Possibly, automatise the process with a Manager

Page 14: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Farm example (Mandelbroot)

14

screenoutput

mandelbroot

mandelbroot

mandelbroot

ABC

linesgen S C

mandelbroot

mandelbroot

mandelbroot

farm

unicast from_any

get_service_time

change // degree

raise "contract violation"

new contract (e.g. Ts<k)

Page 15: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Not just farm (i.e. param sweep)

Many other skeletons already developed for GCMsome mentioned before

Easy extendible to stateful variantsimposing inner component expose NF ports for state access

Policies not discussed hereexpressed with a when-event-if-cond-then-action list of rules

some exist, work ongoing ...

15

Page 16: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Conclusions

Behavioural Skeletons templates with built-in management for the App designermethodology for the skeleton designer

management can be changed/refined

just prove your own management is correct against skeleton functional description

can be freely mixed with standard GCM componentsbecause once instanced, they are standard

actually what Gannon called “application factories”

Already implemented on GCMnot happy about GCM runtime perf. (can be improved)

We also implemented in ASSIST with different performances

16

Page 17: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Communication Time (Int)

17

Communication time

0

10

20

30

40

50

60

0 2000 4000 6000 8000 10000

int[N]

tim

e (

ms)

int[ ]

Communication Bandwidth (Theoretical 12800 KB/s)

0

100

200

300

400

500

600

700

0 2000 4000 6000 8000 10000

int[N]

Ban

dw

idth

(K

B/

s)

int[ ]

Page 18: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Grid programming with components: an advanced COMPonent platform for an effective invisible grid

CoreGRID: The European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and P2P Technologies

Farm SpeedUp

18

Speedup vs n. of workers (Tw=40

0

1

2

3

4

5

6

7

8

9

0 1 2 3 4 5 6 7 8 9

N. of workers

Sp

eed

up

1024

2048

4096

8196

ideal

Tw(jobsize=*)=40 ms Tc(jobsize=1)=30 ms

Page 19: Behavioural skeletons for component autonomic management ...calvados.di.unipi.it/storage/talks/2007_BeSke_Crete.pdf · (expressed in GCM as graphs of components) Exploit the inherent

Thank youP.S. the

COREGRILLEDFISH

effect

is written in Quartz,

which is a hierarchical

component model based on

streams

Less than one hour of

development time, because of code reuse.

ALL the PARAMETRIC

components was already

available (sprite, oscillators, streams mixer, ...)