1 / 15

Advanced Component Models ULCM & HLCM

Advanced Component Models ULCM & HLCM. Julien Bigot, Hinde Bouziane, Christian Perez COOP Project Lyon, 9-10 mars 2010. Unified Lego Component Model. Hierarchy, Shared Data, Master-Workers & Workflows Hinde Bouziane & Co. ULCM in a nutshell. Defined & implemented during ANR LEGO

kyria
Télécharger la présentation

Advanced Component Models ULCM & HLCM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Component ModelsULCM & HLCM Julien Bigot, Hinde Bouziane, Christian Perez COOP Project Lyon, 9-10 mars 2010

  2. Unified Lego Component Model Hierarchy, Shared Data, Master-Workers & Workflows Hinde Bouziane & Co

  3. ULCM in a nutshell • Defined & implemented during ANR LEGO • http://padico.gforge.inria.fr/ulcm • A hierarchical component model • Primitive components technology not defined • Composite components are just containers • No membrane • Four kinds of ports • Client/Server: Object interfaces • Attributes: Data types • Access/Share: Shared data types • Inputs/Outputs: Data Types of the component task • Master-workers • Collections of a component types • Workflow in composite • Particular implementation of a service COOP - ULCM & HLCM overview - C. Perez

  4. ULCM: a primitive example component HelloWorld { ports { attributename=an_attribute type="a_type"; servername=a_server_port type="interface1"; clientname=a_client_port type="interface2"; inputsname=an_in_port type="a_data_type1"; outputsname=an_out_port type="a_data_type2"; } content { primitiveclass="ulcm.tests.HelloWorld“ csd="WE.csd" implref="HW_omni_exe_id"; } } COOP - ULCM & HLCM overview - C. Perez

  5. C1 D ULCM: a composite example componentaComposite { ports { ... } decl { Component1 a; Component2 c; Component6 c1; c.p1 – c1.p2; set a.b 4; ... } servicerun { seq { Component4 a1; set a1.p -- a.q; exec a; parallel { section: exec b; section: exec c; } exec d; } } start A1 A B C end aComposite COOP - ULCM & HLCM overview - C. Perez

  6. ULCM Parser/LexerWalker AbstractRepresentation CentralizedEngine Program Instances ULCMi: an ULCM implementation • Centralized interpreter of • ANTLR – compiler of compiler (JAVA) • Centralized workflow engine • 4 backends : simulation, JAVA, FRIM (C++/Fractal), CCM • CCM backend (distributed) • Generation of deployment files: • CAD, JuxMem, DIET and Meta • Rely on ADAGE • Initial configuration deployment • Dynamic component creation • Let to the issue of dynamic planning/reconfiguration COOP - ULCM & HLCM overview - C. Perez

  7. High Level Component Model Hierarchy, Genericity, Template Meta-Programming & Connectors Julien Bigot & Co

  8. HLCM: Motivations • Many different kinds of compositions • MxN • Shared data • Collective communications • Algorithmic skeletons • Master-workers, map-reduce, etc. • … • Two main approaches to implement them • Modify/Implement a runtime as in ULCMi • Complex / Low level • Breaks compatibility • Enable extension description in the model:the « library » approach • Component implementations: genericity • Component interactions: connectors COOP - ULCM & HLCM overview - C. Perez

  9. Component Component Connectors • Originally defined in ADLs • Without connectors • Direct connection between ports • Limitation to 1-1 connection • With connectors • Connectors reify connections • A name • A set of roles • Any number of roles • Can be 1st class entities • Implemented by the user ports Component Component Connector roles COOP - ULCM & HLCM overview - C. Perez

  10. Connector implementations • Intrinsically generic • Types of roles fulfillment  parameters for the implementation • 1 connector  multiple implementations • For distinct placement on hardware resources • Two possible kinds • Primitive connectors • Directly supported by the model • Composite connectors • An assembly Logged Use / Provide Logger<UT> U/P U/P provider interface = PT user interface = UT When PT subtype of UT and user.host = provider.host COOP - ULCM & HLCM overview - C. Perez

  11. Example of More Complex Interactions as Connectors • Shared data between components • One single role • Multiple fulfillments • Parallel method calls • Provides the redistribution • An example • 2x2 Matrix multiplication • 2 roles for users (top/bottom) • 2 roles for providers (right/left) COOP - ULCM & HLCM overview - C. Perez

  12. Components expose “open connections” Some roles fulfilled Some roles left “open” Interactions are defined by “merging” connections Union of the role fulfillments A single logical connection HLCM: a New Approach for Component Interface Definition Fulfilled role Role left “open”  merge Results in COOP - ULCM & HLCM overview - C. Perez

  13. Expressing Parallel Matrix Multiplication with HLCM reuse A B  merge expose merge What implementation to use for this connection? Results in A1 B1 A2 B2 COOP - ULCM & HLCM overview - C. Perez

  14. Connection Implementation:a Planning Choice Single host distribution Multiple hosts distribution COOP - ULCM & HLCM overview - C. Perez

  15. Conclusion • ULCM • Hierarchy, Shared-data, collections, workflow • Possible optimizations embedded into ULCMi • Enable static & dynamic placement optimizations • HLCM • Hierarchy, Genericity, template meta-programming, connectors • Enable structure oriented optimizations • Like the choice of implementations of a particular connectors • Enable static placement optimizations • Workflow support to be added • May require just-in-time compilation COOP - ULCM & HLCM overview - C. Perez

More Related