avancement de tlse (re)déploiement avec tune description sémantique des services f. camillo, m....
TRANSCRIPT
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
(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
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
44
Tune Tune Définition des wrappersDéfinition des wrappers
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
66
TuneTuneDescription d'une architectureDescription d'une architecture
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)
88
TuneTuneWorkflow de démarrageWorkflow de démarrage
99
TuneTuneWorkflow de réparationWorkflow de réparation
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, …)
Semantic-based Service trading: Application to
Linear Algebra
H. Astsatryan, E. Caron, M. Daydé, A. Hurault, M. Pantel
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:
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).
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.
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• . . .
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.
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• . . .
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.
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;
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;
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
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,. . . .