avancement de tlse (re)déploiement avec tune description sémantique des services f. camillo, m....

22
Avancement de TLSE Avancement de TLSE (Re)Déploiement avec TUNE (Re)Déploiement avec TUNE Description sémantique des Description sémantique des services services F. Camillo, M. Daydé & D. F. Camillo, M. Daydé & D. Hagimont Hagimont IRIT – INPT / ENSEEIHT IRIT – INPT / ENSEEIHT

Upload: cerf-lafon

Post on 04-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Avancement de TLSEAvancement de TLSE(Re)Déploiement avec TUNE(Re)Déploiement avec TUNE

Description sémantique des servicesDescription sémantique des services

F. Camillo, M. Daydé & D. F. Camillo, M. Daydé & D. HagimontHagimont

IRIT – INPT / ENSEEIHTIRIT – INPT / ENSEEIHT

Page 2: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

(Re)déploiement avec (Re)déploiement avec TUNE TUNE (ex JADE)(ex JADE) : :

expérimentations autour de expérimentations autour de DIETDIET

D. HagimontD. Hagimont

Page 3: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

33

TuneTuneDéfinition des wrappersDéfinition des wrappers

Langage de définition des wrappersLangage de définition des wrappers Wrapper = composants Fractal Wrapper = composants Fractal

permettant le contrôle d'un logicielpermettant le contrôle d'un logiciel Permet d'exporter des interfaces de Permet d'exporter des interfaces de

contrôlecontrôle

Page 4: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

44

Tune Tune Définition des wrappersDéfinition des wrappers

Page 5: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

55

TuneTuneDescription d'une architectureDescription d'une architecture

Diagramme de classe dans un profil UMLDiagramme de classe dans un profil UML

• Plus intuitifPlus intuitif Description par intension vs extensionDescription par intension vs extension

• Décrit un patron d'architectureDécrit un patron d'architecture

• Donne le nombre de serveurs lancésDonne le nombre de serveurs lancés

Page 6: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

66

TuneTuneDescription d'une architectureDescription d'une architecture

Page 7: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

77

TuneTuneDescription des reconfigurationsDescription des reconfigurations

Diagramme d'état dans un profil UML Diagramme d'état dans un profil UML (automate)(automate)

• Respecte le patron (cohérence de l'architecture)Respecte le patron (cohérence de l'architecture) Décrit un workflow d'opérations sur les Décrit un workflow d'opérations sur les

élements du diagramme de classesélements du diagramme de classes

• Utilise les interfaces de contrôle des Utilise les interfaces de contrôle des wrapperswrappers

Exemples simplesExemples simples

• Workflow de démarrage de l'architectureWorkflow de démarrage de l'architecture

