220 likes | 234 Views
Explore architectural descriptions and workflow operations for deploying and reconfiguring services using TUNE. Discover a semantic-based approach for trading services efficiently.
E N D
Avancement de TLSE(Re)Déploiement avec TUNEDescription sémantique des services F. Camillo, M. Daydé & D. Hagimont IRIT – INPT / ENSEEIHT
(Re)déploiement avec TUNE (ex JADE) : expérimentations autour de DIET D. Hagimont
TuneDéfinition des wrappers • Langage de définition des wrappers • Wrapper = composants Fractal permettant le contrôle d'un logiciel • Permet d'exporter des interfaces de contrôle
TuneDescription d'une architecture • Diagramme de classe dans un profil UML • Plus intuitif • Description par intension vs extension • Décrit un patron d'architecture • Donne le nombre de serveurs lancés
TuneDescription des reconfigurations • Diagramme d'état dans un profil UML (automate) • Respecte le patron (cohérence de l'architecture) • Décrit un workflow d'opérations sur les élements du diagramme de classes • Utilise les interfaces de contrôle des wrappers • Exemples simples • Workflow de démarrage de l'architecture • Réparation sur panne d'un serveur • Travail sur la sémantique de ces diagrammes (de classe et d'état)
Avancement de la plate-forme TLSE • Ouverture partielle sur http://tlse.enseeiht.fr • Gestion des matrices : • Upload / download • Service de calcul : validation des matrices • Bibliographie • Upload / download • Affichage (détaillé, bibtex) • Gestion des bibtex (formatage des clés, vérif, merge, recherche par critère, …)
Semantic-based Service trading: Application toLinear Algebra H. Astsatryan, E. Caron, M. Daydé, A. Hurault, M. Pantel
Problé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 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 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 Algebra Services: • 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 explore • Discarding solutions without interest • Heuristics for identifying most relevant solutions • Interactions with middleware • Available services and up-to-date information • Evaluation of solutions found 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,. . . .