• Réparation sur panne d'un serveurRéparation sur panne d'un serveur Travail sur la sémantique de ces diagrammes (de Travail sur la sémantique de ces diagrammes (de

classe et d'état)classe et d'état)

Page 8: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

88

TuneTuneWorkflow de démarrageWorkflow de démarrage

Page 9: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

99

TuneTuneWorkflow de réparationWorkflow de réparation

Page 10: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Avancement de la plate-forme Avancement de la plate-forme TLSETLSE

Ouverture partielle sur Ouverture partielle sur http://tlse.enseeiht.frhttp://tlse.enseeiht.fr

Gestion des matrices : Gestion des matrices : • Upload / downloadUpload / download• Service de calcul : validation des matricesService de calcul : validation des matrices

BibliographieBibliographie• Upload / downloadUpload / download• Affichage (détaillé, bibtex)Affichage (détaillé, bibtex)• Gestion des bibtex (formatage des clés, vérif, Gestion des bibtex (formatage des clés, vérif,

merge, recherche par critère, …)merge, recherche par critère, …)

Page 11: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Semantic-based Service trading: Application to

Linear Algebra

H. Astsatryan, E. Caron, M. Daydé, A. Hurault, M. Pantel

Page 12: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

ProblématiqueProblématique

Problem:• Find the best service or composition of services

available on the grid to answer a user request. Context:

• Mathematical software libraries: performance(minimise the number of elementary operations, the execution time, the memory needed, . . . ).

• Complex services combining all the possible and pertinent elementary services:

Page 13: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Approches possiblesApproches possibles Solutions:

• Write wrappers for elementary services and all their combinations: high development and maintenance costs;

• Use the whole service and rely on mathematical properties to find the appropriate values for the parameters.

Constraints:• The user of the framework does not have to know

anything about the underlying technologies used in the trading algorithm;

• The domain will be defined with an algebraic data type. It must not be too complex to achieve reasonable trading time (inductive definition should be avoided).

Page 14: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Description of servicesDescription of services Existing solutions:

• Signature based (e.g. IDL, WSDL): cannot distinguish add from mult

• Keyword based (e.g. Corba, UDDI) but meaning of keywords

• Ontology based (e.g. OWL, …): control of proof engine

Algebraic specification based approach.• Example : MathML, OpenMath, algebraic data

types (order sorted).• Advantage : Formal (complete and

unambiguous) description of the mathematical structures and operators properties.

Page 15: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Example of description: Linear Algebra

Sortes: Int, NzInt < Int, Real, NzReal < Real, Char, Matrix, InvMatrix < Matrix, SymetricMatrix < Matrix, TriangularMatrix < Matrix, . . . Operators:

• +: Matrix ×Matrix !Matrix, SymetricMatrix ×SymetricMatrix !SymetricMatrix, . . .• *: Matrix ×Matrix !Matrix, Real ×Matrix !Matrix, SymetricMatrix

×SymetricMatrix !SymetricMatrix, Real ×SymetricMatrix !SymetricMatrix,RealNzInt ×InvMatrix !InvMatrix, . . .

• −1, T , factorisation, . . .• Constants: 1 : NzInt, 0 : Int, 1.0 : NzReal, 0.0 : Real, I : InvMatrix,O : Matrix, . . .

Properties:• +: commutative and associative• *: associative• a : Matrix I a = a• a,b,c : Matrix a (b+c) = a b+a c• a : Matrix a a−1 = I• . . .

Page 16: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

The trading algorithm Based on equational unification.

• Unification: u = f (a,x), v = f (y,b) : s = {x !a,y !b} unifier of u and v (s(u) = s(v)).

• E-unification: u = f (a,x), v = g(y,b),E = {f (a,b) = g(a,b)} : s = {x !a,y !b} E-unifier of u and v (s(u) =E s(v)).

• Undecidable, infinite set of solutions, infinite solutions. Proven to be sound. Breath first search controlled by cost parameters:

• depth of combination;• number of equations allowed to be applied.

Can be run stage by stage, providing more energy at each stage.

Page 17: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Examples: Linear AlgebraServices: BLAS

• SGEMM performs one of the matrix-matrix operations: C=aop(A)op(B)+bCwhere a and b are scalars, op(A) and op(B) are rectangular matrices of dimensions m×k and k×n, respectively, C is a m × n matrix, and op(A) is A or AT .

• STRSM solves one of the matrix equations: AX=aB, AT X=aB, XA=aB, or XAT =aB where a is a scalar, X and B are m × n matrices and A is a unit, or non-unit, upper or lower triangular matrix. B is overwritten by X.

LAPACK• SLASWP, row interchanges• SPOTRF, Cholesky factorisation• SGETRF, LU factorisation• . . .

Page 18: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Example 1 Request: A : Matrix, B : Matrix, C : Matrix

C = A * B * C One combination of services computed by the

trader is:Matrix p2=Any x1;SGEMM(’n’,’n’,m?,n?,k?,1.,B,lda?,C,ldb?,0.,p2,ldc?);Matrix p1=Any x1;

SGEMM(’n’,’n’,m?,n?,k?,1.,A,lda?,p2,ldb?,0.,p1,ldc?);p1;

where Any x1 can be any matrix.

Page 19: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Example 2

Request: The user wants to solve the linear system with multiple right-hand side members Ax = B (where no property is known about A).

One answer computed by the trader is:InvMatrix p2=A;Vector p6=ipiv?;SGETRF(m?,n?,p2,lda?,p6,info?);Matrix p5=B;SLASWP(n?,p5,lda?,k1?,k2?,p6,incx?);Matrix p3=p5;STRSM(’l’,’l’,’n’,u?,m?,n?,1.,p2,lda?,p3,ldb?);Matrix p1=p3;STRSM(’l’,’u’,’n’,u?,m?,n?,1.,p2,lda?,p1,ldb?);p1;

Page 20: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Example 3

Request: Same request as previously but now A is a symmetric positive definite matrix.

The trader computes the following compositions of services:SymDefPosMatrix p2=A:SymDefPosMatrix ;Vector p6=ipiv?;SGETRF(m?,n?,p2,lda?,p6,info?);Matrix p5=B;SLASWP(n?,p5,lda?,k1?,k2?,p6,incx?);Matrix p3=p5;STRSM(’l’,’l’,’n’,diag?,m?,n?,1.,p2,lda?,p3,ldb?);Matrix p1=p3;STRSM(’l’,’u’,’n’,diag?,m?,n?,1.,p2,lda?,p1,ldb?);p1;

Page 21: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Issues to exploreIssues to explore

Discarding solutions Discarding solutions without interestwithout interest

Heuristics for Heuristics for identifying most identifying most relevant solutionsrelevant solutions

Interactions with Interactions with middlewaremiddleware• Available services and Available services and

up-to-date informationup-to-date information• Evaluation of solutions Evaluation of solutions

found by the midlewarefound by the midleware

Page 22: Avancement de TLSE (Re)Déploiement avec TUNE Description sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT

Conclusion and Perspectives Conclusion:

• A prototype which implements the trading algorithm is operational, but requires performances improvements.

Perspectives:• Cooperation with National Academy of Sciences of

Armenia• Integration in DIET.• Experiments with a web interface providing an

environment for scientific computing• Later: SCILAB / DIET

Extension other areas: optimisation, images processing, process engineering,. . . .